the-little-mongodb-book
the-little-mongodb-book copied to clipboard
Генерация PDF
Создаю отдельную Issue, для удобства тех, кто потом может наткнуться на те же косяки.
Я юзаю Ubuntu 11.10, через "центр приложений Ubuntu" (у православных sudo apt-get install) ставил следующие пакеты (с их зависимостями!):
pandoc texlive-latex-extra texlive-xetex ttf-comfortaa (хотя это не обязательно, данный шрифт юзается только в изображении оболжки)
Для генерации использовал скрипт из Readme без изменений.
Генерация PDF прошла успешно, только вот за место текста и изображения на главной - пустота :) Оглавление создалось нормально. После создания pdf появился файлик "missfont.log" с примерно таким содержимым:
mktextfm Verdana/B mktextfm Verdana mktextfm Verdana/I mktextfm Verdana mktextfm Verdana/BI mktextfm Tahoma ...
После этого я установил пакет
ttf-mscorefonts-installer
скопировал виндовые шрифты tahoma.ttf и tahomabd.ttf в
/usr/share/fonts/truetype
Теперь английская версия создалась нормально, но опять же без картинки на первой странице. Чтобы появилась картинка нужно в файле en/mongodb.markdown поменять строку
\
На вот это:
\
Т.е., ошибка в пути - странно, что у Карла всё заработало :)
При попытке сгенерить русскую версию вылезает вот это:
markdown2pdf: /tmp/pandoc/mongodb.log: hGetContents: invalid argument (invalid UTF-8 byte sequence)
В папке /tmp лога уже не было, к сожалению.
После этого поставил
texlive-lang-cyrillic scalable-cyrfonts-tex
Но не помогло.
Далее попробовал пакет:
texlive-fonts-extra
Который тоже не дал положительного результата.
Пока остановился на этом и решил спросить в переводе Redis пробовали ли они создавать PDF русской версии.
p.s.: по поводу не свободных шрифтов ничего сказать не могу. Но я согласен, что это не хорошо.
Да, я тоже споткнулся на этом месте...
Пробуем дальше ) Вставил в самое начало файла template/xetex.template
\usepackage[T1]{fontenc}
Получил ошибки:
sks@sks-laptop:~/projects/the-little-mongodb-book$ ./script markdown2pdf: ! LaTeX Error: \usepackage before \documentclass. Package hyperref Warning: Rerun to get /PageLabels entry. LaTeX Warning: File `title.png' not found on input line 68. Package hyperref Warning: No destination for bookmark of \addcontentsline, Package hyperref Warning: The anchor of a bookmark and its parent's must not markdown2pdf: /tmp/pandoc/mongodb.log: hGetContents: invalid argument (invalid UTF-8 byte sequence)
Вставил тоже самое перед
\begin{document}
И документ сгенерился! Правда, всего 3 страницы и ни одной русской буквы (оглавление - исключение) :D :(
Пожалуй, надо копать в сторону шаблона для xetex.
Создавать PDF лучше из под Win, вот тому подтверждение: https://github.com/kondratovich/the-little-redis-book/issues/9#issuecomment-3793519 Правда, будет очень досадный момент с переносом строк, но ничего не поделаешь :(
Такая вот проблема:
make ru/mongodb.pdf
cd en && pandoc --latex-engine xelatex --template ../pdf-template.tex --listings mongodb.markdown -o mongodb.pdf pandoc: Error producing PDF from TeX source. ! Undefined control sequence. l.137 \thispagestyle{empty} \changepage
make: *** [ru/mongodb.pdf] Error 43
В итоге: mobi2pdf и no problems:)
А может выложить готовый PDF в 'ru'? много сил было бы сэкономлено.
@zag2art Честно говоря, у меня нет времени сейчас этим заниматься. Если хотите, форкните репозиторий и сделайте PDF.
@jsmarkus, вы же всё равно генерируете PDF? Можно сделать Release и прикрепить PDF к нему.
я уже ничего не генерирую. всё, чем я занят - это война.
прискорбно