Pdf viewer that handles live updating of pdf/doesn't lock the file

I'm working on a latex document (with pdflatex, cygwin, acrobat reader) and I'm am tired of the make - close - open process.

On osx with Preview I don't have that problem, since I can compile the .tex files, while the resulting pdf is opened in the viewer (which gets updated after the build process).

Whereas on Win7, with Acrobat Reader, my pdflatex (tex-live 2012) complains that it [...] can't write on file xxx.pdf. I guess the reader locks the pdf file.

How do you efficiently produce/edit .tex files on Win7? I preferably would stick to using makefiles and a text editor instead of a windows latex build environment.


SumatraPDF can be used in your current workflow. It will not place a lock on the file. It also supports synchronization between editor and pdf document.


Although there's already an answer providing a native non-blocking windows PDF reader, I followed the cygwin/xpdf approach and hacked together a small script.

It is based on xpdf's -remote option which which it is possible to reload an already opened file. So, we only need to detect when the file is changed. As there is no native inotify on windows you need to install inotify-win, which is a C# program.

My script xpdf-f seems to work fine, however you have to close both, xpdf and the the script (via Strg+C) once finished watching the PDF.

#!/bin/bash

if [[ "$1" = "" ]]; then
  echo Usage: $0 FILE
  exit 1
fi

if [[ ! -e "$1" ]]; then
  echo Error: File $1 does not exist.
  exit 2
fi

xpdf -remote filewatch "$1" &
XPDFPID=$!

while [[ -e /proc/$XPDFPID ]]; do
  inotifywait `dirname $1` | grep "MODIFY $1"
  [[ $? = 0 ]] && xpdf -remote filewatch -reload
done

As of 2017 also Firefox/Chrome can do the job. Firefox even keeps the current page after F5 - Refresh.