Project

General

Profile

Why not PDF documentation?

Added by Vincenzo Romano over 7 years ago

I wonder how comples would it be to have a "make pdfdocs" in order to collect all the documentation in a single PDF (with internal links).

It'd be much more handy than a full tree of HTML, GIFs and the likes.

Any idea?


Replies (11)

RE: Why not PDF documentation? - Added by Roel Standaert over 7 years ago

You can actually modify Doxyfile so that Doxygen generates LaTeX. For example, you could set GENERATE_LATEX to YES, PDF_HYPERLINKS to YES, and USE_PDFLATEX to YES. Then, you can run make doc followed by make in doc/reference/latex, and you'll get a file called refman.pdf with the reference documentation in PDF form.

Regards,

Roel

RE: Why not PDF documentation? - Added by Vincenzo Romano over 7 years ago

It'd be nice to have the LaTex check in the cmake and a subsequent extra make pdfdoc.

Thanks for the hint, thouhg.

RE: Why not PDF documentation? - Added by Vincenzo Romano over 7 years ago

I followed your directions, installed a few missing bits like pdflatex and qt4-dev-tools (why?).

Still it doesn't produce the PDF output.

The amount of output is very large, but I have found that something called "founddot" hasn't been found.

I have no clue about it and so my package manager (Ubuntu).

Any further hint?

RE: Why not PDF documentation? - Added by Vincenzo Romano over 7 years ago

My bad!

The error message is confusing:

Generating docs for nesh: 1: sh: 1: dot: not founddot: not found

The actual missing bit is "dot" from graphviz!

Now I've fixed also that but the final result is a crowd of small PDF files.

There's no refman.pdf and, as far as I can see, no other error.

P.S.

I think that "make doc" should fail at the very first error, like a missing executable.

RE: Why not PDF documentation? - Added by Roel Standaert over 7 years ago

I don't know to what extent we can control what doxygen does when it encounters a problem. Same thing with your proposal to add make pdfdoc: I think the only way to do that would be to either generate the Doxyfile or provide multiple Doxyfiles. I personally don't like the PDF form of the documentation as doxygen generates it enough to want to add that option.

So you changed the Doxyfile like in the patch file I attached? In that case make doc should generate a folder doc/reference/latex. You have to go to this folder and run make there to generate refman.pdf.

Our Doxyfile is configured to generate a .qch (Qt Compressed Help) file, that's why you need qt4-dev-tools. You can turn that off by setting GENERATE_QHP to NO.

Regards,

Roel

RE: Why not PDF documentation? - Added by Vincenzo Romano over 7 years ago

I did the changes are required earlier.

I re-run the cmake (just in case) and then both make and make doc.

The directory doc/reference/latex has been created and filled with tex and pdf files.

But the pdf files are just the class hierarchy graphs, not the manual.

There's no refman.pdf in any project subdirectory and, it seems, no error during the make doc.

RE: Why not PDF documentation? - Added by Roel Standaert over 7 years ago

You have to run make in the doc/reference/latex folder to generate refman.pdf.

Regards,

Roel

RE: Why not PDF documentation? - Added by Vincenzo Romano over 7 years ago

rm -f *.ps *.dvi *.aux *.toc *.idx *.ind *.ilg *.log *.out *.brf *.blg *.bbl refman.pdf
pdflatex refman
This is pdfTeX, Version 3.14159265-2.6-1.40.16 (TeX Live 2015/Debian) (preloaded format=pdflatex)
 restricted \write18 enabled.
entering extended mode
(./refman.tex
LaTeX2e <2016/02/01>
Babel <3.9q> and hyphenation patterns for 3 language(s) loaded.
(/usr/share/texlive/texmf-dist/tex/latex/base/book.cls
Document Class: book 2014/09/29 v1.4h Standard LaTeX document class
(/usr/share/texlive/texmf-dist/tex/latex/base/bk10.clo))
(/usr/share/texlive/texmf-dist/tex/latex/base/fixltx2e.sty

Package fixltx2e Warning: fixltx2e is not required with releases after 2015
(fixltx2e)                All fixes are now in the LaTeX kernel.
(fixltx2e)                See the latexrelease package for details.

) (/usr/share/texlive/texmf-dist/tex/latex/tools/calc.sty) (./doxygen.sty
(/usr/share/texlive/texmf-dist/tex/latex/base/alltt.sty)
(/usr/share/texlive/texmf-dist/tex/latex/tools/array.sty)

! LaTeX Error: File `float.sty' not found.

Type X to quit or <RETURN> to proceed,                                          
or enter new name. (Default extension: sty)                                     

Enter file name:

At least under Ubuntu 16.04 this seems not enough.

RE: Why not PDF documentation? - Added by Roel Standaert over 7 years ago

That's probably in one of the extra texlive packages, texlive-latex-extra it seems. If you want to be sure that you have everything, you can also install texlive-full.

Regards,

Roel

RE: Why not PDF documentation? - Added by Vincenzo Romano over 7 years ago

That worked and now I've my single PDF manual with index and internal links.

I think this is a great tool for people like me that's (slowly) learning about Wt.

The program who created the makefile under doc/reference/latex should have checked for the needed prerequisites and dependencies.

The sort order of the class names in the chapter "Class Documentation" (no.14) seems to be random.

    (1-11/11)