Il passaggio da docview
a pdf-tools
avviene 'automaticamente' durante l'installazione pdf-tools
. Una volta fatto questo, ogni volta che Emacs tenta di aprire un pdf in Emacs , lo utilizzerà pdf-tools
. Tuttavia, alcuni pacchetti chiameranno il sistema operativo, o useranno diverse configurazioni all'interno di Emacs, per decidere se usare Emacs o un altro programma per aprire un pdf. Quindi è necessaria una configurazione "strumento per strumento" per far sì che tutti i pacchetti Emacs utilizzino gli strumenti pdf.
Se vuoi che i tuoi pdf siano aperti nella stessa istanza di Emacs, devi averlo in esecuzione in modalità demone (cioè, avviarlo con emacs --daemon
), o chiamare il (server-start)
tuo init in modo che emacsclient
funzioni.
Collegamenti in modalità Org
All'improvviso, org-mode
non conosce gli strumenti pdf. Tuttavia, è possibile aggiungere supporto per l'apertura di collegamenti organizzativi ai file pdf con org-pdfview , disponibile come pacchetto su MELPA. Una volta installato, puoi attivarlo con il seguente codice nel tuo .emacs
:
(eval-after-load 'org '(require 'org-pdfview))
(add-to-list 'org-file-apps
'("\\.pdf\\'" . (lambda (file link)
(org-pdfview-open link))))
In questo modo si fornirà un nuovo obiettivo di completamento per l'aggiunta di collegamenti via C-c C-l
, pdfview:
con il supporto per il salto a pagine specifiche. I collegamenti completi utilizzano il formato:
[[pdfview:/path/to/myfile.pdf::42][My file Description]]
Modalità Interleave e annotazioni PDF
La modalità Interleave fornisce supporto per presentare "i tuoi PDF fianco a fianco con un buffer in modalità Org con le tue note". Questa è un'alternativa all'utilizzo delle annotazioni incorporate in un pdf (cosa che puoi fare con gli strumenti pdf). Invece, si finisce con un file in modalità org con tutte le annotazioni, che si collega alla pagina nel pdf a cui sono associate le annotazioni.
gnu
Come ho già detto nel mio commento, gnus
utilizza mailcap per aprire gli allegati. Per configurarlo, è necessario quanto segue nel .mailcap
file:
application/pdf; emacsclient %s
EWW
EWW usa anche mailcap, quindi modifica il tuo .mailcap
file secondo Gnus sopra.
AucTeX
Per AucTeX, ci sono una serie di opzioni pertinenti:
- i visualizzatori vengono specificati tramite la variabile
TeX-view-program-selection
: trova la voce per output-pdf
e seleziona "Strumenti PDF" per il valore.
- per usare SyncTex, devi:
- impostare
TeX-source-correlate-mode
, in modo interattivo chiamando tale funzione tramite Mx o impostando la variabile in modo permanente tramite M-x customize-variable
.
- assicurati di
TeX-source-correlate-method
includere(pdf . synctex)
Con questo in atto, dal tuo file sorgente tex C-c C-g
dovrebbe visualizzare la sezione corrispondente del pdf.
ESS
Personalizza la variabile ess-pdf-viewer-pref
in emacsclient
.
xdg-open
Su Linux, alcuni pacchetti chiameranno il programma esterno xdg-open
per aprire i file pdf. Questo utilizzerà le impostazioni a livello di sistema per determinare quale programma utilizzare. Questa è una modifica a livello di sistema, quindi altri programmi invieranno documenti pdf a Emacs quando lo avrai impostato. Quindi, se non vuoi, ad esempio Firefox, fare questo, non vorrai apportare queste modifiche.
Per impostare emacsclient per aprire i pdf a livello di sistema tramite xdg-open
:
- crea un file
~/.local/share/applications/emacsclient.desktop
con il contenuto:
[Voce desktop]
Nome = Emacs Client
Exec = emacsclient% u
Icona = emacs-icon
Tipo =
Terminale applicazione = falso
MimeType = applicazione / pdf;
- dalla riga di comando, emettere:
xdg-mime default emacsclient.desktop application/pdf
Puoi provare che ha funzionato xdg-open your-document.pdf
: dovrebbe aprirsi your-document.pdf
in Emacs.
w3m
w3m controlla prima la variabile w3m-doc-view-content-types
e se vede "application / pdf" lì, aprirà i pdf in doc-view. Questa è una variabile personalizzabile, quindi rimuovere la voce "application / pdf" utilizzando l'interfaccia di personalizzazione.
Senza una voce in w3m-doc-view-content-types
, w3m controlla successivamente la variabile w3m-content-type-alist
per le voci che corrispondono a "application / pdf". Personalizza la voce da leggere
[INS] [DEL] Type: application/pdf
Regexp: ( ) Not specified
(*) String: \.pdf\'
Viewer: ( ) Not specified
(*) External viewer:
Command: emacsclient
Arguments:
[INS] [DEL] file
[INS]
Potresti anche usare una funzione emacs (presumibilmente find-file
o simile), piuttosto che una chiamata esterna emacsclient
, ma non sono riuscito a capire la sintassi per quello.