Перехід від " docviewдо" pdf-toolsвідбувається "автоматично" при встановленні pdf-tools. Щойно ви зробите це, коли-небудь Emacs намагатиметься відкрити PDF у Emacs , він використовуватиме pdf-tools. Однак деякі пакети будуть викликати операційну систему або використовувати різні конфігурації в Emacs, щоб вирішити, чи слід використовувати Emacs або іншу програму для відкриття PDF-файлу. Таким чином, існує певна конфігурація "інструмент за інструментом", необхідна для отримання всіх пакетів Emacs для використання PDF-інструментів.
Якщо ви хочете, щоб ваші файли pdfs відкривалися в тому ж екземплярі Emacs, вам потрібно запустити його в демонстраційному режимі (тобто, запустити його emacs --daemon) або зателефонувати (server-start)в ваш init, щоб emacsclientвін працював.
Посилання в Org-режимі
З коробки 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-примітки
Режим перемежування забезпечує підтримку подання "вашого PDF поруч із буфером Org Mode з вашими нотатками". Це альтернатива використанню анотацій, вбудованих у pdf (що можна зробити з pdf-інструментами). Натомість ви отримуєте файл org-режиму з усіма своїми примітками, який посилається на сторінку в PDF, з якою пов’язані анотації.
Гнус
Як я вже згадував у своєму коментарі, 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, коли ви це налаштували. Отже, якщо ви не хочете, наприклад, Firefox, робити це, ви не хочете вносити ці зміни.
Щоб встановити emacsclient для відкриття pdfs у всій системі за допомогою xdg-open:
- створити файл
~/.local/share/applications/emacsclient.desktopіз вмістом:
[Desktop Entry]
Name = Emacs Client
Exec = emacsclient% u
Icon = emacs-icon
Type = Прикладний
термінал = false
MimeType = application / pdf;
- з командного рядка видайте:
xdg-mime default emacsclient.desktop application/pdf
Ви можете перевірити, що це працювало з цим xdg-open your-document.pdf- воно повинно відкриватися your-document.pdfв Emacs.
w3m
w3m спочатку перевіряє змінну w3m-doc-view-content-types, і якщо вона побачить там "application / pdf", вона відкриє pdfs у 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, але я не міг зрозуміти для цього синтаксис.