1 \NeedsTeXFormat{LaTeX2e}
2 \ProvidesPackage{doxygen}
4 % Packages used by this style file
9 \RequirePackage{ifthen}
10 \RequirePackage{verbatim}
11 \RequirePackage[table]{xcolor}
12 \RequirePackage{longtable}
14 \RequirePackage{fancyvrb}
15 \RequirePackage{tabularx}
16 \RequirePackage{multirow}
17 \RequirePackage{hanging}
18 \RequirePackage{ifpdf}
19 \RequirePackage{adjustbox}
20 \RequirePackage{amssymb}
21 \RequirePackage{stackengine}
22 \RequirePackage[normalem]{ulem} % for strikeout, but don't modify emphasis
24 %---------- Internal commands used in this style file ----------------
26 \newcommand{\ensurespace}[1]{%
28 \setlength{\dimen@}{#1}%
29 \vskip\z@\@plus\dimen@%
30 \penalty -100\vskip\z@\@plus -\dimen@%
34 \vskip\z@skip% hide the previous |\vskip| from |\addvspace|
38 \newcommand{\DoxyLabelFont}{}
39 \newcommand{\entrylabel}[1]{%
41 \parbox[b]{\labelwidth-4pt}{%
42 \makebox[0pt][l]{\DoxyLabelFont#1}%
43 \vspace{1.5\baselineskip}%
48 \newenvironment{DoxyDesc}[1]{%
49 \ensurespace{4\baselineskip}%
51 \settowidth{\labelwidth}{20pt}%
52 \setlength{\parsep}{0pt}%
53 \setlength{\itemsep}{0pt}%
54 \setlength{\leftmargin}{\labelwidth+\labelsep}%
55 \renewcommand{\makelabel}{\entrylabel}%
63 \newlength{\xreflength}
64 \newcommand{\xreflabel}[1]{%
66 \setlength{\xreflength}{\wd\xrefbox}%
67 \ifthenelse{\xreflength>\labelwidth}{%
68 \begin{minipage}{\textwidth}%
69 \setlength{\parindent}{0pt}%
70 \hangindent=15pt\bfseries #1\vspace{1.2\itemsep}%
73 \parbox[b]{\labelwidth}{\makebox[0pt][l]{\textbf{#1}}}%
77 %---------- Commands used by doxygen LaTeX output generator ----------
79 % Used by <pre> ... </pre>
80 \newenvironment{DoxyPre}{%
87 % Necessary for redefining not defined charcaters, i.e. "Replacement Character" in tex output.
88 \newlength{\CodeWidthChar}
89 \newlength{\CodeHeightChar}
90 \settowidth{\CodeWidthChar}{?}
91 \settoheight{\CodeHeightChar}{?}
92 % Necessary for hanging indent
93 \newlength{\DoxyCodeWidth}
95 \newcommand\DoxyCodeLine[1]{\hangpara{\DoxyCodeWidth}{1}{#1}\par}
97 \newcommand\NiceSpace{%
98 \discretionary{}{\kern\fontdimen2\font}{\kern\fontdimen2\font}%
101 % Used by @code ... @endcode
102 \newenvironment{DoxyCode}[1]{%
105 \normalfont\ttfamily%
106 \rightskip0pt plus 1fil%
107 \settowidth{\DoxyCodeWidth}{000000}%
108 \settowidth{\CodeWidthChar}{?}%
109 \settoheight{\CodeHeightChar}{?}%
110 \setlength{\parskip}{0ex plus 0ex minus 0ex}%
111 \ifthenelse{\equal{#1}{0}}
113 {\lccode`~32 \lowercase{\global\let~}\NiceSpace}\obeyspaces%
116 {\lccode`~32 \lowercase{\global\let~}}\obeyspaces%
122 \settowidth{\CodeWidthChar}{?}%
123 \settoheight{\CodeHeightChar}{?}%
126 % Redefining not defined characters, i.e. "Replacement Character" in tex output.
127 \def\ucr{\adjustbox{width=\CodeWidthChar,height=\CodeHeightChar}{\stackinset{c}{}{c}{-.2pt}{%
128 \textcolor{white}{\sffamily\bfseries\small ?}}{%
129 \rotatebox{45}{$\blacksquare$}}}}
131 % Used by @example, @include, @includelineno and @dontinclude
132 \newenvironment{DoxyCodeInclude}[1]{%
138 % Used by @verbatim ... @endverbatim
139 \newenvironment{DoxyVerb}{%
147 % Used by @verbinclude
148 \newenvironment{DoxyVerbInclude}{%
154 % Used by numbered lists (using '-#' or <ol> ... </ol>)
155 \newenvironment{DoxyEnumerate}{%
161 % Used by bullet lists (using '-', @li, @arg, or <ul> ... </ul>)
162 \newenvironment{DoxyItemize}{%
168 % Used by description lists (using <dl> ... </dl>)
169 \newenvironment{DoxyDescription}{%
175 % Used by @image, @dotfile, @dot ... @enddot, and @msc ... @endmsc
176 % (only if caption is specified)
177 \newenvironment{DoxyImage}{%
185 % Used by @image, @dotfile, @dot ... @enddot, and @msc ... @endmsc
186 % (only if no caption is specified)
187 \newenvironment{DoxyImageNoCaption}{%
194 % (only if inline is specified)
195 \newenvironment{DoxyInlineImage}{%
200 \newenvironment{DoxyAttention}[1]{%
201 \begin{DoxyDesc}{#1}%
206 % Used by @author and @authors
207 \newenvironment{DoxyAuthor}[1]{%
208 \begin{DoxyDesc}{#1}%
214 \newenvironment{DoxyDate}[1]{%
215 \begin{DoxyDesc}{#1}%
221 \newenvironment{DoxyInvariant}[1]{%
222 \begin{DoxyDesc}{#1}%
228 \newenvironment{DoxyNote}[1]{%
229 \begin{DoxyDesc}{#1}%
235 \newenvironment{DoxyPostcond}[1]{%
236 \begin{DoxyDesc}{#1}%
242 \newenvironment{DoxyPrecond}[1]{%
243 \begin{DoxyDesc}{#1}%
249 \newenvironment{DoxyCopyright}[1]{%
250 \begin{DoxyDesc}{#1}%
256 \newenvironment{DoxyRemark}[1]{%
257 \begin{DoxyDesc}{#1}%
262 % Used by @return and @returns
263 \newenvironment{DoxyReturn}[1]{%
264 \begin{DoxyDesc}{#1}%
270 \newenvironment{DoxySince}[1]{%
271 \begin{DoxyDesc}{#1}%
277 \newenvironment{DoxySeeAlso}[1]{%
278 \begin{DoxyDesc}{#1}%
284 \newenvironment{DoxyVersion}[1]{%
285 \begin{DoxyDesc}{#1}%
291 \newenvironment{DoxyWarning}[1]{%
292 \begin{DoxyDesc}{#1}%
298 \newenvironment{DoxyInternal}[1]{%
303 % Used by @par and @paragraph
304 \newenvironment{DoxyParagraph}[1]{%
306 \settowidth{\labelwidth}{40pt}%
307 \setlength{\leftmargin}{\labelwidth}%
308 \setlength{\parsep}{0pt}%
309 \setlength{\itemsep}{-4pt}%
310 \renewcommand{\makelabel}{\entrylabel}%
317 % Used by parameter lists
318 \newenvironment{DoxyParams}[2][]{%
321 \ifthenelse{\equal{#1}{}}%
322 {\begin{longtabu*}spread 0pt [l]{|X[-1,l]|X[-1,l]|}}% name + description
323 {\ifthenelse{\equal{#1}{1}}%
324 {\begin{longtabu*}spread 0pt [l]{|X[-1,l]|X[-1,l]|X[-1,l]|}}% in/out + name + desc
325 {\begin{longtabu*}spread 0pt [l]{|X[-1,l]|X[-1,l]|X[-1,l]|X[-1,l]|}}% in/out + type + name + desc
327 \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #2}\\[1ex]%
330 \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #2}\\[1ex]%
338 % Used for fields of simple structs
339 \newenvironment{DoxyFields}[1]{%
342 \begin{longtabu*}spread 0pt [l]{|X[-1,r]|X[-1,l]|X[-1,l]|}%
343 \multicolumn{3}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
346 \multicolumn{3}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
354 % Used for fields simple class style enums
355 \newenvironment{DoxyEnumFields}[1]{%
358 \begin{longtabu*}spread 0pt [l]{|X[-1,r]|X[-1,l]|}%
359 \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
362 \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
370 % Used for parameters within a detailed function description
371 \newenvironment{DoxyParamCaption}{%
372 \renewcommand{\item}[2][]{\\ \hspace*{2.0cm} ##1 {\em ##2}}%
376 % Used by return value lists
377 \newenvironment{DoxyRetVals}[1]{%
380 \begin{longtabu*}spread 0pt [l]{|X[-1,r]|X[-1,l]|}%
381 \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
384 \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
392 % Used by exception lists
393 \newenvironment{DoxyExceptions}[1]{%
396 \begin{longtabu*}spread 0pt [l]{|X[-1,r]|X[-1,l]|}%
397 \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
400 \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
408 % Used by template parameter lists
409 \newenvironment{DoxyTemplParams}[1]{%
412 \begin{longtabu*}spread 0pt [l]{|X[-1,r]|X[-1,l]|}%
413 \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
416 \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
424 % Used for member lists
425 \newenvironment{DoxyCompactItemize}{%
427 \setlength{\itemsep}{-3pt}%
428 \setlength{\parsep}{0pt}%
429 \setlength{\topsep}{0pt}%
430 \setlength{\partopsep}{0pt}%
435 % Used for member descriptions
436 \newenvironment{DoxyCompactList}{%
438 \setlength{\leftmargin}{0.5cm}%
439 \setlength{\itemsep}{0pt}%
440 \setlength{\parsep}{0pt}%
441 \setlength{\topsep}{0pt}%
442 \renewcommand{\makelabel}{\hfill}%
448 % Used for reference lists (@bug, @deprecated, @todo, etc.)
449 \newenvironment{DoxyRefList}{%
451 \setlength{\labelwidth}{10pt}%
452 \setlength{\leftmargin}{\labelwidth}%
453 \addtolength{\leftmargin}{\labelsep}%
454 \renewcommand{\makelabel}{\xreflabel}%
460 % Used by @bug, @deprecated, @todo, etc.
461 \newenvironment{DoxyRefDesc}[1]{%
463 \renewcommand\makelabel[1]{\textbf{##1}}%
464 \settowidth\labelwidth{\makelabel{#1}}%
465 \setlength\leftmargin{\labelwidth+\labelsep}%
471 % Used by parameter lists and simple sections
472 \newenvironment{Desc}
474 \settowidth{\labelwidth}{20pt}%
475 \setlength{\parsep}{0pt}%
476 \setlength{\itemsep}{0pt}%
477 \setlength{\leftmargin}{\labelwidth+\labelsep}%
478 \renewcommand{\makelabel}{\entrylabel}%
485 \newcommand{\PBS}[1]{\let\temp=\\#1\let\\=\temp}%
486 \newenvironment{TabularC}[1]%
488 \begin{longtabu*}spread 0pt [c]{*#1{|X[-1]}|}}%
489 {\end{longtabu*}\par}%
491 \newenvironment{TabularNC}[1]%
492 {\begin{tabu}spread 0pt [l]{*#1{|X[-1]}|}}%
495 % Used for member group headers
496 \newenvironment{Indent}{%
498 \setlength{\leftmargin}{0.5cm}%
500 \item[]\ignorespaces%
506 % Used when hyperlinks are turned off
507 \newcommand{\doxyref}[3]{%
508 \textbf{#1} (\textnormal{#2}\,\pageref{#3})%
511 % Used to link to a table when hyperlinks are turned on
512 \newcommand{\doxytablelink}[2]{%
516 % Used to link to a table when hyperlinks are turned off
517 \newcommand{\doxytableref}[3]{%
522 \newcommand{\lcurly}{\{}
523 \newcommand{\rcurly}{\}}
525 % Colors used for syntax highlighting
526 \definecolor{comment}{rgb}{0.5,0.0,0.0}
527 \definecolor{keyword}{rgb}{0.0,0.5,0.0}
528 \definecolor{keywordtype}{rgb}{0.38,0.25,0.125}
529 \definecolor{keywordflow}{rgb}{0.88,0.5,0.0}
530 \definecolor{preprocessor}{rgb}{0.5,0.38,0.125}
531 \definecolor{stringliteral}{rgb}{0.0,0.125,0.25}
532 \definecolor{charliteral}{rgb}{0.0,0.5,0.5}
533 \definecolor{vhdldigit}{rgb}{1.0,0.0,1.0}
534 \definecolor{vhdlkeyword}{rgb}{0.43,0.0,0.43}
535 \definecolor{vhdllogic}{rgb}{1.0,0.0,0.0}
536 \definecolor{vhdlchar}{rgb}{0.0,0.0,0.0}
538 % Color used for table heading
539 \newcommand{\tableheadbgcolor}{lightgray}%
541 % Version of hypertarget with correct landing location
542 \newcommand{\Hypertarget}[1]{\Hy@raisedlink{\hypertarget{#1}{}}}
544 % Define caption that is also suitable in a table
546 \def\doxyfigcaption{%
547 \refstepcounter{figure}%
548 \@dblarg{\@caption{figure}}}