1 \NeedsTeXFormat{LaTeX2e}
2 \ProvidesPackage{doxygen}
4 % Packages used by this style file
9 \RequirePackage{ifthen}
10 \RequirePackage{verbatim}
11 \RequirePackage[table]{xcolor}
14 %---------- Internal commands used in this style file ----------------
16 \newcommand{\ensurespace}[1]{%
18 \setlength{\dimen@}{#1}%
19 \vskip\z@\@plus\dimen@%
20 \penalty -100\vskip\z@\@plus -\dimen@%
24 \vskip\z@skip% hide the previous |\vskip| from |\addvspace|
28 \newcommand{\DoxyLabelFont}{}
29 \newcommand{\entrylabel}[1]{%
31 \parbox[b]{\labelwidth-4pt}{%
32 \makebox[0pt][l]{\DoxyLabelFont#1}%
33 \vspace{1.5\baselineskip}%
38 \newenvironment{DoxyDesc}[1]{%
39 \ensurespace{4\baselineskip}%
41 \settowidth{\labelwidth}{20pt}%
42 \setlength{\parsep}{0pt}%
43 \setlength{\itemsep}{0pt}%
44 \setlength{\leftmargin}{\labelwidth+\labelsep}%
45 \renewcommand{\makelabel}{\entrylabel}%
53 \newlength{\xreflength}
54 \newcommand{\xreflabel}[1]{%
56 \setlength{\xreflength}{\wd\xrefbox}%
57 \ifthenelse{\xreflength>\labelwidth}{%
58 \begin{minipage}{\textwidth}%
59 \setlength{\parindent}{0pt}%
60 \hangindent=15pt\bfseries #1\vspace{1.2\itemsep}%
63 \parbox[b]{\labelwidth}{\makebox[0pt][l]{\textbf{#1}}}%
67 %---------- Commands used by doxygen LaTeX output generator ----------
69 % Used by <pre> ... </pre>
70 \newenvironment{DoxyPre}{%
78 % Used by @code ... @endcode
79 \newenvironment{DoxyCode}{%
88 % Used by @example, @include, @includelineno and @dontinclude
89 \newenvironment{DoxyCodeInclude}{%
95 % Used by @verbatim ... @endverbatim
96 \newenvironment{DoxyVerb}{%
104 % Used by @verbinclude
105 \newenvironment{DoxyVerbInclude}{%
111 % Used by numbered lists (using '-#' or <ol> ... </ol>)
112 \newenvironment{DoxyEnumerate}{%
118 % Used by bullet lists (using '-', @li, @arg, or <ul> ... </ul>)
119 \newenvironment{DoxyItemize}{%
125 % Used by description lists (using <dl> ... </dl>)
126 \newenvironment{DoxyDescription}{%
132 % Used by @image, @dotfile, @dot ... @enddot, and @msc ... @endmsc
133 % (only if caption is specified)
134 \newenvironment{DoxyImage}{%
142 % Used by @image, @dotfile, @dot ... @enddot, and @msc ... @endmsc
143 % (only if no caption is specified)
144 \newenvironment{DoxyImageNoCaption}{%
149 \newenvironment{DoxyAttention}[1]{%
150 \begin{DoxyDesc}{#1}%
155 % Used by @author and @authors
156 \newenvironment{DoxyAuthor}[1]{%
157 \begin{DoxyDesc}{#1}%
163 \newenvironment{DoxyDate}[1]{%
164 \begin{DoxyDesc}{#1}%
170 \newenvironment{DoxyInvariant}[1]{%
171 \begin{DoxyDesc}{#1}%
177 \newenvironment{DoxyNote}[1]{%
178 \begin{DoxyDesc}{#1}%
184 \newenvironment{DoxyPostcond}[1]{%
185 \begin{DoxyDesc}{#1}%
191 \newenvironment{DoxyPrecond}[1]{%
192 \begin{DoxyDesc}{#1}%
198 \newenvironment{DoxyCopyright}[1]{%
199 \begin{DoxyDesc}{#1}%
205 \newenvironment{DoxyRemark}[1]{%
206 \begin{DoxyDesc}{#1}%
211 % Used by @return and @returns
212 \newenvironment{DoxyReturn}[1]{%
213 \begin{DoxyDesc}{#1}%
219 \newenvironment{DoxySince}[1]{%
220 \begin{DoxyDesc}{#1}%
226 \newenvironment{DoxySeeAlso}[1]{%
227 \begin{DoxyDesc}{#1}%
233 \newenvironment{DoxyVersion}[1]{%
234 \begin{DoxyDesc}{#1}%
240 \newenvironment{DoxyWarning}[1]{%
241 \begin{DoxyDesc}{#1}%
247 \newenvironment{DoxyInternal}[1]{%
252 % Used by @par and @paragraph
253 \newenvironment{DoxyParagraph}[1]{%
255 \settowidth{\labelwidth}{40pt}%
256 \setlength{\leftmargin}{\labelwidth}%
257 \setlength{\parsep}{0pt}%
258 \setlength{\itemsep}{-4pt}%
259 \renewcommand{\makelabel}{\entrylabel}%
266 % Used by parameter lists
267 \newenvironment{DoxyParams}[2][]{%
270 \tablelasttail{\hline}%
273 \ifthenelse{\equal{#1}{}}%
274 {\tablefirsthead{\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #2}\\[1ex]}%
275 \begin{xtabular}{|>{\raggedleft\hspace{0pt}}p{0.15\textwidth}|%
276 p{0.805\textwidth}|}}%
277 {\ifthenelse{\equal{#1}{1}}%
278 {\tablefirsthead{\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #2}\\[1ex]}%
279 \begin{xtabular}{|>{\centering}p{0.10\textwidth}|%
280 >{\raggedleft\hspace{0pt}}p{0.15\textwidth}|%
281 p{0.678\textwidth}|}}%
282 {\tablefirsthead{\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #2}\\[1ex]}%
283 \begin{xtabular}{|>{\centering}p{0.10\textwidth}|%
284 >{\centering\hspace{0pt}}p{0.15\textwidth}|%
285 >{\raggedleft\hspace{0pt}}p{0.15\textwidth}|%
286 p{0.501\textwidth}|}}%
294 % Used for fields of simple structs
295 \newenvironment{DoxyFields}[1]{%
298 \tablelasttail{\hline}%
300 \tablefirsthead{\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]}%
301 \begin{xtabular}{|>{\raggedleft\hspace{0pt}}p{0.15\textwidth}|%
311 % Used for parameters within a detailed function description
312 \newenvironment{DoxyParamCaption}{%
313 \renewcommand{\item}[2][]{##1 {\em ##2}}%
317 % Used by return value lists
318 \newenvironment{DoxyRetVals}[1]{%
321 \tablelasttail{\hline}%
323 \tablefirsthead{\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]}%
324 \begin{xtabular}{|>{\raggedleft\hspace{0pt}}p{0.25\textwidth}|%
325 p{0.705\textwidth}|}%
333 % Used by exception lists
334 \newenvironment{DoxyExceptions}[1]{%
337 \tablelasttail{\hline}%
339 \tablefirsthead{\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]}%
340 \begin{xtabular}{|>{\raggedleft\hspace{0pt}}p{0.25\textwidth}|%
341 p{0.705\textwidth}|}%
349 % Used by template parameter lists
350 \newenvironment{DoxyTemplParams}[1]{%
353 \tablelasttail{\hline}%
355 \tablefirsthead{\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]}%
356 \begin{xtabular}{|>{\raggedleft\hspace{0pt}}p{0.25\textwidth}|%
357 p{0.705\textwidth}|}%
365 % Used for member lists
366 \newenvironment{DoxyCompactItemize}{%
368 \setlength{\itemsep}{-3pt}%
369 \setlength{\parsep}{0pt}%
370 \setlength{\topsep}{0pt}%
371 \setlength{\partopsep}{0pt}%
376 % Used for member descriptions
377 \newenvironment{DoxyCompactList}{%
379 \setlength{\leftmargin}{0.5cm}%
380 \setlength{\itemsep}{0pt}%
381 \setlength{\parsep}{0pt}%
382 \setlength{\topsep}{0pt}%
383 \renewcommand{\makelabel}{\hfill}%
389 % Used for reference lists (@bug, @deprecated, @todo, etc.)
390 \newenvironment{DoxyRefList}{%
392 \setlength{\labelwidth}{10pt}%
393 \setlength{\leftmargin}{\labelwidth}%
394 \addtolength{\leftmargin}{\labelsep}%
395 \renewcommand{\makelabel}{\xreflabel}%
401 % Used by @bug, @deprecated, @todo, etc.
402 \newenvironment{DoxyRefDesc}[1]{%
404 \renewcommand\makelabel[1]{\textbf{##1}}%
405 \settowidth\labelwidth{\makelabel{#1}}%
406 \setlength\leftmargin{\labelwidth+\labelsep}%
412 % Used by parameter lists and simple sections
413 \newenvironment{Desc}
415 \settowidth{\labelwidth}{40pt}%
416 \setlength{\leftmargin}{\labelwidth}%
417 \setlength{\parsep}{0pt}%
418 \setlength{\itemsep}{-4pt}%
419 \renewcommand{\makelabel}{\entrylabel}%
426 \newcommand{\PBS}[1]{\let\temp=\\#1\let\\=\temp}%
427 \newlength{\tmplength}%
428 \newenvironment{TabularC}[1]%
430 \setlength{\tmplength}%
431 {\linewidth/(#1)-\tabcolsep*2-\arrayrulewidth*(#1+1)/(#1)}%
432 \par\begin{xtabular*}{\linewidth}%
433 {*{#1}{|>{\PBS\raggedright\hspace{0pt}}p{\the\tmplength}}|}%
435 {\end{xtabular*}\par}%
437 % Used by nested tables
438 \newenvironment{TabularNC}[1]%
440 \setlength{\tmplength}%
441 {\linewidth/(#1)-\tabcolsep*2-\arrayrulewidth*(#1+1)/(#1)}%
442 \par\begin{tabular*}{\linewidth}%
443 {*{#1}{|>{\PBS\raggedright\hspace{0pt}}p{\the\tmplength}}|}%
445 {\end{tabular*}\par}%
447 % Used for member group headers
448 \newenvironment{Indent}{%
450 \setlength{\leftmargin}{0.5cm}%
452 \item[]\ignorespaces%
458 % Used when hyperlinks are turned off
459 \newcommand{\doxyref}[3]{%
460 \textbf{#1} (\textnormal{#2}\,\pageref{#3})%
464 \newcommand{\lcurly}{\{}
465 \newcommand{\rcurly}{\}}
467 % Used for syntax highlighting
468 \definecolor{comment}{rgb}{0.5,0.0,0.0}
469 \definecolor{keyword}{rgb}{0.0,0.5,0.0}
470 \definecolor{keywordtype}{rgb}{0.38,0.25,0.125}
471 \definecolor{keywordflow}{rgb}{0.88,0.5,0.0}
472 \definecolor{preprocessor}{rgb}{0.5,0.38,0.125}
473 \definecolor{stringliteral}{rgb}{0.0,0.125,0.25}
474 \definecolor{charliteral}{rgb}{0.0,0.5,0.5}
475 \definecolor{vhdldigit}{rgb}{1.0,0.0,1.0}
476 \definecolor{vhdlkeyword}{rgb}{0.43,0.0,0.43}
477 \definecolor{vhdllogic}{rgb}{1.0,0.0,0.0}
478 \definecolor{vhdlchar}{rgb}{0.0,0.0,0.0}