Using doc-view with auto-revert to view LaTeX PDF output in Emacs

When I am authoring a \LaTeX document in Emacs, such as a report or my CV, it is useful for me to compile the \LaTeX source file periodically to see what the resulting file PDF looks like. I used to run a separate PDF viewer to look at the output, but I now have a complete Emacs solution.

The editing environment

When writing a \LaTeX document, I usually want the output to be a PDF file. Accordingly, I put the following in my .emacs file.

(setq TeX-PDF-mode t)

I then split my Emacs frame into two buffers vertically, using C-x 3 (see screencast below). After compiling my \LaTeX file with C-c C-c, I visit the resulting PDF file in the other Emacs window. The Emacs doc-view package will display the PDF file.

Including auto-revert functionality

The final piece to the puzzle is to set files visited in doc-view-mode to auto-revert when changed on disk. That way, then I update my \LaTeX file and recompile with C-c C-c, the PDF in the other window will automatically update.

This is achieved by placing the following line in my .emacs.

(add-hook 'doc-view-mode-hook 'auto-revert-mode)

Screencast Example

Here is a screencast of this process in action.

This is a simple setup that I use to author reports, edit them, and see immediate updates to my output file without leaving Emacs.

Advertisements

2 Responses to Using doc-view with auto-revert to view LaTeX PDF output in Emacs

  1. John Mark says:

    Are you aware of a way to automatically open your pdf in the extra buffer when you compile instead of picking the file manually?

  2. Sunny says:

    Hi
    I installed doc-view package, but I still can’t see the pdf file. What I see is a series of numbers. I tried to search but without any results.

    Sorry, I am not very experienced in emacs, but I want to learn it.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: