Beralih dari docview
ke pdf-tools
terjadi 'otomatis' saat Anda menginstal pdf-tools
. Setelah Anda selesai melakukannya, kapan saja Emacs mencoba membuka pdf di Emacs , itu akan digunakan pdf-tools
. Namun, beberapa paket akan memanggil sistem operasi, atau menggunakan konfigurasi yang berbeda dalam Emacs, untuk memutuskan apakah mereka harus menggunakan Emacs atau program lain untuk membuka pdf. Jadi ada beberapa konfigurasi 'tool-by-tool' yang diperlukan untuk mendapatkan semua paket Emacs untuk menggunakan pdf-tools.
Jika Anda ingin pdf Anda dibuka dalam instance yang sama dengan Emacs, Anda harus menjalankannya dalam mode daemon (yaitu, mulai dengan emacs --daemon
), atau panggil (server-start)
init Anda sehingga itu emacsclient
akan berfungsi.
Tautan mode-org
Di luar kotak, org-mode
tidak tahu tentang pdf-tools. Namun, Anda dapat menambahkan dukungan untuk membuka tautan org ke file pdf dengan org-pdfview , yang tersedia sebagai paket di MELPA. Setelah diinstal, Anda dapat mengaktifkannya dengan kode berikut di .emacs
:
(eval-after-load 'org '(require 'org-pdfview))
(add-to-list 'org-file-apps
'("\\.pdf\\'" . (lambda (file link)
(org-pdfview-open link))))
Melakukan hal ini akan memberikan target penyelesaian baru untuk menambahkan link melalui C-c C-l
, pdfview:
, dengan dukungan untuk melompat ke halaman tertentu. Tautan lengkap menggunakan format:
[[pdfview:/path/to/myfile.pdf::42][My file Description]]
Mode Interleave & anotasi PDF
Mode Interleave memberikan dukungan untuk menghadirkan "PDF Anda berdampingan dengan buffer Mode Org dengan catatan Anda." Ini adalah alternatif untuk menggunakan anotasi yang tertanam dalam pdf (yang dapat Anda lakukan dengan pdf-tools). Sebagai gantinya, Anda berakhir dengan file mode-org dengan semua anotasi Anda, yang menautkan ke halaman dalam pdf yang terkait dengan anotasi.
Gnus
Seperti yang saya sebutkan dalam komentar saya, gnus
menggunakan surat untuk membuka lampiran. Untuk mengkonfigurasi ini, Anda perlu yang berikut ini di .mailcap
file Anda :
application/pdf; emacsclient %s
EWW
EWW juga menggunakan penyimpanan surat, jadi modifikasi .mailcap
file Anda sesuai Gnus di atas.
AucTeX
Untuk AucTeX, ada sejumlah opsi yang relevan:
- pemirsa ditentukan melalui variabel
TeX-view-program-selection
: cari entri untuk output-pdf
dan pilih "Alat PDF" untuk nilainya.
- untuk menggunakan SyncTex, Anda perlu:
- mengatur
TeX-source-correlate-mode
, baik secara interaktif dengan memanggil fungsi itu melalui MX, atau dengan mengatur variabel secara permanen melalui M-x customize-variable
.
- pastikan
TeX-source-correlate-method
termasuk(pdf . synctex)
Dengan ini di tempat, dari file sumber tex Anda C-c C-g
akan menampilkan bagian yang sesuai dari pdf.
ESS
Ubahsuaikan variabel ess-pdf-viewer-pref
menjadi emacsclient
.
xdg-buka
Di Linux, beberapa paket akan memanggil program eksternal xdg-open
untuk membuka file pdf. Ini akan menggunakan pengaturan sistem Anda untuk menentukan program mana yang akan digunakan. Ini adalah perubahan di seluruh sistem, jadi program lain akan mengirim dokumen pdf ke Emacs ketika Anda sudah mengaturnya. Jadi jika Anda tidak ingin, misalnya, Firefox, untuk melakukan ini, Anda tidak ingin melakukan perubahan ini.
Untuk mengatur emacsclient untuk membuka pdf seluruh sistem melalui xdg-open
:
- buat file
~/.local/share/applications/emacsclient.desktop
dengan isinya:
[Entri Desktop]
Nama = Emacs Client
Exec = emacsclient% u
Ikon = emacs-icon
Type =
Terminal Aplikasi = false
MimeType = application / pdf;
- dari baris perintah, terbitkan:
xdg-mime default emacsclient.desktop application/pdf
Anda dapat menguji apakah ini berhasil xdg-open your-document.pdf
- harus terbuka your-document.pdf
di Emacs.
w3m
w3m pertama-tama memeriksa variabel w3m-doc-view-content-types
, dan jika ia melihat "application / pdf" di sana, ia akan membuka pdf dalam tampilan dokumen. Ini adalah variabel yang dapat disesuaikan, jadi hapus entri "application / pdf" menggunakan antarmuka penyesuaian.
Tanpa entri w3m-doc-view-content-types
, w3m selanjutnya memeriksa variabel w3m-content-type-alist
untuk entri yang cocok dengan "application / pdf". Kustomisasi entri untuk dibaca
[INS] [DEL] Type: application/pdf
Regexp: ( ) Not specified
(*) String: \.pdf\'
Viewer: ( ) Not specified
(*) External viewer:
Command: emacsclient
Arguments:
[INS] [DEL] file
[INS]
Anda juga bisa menggunakan fungsi emacs (mungkin find-file
atau serupa), daripada panggilan eksternal untuk itu emacsclient
, tapi saya tidak tahu sintaks untuk itu.