Переключение с 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
, но я не мог понять синтаксис для этого.