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.


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

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.


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

1

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


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
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.