When compiling a TeX document I would like to have two buffers containing the LaTeX output and TeX-error-overview
in separate frames which are positioned relative to the current frame (the error overview in a shallow frame at the bottom and the output on the right side). How can I do that?
Asked
Active
Viewed 273 times
0

Lenar Hoyt
- 1,163
- 7
- 25
-
2See the manual regarding frames: https://www.gnu.org/software/emacs/manual/html_node/elisp/Size-and-Position.html You'll need to use the `make-frame` function and pass appropriate parameters for position, height, width, etc. Emacs 25 has some important bug fixes for frame positioning and sizing at the time of creation. In terms of targeting a specific frame with a buffer, see **How to intercept a file before it opens and decide which frame**: http://stackoverflow.com/questions/18346785/how-to-intercept-a-file-before-it-opens-and-decide-which-frame – lawlist Apr 24 '16 at 17:35
-
Note that [many Emacs newcomers confuse *frames* with *windows*](http://emacs.stackexchange.com/questions/13583/whats-the-difference-between-a-buffer-a-file-a-window-and-a-frame). If you do mean *frames*, then the comment immediately above should get you started. Tying all that in to the AUCTeX library would be time consuming, but is doable -- another forum participant will need to help out with that aspect. Please consider adding some better details regarding how you wish to organize the various *frames* and *windows* -- a screenshot of a proposed solution would certainly be helpful. – lawlist Apr 24 '16 at 17:41
1 Answers
1
Setting up frames (at least the first two) is pretty easy. Here's my code below for doing that. The first set of numbers positions the first initial frame, and the default positions "all the other ones" (I only have two frames running). If you're going to have 3 frames, then you'll have to use make-frame as lawlist said.
I'm also wondering if you mean "windows" instead of frames... But in case you really do mean frames, here's my positioning code to get you started. A frame can have any number of windows, split horizontally or vertically, as you please..) Good luck.
(defun run-vesta-setup-funs ()
(set-vesta-frame-size))
(defun set-vesta-frame-size ()
(setq initial-frame-alist
'((top . 0)
(left . 420)
(width . 180)
(height . 60)
(cursor-color . "black") (cursor-type . box)
(foreground-color . "black")
(background-color . "grey80")))) ; need at least grey75 on mac
;; (background-color . "antique white")
;; (font . "--Lucida Console-normal-r---11-82---c--*-#204-")
(setq default-frame-alist
(append default-frame-alist
'((top . 10)
(left . 10)
(width . 180)
(height . 55)
(cursor-type . box)
(cursor-color . "black")
(foreground-color . "black")
(background-color . "grey80")))) ; need at least grey75 on mac