48

I'm writing a LaTeX document and am using the command line to compile the LaTeX code into a PDF document. In Linux I would just open the PDF with Evince PDF Viewer, and whenever I recompiled the LaTeX code, the PDF would refresh after a couple of seconds.

I'm now trying to do the same thing in Windows. The trouble is, whenever I have the PDF open in Adobe Reader or Foxit Reader, it doesn't even allow me to write to the PDF file. I get this error in the command line when I run pdflatex test.tex:

! I can't write on file `test.pdf'.

Is there a PDF viewer for Windows that does the following?

  1. Disables write protection when opening a PDF
  2. Auto-refreshes when a new PDF is generated
Gaff
  • 18,569
  • 15
  • 57
  • 68
Eddy
  • 3,337
  • 11
  • 42
  • 51
  • Similar question on different sites: [texworks - PDF reader on Linux capable of continuous updating - TeX - LaTeX Stack Exchange](https://tex.stackexchange.com/questions/28952/pdf-reader-on-linux-capable-of-continuous-updating) ■ [How to refresh automatically on a PDF viewer? - Stack Overflow](https://stackoverflow.com/questions/7401292/how-to-refresh-automatically-on-a-pdf-viewer) – user202729 Feb 25 '23 at 16:11

5 Answers5

47

SumatraPDF is free, for Windows, and plays nicely with LaTeX. It will automatically refresh when the pdf is updated.

Rob Hyndman
  • 1,024
  • 1
  • 6
  • 10
  • SumatraPDF works great! – Danvil Jul 04 '12 at 11:24
  • 1
    SumatraPDF is good. but it doesn't reload opened file on NFS. Have to use Evince for that feature. – Jokester Apr 04 '13 at 07:16
  • Sumatra seems to have an issue with Samba version 4 (not version 3) in that it does not release a file lock over the share properly on the mounted filesystem. The PDF gets updated sporadically and not reliably as over Samba 3. I am still looking for a solution for this. If I find one, I will add it here. – Jonathan Komar Jan 24 '17 at 09:48
  • It's good for a quick and dirty solution, but it lacks some features. For example, I'm going through the PDF spec right now and changing /F to 3 (bookmark should display bold and italic) has no effect... – Nathan Chappell Sep 23 '21 at 13:56
  • Sumatra used to be great. But since the current version it opens a new tab with each new version of the file. It tries to be helpful, but for my purposes isnt :). Switched to TexWorks now (answer below). – Aditya Jun 14 '22 at 07:33
19

There's an Evince version for Windows.

jjlin
  • 15,462
  • 4
  • 51
  • 51
Noam Kremen
  • 731
  • 4
  • 5
11

I know the question is old, but I think an important option is missing.

As a lot of people use MiKTeX on Windows they already have TeXworks installed. The PDF viewer included with TeXWorks does indeed refresh.

start texworks main.pdf

or right click any PDF file and select to open with TeXworks.

I'm not saying that the PDF viewer itself is the best, but it's very convenient (if you have MiKTeX) as you don't have to install yet another PDF viewer.

hansfn
  • 213
  • 2
  • 6
2

PDF-XChange Viewer has an option for this, too. Invoke from command line (cmd.exe):

pdfxcview /A "nolock=yes=OpenParameters" test.pdf

See similar question

panny
  • 655
  • 9
  • 23
  • It's not ideal: (a) can't globally start pdfxcview in that mode. Have to provide that flag together with the filename of the document. And (b) the viewer will only reload when it gets focus. – user643011 Apr 04 '18 at 18:19
1

Install WSL as Administator user in Windows 10. Install "Debian on Windows" using the Windows 10 app (not as administrator, this is not clear at all in the document or forums!!!), alternatively use Ubuntu/OpenSUSE. Install Xming for Windows 10, run it. Inside the debian command line install texlive and evince

Create a Makefile to build your tex file and bibliography:

pdflatex myfile.tex
pdflatex myfile.tex
bibtex myfile.bib
pdflatex myfile.tex

Run:

make
evince myfile.pdf &

Then you can edit the myfile.tex as many times as you like and just run make to see the automatically updated PDF in evince.

Eamonn Kenny
  • 171
  • 2