Вот мой рецепт:
pandoc -s -t latex --toc --chapters \
--latex-engine=lualatex $BOOK.epub -o $BOOK.pdf
, если аддитон --toc и --chapters не дает желаемых результатов, оставьте их. Иногда изображения внутри epub недопустимы для использования с латексом, поэтому вам нужно их преобразовать в процесс:
$ pandoc -s -t latex --toc --chapters \
--latex-engine=lualatex $BOOK.epub -o $BOOK.pdf
!LuaTeX error (file /tmp/tex2pdf.23440/3f21bef8dd2877aad72f5cddbf00284ca88fa0e7
.jpg): reading JPEG image failed (no marker found)
==> Fatal error occurred, no output PDF file produced!
pandoc: Error producing PDF
Вот обходной путь. Проверьте, можно ли создать файл tex:
$ pandoc \
-s -t latex \
--toc --chapters \
--latex-engine=lualatex $BOOK.epub -o $BOOK.tex
Извлеките изображения и другие носители, содержащиеся в контейнере epub, в путь DIR, создав его, если необходимо, и отрегулируйте ссылки на изображения в [LaTeX ], чтобы они указывали на извлеченные файлы, с опцией --extract-media= DIR. Выберите текущий каталог, который также содержит файл ePub. Добавьте --extract-media=. который также является $HOME/Documents
$ cd Documents
$ pandoc \
-s -t latex \
--toc --chapters \
--latex-engine=lualatex \
--extract-media=. $BOOK.epub -o $BOOK.tex
pandoc: extracting ./images/9781501144158.jpg
pandoc: extracting ./images/com-01.jpg
pandoc: extracting ./images/f0003-01.jpg
pandoc: extracting ./images/f0005-01.jpg
[ ----- extract-media logging shortened ---- ]
pandoc: extracting ./images/f0177-01.jpg
pandoc: extracting ./images/f0187-01.jpg
pandoc: extracting ./images/logo.jpg
pandoc: extracting ./images/logo1.jpg
pandoc: extracting ./images/title.jpg
Отмените извлеченные изображения .jpg, создав новые изображения JPEG, совместимые с LaTeX, с помощью утилиты «convert» (из пакета программ imagemagick)
$ cd images
$ convert logo1.jpg logo1.jpeg
и Заменить ранее с pandoc извлеченными .jpg изображениями с вновь созданными изображениями .jpeg:
$ mv logo1.jpeg logo1.jpg
Можно сделать это с помощью одного цикла for Командная строка:
$ cd images/
$ for i in *.jpg; do convert $i `echo $i | sed 's/jpg/jpeg/'`; done
$ rm -f *.jpg
$ for i in *.jpeg; do mv $i `echo $i | sed 's/jpeg/jpg/'`; done
$ cd ..
Запустите первую командную строку еще раз, но на этот раз двигатель LuaTeX ищет свой \includegraphics в том же каталоге, где раньше были извлечены изображения ePub (--data-dir=DIRECTORY Specify the user data directory to search for pandoc data files. If this option is not specified, the default user data directory will be used. This is, in Unix: $HOME/.pandoc), добавив опцию --data-dir=.:
$ pandoc \
-s -t latex \
--toc --chapters \
--latex-engine=lualatex \
--data-dir=. $BOOK.epub -o $BOOK.pdf
Команда, которую я считаю, должна быть просто
export PATH=`pwd`/depot_tools:"$PATH"
. В учебниках они используют $ для отображения следующей команды из командной строки. Я думаю, вы использовали его как часть своей команды.
$ export PATH=`pwd`/depot_tools:"$PATH"
Удалите символ $ из вашей команды - это просто общий признак, говорящий, что следующее следует после того, как оно должно быть введено в bash (terminal).