Як я можу змусити LaTeX працювати над Anki?


10

Спочатку я збирався задати питання про те, як змусити LaTeX працювати в Анкі , але, коли я писав питання, я намагався вирішити проблему самостійно. Я думав, що інші можуть отримати користь від моїх висновків, тому я вирішив опублікувати їх тут. Якщо ви помітили, що будь-який з моїх кроків невірний, будь ласка, повідомте мене про це. І мені все ще не вдалося змусити його працювати, тож якщо прокрутити до кінця, ви зможете побачити, де я застряг і все ще потребую допомоги.

Поточний випуск: Як я можу встановити libgd?


Я намагаюся змусити Анкі працювати з LaTeX . Єдина інформація, яку я можу знайти про це, це на цій сторінці :

  • [...] щоб використовувати LaTeX, вам доведеться встановлювати його окремо - він не входить у комплект із Анкі
  • [...] в OSX використовують MacTex
  • Dvipng також повинен бути встановлений.
  • У ОСX, якщо ви використовуєте MacPorts або подібні для встановлення LaTeX, переконайтеся, що латекс і dvipng пов'язані в / usr / bin.

Стандартна інсталяція MacTex займає 3 Гб, що набагато більше, ніж я вважаю, необхідна, оскільки я не збираюся використовувати її GUI-додаток. Мені просто потрібна бібліотека LaTeX, якщо я правильно її розумію, що має бути менше 3 Гб. Тому замість цього я встановлюю версію BasicTeX , яка займає лише близько 100 Мб.

Я не впевнений, у мене вже встановлений Dvipng чи ні, тому я перезапускаю Anki, щоб побачити, працює він чи ні. Я отримав таку помилку:

Помилка під час виконання dvipng. [...] Вихід, написаний на tmp.dvi [...]

Тому мені, певно, потрібно встановити dvipng ... У readme Install є така інформація:

Установка dvipng повинна бути простою: просто ./configure',зробити "і" зробити встановлення ".

Передумови:

  • Бібліотека графічного малюнка GD, libgd
  • Бібліотека пошукових шляхів kpathsea
  • libpng і libz

Знову ж таки, я не впевнений, які з цих передумов я вже встановив, тому я просто продовжую встановлення, сподіваючись на повідомлення про помилки, що направлять мене на правильний шлях.

Після виконання ./configвін видає помилку:

configure: error: не вдається знайти / використовувати libpng

... що я думаю, що це дивно, оскільки в readme зазначено:

 To be able to compress and write PNG files to disk, dvipng (or
 really libgd) uses libpng which in turn uses libz. These should be
 available on any modern system, if not, download them and install
 them.

Я зайшов на веб-сайт libpng і спробував знайти "поточний бінарний файл", який працює з моєю ОС (10.6 / i386), але, схоже, жодна з останніх 3 версій не має двійкового файлу, який можна завантажити. Тому я перейшов до розділу "старі бінарні файли", який переніс мене на цей веб-сайт , на якому є libpng v1.4.5. Я встановив "Індивідуальний пакет встановлення" для libpng.

Тепер, коли він встановлений, я спробував знову встановити Dvipng, і він тепер дає таку помилку:

не вдається знайти / використовувати libgd
Цю бібліотеку малюнків можна завантажити за адресою http://www.boutell.com/gd

Коли я переходжу на цей веб-сайт , я бачу, що на ньому написано, що сторінка перемістилася і що вона зараз знищена. Існує лише посилання на вихідні файли та відсутність бінарного розподілу. Я не впевнений, куди мені піти звідси ... чи слід завантажити джерело і якось компілювати його? Після того, як це виконано, що я з цим робити? Чи запускаю я якийсь файл, який він генерує? Я б переміщував файли, які він створює, до певних папок? Як би Dvipng знав, як отримати доступ до нього? Мені невідомо, як зробити щось подібне, тому будь-яка допомога буде вдячна.


Ось підсумок (поки що) ієрархії залежностей, яку необхідно встановити для того, щоб LaTeX працював з Anki:

  • MacTeX : встановлено (отримав версію BasicTeX, щоб заощадити багато місця на диску).
  • Dvipng : Не встановлено (неможливо встановити без libgd).
    • libpng : встановлено (отримав пакет індивідуального інсталятора).
    • libgd: Не встановлено (не знаю, як це встановити).
    • ???

Інші питання:

  • Чи є кращий, надійний метод знати, чи встановлена ​​будь-яка з цих залежностей, а не запускати інсталятор, який залежить від них і сподіватися на змістовне повідомлення про помилку?

Відповіді:


14

Ваше запитання мені дуже допомогло в тому, щоб LaTeX працював з Anki, але я виявив, що є більш простий спосіб отримати dvipng:

  1. Встановіть MacTeX. Я встановив BasicTeX-2011.pkg (MacTeX-Additions-2011.mpkg НЕ потрібно).
  2. Відкрийте термінал, введіть "tlmgr update --self && tlmgr install dvipng" і натисніть клавішу Enter. Він оновить TeX Live Manager та встановить найновіший двиpng.

Як тільки ви це зробите, у вас все буде налаштовано.


Я згоден. Набагато краще встановлювати пакети в MacTex через Tex Live Utility, ніж командний рядок. Ця пропозиція має спрацювати.
dan8394

1
Питання: Я єдиний адміністратор в моїй системі, але коли я намагаюся запустити команду терміналу "tlmgr update --self && tlmgr install dvipng", я отримую помилку, кажучи, що мені потрібно запустити програму як адміністратор. Я адміністратор! Як запустити цю програму? Мені це потрібно, щоб правильно налаштувати латекс на OSX10.6 (Snow Leopard), оскільки у мене виникли помилки pdflatex / dvipng після нової установки BasicTex. Дякую!

1
Для нащадків: відповідь на запитання @ user21373 полягає у використанні команди "sudo".
SigmaX

3

У мене була ця проблема, але команда "tlmgr update --self && tlmgr install dvipng" не працювала, і я отримав помилку, яку мені потрібно запустити програму як адміністратор.

Обліковий запис користувача, яким я користувався, був обліковим записом адміністратора. Що я зробив замість цього, запускаю кожну команду окремо як sudo: У Mac OS X Terminal prompt:

$ sudo tlmgr update --self

(чекайте, коли ця команда захопить оновлення та змагається)

$ sudo tlmgr install dvipng

Це працювало та встановлювало оновлення tlmgr, а також dvipng, завдяки чому Anki відображає вихід LaTeX!


1
Ви можете запускати ці команди як однолінійний зsudo tlmgr update --self && sudo tlmgr install dvipng
Джо Крайслер,
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.