LaTeXcompilation error regarding Unicode char while building documentation - doxygen

While compiling a documentation for my c-program, doxygen runs through smooth.
and builds the HTML documentation as desired. But while building PDF document from latex, it gives following error at many places ....
Package inputenc Error: Unicode char \u8:  not set up for use with LaTeX.
my doxygen configuration settings for latex are as shown below,
#---------------------------------------------------------------------------
# configuration options related to the LaTeX output
#---------------------------------------------------------------------------
# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will
# generate Latex output.
GENERATE_LATEX = YES
# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put.
# If a relative path is entered the value of OUTPUT_DIRECTORY will be
# put in front of it. If left blank `latex' will be used as the default path.
LATEX_OUTPUT = latex
# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be
# invoked. If left blank `latex' will be used as the default command name.
# Note that when enabling USE_PDFLATEX this option is only used for
# generating bitmaps for formulas in the HTML output, but not in the
# Makefile that is written to the output directory.
LATEX_CMD_NAME = latex
# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to
# generate index for LaTeX. If left blank `makeindex' will be used as the
# default command name.
MAKEINDEX_CMD_NAME = makeindex
# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact
# LaTeX documents. This may be useful for small projects and may help to
# save some trees in general.
COMPACT_LATEX = NO
# The PAPER_TYPE tag can be used to set the paper type that is used
# by the printer. Possible values are: a4, letter, legal and
# executive. If left blank a4wide will be used.
PAPER_TYPE = a4
# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX
# packages that should be included in the LaTeX output.
EXTRA_PACKAGES =
# The LATEX_HEADER tag can be used to specify a personal LaTeX header for
# the generated latex document. The header should contain everything until
# the first chapter. If it is left blank doxygen will generate a
# standard header. Notice: only use this tag if you know what you are doing!
LATEX_HEADER =
# The LATEX_FOOTER tag can be used to specify a personal LaTeX footer for
# the generated latex document. The footer should contain everything after
# the last chapter. If it is left blank doxygen will generate a
# standard footer. Notice: only use this tag if you know what you are doing!
LATEX_FOOTER =
# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated
# is prepared for conversion to pdf (using ps2pdf). The pdf file will
# contain links (just like the HTML output) instead of page references
# This makes the output suitable for online browsing using a pdf viewer.
PDF_HYPERLINKS = YES
# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of
# plain latex in the generated Makefile. Set this option to YES to get a
# higher quality PDF documentation.
USE_PDFLATEX = YES
# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode.
# command to the generated LaTeX files. This will instruct LaTeX to keep
# running if errors occur, instead of asking the user for help.
# This option is also used when generating formulas in HTML.
LATEX_BATCHMODE = NO
# If LATEX_HIDE_INDICES is set to YES then doxygen will not
# include the index chapters (such as File Index, Compound Index, etc.)
# in the output.
LATEX_HIDE_INDICES = NO
# If LATEX_SOURCE_CODE is set to YES then doxygen will include
# source code with syntax highlighting in the LaTeX output.
# Note that which sources are shown also depends on other settings
# such as SOURCE_BROWSER.
LATEX_SOURCE_CODE = NO
how to solve this problem?
If I ignore these errors and go ahead with compilation, it generates TOC but without page numbers!!!

Related

how to remove files list and namespaces list from doxygen RTF output

I'm setting up documentation output for my project and I want to generate doxygen RTF output without Namespace list and without file list.
Although If I turn off SHOW_NAMESPACES and/or SHOW_FILES from the doxygen configuration file the RTF output errors out as:
"error: problems opening rtf file files.rtf for reading"
"error: problems opening rtf namespace namespaces.rtf for reading"
How can the RTF output be generated with SHOW_NAMESPACES and SHOW_FILES OFF?

Having mainpage in HTML output only and not in LaTeX

I've got a mainpage using a HTML table that I only want to be included in the HTML output of doxygen. It should not be included in the other outputs (currently only LaTeX).
Since that mainpage uses doxygen commands like \ref and \mainpage itself, the \htmlonly tag is unfortunately not an option.
Is there a way to limit a markup file to certain outputs only?
As suggested, I ended up running doxygen twice, once for HTML output and once for LaTeX output. This gives me the flexibility to change other settings for different outputs as well, which is also something I was looking at.
So the dox file for my mainpage now looks like
/**
\if MySpecialFlagForHTMLOnly
\mainpage notitle
...
\endif
**/
My default doxyfile has GENERATE_HTML = YES and GENERATE_LATEX = NO. It also defines MySpecialFlagForHTMLOnly in ENABLED_SECTIONS.
Now for a second automated run, I change both GENERATE_HTML and GENERATE_LATEX and clear MySpecialFlagForHTMLOnly from ENABLED_SECTIONS.

refman.rtf fails to use equation from '*.md' in doxygen

I use '.md' to generate '(index).html' and '(refman*).rtf' documentation with doxygen 1.8.14.
The mathematical equation in '*.md' gives a correct equation in html output but not in the file 'refman.rtf'. The other theoretical parts like paragraph and other stuff work well between *.md and rtf output.
I guess *.rtf is not recognizing the equation part of the *.md document.
Does the RTF generation through doxygen read the *.md files?
Do I need to change any tag to make *.md work with rtf output?
Not only for markdown but also for "normal" doxygen input formulas do not work.
From the documentation:
Doxygen allows you to put LATEX formulas in the output (this works
only for the HTML and LATEX output, not for the RTF nor for the man
page output).
A workaround workflow, at the moment for non inline formulas, is to do something like:
Create an image with the formula e.g in a dummy doxygen run where one does not use MATHJAX, this will result in an image with a name like: 'form_0.png'.
In the code one has to place an if construct like:
\if rtf_run
\image rtf form_0.png
\else
\f... with the formula
\endif
One now has to run doxygen twice:
once for the output without rtf, i.e. without setting rtf_run in ENABLED_SECTIONS
once for rtf output by setting rtf_run in ENABLED_SECTIONS
EDIT June 5, 2018: I've just pushed a proposed patch to github pull request 756. Here the formulas are rendered as png images and included in the RTF documentation.
EDIT: 2018/06/10: The push request has been integrated in the master version on github.

Customizing Doxygen output for an .ini configuration file

Is there a way to customize the HTML output for an .ini configuration file with incorporated comments, as for example:
[MySection]
;This is an extensive description of MyParameter (possibly with #commands after semicolon?)
MyParameter=MyValue
Despite this is a special usage, I would like to have each parameter parsed/listed separately with description (and unit? and recommended value?). The file could also look like this:
[MySection]
;#brief A brief description
;#details A detailled description
;#unit cows (The physical unit of the parameter)
;#recommendedValue 5 cows
MyParameter=7
Currently, I'm including the .ini file with #include/#verbinclude - unfortunately, without syntax highlighting. Thanks.
OK, I'm assuming that you included the file using the FILE_PATTERNS tag, so that at least the file is listed in your documentation. Additionally you have to set EXTENSION_MAPPING tag to tell doxygen how to interpret this file. Unfortunately the INI file syntax is not supported by doxygen. At this point you have two possibilities:
Writing a custom input-filter (e.g. in perl) and add this as INPUT_FILTER
Varying the comments so that the doxygen parser gets a valid code corresponding to the programming language you have defined in EXTENSION_MAPPING.
For example if you have set EXTENSION_MAPPING = ini=C Then your inifile should look like this:
;/// #file myinifile.ini
;/// #brief A brief description.
;/// #details A detailled description.
;/// #unit cows (The physical unit of the parameter)
;/// #recommendedValue 5 cows
MyParameter=7
;
The additional slashes /// are needed to tell the doxygen parser that this line is a comment line which shall be processed by the doxygen.
Also note the last semicolon ; which is needed since the doxygen C parser is expecting a closing ; after each declaration.

How do I remove line references in generate output in doxygen?

I want to remove lines look as follows but I still want to return source code browsing
Definition at line 377 of file xxx.h.
I have tried the following two in the doxygen config file but these just remove cross references on types
# If the REFERENCES_RELATION tag is set to YES
# then for each documented function all documented entities
# called/used by that function will be listed.
REFERENCES_RELATION = NO
# If the REFERENCES_LINK_SOURCE tag is set to YES (the default)
# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from
# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will
# link to the source code. Otherwise they will link to the documentation.
REFERENCES_LINK_SOURCE = NO
update: I've just trying setting the following and seems to do the jobs but waiting to confirm if this is the correct way of achieving what I want
SOURCE_BROWSER = NO
Got it
SOURCE_BROWSER = NO
documentation also mention
To get rid of all source code in the generated output, make sure also
VERBATIM_HEADERS is set to NO.