I am edting latex files with Emacs+AucTeX. When working I have two windows in the frame: the latex file window and the reftex-toc window. I set the reftex-toc window dedicated to its buffer by
(defadvice reftex-toc (after reftex-toc-window-dedicated activate)
(set-window-dedicated-p (selected-window) t))
to keep it from being replaced.
But problems arise when I call (TeX-recenter-output-buffer)
by C-c C-l
. The output buffer can't be displayed. I have to manually switch to the output buffer by C-x b
. And if I call help commands, e.g. C-h f
, the help buffer is not displayed in a new window as it should be. Instead, it replaces the latex file window. How can I fix this problem?
EDIT
I found that the problem is due to function (display-buffer BUFFER)
, which is internally called by (TeX-recenter-output-buffer)
. Under normal circumstances where there is no dedicated window in the frame, (display-buffer BUFFER)
creates a new window for BUFFER. But if there are a dedicated window and some normal windows, (display-buffer BUFFER)
just displays BUFFER in one of the normal windows w/o creating a new one.
As a workaround, I open another (the 3rd) window, so that if I call C-c C-l
, the compilation output is displayed there and the latex file window is kept. However, I am still looking forward to a real solution. Could any one help? Thank you.