क्या फ़ाइल को पुनः लोड करते समय ओकुलर फ्लैश नहीं करना संभव है?


11

जब मैं टीईएक्स दस्तावेज़ लिख रहा हूं, तो मैं एक स्रोत फ़ाइल परिवर्तन (लेटेक्सएमकेक का उपयोग करते हुए) जैसे ही एक पीडीएफ में अपने * .ex फ़ाइलों को स्वचालित रूप से पुन: व्यवस्थित करने के लिए एक सेटअप का उपयोग करता हूं। इसलिए मैंने स्क्रीन के एक तरफ एनवीएम के साथ एक टर्मिनल लगाया और स्क्रीन के दूसरी तरफ पीडीएफ आउटपुट के साथ ओकुलर।

कष्टप्रद बात यह है कि पीडीएफ अपडेट के दौरान हर बार ओकुलर फ्लैश / ब्लिंक होता है। यह विशेष रूप से ध्यान देने योग्य है जब मेरे पास शब्दावली + संदर्भ + सूचकांक है। तब *। नेट स्रोत में क्या बदल गया है, इसके आधार पर ओकुलर 3 से 5 बार फ्लैश करेगा, और मुझे यह वास्तव में विचलित करने वाला लगता है। क्या इस चमकती व्यवहार को अक्षम करने का कोई तरीका है?


3
सेटिंग्स -> कॉन्फ़िगर ओकुलर -> सामान्य -> ​​कार्यक्रम सुविधाएँ -> "फ़ाइल परिवर्तन पर दस्तावेज़ पुनः लोड करें" को अनटिक करें। फिर F5 को फिर से लोड करें यदि वांछित है तो पीडीएफ को दबाएं।
। 林果

खैर, यह चमकती समस्या को हल करता है, लेकिन एक नई समस्या का परिचय देता है, अब मुझे हर बार F5 को प्रेस करना होगा जो मैं अपडेट देखना चाहता हूं। मैं उम्मीद कर रहा था कि विचलित फ्लैश के बिना फ़ाइल को ऑटो-रीलोड करने का कोई तरीका था, लेकिन शायद ओकुलर के साथ यह संभव नहीं है। वैसे भी, अस्थायी वर्कअराउंड के लिए thx।
सैम डी मेयर

1
बिल्ड प्रक्रिया के दौरान फ़ाइल को कई बार अपडेट किया जाता है। हर बार फाइल अपडेट होने के बाद, ओकुलर उसे रिफ्रेश करता है। ओकुलर को "यदि यह अपडेट होता है, तो एन सेकंड प्रतीक्षा करें, यह देखने के लिए कि क्या यह फिर से ताज़ा होने से पहले अपडेट होता है" विकल्प नहीं है।
एंडी डाल्टन

यहां तक ​​कि यह कुछ समय पहले पूछा गया था, मैं इंगित करना चाहता था, राजकुमार शायद अधिक व्यवहार करते हैं जैसे आप चाहते हैं। यदि आपको इस बीच एक और अच्छा समाधान मिला, तो हमें बताएं। मेरे पास वास्तव में एक ही समस्या है ... (और इसका उपयोग नहीं कर सकते, क्योंकि इसमें x- फ़ॉरवर्डिंग की समस्या है)
Exocom

जवाबों:


2

ठीक है, मैं थोड़ा और आसपास खेला और एक समाधान के साथ आया, हालांकि एक घिनौना समाधान।

पहला प्रयास - pdf_update_command + Okular

यह पूरी तरह से काम नहीं करता है, क्योंकि यह हमेशा लोड होने के बाद, फ़ाइल की शुरुआत में कूद जाएगा। पूर्णता के लिए, मैं इसे वैसे भी जोड़ता हूं।

ओकुलर में "सेटिंग्स" -> "कॉन्फ़िगर ओकुलर" द्वारा स्वत: पुनः लोड बंद करें -> "पुनः लोड दस्तावेज़ और फ़ाइल परिवर्तन बंद करें"।

.Latexmkrc फ़ाइल को इसमें बदलें:

$pdf_previewer = 'start okular --uniuqe %S';
$pdf_update_method = 4;
$pdf_update_command = 'okular --unique %S';

यह लेटेक्समेक को बताता है कि उसे पीडीएफ फाइल अपडेट करने के बाद pdf_update_command निष्पादित करना चाहिए। क्या काम करता है, संकलन के दौरान ओकुलर में दस्तावेज़ हर समय दिखाई देता है और पूरा होने पर पुनः लोड किया जाता है। दुर्भाग्य से, जब अपडेट कमांड निष्पादित होती है, तो आप दस्तावेज़ की शुरुआत में कूद जाएंगे। जो मैं चाहता हूं वैसा नहीं है।

दूसरा प्रयास - pdf_update_command + cp

जैसा कि पिछले प्रयास से काम नहीं हुआ, मैं अब एक हैकर समाधान के साथ जा रहा हूं। इसके लिए ओकुलर में दस्तावेज़ को फिर से लोड करना होगा।

.Latexmkrc इस तरह दिखना चाहिए:

$pdf_previewer = 'start okular';
$pdf_update_method = 4;
$pdf_update_command = 'cp ~/path/to/doc.pdf ~/path/to/doc_preview.pdf';

यह वास्तविक दस्तावेज़ फ़ाइल को पूर्वावलोकन स्थान पर कॉपी करता है। तो ओकुलर को इस पूर्वावलोकन फ़ाइल के लिए खोलने की आवश्यकता है (और दूसरी फ़ाइल के लिए आपको इसे मैन्युअल रूप से बंद करना होगा)। यह निश्चित रूप से आदर्श नहीं है, लेकिन यह वही करता है जो मैं चाहता हूं:

  1. पीडीएफ फाइल को बैकग्राउंड में अपडेट करना
  2. फ़ाइल तैयार होने पर ही अपडेट किया जा रहा है
  3. Ssh के पार काम करता है

अपडेट (सैम डी मेयर का धन्यवाद):

यदि आप पूर्वावलोकनकर्ता को शुरू नहीं करना चाहते हैं, तो $ pdf_previewer को खाली छोड़ दें:

$pdf_previewer = ''

यदि आप दूसरी तरफ एक खिड़की को खोलने के बजाय बंद करना पसंद करते हैं, तो मूल पीडीएफ के साथ 'doc_preview.pdf' को निर्दिष्ट करना संभव है। मुझे कोई रास्ता नहीं मिला है, केवल दूसरी पीडीएफ फाइल खोलने के लिए:

$pdf_previewer = 'start okular ~/path/to/doc_preview.pdf'

पुनश्च: यह किसी भी संपादक के साथ काम करता है जो स्वचालित रूप से फ़ाइलों को फिर से लोड करता है, जैसे कि उदाहरण।


1
नमस्ते, 'cp' ट्रिक काम कर सकती है। क्या आपको वास्तव में er पीडीएफ प्रीव्यूअर ’में ular स्टार्ट ओकुलर’ करने की जरूरत है। हो सकता है कि आप इसे केवल खाली छोड़ सकते हैं या एक कमांड निर्दिष्ट कर सकते हैं जो कुछ भी नहीं करता है? फिर आपको जो संकलन करना है उसे कॉपी पर ओकुलर खोलना होगा। कि समस्या का समाधान नहीं होगा?
सैम डी मेयर

हां, इसे खाली छोड़ देने से ओकुलर शुरू नहीं करने का टोटका होता है। धन्यवाद। उत्तर को अपडेट करेगा (साथ ही दोनों फ़ाइलों के लिए पूर्वावलोकनकर्ता को शुरू करने के अलावा)। पूरी बात, कि फ़ाइल का अद्यतन केवल संकलन समाप्त होने के बाद प्रकट होता है, बहुत मदद करता है। मैं सिर्फ एक बड़ी थीसिस लिख रहा हूं, जहां यह वास्तव में काम करता है।
Exocom
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.