Emacs замерз, коли відкрити файл PDF


11

Коли я відкриваю pdf з emacs, він застиг. І я встановив pdf-інструменти, відкрив pdf, він знову застиг.

Що підкреслює процес, коли Emacs відкриває PDF? Чи багато роботи з перетворення? Що мені робити, щоб пришвидшити це?

  • Emacs 24.4
  • Ubuntu 14.04 LTS
  • 2,4 ГГц x 2
  • 4G ОЗУ.

Оновлення :

Я щойно знайшов цю сторінку:

"Вивчили урок. Ніколи не відкривайте PDF в emacs. Ніколи навіть не робіть це випадково."

https://twitter.com/ergoemacs/status/456088661059457024

Це сумна новина для мене! Чи не чудова ідея для перегляду pdf за допомогою Emacs?

Оновлення 2

Я думав, це тому, що мій pdf-файл занадто великий:

5.7M, 1313 pages

Тому я спробував невеликий pdf-файл,

402K, 66 pages

воно знову застигло.

Оновлення 3

Я відкрити файл PDF , використовуючи C-c C-xз helm, і це відкриває файл в форматі PDF в зовнішньому глядача: Затура . Оскільки немає процесу перетворення, файл швидко відкривається. (Так само швидко mupdf. Я думаю, Zathura використовує mupdf в якості заднього кінця.)

Існує чотири моменти, що робить затхуру видатним:

  1. Світло швидко. (І відкривати, і шукати)
  2. Висока якість дисплея.
  3. Tab відображає меню розділу / розділу так само, як Adobe Reader.
  4. Хороша підтримка комбінацій клавіш. (Насправді, він використовує в'язання клавіш у стилі vim, що має сенс, оскільки немає необхідності перемикати режим перегляду в форматі pdf.

Оновлення 4

Знімок екрана для порівняння якості:

! Зліва: Затура; Право: PDF в Emacs

Я дуже заплутався в тому, що Emacs використовує для відкритого PDF. (Я вже видалив pdf-інструменти)


Не хочете розповісти більше про конфігурацію Emacs, пов'язану з файлами PDF?
Nsukami _

@Nsukami_ Дякую за запитання. Насправді в моїй конфігурації я нічого не пов’язаний із файлом pdf. 1. Відкриваю pdf із встановленням за замовчуванням. 2. Встановлено pdf-інструменти, відкрити pdf.
Нік

Ви можете використовувати Emacs як відмінний читач PDF . Зараз я використовую Emacs виключно для читання PDF. Я також використовую Ubuntu. Але наскільки великий ваш PDF-файл?
Tu Do

4
Ясна річ, настав час emacs -Qзнову.
wasamasa

2
Щоб встановити pdf-tools, вам потрібно клонувати репо, запустити ./autogen.shта дотримуватися стандартної процедури: ./configure&& make&& sudo make install. Потім він створить pdf-tools.tar.gzкаталог у файлі pdf-інструментів, який ви клонували. Потім помістіть (pdf-tools-install)десь у свій файл init. Відтепер Emacs використовуватиме pdf-view-mdoeкращу якість та кращу швидкість візуалізації.
Tu Do

Відповіді:


12

Ви повинні відключити, linum-modeвідкриваючи файл PDF. Інакше він повісить ваш Emacs. тобто додайте його лише prog-modeдля редагування тексту:

(add-hook 'prog-mode-hook 'linum-on)

Щоб встановити pdf-tools:

  • Ви повинні клонувати сховище :

    git clone https://github.com/politza/pdf-tools.git

  • cd pdf-tools

  • Біжи make.

  • Потім, він буде виробляти pdf-tools-${VERSION}.tarв pdf-toolsкаталозі ви клонований; в Emacs,M-x package-install-file RET pdf-tools-${VERSION}.tar RET

  • Потім помістіть (pdf-tools-install)десь у свій файл init. Відтепер Emacs використовуватиме pdf-view-modeкращу якість та кращу швидкість візуалізації.

Ось демонстрація за допомогою pdf-інструментів . PDF-файл розміром 28 Мб, і відкрити його потрібно було кілька секунд. Зауважте, що якість зображень у GIF трохи нижча якість порівняно з фактичним джерелом, але, як ви бачите, текст є кристально чистим. Я не записував весь екран, щоб зменшити розмір gif, тому що це вже 13 Мб.

Я використовую звичайний Isearch, використовуючи, C-sяк і в інших буферах для пошуку. Не натискайте занадто швидко, залиште близько 1 секунди затримки між пошуковими запитами. Ви повинні використовувати Isearch для пошуку поточної сторінки чи сторінок поблизу, в основному щось невелике. Для пошуку всього документа використовуйте pdf-occur; команда досить швидка. Ви можете зберегти результати пошуку для подальшого використання (на тому ж сеансі), перейменувавши *PDF-Occur*буфер за замовчуванням на інше ім’я, щоб уникнути його перекриття майбутніми пошуками.

Якщо ви хочете вміст, натисніть, oщоб відкрити його в буфері PDF outline-mode.


Поради щодо капелюхів до цього чудового пакету (і відповіді). Різниця величезна, якщо порівнювати її з переглядачем за замовчуванням.
KookieMonster

(add-hook 'prog-mode-hook 'linum-on)має бути (add-hook 'prog-mode-hook 'linum-mode)24.5.1.
Ян

4

Я використовую Emacs для читання документації, наукових праць та книг - і все це без проблем .

У моєму режимі перегляду doc використовується mudraw (від mupdf ) для надання PDF-файлів, як ви можете переконатися, перевіривши змінну doc-view-pdfdraw-program :

doc-view-pdfdraw-program - це змінна, визначена у `doc-view.el '. Його значення - "mudraw" Документація: Назва програми MuPDF для перетворення PDF-файлів у PNG. Цю змінну було введено або її значення за замовчуванням було змінено у версії 24.4 Emacs.

За замовчуванням у режимі перегляду doc використовується gs для скрипту, який може бути повільним у порівнянні. Ви можете прочитати про перехід від ghostscript's gs до mupdf's mudraw:

З тих пір я тестував цей патч і ніколи не оглядався назад, оскільки комутатор прискорив перетворення pdf-> png в два рази і приніс його згладжування.

У вашій ситуації:

  1. встановити mupdf та відкрити PDF у сесії emacs без вашої конфігурації, наприклад:

    env HOME=/tmp emacs -Q
    

    і перевірте, чи правильно встановлено програму doc-view-pdfdraw для mudraw .

  2. повідомте про те, якщо вище покращило вашу ситуацію.

PS Я не маю досвіду роботи з pdf-інструментами .


У мене встановлений mupdf, і це дивно швидко. Я запускаю env HOME = / tmp emacs -Q, emacs заявляє, що "все ще перетворює ...", і потрібно конвертувати. Швидкість хороша, але якість погана. На мій подив, немає змінної з назвою doc-view-pdfdraw-program. Якщо Emacs може використовувати mupdf, це було б справді приголомшливо!
Нік

Ви впевнені, що використовуєте 24.4? doc-view-pdfdraw-програма повинна бути доступна в такому випадку. Чи є мудрола у вашій оболонці?
kmicu

Так, я запускаю Emacs 24.4. This is GNU Emacs 24.4.2 (x86_64-unknown-linux-gnu, GTK+ Version 3.10.8) mudrawне є доступним, тому я встановив. (пакет mupdf-tools), тому я можу запустити mudraw в оболонці. Швидкість перетворення ще повільніше, а якість відображення у форматі PDF все ще погана.
Нік

"На мій подив, немає змінної з назвою doc-view-pdfdraw-program." не знаючи, що встановлено в цій змінній, ми не можемо бути впевнені, чи справді ви використовуєте mudraw в режимі перегляду doc, можливо, це все-таки gs . "якість відображення у форматі PDF все ще погана" - це відносне та суб'єктивне твердження - чи можете ви оновити своє запитання за допомогою деяких знімків екрана? Для мене Zathura (з mupdf backkend) має таку саму якість і швидкість візуалізації у форматі PDF, як і в Emacs.
kmicu

1
Щоб отримати цю змінну, ви повинні завантажити його: (require 'doc-view). Я думаю, що mudrawце за замовчуванням, і проблема полягає в тому, що doc-viewне може вмістити всю сторінку PDF у весь буфер. І я не впевнений у якості.
Tu Do
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.