Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to create a PDF-out-of-Sphinx-documentation-tool

Followed this link to try and generate pdf from 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. 

Since tried in 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* 

You can search for packages on anaconda.org with

anaconda search -t conda rst2pdf 

EDIT:

After pip install rst2pdf

install rst2pdf register rst2pdf in your conf.py Sphinx config extensions = ['sphinx.ext.autodoc','rst2pdf.pdfbuilder'] 

But adding 'rst2pdf.pdfbuilder' causes

Extension error: Config value 'math_number_all' already present make: *** [html] Error 1   $ sphinx-build -bpdf sourcedir outdir 

But what do I specify as sourcedir and outdir? Example please.

EDIT:

Now after make html

and then:

 $ rst2pdf index.rst output.pdf  index.rst:14: (ERROR/3) Unknown directive type "toctree".   .. toctree::   :maxdepth: 2 

introduction tutorial multiple_jobs deployment project

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". 

Also:

$rst2pdf.py index.rst -o mydocument.pdf 

Does produce a mydocument.pdf but completely different from html and toc to all the pages are not even there?

Image of pdf verse HTML same page

like image 466
niceseb Avatar asked Sep 16 '16 15:09

niceseb


1 Answers

This is from the official Sphinx documentation. If you have pdfTex tool installed in your machine, all you need is:

$ make latexpdf 

Then, the generated pdf file(s) will be under _build/latex/<PROJECT-NAME>.pdf

So, the complete process from scratch would be as follows:

$ pip install -U sphinx # install the package $ sphinx-quickstart # create a new project (answer the questions) $ make latexpdf # compile and generate pdf file 

Note that you may also "optionally" install whatever extensions needed by editing the file config.py

NOTE: This answer assumes LaTeX engine is installed on your machine.

like image 161
Aziz Alto Avatar answered Sep 21 '22 21:09

Aziz Alto