Penampil pdf yang menangani pembaruan langsung pdf / tidak mengunci file

17

Saya sedang mengerjakan dokumen lateks (dengan pdflatex, cygwin, acrobat reader) dan saya bosan dengan proses make - close - open .

Pada osx dengan Previewsaya tidak memiliki masalah itu, karena saya dapat mengkompilasi .texfile, sedangkan pdf yang dihasilkan dibuka di penampil (yang diperbarui setelah proses membangun).

Sedangkan pada Win7, dengan Acrobat Reader, saya pdflatex(tex-live 2012) mengeluh bahwa [...] can't write on file xxx.pdf.saya kira pembaca mengunci file pdf.

Bagaimana Anda secara efisien menghasilkan / mengedit file .tex di Win7? Saya lebih suka tetap menggunakan makefiles dan editor teks daripada lingkungan lateks windows.

mikrofon
sumber
Jika itu pilihan bagi Anda: Saya pikir (tidak bisa memeriksanya sekarang) xpdfmelalui cygwinkarya-karya seperti itu. Namun Anda harus membalik halaman dan kembali untuk memperbarui file yang ditampilkan.
mpy
Terima kasih, ini bagus untuk pemula. Tetapi karena saya tahu cara penanganannya di mac, saya akan senang memiliki beberapa solusi lain.
mike
2
Lihat tex.stackexchange.com/q/2006/5763
Monica - M. Schröder

Jawaban:

16

SumatraPDF dapat digunakan dalam alur kerja Anda saat ini. Itu tidak akan mengunci pada file. Ini juga mendukung sinkronisasi antara editor dan dokumen pdf.

Mattias
sumber
1
Saya ingin memposting yang sama satu menit yang lalu, tetapi saya tidak bisa menjawab pertanyaan saya sendiri dengan kurang dari 10 perwakilan ... :) Bagaimanapun, terima kasih!
mike
2

Meskipun sudah ada jawaban yang menyediakan pembaca PDF windows non-blocking asli, saya mengikuti cygwin/xpdfpendekatan dan meretas sebuah skrip kecil.

Hal ini didasarkan pada xpdf's -remotepilihan yang mana dimungkinkan untuk reload file yang sudah dibuka. Jadi, kita hanya perlu mendeteksi ketika file diubah. Karena tidak ada yang asli inotifydi windows Anda perlu menginstal inotify-win , yang merupakan C#program.

Skrip saya xpdf-ftampaknya berfungsi dengan baik, namun Anda harus menutup keduanya, xpdfdan skrip (via Strg + C) setelah selesai menonton 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
mpy
sumber
1

Pada 2017 juga Firefox / Chrome dapat melakukan pekerjaan. Firefox bahkan menyimpan halaman saat ini setelah F5 - Refresh.

isti_spl
sumber
2
Bisakah Anda menambahkan lebih detail pada jawaban Anda? Mengatakan "X melakukan pekerjaan" terlalu samar untuk membantu. Terima kasih telah berkontribusi.
Saya katakan Reinstate Monica
1
Browser web pada umumnya harus berfungsi. Perilaku default / normal / yang diharapkan untuk klien REST adalah memuat konten URL dan kemudian menutup koneksi.
user560822