EMF'lerde pdf-tools (pdf-view-mode) nasıl kullanılır?


23

pdf-tools , doc-view modunda bulunmayan çeşitli özellikler sunan pdf-view-mode'u içerir (sorunun sonuna bakın).

Pdf-view-mode genellikle doc-view-mode'un yerine kullanılabilir mi yoksa araç tarafından "tool" mu olması gerekir?

Her iki durumda da, gnus, eww ve orgmode'da pdf araçlarını kullanmak için emacs kaynağını düzenlemek gerekli midir, yoksa kullanılabilecek sistem ayarları mı?

--- Rahatlık için pdf araçlarının özellikleri; bkz github sitesini detayları için ---

  1. Doktor görünümünden daha hızlı görünüyor
  2. Çözünürlük genellikle png olarak gösterilmediğinden daha iyi
  3. Güzel arama ve hatta bir cümlenin tüm oluşumlarını arayabilir
  4. Metin ek açıklamaları ekleyebilir ve vurgulama, altını çizme ve benzeri
  5. Pdf parçalar için imenus oluşturabilir
  6. Birkaç pdfs'yi tek bir "sanal" pdf olarak değerlendirebilir
  7. Lateks kaynağını ve pdf'yi yan yana görmek için lateks ile bütünleşebilir ve eşdeğer konumlarda birinden diğerine atlayabilir (örn \section{A section}. LaTeX'te seçin ve bu bölümü pdf olarak aldım).

Sorularınızın cevabını içeren ilgili bir tartışma için buraya bakınız .
tmalsburg

Gnus özel bir durum olabilir mi? Bakınız: lists.gnu.org/archive/html/help-gnu-emacs/2015-02/msg00438.html
Brian Z

Sorunuzu, bazı kişilerin cevapların öncelikle görüş temelli olacağı anlamına geldiğini düşündüğü korkunç 'en iyi uygulamalardan' uzaklaştırmanız gerekebilir. Gnus'un burada özel bir durum olduğunu hatırlıyorum ve .mailcap'a uygun bir yapılandırma eklemeniz gerekecek. Sorunuz eve gelmeden önce kapanmazsa sizin için yapılandırmamı kazacağım.
Tyler

1
Gnus, hangi uygulamaların ekleri açacağını bulmak için posta başlığını kullanır. Eğer Emacs pdf-araçları ile açık pdf dosyaları için yapılandırılmış varsa, satır eklemek gerekir application/pdf; emacsclient %siçin .mailcapçağırmak emacs'in olarak: ve Emacs düzenleme-sunucusu başlatmak emacs --daemonveya eklemek (server-start)için .emacs için.
Tyler

Teşekkürler. Bu çalışır ve ondan sonra bunun için çalışır org. (set 'org-file-apps '((auto-mode . emacs) ... ("\\.pdf\\'" . default)))
brittAnderson,

Yanıtlar:


31

Geçiş docviewiçin pdf-toolsyüklediğinizde 'otomatik' olur pdf-tools. Bunu yaptıktan sonra, Emacs pdf açmaya çalıştığında her zaman Emacs , bu kullanacaktır pdf-tools. Ancak, bazı paketler bir pdf açmak için Emacs veya başka bir program kullanmaları gerekip gerekmediğine karar vermek için işletim sistemine çağrı yapacak veya Emacs içinde farklı yapılandırmalar kullanacaktır. Bu nedenle, tüm Emacs paketlerinin pdf-tools kullanmasını sağlamak için gereken bazı 'araç-gereç' yapılandırması var.

Eğer pdfs'lerin aynı Emac örneğinde açılmasını istiyorsanız, onun çalışmasını sağlamak için daemon modunda çalışmasını sağlayın (yani ile başlayın emacs --daemon) ya da (server-start)initinizi arayın emacsclient.

Kuruluş modu bağlantıları

Kutunun dışında, org-modepdf araçları hakkında hiçbir şey bilmiyor. Ancak, pdf dosyalarına org linklerini açmak için MELPA'da paket olarak bulunan org-pdfview ile destek ekleyebilirsiniz . Kurulduktan sonra, aşağıdaki kodla kendi kodunuzla aktif hale getirebilirsiniz .emacs:

(eval-after-load 'org '(require 'org-pdfview))

(add-to-list 'org-file-apps 
             '("\\.pdf\\'" . (lambda (file link)
                                     (org-pdfview-open link))))

Bunu yapmak yoluyla bağlantılar ekleyerek için yeni bir tamamlama hedefini sağlayacak C-c C-l, pdfview:belirli sayfalara atlama desteği ile. Tam bağlantılar formatı kullanır:

[[pdfview:/path/to/myfile.pdf::42][My file Description]]

Serpiştirme Modu ve PDF ek açıklamaları

Interleave modu , "PDF'nizi notlarınızla birlikte bir Org Mode tamponuyla yan yana" sunma desteği sunar. Bu, bir pdf içine gömülü ek açıklamaları kullanmanın bir alternatifidir (pdf araçlarıyla yapabilirsiniz). Bunun yerine, ek açıklamaların ilişkili olduğu pdf'deki sayfaya bağlantı veren tüm ek açıklamalarınızla birlikte bir org-mod dosyası ile bitirdiniz.

Gnus

Benim gnusyorumumda belirttiğim gibi, ekleri açmak için mailcap kullanıyor. Bunu yapılandırmak için .mailcapdosyanızda aşağıdakilere ihtiyacınız var :

application/pdf; emacsclient %s

EWW

EWW ayrıca posta başlığı kullanır, bu nedenle .mailcapdosyanızı yukarıdaki Gnus'a göre değiştirin .

AUCTeX

AucTeX için bir dizi ilgili seçenek vardır:

  • izleyiciler değişken aracılığıyla belirlenir TeX-view-program-selection: girişi bulun output-pdfve değer için "PDF Araçları" seçeneğini seçin.
  • SyncTex'i kullanmak için yapmanız gereken:
    • TeX-source-correlate-modeMx üzerinden bu fonksiyonu çağırarak veya değişkeni kalıcı olarak ayarlayarak etkileşimli olarak ayarlayın M-x customize-variable.
    • TeX-source-correlate-methodiçerdiğinden emin olun(pdf . synctex)

Bu yerinde, tex kaynak dosyanızdaki pdf'nin C-c C-gilgili bölümünü görüntülemelisiniz.

ESS

Değişkeni ess-pdf-viewer-prefiçin özelleştirin emacsclient.

xdg açık

Linux'ta, bazı paketler xdg-openpdf dosyalarını açmak için harici programı arayacaktır . Bu, hangi programın kullanılacağını belirlemek için sistem genelinde ayarlarınızı kullanır. Bu sistem çapında bir değişikliktir, bu nedenle diğer programlar bunu ayarladığınızda Emacs'a pdf belgeleri gönderir. Dolayısıyla, örneğin Firefox istemiyorsanız, bunu yapmak istemeyeceksiniz.

Pdfs'i sistem genelinde açacak şekilde emacsclient'i ayarlamak için xdg-open:

  • ~/.local/share/applications/emacsclient.desktopiçeriğinde bir dosya oluşturun :

[Masaüstü Girişi]
Ad = Emacs İstemci
Yürütme = emacsclient% u
Simge = emacs-icon
Tür = Uygulama
Terminali = false
MimeType = application / pdf;

  • komut satırından sayı:

xdg-mime default emacsclient.desktop application/pdf

Bunun çalıştığını test edebilirsiniz xdg-open your-document.pdf- your-document.pdfEmacs'ta açması gerekir .

w3m

w3m ilk önce değişkeni kontrol eder w3m-doc-view-content-typesve eğer orada "application / pdf" görürse, pdfs'i doc-view'de açacaktır. Bu özelleştirilebilir bir değişkendir, bu nedenle kişiselleştirme arayüzünü kullanarak "application / pdf" girişini kaldırın.

Bir giriş olmadan w3m-doc-view-content-types, w3m daha sonra w3m-content-type-alist"application / pdf" ile eşleşen girişler için değişkeni kontrol eder . Okumak için girişi özelleştirin

[INS] [DEL] Type: application/pdf
  Regexp: ( ) Not specified
          (*) String: \.pdf\'
  Viewer: ( ) Not specified
          (*) External viewer:
                Command: emacsclient
                Arguments:
                  [INS] [DEL] file
                  [INS]

Ayrıca find-filedış arama yapmak yerine (muhtemelen veya benzer) bir emacs işlevi kullanabilirsiniz emacsclient, ancak bunun sözdizimini çözemedim.


Ancak emacs'deki w3m hala docview kullanıyor. Bunu düzeltmek için herhangi bir tavsiye?
brittAnderson

güncellenmiş cevabı gör
Tyler

org-modePDF dosyasındaki belirli bir nottan bağlantı alabilir miyim ?
zamanÖğretmen

1
@AlwaysLearning farkında değilim değil. Interleave modu, ek açıklamaları ayrı, bağlantılı, org modu bir dosyaya kaydetme desteği sağlar. Cevabı güncelleyeceğim
Tyler
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.