Переключение с docviewна pdf-toolsпроисходит автоматически при установке pdf-tools. Как только вы это сделаете, каждый раз, когда Emacs пытается открыть PDF-файл в Emacs , он будет использовать pdf-tools. Однако некоторые пакеты будут вызывать операционную систему или использовать другие конфигурации в Emacs, чтобы решить, следует ли им использовать Emacs или другую программу для открытия PDF-файла. Таким образом, существует некоторая конфигурация «инструмент за инструментом», необходимая для того, чтобы заставить все пакеты Emacs использовать pdf-инструменты.
Если вы хотите, чтобы ваши pdf открывались в одном и том же экземпляре Emacs, вам нужно, чтобы он работал в режиме демона (то есть, запускать его с 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 аннотации
Режим чередования обеспечивает поддержку для представления «вашего PDF рядом с буфером режима Org с вашими заметками». Это альтернатива использованию аннотаций, встроенных в pdf (что вы можете сделать с помощью pdf-tools). Вместо этого вы получите файл режима org со всеми вашими аннотациями, который ссылается на страницу в 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, когда вы это настроите. Поэтому, если вы не хотите, например, Firefox, делать это, вы не захотите вносить эти изменения.
Чтобы настроить emacsclient для открытия PDF-файлов по всей системе, выполните следующие действия xdg-open:
- создать файл
~/.local/share/applications/emacsclient.desktopс содержанием:
[Desktop Entry]
Имя = Emacs Client
Exec = emacsclient% u
Icon = emacs-icon
Тип =
Терминал приложения = 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, но я не мог понять синтаксис для этого.