Emacs Auctex: ฉันจะเปิดไฟล์ pdf ได้อย่างไรในตำแหน่งเคอร์เซอร์ปัจจุบัน


9

ฉันใช้ emacs auctex เพื่อเขียนไฟล์ลาเท็กซ์ เนื่องจากข้อความค่อนข้างยาวและฉันมักจะเปลี่ยนแปลงสิ่งต่าง ๆ ในสถานที่ต่าง ๆ ฉันอยากให้ emacs เปิด pdf เพื่อให้ตำแหน่งในข้อความแสดงว่าเคอร์เซอร์อยู่ที่ไฟล์ต้นฉบับ

ฉันเห็นสิ่งนี้ในเครื่องที่ใช้ Windows ด้วย MikTex / Texniccenter / Acroreader เป็นไปได้ไหมที่จะทำสิ่งนี้บน Ubuntu ใน emacs / auctex / evince?

คำตอบ:


3

ในการทำเช่นนี้คุณต้องเพิ่มบรรทัดต่อไปนี้ลงในไฟล์. emacs ของคุณเพื่อที่ว่าเมื่อคุณดูไฟล์ PDF โดยใช้ evince ระบบจะแจ้งให้ทราบหมายเลขหน้า:

(setq TeX-view-program-list '(("Evince" "evince --page-index=%(outpage) %o")))
(setq TeX-view-program-selection '((output-pdf "Evince")))

จากนั้นเมื่อคุณเปิดไฟล์เท็กซัสของคุณใน emacs คุณจะต้องเปิดความสัมพันธ์ของแหล่งข้อมูลโดยใช้คำสั่ง

C-c C-t C-s

หรือถ้าคุณไม่ต้องการเริ่มด้วยตนเองทุกครั้งให้เพิ่มบรรทัดต่อไปนี้ใน. emacs ของคุณ:

(add-hook 'LaTeX-mode-hook 'TeX-source-correlate-mode)

นอกจากนี้หากคุณต้องการป้องกันไม่ให้ emacs บอกคุณถ้าคุณต้องการเริ่มต้นเซิร์ฟเวอร์ที่เกี่ยวข้องให้เพิ่มบรรทัดต่อไปนี้:

(setq TeX-source-correlate-start-server t)

และที่ควรจะเป็น

แก้ไข: จริง ๆ แล้วปรากฎว่าคุณไม่ควรใช้แพ็คเกจ pdfsync ดังนั้นฉันจึงลบการอ้างอิงทั้งหมดไป มันไม่จำเป็นสำหรับการแก้ปัญหานี้ (เห็นได้ชัดว่าตอนนี้มันถูกสร้างขึ้นในทุกเครื่องมือที่ใช้ TeX) และการใช้งานจริงดูเหมือนว่าจะทำให้เกิดปัญหา (สำหรับฉันดูเหมือนว่าจะทำลายรหัสโดยใช้ตาราง)

แก้ไข 2: ฉันมีปัญหากับการเปิดใช้งานโหมดอัตโนมัติที่มาพร้อมกับความสัมพันธ์ของ TeX โดยใช้. emacs แต่ตอนนี้พวกเขาดูเหมือนจะหายไป ไม่แน่ใจว่าเป็นเพราะฉันอัพเดท emac หรือไม่หรือลบ pdfsync ออก อย่างไรก็ตามมันใช้งานได้แล้วตอนนี้ :)


@dbddkmezz ฉันจะเปิด pdf จาก Emacs ได้อย่างไร? C-c C-vไม่ทำ
dustin

@dustin ใช้C-c C-vงานได้สำหรับฉัน บางทีคุณอาจต้องตั้งค่าโปรแกรมดู PDF ของคุณสักเล็กน้อย?
xuhdev

มันไม่ทำงานถ้าฉันใช้ latexmk เพื่อรวบรวม tex เป็น pdf
CodyChan

4

ฉันใช้คำอธิบายที่ให้ไว้ที่http://www.emacswiki.org/emacs/AUCTeX (ส่วนสุดท้าย: Synctex และ Evince) ทำงานเหมือนมีเสน่ห์ ... ด้วยวิธีนี้คุณจะได้รับการซิงค์สองทาง (เช่นกด Cc Cv ใน emacs เพื่อไปที่หน้า pdf หรือกด C-mouse1 เพื่อไปยังตำแหน่งที่ถูกต้องใน emacs) โดยรวมแล้วมันคล้ายกับคำตอบแรก แต่คุณไม่จำเป็นต้องรวม pdfsync ด้วยมือและ emacs และใช้ evbus เพื่อสื่อสาร คุณต้องทำ Cc Ct Cs ด้วยเช่นกัน

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.