Как создать инструмент для документации PDF-out-of-Sphinx
Следуйте этой ссылке, чтобы попытаться сгенерировать PDF из Sphinx:
https://www.quora.com/How-to-create-a-PDF-out-of-Sphinx-documentation-tool
$ sphinx-build -b pdf source build/pdf
Error: Cannot find source directory `/Users/seb/mydocs/source'.
$ make all-pdf
make: *** No rule to make target `all-pdf'. Stop.
$ make pdf
make: *** No rule to make target `pdf'. Stop.
Так как в OSX используется:
$ conda install -c dfroger rst2pdf=0.93
Fetching package metadata .........
Solving package specifications: .
Error: Package missing in current osx-64 channels:
- rst2pdf 0.93*
Вы можете искать пакеты на anaconda.org с помощью
anaconda search -t conda rst2pdf
EDIT:
После установки pip install rst2pdf
install rst2pdf
register rst2pdf in your conf.py Sphinx config
extensions = ['sphinx.ext.autodoc','rst2pdf.pdfbuilder']
Но добавление "rst2pdf.pdfbuilder" вызывает
Extension error:
Config value 'math_number_all' already present
make: *** [html] Error 1
$ sphinx-build -bpdf sourcedir outdir
Но что я укажу как sourcedir и outdir? Например, пожалуйста.
EDIT:
Теперь после make html
а затем:
$ rst2pdf index.rst output.pdf
index.rst:14: (ERROR/3) Unknown directive type "toctree".
.. toctree::
:maxdepth: 2
Введение руководство multiple_jobs развертывание Проект
index.rst:26: (ERROR/3) Unknown interpreted text role "ref".
index.rst:27: (ERROR/3) Unknown interpreted text role "ref".
index.rst:28: (ERROR/3) Unknown interpreted text role "ref".
также:
$rst2pdf.py index.rst -o mydocument.pdf
Создает ли mydocument.pdf, но полностью отличается от html и toc на всех страницах, даже там?
Изображение pdf-страницы HTML на той же странице
Ответы
Ответ 1
Мне удалось создать файл PDF для документа DevStack, следуя изменениям конфигурации по этой ссылке:
Вот шаги:
Отредактируйте conf.py
(отредактируйте или добавьте значения)
extensions = ['rst2pdf.pdfbuilder']
pdf_documents = [('index', u'rst2pdf', u'Sample rst2pdf doc', u'Your Name'),]
Установите "rst2pdf
" при необходимости
pip install rst2pdf
Создайте файл PDF следующим образом:
sphinx-build -b pdf doc/source doc/build
Ответ 2
Вы можете избежать rst2pdf и использовать make pdflatex
для создания вывода pdf через латексный файл.
cf больше информации:
https://docs.typo3.org/typo3cms/extensions/sphinx/AdvancedUsersManual/RenderingPdf/
Ответ 3
Успешно в Pdf Generation через Latex (для Windows 10)... Нет необходимости изменять существующий файл conf.py в Sphinx... Лучшее решение - установить MiKTeX.... установить Perl (ActiveState).... после при запуске sphinx type 'make HTML' type 'make latex' и затем make latexPdf... это решило мою проблему.
Ответ 4
нашел этот связанный пост, который обнаруживает, что rst2pdf разбивает математический рендеринг в Sphinx 1.4.1, потому что он импортирует фиктивный математический модуль.
В rst2pdf.pdfbuilder:setup()
он вызывает mathbase.setup()
внутренне, чтобы установить фиктивный математический модуль. Это вызывает конфликты и вызывает ошибки.
У меня была такая же ошибка при запуске sphinx-build -b pdf
Ошибка расширения:
Значение конфигурации 'math_number_all' уже присутствует
Теперь посмотрим опцию латекса и экспортируем в pdf как отправленный @tfv. pdflatex
- это более обширная вселенная распространения TeX.
Ответ 5
Обязательно загляните на http://rst2pdf.ralsina.me/handbook.html#sphinx.
Следующее относится к Ubuntu 16.
Но, вероятно, менее болезненно установить полный пакет LaTex, чем пытаться запустить этот инструмент; он очень чувствителен к ошибкам и сложен в использовании.
Я посмотрел там (https://tex.stackexchange.com/a/95373), и это выглядит устрашающе...
это более обнадеживает: https://milq.github.io/install-latex-ubuntu-debian/
И я сделал это:
sudo apt-get install texlive-full
make clean latexpdf
стоит вашего терпения (и дискового пространства) для установки. Я избавился от rst2pdf.
Ответ 6
Это из официальной документации Сфинкса. Если на вашем pdfTex
установлен инструмент pdfTex
, все что вам нужно:
$ make latexpdf
Затем сгенерированные файлы PDF будут находиться в _build/latex/<PROJECT-NAME>.pdf
Итак, весь процесс с нуля будет следующим:
$ pip install -U sphinx # install the package
$ sphinx-quickstart # create a new project (answer the questions)
$ make latexpdf # compile and generate pdf file
Обратите внимание, что вы также можете "опционально" установить все необходимые расширения, отредактировав файл config.py