El cambio de docview
a pdf-tools
ocurre 'automáticamente' cuando realiza la instalación pdf-tools
. Una vez que haya hecho esto, cada vez que Emacs intente abrir un pdf en Emacs , lo usará pdf-tools
. Sin embargo, algunos paquetes llamarán al sistema operativo, o usarán diferentes configuraciones dentro de Emacs, para decidir si deben usar Emacs u otro programa para abrir un pdf. Por lo tanto, se requiere una configuración 'herramienta por herramienta' para que todos los paquetes de Emacs utilicen las herramientas pdf.
Si desea que sus archivos PDF se abran en la misma instancia de Emacs, debe tenerlo ejecutándose en modo demonio (es decir, iniciarlo con emacs --daemon
) o llamar (server-start)
a su init para que emacsclient
funcione.
Enlaces de modo de organización
Fuera de la caja, org-mode
no sabe sobre herramientas pdf. Sin embargo, puede agregar soporte para abrir enlaces de organización a archivos pdf con org-pdfview , que está disponible como un paquete en MELPA. Una vez que está instalado, puede activarlo con el siguiente código en su .emacs
:
(eval-after-load 'org '(require 'org-pdfview))
(add-to-list 'org-file-apps
'("\\.pdf\\'" . (lambda (file link)
(org-pdfview-open link))))
Hacer esto le proporcionará un nuevo objetivo para la finalización de la adición de enlaces a través C-c C-l
, pdfview:
con el apoyo para saltar a las páginas específicas. Los enlaces completos usan el formato:
[[pdfview:/path/to/myfile.pdf::42][My file Description]]
Modo intercalado y anotaciones PDF
El modo Intercalar proporciona soporte para presentar "su PDF lado a lado con un búfer de modo Org con sus notas". Esta es una alternativa al uso de las anotaciones incrustadas en un pdf (que puede hacer con las herramientas de pdf). En cambio, terminas con un archivo de modo org con todas tus anotaciones, que enlaza con la página en el pdf con la que están asociadas las anotaciones.
Gnus
Como mencioné en mi comentario, gnus
usa mailcap para abrir archivos adjuntos. Para configurar esto, necesita lo siguiente en su .mailcap
archivo:
application/pdf; emacsclient %s
EWW
EWW también usa mailcap, así que modifique su .mailcap
archivo según Gnus arriba.
AucTeX
Para AucTeX, hay varias opciones relevantes:
- los espectadores se especifican a través de la variable
TeX-view-program-selection
: busque la entrada output-pdf
y seleccione "Herramientas PDF" para el valor.
- Para usar SyncTex, necesita:
- establecer
TeX-source-correlate-mode
, ya sea interactivamente llamando a esa función a través de Mx, o configurando la variable permanentemente a través de M-x customize-variable
.
- asegúrese de que
TeX-source-correlate-method
incluye(pdf . synctex)
Con esto en su lugar, desde su archivo fuente tex C-c C-g
debe mostrar la sección correspondiente del pdf.
ESS
Personaliza la variable ess-pdf-viewer-pref
a emacsclient
.
xdg-open
En Linux, algunos paquetes llamarán al programa externo xdg-open
para abrir archivos pdf. Esto usará la configuración de todo el sistema para determinar qué programa usar. Este es un cambio en todo el sistema, por lo que otros programas enviarán documentos PDF a Emacs cuando haya configurado esto. Entonces, si no desea, por ejemplo, Firefox, hacer esto, no querrá hacer estos cambios.
Para configurar emacsclient para abrir archivos PDF en todo el sistema a través de xdg-open
:
- crear un archivo
~/.local/share/applications/emacsclient.desktop
con el contenido:
[Entrada de escritorio]
Nombre = Emacs Client
Exec = emacsclient% u
Icon = emacs-icon
Type = Application
Terminal = false
MimeType = application / pdf;
- desde la línea de comando, emita:
xdg-mime default emacsclient.desktop application/pdf
Puede probar que esto funcionó xdg-open your-document.pdf
: debería abrirse your-document.pdf
en Emacs.
w3m
w3m primero verifica la variable w3m-doc-view-content-types
, y si ve "application / pdf" allí, abrirá pdfs en doc-view. Esta es una variable personalizable, por lo tanto, elimine la entrada "application / pdf" utilizando la interfaz de personalización.
Sin una entrada w3m-doc-view-content-types
, w3m luego verifica la variable w3m-content-type-alist
para las entradas que coinciden con "application / pdf". Personaliza la entrada para leer
[INS] [DEL] Type: application/pdf
Regexp: ( ) Not specified
(*) String: \.pdf\'
Viewer: ( ) Not specified
(*) External viewer:
Command: emacsclient
Arguments:
[INS] [DEL] file
[INS]
También podría usar una función emacs (presumiblemente find-file
o similar), en lugar de una llamada externa a emacsclient
, pero no pude averiguar la sintaxis para eso.