doxygen.sty

changeset 162
c9c0f1b62e42
equal deleted inserted replaced
161:1c483b54ddcb 162:c9c0f1b62e42
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}

mercurial