Emacs AUCTeX and PDF Synchronization on Windows
In this technical note, we’d like to setup [GNU Emacs]([http://ftp.gnu.org/gnu/emacs/windows/ G) and AUCTeX so that it can do both forward searches (using Emacs to control the PDF Viewer) and inverse searches (using the PDF Viewer to control Emacs). This work is based on William’s instructions, but with some additional modifications from Miguel Frasson that remove the dependency on sumatra-forward.el
, as long you primarily use pdflatex
as your LaTeX target. The technique uses the command line rather than DDE to interface with Sumatra PDF.
- Unlike on the Mac, TeX tool support on Windows is quite a challenge. With the exception of Sumatra PDF, there are basically no PDF viewers that support source synchronization. Be sure to use the full installer, and not the portable apps version of Sumatra PDF.
- To get PDF synchronization to work, you’ll need to set a few AUCTeX variables in Emacs (
M-x customize-variable
). The first isTeX-view-program-list
, which is perhaps the most complicated. TheName
should read asSumatra PDF
, and theChoice
should be set toCommand parts
. Then, you will need to insert (INS
) twoCommand parts
:
- The first
Command part
has a value of"C:/Program Files (x86)/SumatraPDF/SumatraPDF.exe" -reuse-instance
, adjusting accordingly for your actual path. - The second part is a
Predicate and command part
with aPredicate
ofmode-io-correlate
and aCommand part
of␣-forward-search %b %n
. The character ␣ is meant to represent a leading whitespace character. - The third part is a
Command part
with␣%o
. Once again, don’t forget the leading whitespace character.
* Since the last step isn’t entirely obvious, the following screen capture should help you with this variable (click to enlarge). And if you’re curious about what %o
, %n
and so on do, then check the variable TeX-expand-list
.
* Select Save for future sessions
and then restart Emacs; otherwise the next step won’t work without knowing some Emacs tricks. For the remaining variables in this recipe, remember to Save for future sessions
as well.
* The next variable is TeX-view-program-selection
, where the Viewer
for output-pdf
should be set to Sumatra PDF
.
* Similarly, find TeX-source-correlate-mode
and set this to On
. Finally, set TeX-source-correlate-method
to synctex
.
* You’ll probably want to setup Emacs with (server-start)
ahead of time, so add this to your init.el
. On Windows in particular, (server-start)
is problematic and can fail by default with something like: error: The directory