Как использовать Pdflatex с Pandoc?

2681
ahmed

Я использую Pandoc, чтобы конвертировать мои файлы уценки в различные форматы, включая htmlи docx. С PDF, однако, я получаю сообщение, pdflatex not foundдаже если оно установлено, и я могу даже позвонить прямо из Cygwin.

Почему Pandoc не обнаруживает Pdflatex и что я могу сделать, чтобы решить эту проблему?

3
Как вы установили pandoc? evilsoup 9 лет назад 0

2 ответа на вопрос

3
Wisco crew

Я только столкнулся с этим - я подозреваю, что вы установили версию Pandoc для Windows. В Cygwin, если вы запускаете which pandoc, вы получаете что-то вроде /cygdrive/c/Program Files (x86)/Pandoc/pandoc?

Если так, кажется, что версия ожидает пути в стиле Windows (например, C: \ path \ to \ pdflatex), но cygwin, вероятно, дает ему что-то вроде "/ path / to / pdflatex".

Возможно, вы добьетесь успеха в создании pandoc из исходного кода в вашей среде cygwin.

Я просто смотрю на это и думаю, что вижу, что бросает Пандок. На Cygwin pdflatex является символической ссылкой на pdftex.exe. Если вы укажете полный путь с помощью ключа --latex-engine, он выдаст ошибку, что «pandoc.exe: latex-engine должен быть pdflatex, lualatex или xelatex». Michael 8 лет назад 1
1
Michael

Ответ @ Wiscocrew находится на правильном пути, но, к сожалению, это немного сложнее, чем это.

Pandoc позволяет передавать полный путь pdflatexс помощью --latex-engineпереключателя (см. Http://pandoc.org/README.html#options-affecting-specific-writers ), но если вы просто сделаете что-то вроде

--latex-engine=`cygpath -w /usr/bin/pdflatex` 

Pandoc дает другую ошибку: pandoc.exe: latex-engine must be pdflatex, lualatex, or xelatex.. Причиной этой ошибки является то, что Cygwin's pdflatex является символической ссылкой:

$ ls -lh /usr/bin/pdflatex lrwxrwxrwx 1 myuser Domain Users 10 Mar 14 11:52 /usr/bin/pdflatex -> pdftex.exe 

Моя работа вокруг было скопировать /usr/bin/pdftex.exeна /usr/local/bin/pdflatex.exeи передать его Pandoc следующим образом:

pandoc Foo.md -o Foo.pdf --latex-engine='C:\\cygwin64\\usr\\local\\bin\\pdflatex.exe' -t latex -s 
Я думаю, чтобы сделать это без проблем, нам понадобится pandoc, скомпилированный для cygwin. CMCDragonkai 7 лет назад 0
Я бы так подумал, но каждый раз, когда я пытался создать GHC на Cygwin, я решил, что жизнь для этого упражнения слишком коротка. Michael 7 лет назад 1
Огромное спасибо. Наконец-то PDF от Markdown под Cygwin! Вы спасли день. Andreas Spindler 5 лет назад 0