Mudar de docviewpara pdf-toolsacontece 'automaticamente' quando você instala pdf-tools. Depois de fazer isso, sempre que o Emacs tentar abrir um pdf no Emacs , ele será usado pdf-tools. No entanto, alguns pacotes chamarão o sistema operacional ou usarão configurações diferentes no Emacs para decidir se devem usar o Emacs ou outro programa para abrir um pdf. Portanto, é necessária alguma configuração 'ferramenta por ferramenta' para que todos os pacotes do Emacs usem ferramentas em pdf.
Se você deseja que seus PDFs sejam abertos na mesma instância do Emacs, é necessário executá-lo no modo daemon (por exemplo, inicie-o emacs --daemon) ou chame (server-start)seu init para que emacsclientfuncione.
Links de modo organizacional
Fora da caixa, org-modenão sabe sobre ferramentas de pdf. No entanto, você pode adicionar suporte para abrir links da organização em arquivos pdf com o org-pdfview , que está disponível como um pacote no MELPA. Depois de instalado, você pode ativá-lo com o seguinte código no seu .emacs:
(eval-after-load 'org '(require 'org-pdfview))
(add-to-list 'org-file-apps
'("\\.pdf\\'" . (lambda (file link)
(org-pdfview-open link))))
Fazendo isso irá fornecer um novo alvo de conclusão para adicionar links via C-c C-l, pdfview:com suporte para saltar para páginas específicas. Os links completos usam o formato:
[[pdfview:/path/to/myfile.pdf::42][My file Description]]
Modo de intercalação e anotações em PDF
O modo Intercalar fornece suporte para apresentar "seu PDF lado a lado com um buffer do modo organizacional com suas anotações". Essa é uma alternativa ao uso das anotações incorporadas em um pdf (o que você pode fazer com as ferramentas em pdf). Em vez disso, você acaba com um arquivo de modo organizacional com todas as suas anotações, que vincula à página no pdf à qual as anotações estão associadas.
Gnus
Como mencionei no meu comentário, gnususa o mailcap para abrir anexos. Para configurar isso, você precisa do seguinte em seu .mailcaparquivo:
application/pdf; emacsclient %s
EWW
O EWW também usa o mailcap, portanto modifique seu .mailcaparquivo conforme o Gnus acima.
AucTeX
Para o AucTeX, existem várias opções relevantes:
- os espectadores são especificados por meio da variável
TeX-view-program-selection: encontre a entrada output-pdfe selecione "Ferramentas PDF" para o valor.
- Para usar o SyncTex, você precisa:
- de
TeX-source-correlate-modeforma interativa, chamando essa função via Mx ou configurando a variável permanentemente via M-x customize-variable.
- certifique-se de
TeX-source-correlate-methodincluir(pdf . synctex)
Com isso, o arquivo de origem tex C-c C-gdeve exibir a seção correspondente do pdf.
ESS
Customize a variável ess-pdf-viewer-prefpara emacsclient.
xdg-open
No Linux, alguns pacotes chamam o programa externo xdg-openpara abrir arquivos pdf. Isso usará as configurações de todo o sistema para determinar qual programa usar. Essa é uma alteração em todo o sistema; portanto, outros programas enviarão documentos em PDF para o Emacs quando você configurá-lo. Portanto, se você não quiser, por exemplo, o Firefox, fazer isso, não precisará fazer essas alterações.
Para configurar o emacsclient para abrir pdfs em todo o sistema via xdg-open:
- crie um arquivo
~/.local/share/applications/emacsclient.desktopcom o conteúdo:
[Entrada da área de trabalho]
Nome = Emacs Client
Exec = emacsclient% u
Ícone = emacs-icon
Tipo =
Terminal de aplicativos = false
MimeType = application / pdf;
- na linha de comando, emita:
xdg-mime default emacsclient.desktop application/pdf
Você pode testar se isso funcionou xdg-open your-document.pdf- ele deve abrir your-document.pdfno Emacs.
w3m
O w3m primeiro verifica a variável w3m-doc-view-content-typese, se vir "application / pdf", abrirá os pdfs na visualização de documentos. Essa é uma variável personalizável; portanto, remova a entrada "application / pdf" usando a interface de personalização.
Sem uma entrada w3m-doc-view-content-types, o w3m verifica a variável em w3m-content-type-alistbusca de entradas que correspondam a "application / pdf". Personalize a entrada para ler
[INS] [DEL] Type: application/pdf
Regexp: ( ) Not specified
(*) String: \.pdf\'
Viewer: ( ) Not specified
(*) External viewer:
Command: emacsclient
Arguments:
[INS] [DEL] file
[INS]
Você também pode usar uma função emacs (presumivelmente find-fileou semelhante), em vez de uma chamada externa emacsclient, mas eu não consegui descobrir a sintaxe para isso.