Перехід від " 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
, але я не міг зрозуміти для цього синтаксис.