wasplib: add some placement helpers
[waspsaliva.git] / latex / doxygen.sty
blobe457acc1b89ef5cd0844b70a8db5eb29a0a57c75
1 \NeedsTeXFormat{LaTeX2e}
2 \ProvidesPackage{doxygen}
4 % Packages used by this style file
5 \RequirePackage{alltt}
6 \RequirePackage{array}
7 \RequirePackage{calc}
8 \RequirePackage{float}
9 \RequirePackage{ifthen}
10 \RequirePackage{verbatim}
11 \RequirePackage[table]{xcolor}
12 \RequirePackage{longtable}
13 \RequirePackage{tabu}
14 \RequirePackage{tabularx}
15 \RequirePackage{multirow}
17 %---------- Internal commands used in this style file ----------------
19 \newcommand{\ensurespace}[1]{%
20 \begingroup%
21 \setlength{\dimen@}{#1}%
22 \vskip\z@\@plus\dimen@%
23 \penalty -100\vskip\z@\@plus -\dimen@%
24 \vskip\dimen@%
25 \penalty 9999%
26 \vskip -\dimen@%
27 \vskip\z@skip% hide the previous |\vskip| from |\addvspace|
28 \endgroup%
31 \newcommand{\DoxyLabelFont}{}
32 \newcommand{\entrylabel}[1]{%
34 \parbox[b]{\labelwidth-4pt}{%
35 \makebox[0pt][l]{\DoxyLabelFont#1}%
36 \vspace{1.5\baselineskip}%
41 \newenvironment{DoxyDesc}[1]{%
42 \ensurespace{4\baselineskip}%
43 \begin{list}{}{%
44 \settowidth{\labelwidth}{20pt}%
45 \setlength{\parsep}{0pt}%
46 \setlength{\itemsep}{0pt}%
47 \setlength{\leftmargin}{\labelwidth+\labelsep}%
48 \renewcommand{\makelabel}{\entrylabel}%
50 \item[#1]%
51 }{%
52 \end{list}%
55 \newsavebox{\xrefbox}
56 \newlength{\xreflength}
57 \newcommand{\xreflabel}[1]{%
58 \sbox{\xrefbox}{#1}%
59 \setlength{\xreflength}{\wd\xrefbox}%
60 \ifthenelse{\xreflength>\labelwidth}{%
61 \begin{minipage}{\textwidth}%
62 \setlength{\parindent}{0pt}%
63 \hangindent=15pt\bfseries #1\vspace{1.2\itemsep}%
64 \end{minipage}%
65 }{%
66 \parbox[b]{\labelwidth}{\makebox[0pt][l]{\textbf{#1}}}%
70 %---------- Commands used by doxygen LaTeX output generator ----------
72 % Used by <pre> ... </pre>
73 \newenvironment{DoxyPre}{%
74 \small%
75 \begin{alltt}%
76 }{%
77 \end{alltt}%
78 \normalsize%
81 % Used by @code ... @endcode
82 \newenvironment{DoxyCode}{%
83 \par%
84 \scriptsize%
85 \begin{alltt}%
86 }{%
87 \end{alltt}%
88 \normalsize%
91 % Used by @example, @include, @includelineno and @dontinclude
92 \newenvironment{DoxyCodeInclude}{%
93 \DoxyCode%
94 }{%
95 \endDoxyCode%
98 % Used by @verbatim ... @endverbatim
99 \newenvironment{DoxyVerb}{%
100 \footnotesize%
101 \verbatim%
103 \endverbatim%
104 \normalsize%
107 % Used by @verbinclude
108 \newenvironment{DoxyVerbInclude}{%
109 \DoxyVerb%
111 \endDoxyVerb%
114 % Used by numbered lists (using '-#' or <ol> ... </ol>)
115 \newenvironment{DoxyEnumerate}{%
116 \enumerate%
118 \endenumerate%
121 % Used by bullet lists (using '-', @li, @arg, or <ul> ... </ul>)
122 \newenvironment{DoxyItemize}{%
123 \itemize%
125 \enditemize%
128 % Used by description lists (using <dl> ... </dl>)
129 \newenvironment{DoxyDescription}{%
130 \description%
132 \enddescription%
135 % Used by @image, @dotfile, @dot ... @enddot, and @msc ... @endmsc
136 % (only if caption is specified)
137 \newenvironment{DoxyImage}{%
138 \begin{figure}[H]%
139 \begin{center}%
141 \end{center}%
142 \end{figure}%
145 % Used by @image, @dotfile, @dot ... @enddot, and @msc ... @endmsc
146 % (only if no caption is specified)
147 \newenvironment{DoxyImageNoCaption}{%
148 \begin{center}%
150 \end{center}%
153 % Used by @attention
154 \newenvironment{DoxyAttention}[1]{%
155 \begin{DoxyDesc}{#1}%
157 \end{DoxyDesc}%
160 % Used by @author and @authors
161 \newenvironment{DoxyAuthor}[1]{%
162 \begin{DoxyDesc}{#1}%
164 \end{DoxyDesc}%
167 % Used by @date
168 \newenvironment{DoxyDate}[1]{%
169 \begin{DoxyDesc}{#1}%
171 \end{DoxyDesc}%
174 % Used by @invariant
175 \newenvironment{DoxyInvariant}[1]{%
176 \begin{DoxyDesc}{#1}%
178 \end{DoxyDesc}%
181 % Used by @note
182 \newenvironment{DoxyNote}[1]{%
183 \begin{DoxyDesc}{#1}%
185 \end{DoxyDesc}%
188 % Used by @post
189 \newenvironment{DoxyPostcond}[1]{%
190 \begin{DoxyDesc}{#1}%
192 \end{DoxyDesc}%
195 % Used by @pre
196 \newenvironment{DoxyPrecond}[1]{%
197 \begin{DoxyDesc}{#1}%
199 \end{DoxyDesc}%
202 % Used by @copyright
203 \newenvironment{DoxyCopyright}[1]{%
204 \begin{DoxyDesc}{#1}%
206 \end{DoxyDesc}%
209 % Used by @remark
210 \newenvironment{DoxyRemark}[1]{%
211 \begin{DoxyDesc}{#1}%
213 \end{DoxyDesc}%
216 % Used by @return and @returns
217 \newenvironment{DoxyReturn}[1]{%
218 \begin{DoxyDesc}{#1}%
220 \end{DoxyDesc}%
223 % Used by @since
224 \newenvironment{DoxySince}[1]{%
225 \begin{DoxyDesc}{#1}%
227 \end{DoxyDesc}%
230 % Used by @see
231 \newenvironment{DoxySeeAlso}[1]{%
232 \begin{DoxyDesc}{#1}%
234 \end{DoxyDesc}%
237 % Used by @version
238 \newenvironment{DoxyVersion}[1]{%
239 \begin{DoxyDesc}{#1}%
241 \end{DoxyDesc}%
244 % Used by @warning
245 \newenvironment{DoxyWarning}[1]{%
246 \begin{DoxyDesc}{#1}%
248 \end{DoxyDesc}%
251 % Used by @internal
252 \newenvironment{DoxyInternal}[1]{%
253 \paragraph*{#1}%
257 % Used by @par and @paragraph
258 \newenvironment{DoxyParagraph}[1]{%
259 \begin{list}{}{%
260 \settowidth{\labelwidth}{40pt}%
261 \setlength{\leftmargin}{\labelwidth}%
262 \setlength{\parsep}{0pt}%
263 \setlength{\itemsep}{-4pt}%
264 \renewcommand{\makelabel}{\entrylabel}%
266 \item[#1]%
268 \end{list}%
271 % Used by parameter lists
272 \newenvironment{DoxyParams}[2][]{%
273 \tabulinesep=1mm%
274 \par%
275 \ifthenelse{\equal{#1}{}}%
276 {\begin{longtabu} spread 0pt [l]{|X[-1,l]|X[-1,l]|}}% name + description
277 {\ifthenelse{\equal{#1}{1}}%
278 {\begin{longtabu} spread 0pt [l]{|X[-1,l]|X[-1,l]|X[-1,l]|}}% in/out + name + desc
279 {\begin{longtabu} spread 0pt [l]{|X[-1,l]|X[-1,l]|X[-1,l]|X[-1,l]|}}% in/out + type + name + desc
281 \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #2}\\[1ex]%
282 \hline%
283 \endfirsthead%
284 \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #2}\\[1ex]%
285 \hline%
286 \endhead%
288 \end{longtabu}%
289 \vspace{6pt}%
292 % Used for fields of simple structs
293 \newenvironment{DoxyFields}[1]{%
294 \tabulinesep=1mm%
295 \par%
296 \begin{longtabu} spread 0pt [l]{|X[-1,r]|X[-1,l]|X[-1,l]|}%
297 \multicolumn{3}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
298 \hline%
299 \endfirsthead%
300 \multicolumn{3}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
301 \hline%
302 \endhead%
304 \end{longtabu}%
305 \vspace{6pt}%
308 % Used for fields simple class style enums
309 \newenvironment{DoxyEnumFields}[1]{%
310 \tabulinesep=1mm%
311 \par%
312 \begin{longtabu} spread 0pt [l]{|X[-1,r]|X[-1,l]|}%
313 \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
314 \hline%
315 \endfirsthead%
316 \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
317 \hline%
318 \endhead%
320 \end{longtabu}%
321 \vspace{6pt}%
324 % Used for parameters within a detailed function description
325 \newenvironment{DoxyParamCaption}{%
326 \renewcommand{\item}[2][]{\\ \hspace*{2.0cm} ##1 {\em ##2}}%
330 % Used by return value lists
331 \newenvironment{DoxyRetVals}[1]{%
332 \tabulinesep=1mm%
333 \par%
334 \begin{longtabu} spread 0pt [l]{|X[-1,r]|X[-1,l]|}%
335 \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
336 \hline%
337 \endfirsthead%
338 \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
339 \hline%
340 \endhead%
342 \end{longtabu}%
343 \vspace{6pt}%
346 % Used by exception lists
347 \newenvironment{DoxyExceptions}[1]{%
348 \tabulinesep=1mm%
349 \par%
350 \begin{longtabu} spread 0pt [l]{|X[-1,r]|X[-1,l]|}%
351 \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
352 \hline%
353 \endfirsthead%
354 \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
355 \hline%
356 \endhead%
358 \end{longtabu}%
359 \vspace{6pt}%
362 % Used by template parameter lists
363 \newenvironment{DoxyTemplParams}[1]{%
364 \tabulinesep=1mm%
365 \par%
366 \begin{longtabu} spread 0pt [l]{|X[-1,r]|X[-1,l]|}%
367 \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
368 \hline%
369 \endfirsthead%
370 \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
371 \hline%
372 \endhead%
374 \end{longtabu}%
375 \vspace{6pt}%
378 % Used for member lists
379 \newenvironment{DoxyCompactItemize}{%
380 \begin{itemize}%
381 \setlength{\itemsep}{-3pt}%
382 \setlength{\parsep}{0pt}%
383 \setlength{\topsep}{0pt}%
384 \setlength{\partopsep}{0pt}%
386 \end{itemize}%
389 % Used for member descriptions
390 \newenvironment{DoxyCompactList}{%
391 \begin{list}{}{%
392 \setlength{\leftmargin}{0.5cm}%
393 \setlength{\itemsep}{0pt}%
394 \setlength{\parsep}{0pt}%
395 \setlength{\topsep}{0pt}%
396 \renewcommand{\makelabel}{\hfill}%
399 \end{list}%
402 % Used for reference lists (@bug, @deprecated, @todo, etc.)
403 \newenvironment{DoxyRefList}{%
404 \begin{list}{}{%
405 \setlength{\labelwidth}{10pt}%
406 \setlength{\leftmargin}{\labelwidth}%
407 \addtolength{\leftmargin}{\labelsep}%
408 \renewcommand{\makelabel}{\xreflabel}%
411 \end{list}%
414 % Used by @bug, @deprecated, @todo, etc.
415 \newenvironment{DoxyRefDesc}[1]{%
416 \begin{list}{}{%
417 \renewcommand\makelabel[1]{\textbf{##1}}%
418 \settowidth\labelwidth{\makelabel{#1}}%
419 \setlength\leftmargin{\labelwidth+\labelsep}%
422 \end{list}%
425 % Used by parameter lists and simple sections
426 \newenvironment{Desc}
427 {\begin{list}{}{%
428 \settowidth{\labelwidth}{20pt}%
429 \setlength{\parsep}{0pt}%
430 \setlength{\itemsep}{0pt}%
431 \setlength{\leftmargin}{\labelwidth+\labelsep}%
432 \renewcommand{\makelabel}{\entrylabel}%
435 \end{list}%
438 % Used by tables
439 \newcommand{\PBS}[1]{\let\temp=\\#1\let\\=\temp}%
440 \newenvironment{TabularC}[1]%
441 {\tabulinesep=1mm
442 \begin{longtabu} spread 0pt [c]{*#1{|X[-1]}|}}%
443 {\end{longtabu}\par}%
445 \newenvironment{TabularNC}[1]%
446 {\begin{tabu} spread 0pt [l]{*#1{|X[-1]}|}}%
447 {\end{tabu}\par}%
449 % Used for member group headers
450 \newenvironment{Indent}{%
451 \begin{list}{}{%
452 \setlength{\leftmargin}{0.5cm}%
454 \item[]\ignorespaces%
456 \unskip%
457 \end{list}%
460 % Used when hyperlinks are turned off
461 \newcommand{\doxyref}[3]{%
462 \textbf{#1} (\textnormal{#2}\,\pageref{#3})%
465 % Used to link to a table when hyperlinks are turned on
466 \newcommand{\doxytablelink}[2]{%
467 \ref{#1}%
470 % Used to link to a table when hyperlinks are turned off
471 \newcommand{\doxytableref}[3]{%
472 \ref{#3}%
475 % Used by @addindex
476 \newcommand{\lcurly}{\{}
477 \newcommand{\rcurly}{\}}
479 % Colors used for syntax highlighting
480 \definecolor{comment}{rgb}{0.5,0.0,0.0}
481 \definecolor{keyword}{rgb}{0.0,0.5,0.0}
482 \definecolor{keywordtype}{rgb}{0.38,0.25,0.125}
483 \definecolor{keywordflow}{rgb}{0.88,0.5,0.0}
484 \definecolor{preprocessor}{rgb}{0.5,0.38,0.125}
485 \definecolor{stringliteral}{rgb}{0.0,0.125,0.25}
486 \definecolor{charliteral}{rgb}{0.0,0.5,0.5}
487 \definecolor{vhdldigit}{rgb}{1.0,0.0,1.0}
488 \definecolor{vhdlkeyword}{rgb}{0.43,0.0,0.43}
489 \definecolor{vhdllogic}{rgb}{1.0,0.0,0.0}
490 \definecolor{vhdlchar}{rgb}{0.0,0.0,0.0}
492 % Color used for table heading
493 \newcommand{\tableheadbgcolor}{lightgray}%
495 % Version of hypertarget with correct landing location
496 \newcommand{\Hypertarget}[1]{\Hy@raisedlink{\hypertarget{#1}{}}}
498 % Define caption that is also suitable in a table
499 \makeatletter
500 \def\doxyfigcaption{%
501 \refstepcounter{figure}%
502 \@dblarg{\@caption{figure}}}
503 \makeatother