Fri, 05 Feb 2021 11:36:38 +0200
refactor
162 | 1 | % stylesheet for doxygen 1.8.9.1 |
2 | \NeedsTeXFormat{LaTeX2e} | |
3 | \ProvidesPackage{doxygen} | |
4 | ||
5 | % Packages used by this style file | |
6 | \RequirePackage{alltt} | |
7 | \RequirePackage{array} | |
8 | \RequirePackage{calc} | |
9 | \RequirePackage{float} | |
10 | \RequirePackage{ifthen} | |
11 | \RequirePackage{verbatim} | |
12 | \RequirePackage[table]{xcolor} | |
13 | \RequirePackage{xtab} | |
14 | ||
15 | %---------- Internal commands used in this style file ---------------- | |
16 | ||
17 | \newcommand{\ensurespace}[1]{% | |
18 | \begingroup% | |
19 | \setlength{\dimen@}{#1}% | |
20 | \vskip\z@\@plus\dimen@% | |
21 | \penalty -100\vskip\z@\@plus -\dimen@% | |
22 | \vskip\dimen@% | |
23 | \penalty 9999% | |
24 | \vskip -\dimen@% | |
25 | \vskip\z@skip% hide the previous |\vskip| from |\addvspace| | |
26 | \endgroup% | |
27 | } | |
28 | ||
29 | \newcommand{\DoxyLabelFont}{} | |
30 | \newcommand{\entrylabel}[1]{% | |
31 | {% | |
32 | \parbox[b]{\labelwidth-4pt}{% | |
33 | \makebox[0pt][l]{\DoxyLabelFont#1}% | |
34 | \vspace{1.5\baselineskip}% | |
35 | }% | |
36 | }% | |
37 | } | |
38 | ||
39 | \newenvironment{DoxyDesc}[1]{% | |
40 | \ensurespace{4\baselineskip}% | |
41 | \begin{list}{}{% | |
42 | \settowidth{\labelwidth}{20pt}% | |
43 | \setlength{\parsep}{0pt}% | |
44 | \setlength{\itemsep}{0pt}% | |
45 | \setlength{\leftmargin}{\labelwidth+\labelsep}% | |
46 | \renewcommand{\makelabel}{\entrylabel}% | |
47 | }% | |
48 | \item[#1]% | |
49 | }{% | |
50 | \end{list}% | |
51 | } | |
52 | ||
53 | \newsavebox{\xrefbox} | |
54 | \newlength{\xreflength} | |
55 | \newcommand{\xreflabel}[1]{% | |
56 | \sbox{\xrefbox}{#1}% | |
57 | \setlength{\xreflength}{\wd\xrefbox}% | |
58 | \ifthenelse{\xreflength>\labelwidth}{% | |
59 | \begin{minipage}{\textwidth}% | |
60 | \setlength{\parindent}{0pt}% | |
61 | \hangindent=15pt\bfseries #1\vspace{1.2\itemsep}% | |
62 | \end{minipage}% | |
63 | }{% | |
64 | \parbox[b]{\labelwidth}{\makebox[0pt][l]{\textbf{#1}}}% | |
65 | }% | |
66 | } | |
67 | ||
68 | %---------- Commands used by doxygen LaTeX output generator ---------- | |
69 | ||
70 | % Used by <pre> ... </pre> | |
71 | \newenvironment{DoxyPre}{% | |
72 | \small% | |
73 | \begin{alltt}% | |
74 | }{% | |
75 | \end{alltt}% | |
76 | \normalsize% | |
77 | } | |
78 | ||
79 | % Used by @code ... @endcode | |
80 | \newenvironment{DoxyCode}{% | |
81 | \par% | |
82 | \scriptsize% | |
83 | \begin{alltt}% | |
84 | }{% | |
85 | \end{alltt}% | |
86 | \normalsize% | |
87 | } | |
88 | ||
89 | % Used by @example, @include, @includelineno and @dontinclude | |
90 | \newenvironment{DoxyCodeInclude}{% | |
91 | \DoxyCode% | |
92 | }{% | |
93 | \endDoxyCode% | |
94 | } | |
95 | ||
96 | % Used by @verbatim ... @endverbatim | |
97 | \newenvironment{DoxyVerb}{% | |
98 | \footnotesize% | |
99 | \verbatim% | |
100 | }{% | |
101 | \endverbatim% | |
102 | \normalsize% | |
103 | } | |
104 | ||
105 | % Used by @verbinclude | |
106 | \newenvironment{DoxyVerbInclude}{% | |
107 | \DoxyVerb% | |
108 | }{% | |
109 | \endDoxyVerb% | |
110 | } | |
111 | ||
112 | % Used by numbered lists (using '-#' or <ol> ... </ol>) | |
113 | \newenvironment{DoxyEnumerate}{% | |
114 | \enumerate% | |
115 | }{% | |
116 | \endenumerate% | |
117 | } | |
118 | ||
119 | % Used by bullet lists (using '-', @li, @arg, or <ul> ... </ul>) | |
120 | \newenvironment{DoxyItemize}{% | |
121 | \itemize% | |
122 | }{% | |
123 | \enditemize% | |
124 | } | |
125 | ||
126 | % Used by description lists (using <dl> ... </dl>) | |
127 | \newenvironment{DoxyDescription}{% | |
128 | \description% | |
129 | }{% | |
130 | \enddescription% | |
131 | } | |
132 | ||
133 | % Used by @image, @dotfile, @dot ... @enddot, and @msc ... @endmsc | |
134 | % (only if caption is specified) | |
135 | \newenvironment{DoxyImage}{% | |
136 | \begin{figure}[H]% | |
137 | \begin{center}% | |
138 | }{% | |
139 | \end{center}% | |
140 | \end{figure}% | |
141 | } | |
142 | ||
143 | % Used by @image, @dotfile, @dot ... @enddot, and @msc ... @endmsc | |
144 | % (only if no caption is specified) | |
145 | \newenvironment{DoxyImageNoCaption}{% | |
146 | \begin{center}% | |
147 | }{% | |
148 | \end{center}% | |
149 | } | |
150 | ||
151 | % Used by @attention | |
152 | \newenvironment{DoxyAttention}[1]{% | |
153 | \begin{DoxyDesc}{#1}% | |
154 | }{% | |
155 | \end{DoxyDesc}% | |
156 | } | |
157 | ||
158 | % Used by @author and @authors | |
159 | \newenvironment{DoxyAuthor}[1]{% | |
160 | \begin{DoxyDesc}{#1}% | |
161 | }{% | |
162 | \end{DoxyDesc}% | |
163 | } | |
164 | ||
165 | % Used by @date | |
166 | \newenvironment{DoxyDate}[1]{% | |
167 | \begin{DoxyDesc}{#1}% | |
168 | }{% | |
169 | \end{DoxyDesc}% | |
170 | } | |
171 | ||
172 | % Used by @invariant | |
173 | \newenvironment{DoxyInvariant}[1]{% | |
174 | \begin{DoxyDesc}{#1}% | |
175 | }{% | |
176 | \end{DoxyDesc}% | |
177 | } | |
178 | ||
179 | % Used by @note | |
180 | \newenvironment{DoxyNote}[1]{% | |
181 | \begin{DoxyDesc}{#1}% | |
182 | }{% | |
183 | \end{DoxyDesc}% | |
184 | } | |
185 | ||
186 | % Used by @post | |
187 | \newenvironment{DoxyPostcond}[1]{% | |
188 | \begin{DoxyDesc}{#1}% | |
189 | }{% | |
190 | \end{DoxyDesc}% | |
191 | } | |
192 | ||
193 | % Used by @pre | |
194 | \newenvironment{DoxyPrecond}[1]{% | |
195 | \begin{DoxyDesc}{#1}% | |
196 | }{% | |
197 | \end{DoxyDesc}% | |
198 | } | |
199 | ||
200 | % Used by @copyright | |
201 | \newenvironment{DoxyCopyright}[1]{% | |
202 | \begin{DoxyDesc}{#1}% | |
203 | }{% | |
204 | \end{DoxyDesc}% | |
205 | } | |
206 | ||
207 | % Used by @remark | |
208 | \newenvironment{DoxyRemark}[1]{% | |
209 | \begin{DoxyDesc}{#1}% | |
210 | }{% | |
211 | \end{DoxyDesc}% | |
212 | } | |
213 | ||
214 | % Used by @return and @returns | |
215 | \newenvironment{DoxyReturn}[1]{% | |
216 | \begin{DoxyDesc}{#1}% | |
217 | }{% | |
218 | \end{DoxyDesc}% | |
219 | } | |
220 | ||
221 | % Used by @since | |
222 | \newenvironment{DoxySince}[1]{% | |
223 | \begin{DoxyDesc}{#1}% | |
224 | }{% | |
225 | \end{DoxyDesc}% | |
226 | } | |
227 | ||
228 | % Used by @see | |
229 | \newenvironment{DoxySeeAlso}[1]{% | |
230 | \begin{DoxyDesc}{#1}% | |
231 | }{% | |
232 | \end{DoxyDesc}% | |
233 | } | |
234 | ||
235 | % Used by @version | |
236 | \newenvironment{DoxyVersion}[1]{% | |
237 | \begin{DoxyDesc}{#1}% | |
238 | }{% | |
239 | \end{DoxyDesc}% | |
240 | } | |
241 | ||
242 | % Used by @warning | |
243 | \newenvironment{DoxyWarning}[1]{% | |
244 | \begin{DoxyDesc}{#1}% | |
245 | }{% | |
246 | \end{DoxyDesc}% | |
247 | } | |
248 | ||
249 | % Used by @internal | |
250 | \newenvironment{DoxyInternal}[1]{% | |
251 | \paragraph*{#1}% | |
252 | }{% | |
253 | } | |
254 | ||
255 | % Used by @par and @paragraph | |
256 | \newenvironment{DoxyParagraph}[1]{% | |
257 | \begin{list}{}{% | |
258 | \settowidth{\labelwidth}{40pt}% | |
259 | \setlength{\leftmargin}{\labelwidth}% | |
260 | \setlength{\parsep}{0pt}% | |
261 | \setlength{\itemsep}{-4pt}% | |
262 | \renewcommand{\makelabel}{\entrylabel}% | |
263 | }% | |
264 | \item[#1]% | |
265 | }{% | |
266 | \end{list}% | |
267 | } | |
268 | ||
269 | % Used by parameter lists | |
270 | \newenvironment{DoxyParams}[2][]{% | |
271 | \par% | |
272 | \tabletail{\hline}% | |
273 | \tablelasttail{\hline}% | |
274 | \tablefirsthead{}% | |
275 | \tablehead{}% | |
276 | \ifthenelse{\equal{#1}{}}% | |
277 | {\tablefirsthead{\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #2}\\[1ex]}% | |
278 | \begin{xtabular}{|>{\raggedleft\hspace{0pt}}p{0.15\textwidth}|% | |
279 | p{0.805\textwidth}|}}% | |
280 | {\ifthenelse{\equal{#1}{1}}% | |
281 | {\tablefirsthead{\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #2}\\[1ex]}% | |
282 | \begin{xtabular}{|>{\centering}p{0.10\textwidth}|% | |
283 | >{\raggedleft\hspace{0pt}}p{0.15\textwidth}|% | |
284 | p{0.678\textwidth}|}}% | |
285 | {\tablefirsthead{\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #2}\\[1ex]}% | |
286 | \begin{xtabular}{|>{\centering}p{0.10\textwidth}|% | |
287 | >{\centering\hspace{0pt}}p{0.15\textwidth}|% | |
288 | >{\raggedleft\hspace{0pt}}p{0.15\textwidth}|% | |
289 | p{0.501\textwidth}|}}% | |
290 | }\hline% | |
291 | }{% | |
292 | \end{xtabular}% | |
293 | \tablefirsthead{}% | |
294 | \vspace{6pt}% | |
295 | } | |
296 | ||
297 | % Used for fields of simple structs | |
298 | \newenvironment{DoxyFields}[1]{% | |
299 | \par% | |
300 | \tabletail{\hline}% | |
301 | \tablelasttail{\hline}% | |
302 | \tablehead{}% | |
303 | \tablefirsthead{\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]}% | |
304 | \begin{xtabular}{|>{\raggedleft\hspace{0pt}}p{0.15\textwidth}|% | |
305 | p{0.15\textwidth}|% | |
306 | p{0.63\textwidth}|}% | |
307 | \hline% | |
308 | }{% | |
309 | \end{xtabular}% | |
310 | \tablefirsthead{}% | |
311 | \vspace{6pt}% | |
312 | } | |
313 | ||
314 | % Used for parameters within a detailed function description | |
315 | \newenvironment{DoxyParamCaption}{% | |
316 | \renewcommand{\item}[2][]{##1 {\em ##2}}% | |
317 | }{% | |
318 | } | |
319 | ||
320 | % Used by return value lists | |
321 | \newenvironment{DoxyRetVals}[1]{% | |
322 | \par% | |
323 | \tabletail{\hline}% | |
324 | \tablelasttail{\hline}% | |
325 | \tablehead{}% | |
326 | \tablefirsthead{\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]}% | |
327 | \begin{xtabular}{|>{\raggedleft\hspace{0pt}}p{0.25\textwidth}|% | |
328 | p{0.705\textwidth}|}% | |
329 | \hline% | |
330 | }{% | |
331 | \end{xtabular}% | |
332 | \tablefirsthead{}% | |
333 | \vspace{6pt}% | |
334 | } | |
335 | ||
336 | % Used by exception lists | |
337 | \newenvironment{DoxyExceptions}[1]{% | |
338 | \par% | |
339 | \tabletail{\hline}% | |
340 | \tablelasttail{\hline}% | |
341 | \tablehead{}% | |
342 | \tablefirsthead{\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]}% | |
343 | \begin{xtabular}{|>{\raggedleft\hspace{0pt}}p{0.25\textwidth}|% | |
344 | p{0.705\textwidth}|}% | |
345 | \hline% | |
346 | }{% | |
347 | \end{xtabular}% | |
348 | \tablefirsthead{}% | |
349 | \vspace{6pt}% | |
350 | } | |
351 | ||
352 | % Used by template parameter lists | |
353 | \newenvironment{DoxyTemplParams}[1]{% | |
354 | \par% | |
355 | \tabletail{\hline}% | |
356 | \tablelasttail{\hline}% | |
357 | \tablehead{}% | |
358 | \tablefirsthead{\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]}% | |
359 | \begin{xtabular}{|>{\raggedleft\hspace{0pt}}p{0.25\textwidth}|% | |
360 | p{0.705\textwidth}|}% | |
361 | \hline% | |
362 | }{% | |
363 | \end{xtabular}% | |
364 | \tablefirsthead{}% | |
365 | \vspace{6pt}% | |
366 | } | |
367 | ||
368 | % Used for member lists | |
369 | \newenvironment{DoxyCompactItemize}{% | |
370 | \begin{itemize}% | |
371 | \setlength{\itemsep}{-3pt}% | |
372 | \setlength{\parsep}{0pt}% | |
373 | \setlength{\topsep}{0pt}% | |
374 | \setlength{\partopsep}{0pt}% | |
375 | }{% | |
376 | \end{itemize}% | |
377 | } | |
378 | ||
379 | % Used for member descriptions | |
380 | \newenvironment{DoxyCompactList}{% | |
381 | \begin{list}{}{% | |
382 | \setlength{\leftmargin}{0.5cm}% | |
383 | \setlength{\itemsep}{0pt}% | |
384 | \setlength{\parsep}{0pt}% | |
385 | \setlength{\topsep}{0pt}% | |
386 | \renewcommand{\makelabel}{\hfill}% | |
387 | }% | |
388 | }{% | |
389 | \end{list}% | |
390 | } | |
391 | ||
392 | % Used for reference lists (@bug, @deprecated, @todo, etc.) | |
393 | \newenvironment{DoxyRefList}{% | |
394 | \begin{list}{}{% | |
395 | \setlength{\labelwidth}{10pt}% | |
396 | \setlength{\leftmargin}{\labelwidth}% | |
397 | \addtolength{\leftmargin}{\labelsep}% | |
398 | \renewcommand{\makelabel}{\xreflabel}% | |
399 | }% | |
400 | }{% | |
401 | \end{list}% | |
402 | } | |
403 | ||
404 | % Used by @bug, @deprecated, @todo, etc. | |
405 | \newenvironment{DoxyRefDesc}[1]{% | |
406 | \begin{list}{}{% | |
407 | \renewcommand\makelabel[1]{\textbf{##1}}% | |
408 | \settowidth\labelwidth{\makelabel{#1}}% | |
409 | \setlength\leftmargin{\labelwidth+\labelsep}% | |
410 | }% | |
411 | }{% | |
412 | \end{list}% | |
413 | } | |
414 | ||
415 | % Used by parameter lists and simple sections | |
416 | \newenvironment{Desc} | |
417 | {\begin{list}{}{% | |
418 | \settowidth{\labelwidth}{40pt}% | |
419 | \setlength{\leftmargin}{\labelwidth}% | |
420 | \setlength{\parsep}{0pt}% | |
421 | \setlength{\itemsep}{-4pt}% | |
422 | \renewcommand{\makelabel}{\entrylabel}% | |
423 | } | |
424 | }{% | |
425 | \end{list}% | |
426 | } | |
427 | ||
428 | % Used by tables | |
429 | \newcommand{\PBS}[1]{\let\temp=\\#1\let\\=\temp}% | |
430 | \newlength{\tmplength}% | |
431 | \newenvironment{TabularC}[1]% | |
432 | {% | |
433 | \setlength{\tmplength}% | |
434 | {\linewidth/(#1)-\tabcolsep*2-\arrayrulewidth*(#1+1)/(#1)}% | |
435 | \par\begin{xtabular*}{\linewidth}% | |
436 | {*{#1}{|>{\PBS\raggedright\hspace{0pt}}p{\the\tmplength}}|}% | |
437 | }% | |
438 | {\end{xtabular*}\par}% | |
439 | ||
440 | % Used by nested tables | |
441 | \newenvironment{TabularNC}[1]% | |
442 | {% | |
443 | \setlength{\tmplength}% | |
444 | {\linewidth/(#1)-\tabcolsep*2-\arrayrulewidth*(#1+1)/(#1)}% | |
445 | \par\begin{tabular*}{\linewidth}% | |
446 | {*{#1}{|>{\PBS\raggedright\hspace{0pt}}p{\the\tmplength}}|}% | |
447 | }% | |
448 | {\end{tabular*}\par}% | |
449 | ||
450 | % Used for member group headers | |
451 | \newenvironment{Indent}{% | |
452 | \begin{list}{}{% | |
453 | \setlength{\leftmargin}{0.5cm}% | |
454 | }% | |
455 | \item[]\ignorespaces% | |
456 | }{% | |
457 | \unskip% | |
458 | \end{list}% | |
459 | } | |
460 | ||
461 | % Used when hyperlinks are turned off | |
462 | \newcommand{\doxyref}[3]{% | |
463 | \textbf{#1} (\textnormal{#2}\,\pageref{#3})% | |
464 | } | |
465 | ||
466 | % Used by @addindex | |
467 | \newcommand{\lcurly}{\{} | |
468 | \newcommand{\rcurly}{\}} | |
469 | ||
470 | % Used for syntax highlighting | |
471 | \definecolor{comment}{rgb}{0.5,0.0,0.0} | |
472 | \definecolor{keyword}{rgb}{0.0,0.5,0.0} | |
473 | \definecolor{keywordtype}{rgb}{0.38,0.25,0.125} | |
474 | \definecolor{keywordflow}{rgb}{0.88,0.5,0.0} | |
475 | \definecolor{preprocessor}{rgb}{0.5,0.38,0.125} | |
476 | \definecolor{stringliteral}{rgb}{0.0,0.125,0.25} | |
477 | \definecolor{charliteral}{rgb}{0.0,0.5,0.5} | |
478 | \definecolor{vhdldigit}{rgb}{1.0,0.0,1.0} | |
479 | \definecolor{vhdlkeyword}{rgb}{0.43,0.0,0.43} | |
480 | \definecolor{vhdllogic}{rgb}{1.0,0.0,0.0} | |
481 | \definecolor{vhdlchar}{rgb}{0.0,0.0,0.0} |