the-little-mongodb-book icon indicating copy to clipboard operation
the-little-mongodb-book copied to clipboard

Генерация PDF

Open saippuakauppias opened this issue 13 years ago • 9 comments

Создаю отдельную 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 поменять строку ![The Little MongoDB Book, By Karl Seguin](title.png)\

На вот это: ![The Little MongoDB Book, By Karl Seguin](en/title.png)\

Т.е., ошибка в пути - странно, что у Карла всё заработало :)

При попытке сгенерить русскую версию вылезает вот это:

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.: по поводу не свободных шрифтов ничего сказать не могу. Но я согласен, что это не хорошо.

saippuakauppias avatar Jan 27 '12 21:01 saippuakauppias

Да, я тоже споткнулся на этом месте...

jsmarkus avatar Jan 28 '12 16:01 jsmarkus

Пробуем дальше ) Вставил в самое начало файла 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.

saippuakauppias avatar Jan 28 '12 18:01 saippuakauppias

Создавать PDF лучше из под Win, вот тому подтверждение: https://github.com/kondratovich/the-little-redis-book/issues/9#issuecomment-3793519 Правда, будет очень досадный момент с переносом строк, но ничего не поделаешь :(

saippuakauppias avatar Feb 04 '12 19:02 saippuakauppias

Такая вот проблема:

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:)

gotlium avatar Jul 18 '13 21:07 gotlium

А может выложить готовый PDF в 'ru'? много сил было бы сэкономлено.

minicuper avatar Aug 26 '13 07:08 minicuper

@zag2art Честно говоря, у меня нет времени сейчас этим заниматься. Если хотите, форкните репозиторий и сделайте PDF.

jsmarkus avatar Aug 27 '13 06:08 jsmarkus

@jsmarkus, вы же всё равно генерируете PDF? Можно сделать Release и прикрепить PDF к нему.

isqua avatar Aug 27 '14 19:08 isqua

я уже ничего не генерирую. всё, чем я занят - это война.

jsmarkus avatar Aug 28 '14 06:08 jsmarkus

прискорбно

sergeyklay avatar Aug 28 '14 07:08 sergeyklay