Trình xem Pdf xử lý cập nhật trực tiếp pdf / không khóa tệp


17

Tôi đang làm việc trên một tài liệu latex (với pdflatex, Cygwin, acrobat reader) và tôi đã quá mệt mỏi của make - gần - mở trình.

Trên osx với Previewtôi không có vấn đề đó, vì tôi có thể biên dịch các .textệp, trong khi pdf kết quả được mở trong trình xem (được cập nhật sau quá trình xây dựng).

Trong khi trên Win7, với Acrobat Reader, pdflatex(tex-live 2012) của tôi phàn nàn rằng [...] can't write on file xxx.pdf.tôi đoán người đọc khóa tệp pdf.

Làm thế nào để bạn sản xuất / chỉnh sửa các tập tin .tex trên Win7 một cách hiệu quả ? Tôi tốt nhất là sẽ sử dụng makefiles và trình soạn thảo văn bản thay vì môi trường xây dựng latex latex.


Nếu đó là một lựa chọn cho bạn: Tôi nghĩ (không thể kiểm tra ngay bây giờ) xpdfthông qua cygwincác công việc theo cách đó. Tuy nhiên, bạn cần lật trang qua lại để cập nhật tệp được hiển thị.
mpy

Thx, nó tốt cho người mới bắt đầu. Nhưng vì tôi biết nó được xử lý như thế nào trên máy Mac, tôi rất vui khi có một số giải pháp khác.
chước

Câu trả lời:


16

SumatraPDF có thể được sử dụng trong quy trình làm việc hiện tại của bạn. Nó sẽ không đặt một khóa trên tập tin. Nó cũng hỗ trợ đồng bộ hóa giữa trình soạn thảo và tài liệu pdf.


1
Tôi muốn đăng cùng một phút trước, nhưng tôi không thể trả lời câu hỏi của riêng mình với ít hơn 10 đại diện ... :) Dù sao, cảm ơn bạn!
mike

2

Mặc dù đã có câu trả lời cung cấp trình đọc PDF không chặn cửa sổ gốc, tôi đã làm theo cygwin/xpdfcách tiếp cận và hack cùng một đoạn script nhỏ.

Nó được dựa trên xpdf's -remotelựa chọn mà trong đó người ta có thể tải lại một tập tin đã mở. Vì vậy, chúng ta chỉ cần phát hiện khi tập tin được thay đổi. Vì không có nguồn gốc inotifytrên windows, bạn cần cài đặt inotify-win , đây là một C#chương trình.

Kịch bản của tôi xpdf-fcó vẻ hoạt động tốt, tuy nhiên bạn phải đóng cả hai xpdfvà tập lệnh (thông qua Strg + C) sau khi xem xong 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

Kể từ năm 2017, Firefox / Chrome cũng có thể thực hiện công việc. Firefox thậm chí còn giữ trang hiện tại sau F5 - Làm mới.


2
Bạn có thể thêm chi tiết cho câu trả lời của bạn? Nói "X làm công việc" quá mơ hồ để có ích. Cảm ơn đã đóng góp.
Tôi nói phục hồi Monica

1
Các trình duyệt web nói chung nên hoạt động. Hành vi mặc định / bình thường / dự kiến ​​cho các máy khách REST là tải nội dung của URL và sau đó đóng kết nối.
user560822
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.