पीडीएफ दर्शक जो पीडीएफ के लाइव अपडेट को हैंडल करता है / फाइल को लॉक नहीं करता है


17

मैं एक लेटेक्स दस्तावेज़ (pdflatex, cygwin, एक्रोबैट रीडर के साथ) पर काम कर रहा हूं और मैं मेक - क्लोज़ - ओपन प्रक्रिया से थक गया हूं ।

ओएक्सएक्स पर Previewमेरे पास वह समस्या नहीं है, क्योंकि मैं .texफ़ाइलों को संकलित कर सकता हूं , जबकि परिणामी पीडीएफ दर्शक में खोला जाता है (जो निर्माण प्रक्रिया के बाद अद्यतन हो जाता है)।

जबकि Win7 पर, एक्रोबैट रीडर के साथ, मेरा pdflatex(टेक्स-लाइव 2012) शिकायत करता है कि [...] can't write on file xxx.pdf.मुझे लगता है कि रीडर पीडीएफ फाइल को लॉक करता है।

कैसे आप कुशलतापूर्वक Win7 पर .tex फ़ाइलों का उत्पादन / संपादन करते हैं ? मैं अधिमानतः एक विंडोज़ लेटेक्स बिल्ड पर्यावरण के बजाय मेकफाइल्स और एक टेक्स्ट एडिटर का उपयोग करने के लिए छड़ी करूंगा।


यदि वह आपके लिए एक विकल्प है: मुझे लगता है कि (अभी इसकी जांच नहीं कर सकते हैं) उस तरह xpdfसे cygwinकाम करता है। हालाँकि आपको प्रदर्शित फ़ाइल को अपडेट करने के लिए पृष्ठ को आगे और पीछे करना होगा।
13'15

Thx, यह शुरुआत के लिए अच्छा है। लेकिन जब से मुझे पता है कि यह मैक पर कैसे संभाला जाता है, मुझे खुशी होगी कि मेरे पास कुछ अन्य समाधान हैं।
माइक

जवाबों:


16

SumatraPDF का उपयोग आपके वर्तमान वर्कफ़्लो में किया जा सकता है। यह फ़ाइल पर लॉक नहीं लगाएगा। यह संपादक और पीडीएफ दस्तावेज़ के बीच सिंक्रनाइज़ेशन का भी समर्थन करता है


1
मैं एक मिनट पहले ही पोस्ट करना चाहता था, लेकिन मैं 10 से कम प्रतिनिधि के साथ अपने सवाल का जवाब नहीं दे सका ... :) वैसे भी, धन्यवाद!
माइक

2

हालाँकि पहले से ही एक उत्तर गैर-अवरुद्ध विंडोज़ पीडीएफ रीडर प्रदान करने वाला उत्तर है, मैंने इसका अनुसरण किया cygwin/xpdf दृष्टिकोण का और एक छोटी स्क्रिप्ट के साथ हैक किया।

यह xpdf's' -remoteविकल्प पर आधारित है , जिसे पहले से खोली गई फ़ाइल को फिर से लोड करना संभव है। इसलिए, हमें केवल यह पता लगाना होगा कि फ़ाइल को कब बदला जाए। जैसा कि inotifyखिड़कियों पर कोई मूल निवासी नहीं है , आपको इनोटिफ़ाइ-जीत स्थापित करने की आवश्यकता है , जो एक C#कार्यक्रम है।

मेरी स्क्रिप्ट xpdf-fठीक काम कर रही है, हालाँकि आपको दोनों को बंद करना होगा, xpdfऔर स्क्रिप्ट (स्ट्रॉग + सी के माध्यम से) एक बार पीडीएफ देखना समाप्त हो जाएगा।

#!/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

2017 तक भी फ़ायरफ़ॉक्स / क्रोम काम कर सकता है। फ़ायरफ़ॉक्स भी F5 के बाद वर्तमान पृष्ठ रखता है - ताज़ा करें।


2
क्या आप अपने उत्तर में अधिक विवरण जोड़ सकते हैं? "X काम करता है" कहना मददगार साबित होने के लिए बहुत अस्पष्ट है। योगदान के लिए धन्यवाद।
मैं

1
सामान्य रूप से वेब ब्राउज़र को काम करना चाहिए। REST क्लाइंट के लिए डिफ़ॉल्ट / सामान्य / अपेक्षित व्यवहार URL की सामग्री लोड करने और फिर कनेक्शन को बंद करने के लिए है।
user560822
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.