เปลี่ยนจากdocviewที่จะเกิดขึ้นโดยอัตโนมัติเมื่อคุณติดตั้งpdf-tools pdf-toolsเมื่อคุณได้กระทำเช่นนี้ตลอดเวลา Emacs พยายามที่จะเปิดไฟล์ PDF ใน Emacspdf-toolsก็จะใช้ อย่างไรก็ตามแพคเกจบางตัวจะโทรออกไปยังระบบปฏิบัติการหรือใช้การตั้งค่าที่แตกต่างกันภายใน Emacs เพื่อตัดสินใจว่าควรใช้ Emacs หรือโปรแกรมอื่นเพื่อเปิดไฟล์ PDF หรือไม่ ดังนั้นจึงจำเป็นต้องมีการกำหนดค่าแบบ 'เครื่องมือต่อเครื่องมือ' เพื่อให้ได้แพ็คเกจ Emacs ทั้งหมดเพื่อใช้เครื่องมือ pdf
หากคุณต้องการให้ไฟล์ PDF ของคุณเปิดในอินสแตนซ์เดียวกันของ Emacs คุณต้องให้มันทำงานในโหมด daemon (เช่นเริ่มด้วยemacs --daemon) หรือโทร(server-start)ใน init ของคุณเพื่อให้emacsclientทำงานได้
ลิงก์ของโหมดองค์กร
ออกจากกล่องorg-modeไม่ทราบเกี่ยวกับรูปแบบไฟล์ PDF เครื่องมือ อย่างไรก็ตามคุณสามารถเพิ่มการสนับสนุนสำหรับการเปิดลิงก์ org ไปยังไฟล์ pdf ด้วยorg-pdfviewซึ่งมีให้ในแพ็คเกจของ MELPA เมื่อติดตั้งแล้วคุณสามารถเปิดใช้งานได้ด้วยรหัสต่อไปนี้ใน.emacs:
(eval-after-load 'org '(require 'org-pdfview))
(add-to-list 'org-file-apps
'("\\.pdf\\'" . (lambda (file link)
(org-pdfview-open link))))
การทำเช่นนี้จะช่วยให้เป้าหมายเสร็จใหม่สำหรับการเพิ่มการเชื่อมโยงผ่านC-c C-l, pdfview:ด้วยการสนับสนุนสำหรับการกระโดดไปยังหน้าเว็บที่เฉพาะเจาะจง ลิงก์แบบเต็มใช้รูปแบบ:
[[pdfview:/path/to/myfile.pdf::42][My file Description]]
โหมดการสอดแทรกและการเพิ่มความคิดเห็นแบบ PDF
โหมด Interleaveให้การสนับสนุนสำหรับการนำเสนอ "ไฟล์ PDF ของคุณพร้อมกับ Org Mode buffer พร้อมบันทึกย่อของคุณ" นี่เป็นอีกทางเลือกหนึ่งในการใช้คำอธิบายประกอบที่ฝังอยู่ใน pdf (ซึ่งคุณสามารถทำได้กับเครื่องมือ pdf) แต่คุณกลับมาที่ท้ายด้วยไฟล์โหมดองค์กรที่มีคำอธิบายประกอบทั้งหมดของคุณซึ่งจะเชื่อมโยงไปยังหน้าในรูปแบบ pdf ที่มีคำอธิบายประกอบที่เกี่ยวข้อง
Gnus
ตามที่ฉันพูดถึงในความคิดเห็นของฉันgnusใช้ mailcap เพื่อเปิดสิ่งที่แนบมา ในการกำหนดค่านี้คุณต้องมีสิ่งต่อไปนี้ใน.mailcapไฟล์ของคุณ:
application/pdf; emacsclient %s
eww
EWW ยังใช้ mailcap ดังนั้นแก้ไข.mailcapไฟล์ของคุณตาม Gnus ด้านบน
AucTeX
สำหรับ AucTeX มีตัวเลือกมากมายที่เกี่ยวข้อง:
- ผู้ดูถูกระบุผ่านตัวแปร
TeX-view-program-selection: ค้นหารายการoutput-pdfและเลือก "เครื่องมือ PDF" สำหรับค่า
- ในการใช้ SyncTex คุณต้อง:
- ชุด
TeX-source-correlate-modeทั้งโต้ตอบโดยการเรียกฟังก์ชั่นที่ผ่าน Mx M-x customize-variableหรือโดยการตั้งค่าตัวแปรอย่างถาวรผ่าน
- ตรวจสอบให้แน่ใจ
TeX-source-correlate-methodรวมถึง(pdf . synctex)
เมื่อใช้สิ่งนี้แล้วไฟล์ต้นฉบับของคุณC-c C-gควรแสดงส่วนที่เกี่ยวข้องของ pdf
ESS
ปรับแต่งตัวแปรess-pdf-viewer-prefให้emacsclientเป็น
XDG เปิด
บน Linux แพคเกจบางตัวจะเรียกโปรแกรมภายนอกxdg-openเพื่อเปิดไฟล์ pdf นี่จะใช้การตั้งค่าทั้งระบบของคุณเพื่อพิจารณาว่าจะใช้โปรแกรมใด นี่เป็นการเปลี่ยนแปลงทั่วทั้งระบบดังนั้นโปรแกรมอื่น ๆ จะส่งเอกสาร PDF ไปยัง Emacs เมื่อคุณตั้งค่านี้ ดังนั้นหากคุณไม่ต้องการเช่นในการทำเช่นนี้คุณจะไม่ต้องการทำการเปลี่ยนแปลงเหล่านี้
วิธีตั้งค่า emacsclient เป็นเปิดทั้งระบบผ่าน pdf xdg-open:
- สร้างไฟล์
~/.local/share/applications/emacsclient.desktopด้วยเนื้อหา:
[รายการเดสก์ท็อป]
ชื่อ = Emacs Client
Exec = emacsclient% u
ไอคอน = emacs-icon
Type = Application
Terminal =
MimeType เท็จ= application / pdf;
xdg-mime default emacsclient.desktop application/pdf
คุณสามารถทดสอบว่าสิ่งนี้ใช้ได้กับxdg-open your-document.pdf- ควรเปิดyour-document.pdfใน Emac
w3m
w3m ตรวจสอบตัวแปรw3m-doc-view-content-typesก่อนและถ้าเห็น "application / pdf" ตรงนั้นมันจะเปิดไฟล์ pdf ใน doc-view นี่เป็นตัวแปรที่ปรับแต่งได้ดังนั้นลบรายการ "application / pdf" โดยใช้ส่วนต่อประสานที่กำหนดเอง
หากไม่มีรายการในw3m-doc-view-content-typesw3m จะตรวจสอบตัวแปรw3m-content-type-alistสำหรับรายการที่ตรงกับ "application / pdf" ปรับแต่งรายการที่จะอ่าน
[INS] [DEL] Type: application/pdf
Regexp: ( ) Not specified
(*) String: \.pdf\'
Viewer: ( ) Not specified
(*) External viewer:
Command: emacsclient
Arguments:
[INS] [DEL] file
[INS]
คุณสามารถใช้ฟังก์ชั่น emacs (สมมุติfind-fileหรือคล้ายกัน) แทนการเรียกจากภายนอกemacsclientแต่ฉันไม่สามารถหาไวยากรณ์สำหรับสิ่งนั้นได้