โอเคฉันเล่นอีกสักหน่อยแล้วคิดวิธีแก้ปัญหา
ความพยายามครั้งแรก - pdf_update_command + Okular
สิ่งนี้ไม่ทำงานอย่างเต็มที่เนื่องจากมันจะข้ามไปยังจุดเริ่มต้นของไฟล์เสมอหลังจากโหลดซ้ำ เพื่อความสมบูรณ์ฉันเพิ่มมันต่อไป
ใน Okular ปิดการโหลดซ้ำอัตโนมัติโดย "การตั้งค่า" -> "กำหนดค่า Okular" -> ปิด "โหลดเอกสารใหม่และเปลี่ยนไฟล์"
เปลี่ยนไฟล์. latexmkrc เป็น:
$pdf_previewer = 'start okular --uniuqe %S';
$pdf_update_method = 4;
$pdf_update_command = 'okular --unique %S';
สิ่งนี้บอกให้ Latexmk ทราบว่ามันควรจะเรียกใช้งานไฟล์ pdf_update_command หลังจากทำการอัพเดตไฟล์ pdf เสร็จแล้ว ทำงานอย่างไรเอกสารใน Okular สามารถมองเห็นได้ตลอดเวลาในระหว่างการรวบรวมและโหลดซ้ำเมื่อเสร็จสิ้น น่าเสียดายที่เมื่อมีการใช้งานคำสั่งอัปเดตคุณจะข้ามไปที่จุดเริ่มต้นของเอกสาร นั่นไม่ใช่สิ่งที่ฉันต้องการ
ความพยายามครั้งที่สอง - pdf_update_command + cp
เนื่องจากความพยายามครั้งก่อนไม่ได้ผลตอนนี้ฉันกำลังไปกับโซลูชันแฮ็กเกอร์ สำหรับการโหลดเอกสารนี้จะต้องเปิดใช้ใน Okular
.latexmkrc ควรมีลักษณะเช่นนี้:
$pdf_previewer = 'start okular';
$pdf_update_method = 4;
$pdf_update_command = 'cp ~/path/to/doc.pdf ~/path/to/doc_preview.pdf';
สิ่งนี้คัดลอกไฟล์เอกสารจริงไปยังตำแหน่งแสดงตัวอย่าง ดังนั้นต้องเปิด Okular สำหรับไฟล์ตัวอย่างนี้ (และสำหรับไฟล์อื่นคุณต้องปิดมันด้วยตนเอง) นี้ไม่เหมาะ แต่ก็ทำในสิ่งที่ฉันต้องการ:
- การอัปเดตไฟล์ pdf ในพื้นหลัง
- อัปเดตเฉพาะเมื่อไฟล์พร้อม
- ทำงานข้าม ssh
อัปเดต (ขอบคุณ Sam De Meyer):
หากคุณไม่ต้องการให้โปรแกรมดูตัวอย่างเริ่มทำงานให้ปล่อย $ pdf_previewer ว่างไว้:
$pdf_previewer = ''
หากคุณต้องการปิดหน้าต่างมากกว่าหน้าต่างที่เปิดอยู่คุณสามารถระบุ 'doc_preview.pdf' พร้อมกับ pdf ต้นฉบับได้ ฉันไม่พบวิธีที่จะเปิดเฉพาะไฟล์ PDF ที่สอง:
$pdf_previewer = 'start okular ~/path/to/doc_preview.pdf'
PS: มันทำงานร่วมกับโปรแกรมแก้ไขใด ๆ ที่โหลดไฟล์โดยอัตโนมัติ