เปลี่ยนจาก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-types
w3m จะตรวจสอบตัวแปร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
แต่ฉันไม่สามารถหาไวยากรณ์สำหรับสิ่งนั้นได้