I have emacs23
and AucTeX
installed on my Ubuntu system. I would like to change the default pdf viewer in emacs
and enable forward and inverse search. How do I do it?
I would like to share my knowledge and experience with emacs by posting an answer.I have done the following for only keyboard shortcuts. I would be happy if it is extended to such a way that, if I double click my source in emacs, my pdf gets generated (forward search) and when I double click on some text in the pdf, it gets to the approximate location in the source(backward search). It's really awesome, requires less space and the best editor I have ever worked with.
Best Answer
This procedure will set up Emacs, AUCTeX, and the Okular viewer to handle integrated forward and inverse search. (These instructions were tested on a Debian system)
Install Emacs. To install Emacs, open up the terminal and type the command:
Install AUCTeX.
Within Emacs, run
M-x package install RET auctex RET
.To test for a successful installation, just open up a
.tex
file Emacs with and you will see new menus concerning LaTeX.Install Okular.
If not already done, open a tex file with emacs.
From within Emacs, run
You are now in the "Tex command group" configuration buffer. Scroll down until you reach "Tex Pdf Mode". Its value is off (nil); click on the "Toggle" button to activate this mode. Click on the "State" button and select "Save for Future Sessions". AUCTeX will now compile your TeX file using
pdflatex
.You should see something like this:
For the "Save for Future Sessions", the button with the green down arrow can also be selected. When this is done, your
.emacs
will be updated accordingly.Still in the "Tex command group" configuration buffer, scroll all the way down and click on the special item called "Tex View". In the "Tex view group" buffer, you have two things to do:
To activate the correlate mode:
To set Okular as the default PDF viewer:
Tex View Program List
then clickINS
Okular
Command
okular --unique %o#src:%n%b
item
Tex View Program Selection
then clickINS
Single predicate
output-pdf
viewer:
Okular
If you just added Okular to the Tex View Program List, this choice might not appear. Restart Emacs or
Set for Current Session
to have it show up.Set and save both for future sessions.
To configure Okular: in the Okular window, go to the "Settings" menu, item "Configure Okular", "Editor", select Emacs client.
To use Forward search from Emacs to Okular, just hit
C-c C-v
or click on the glasses button of the tool-bar to call the viewer. Okular will center its display on the intended line of the pdf.To use Inverse search from Okular to Emacs, make sure that the Browse Tool (in the Tools menu of Okular) is enabled; then just hit Shift+Left mouse click on the pdf. Emacs will come up and position the cursor at the intended line of the TeX source.
As a sidenote, AUCTeX can also jump-to errors generated in the log file with a
C-c `
. If this keystroke throws an error, see Uninformative error message when using AUCTeX for an Emacs-based (i.e. cross-platform, works with the major distributions) solution.