4bfc17fa9d0471b5aa35591df763a636ecbe0957
[platform/upstream/doxygen.git] / templates / latex / doxygen.sty
1 \NeedsTeXFormat{LaTeX2e}
2 \ProvidesPackage{doxygen}
3
4 % Packages used by this style file
5 \RequirePackage{alltt}
6 %%\RequirePackage{array} %% moved to refman.tex due to workaround for LaTex 2019 version and unmaintained tabu package
7 \RequirePackage{calc}
8 \RequirePackage{float}
9 %%\RequirePackage{ifthen} %% moved to refman.tex due to workaround for LaTex 2019 version and unmaintained tabu package
10 \RequirePackage{verbatim}
11 \RequirePackage[table]{xcolor}
12 \RequirePackage{longtable_doxygen}
13 \RequirePackage{tabu_doxygen}
14 \RequirePackage{fancyvrb}
15 \RequirePackage{tabularx}
16 \RequirePackage{multicol}
17 \RequirePackage{multirow}
18 \RequirePackage{hanging}
19 \RequirePackage{ifpdf}
20 \RequirePackage{adjustbox}
21 \RequirePackage{amssymb}
22 \RequirePackage{stackengine}
23 \RequirePackage{enumitem}
24 \RequirePackage{alphalph}
25 \RequirePackage[normalem]{ulem} % for strikeout, but don't modify emphasis
26
27 %---------- Internal commands used in this style file ----------------
28
29 \newcommand{\ensurespace}[1]{%
30   \begingroup%
31     \setlength{\dimen@}{#1}%
32     \vskip\z@\@plus\dimen@%
33     \penalty -100\vskip\z@\@plus -\dimen@%
34     \vskip\dimen@%
35     \penalty 9999%
36     \vskip -\dimen@%
37     \vskip\z@skip% hide the previous |\vskip| from |\addvspace|
38   \endgroup%
39 }
40
41 \newcommand{\DoxyHorRuler}[1]{%
42   \setlength{\parskip}{0ex plus 0ex minus 0ex}%
43   \ifthenelse{#1=0}%
44   {%
45     \hrule%
46   }%
47   {%
48     \hrulefilll%
49   }%
50 }
51 \newcommand{\DoxyLabelFont}{}
52 \newcommand{\entrylabel}[1]{%
53   {%
54     \parbox[b]{\labelwidth-4pt}{%
55       \makebox[0pt][l]{\DoxyLabelFont#1}%
56       \vspace{1.5\baselineskip}%
57     }%
58   }%
59 }
60
61 \newenvironment{DoxyDesc}[1]{%
62   \ensurespace{4\baselineskip}%
63   \begin{list}{}{%
64     \settowidth{\labelwidth}{20pt}%
65     %\setlength{\parsep}{0pt}%
66     \setlength{\itemsep}{0pt}%
67     \setlength{\leftmargin}{\labelwidth+\labelsep}%
68     \renewcommand{\makelabel}{\entrylabel}%
69   }%
70   \item[#1]%
71 }{%
72   \end{list}%
73 }
74
75 \newsavebox{\xrefbox}
76 \newlength{\xreflength}
77 \newcommand{\xreflabel}[1]{%
78   \sbox{\xrefbox}{#1}%
79   \setlength{\xreflength}{\wd\xrefbox}%
80   \ifthenelse{\xreflength>\labelwidth}{%
81     \begin{minipage}{\textwidth}%
82       \setlength{\parindent}{0pt}%
83       \hangindent=15pt\bfseries #1\vspace{1.2\itemsep}%
84     \end{minipage}%
85   }{%
86    \parbox[b]{\labelwidth}{\makebox[0pt][l]{\textbf{#1}}}%
87   }%
88 }
89
90 %---------- Commands used by doxygen LaTeX output generator ----------
91
92 % Used by <pre> ... </pre>
93 \newenvironment{DoxyPre}{%
94   \small%
95   \begin{alltt}%
96 }{%
97   \end{alltt}%
98   \normalsize%
99 }
100 % Necessary for redefining not defined characters, i.e. "Replacement Character" in tex output.
101 \newlength{\CodeWidthChar}
102 \newlength{\CodeHeightChar}
103 \settowidth{\CodeWidthChar}{?}
104 \settoheight{\CodeHeightChar}{?}
105 % Necessary for hanging indent
106 \newlength{\DoxyCodeWidth}
107
108 \newcommand\DoxyCodeLine[1]{
109   \ifthenelse{\equal{\detokenize{#1}}{}}
110   {
111     \vspace*{\baselineskip}
112   }
113   {
114     \hangpara{\DoxyCodeWidth}{1}{#1}\par
115   }
116 }
117
118 \newcommand\NiceSpace{%
119      \discretionary{}{\kern\fontdimen2\font}{\kern\fontdimen2\font}%
120 }
121
122 % Used by @code ... @endcode
123 \newenvironment{DoxyCode}[1]{%
124   \par%
125   \scriptsize%
126   \normalfont\ttfamily%
127   \rightskip0pt plus 1fil%
128   \settowidth{\DoxyCodeWidth}{000000}%
129   \settowidth{\CodeWidthChar}{?}%
130   \settoheight{\CodeHeightChar}{?}%
131   \setlength{\parskip}{0ex plus 0ex minus 0ex}%
132   \ifthenelse{\equal{#1}{0}}
133   {
134     {\lccode`~32 \lowercase{\global\let~}\NiceSpace}\obeyspaces%
135   }
136   {
137     {\lccode`~32 \lowercase{\global\let~}}\obeyspaces%
138   }
139
140 }{%
141   \normalfont%
142   \normalsize%
143   \settowidth{\CodeWidthChar}{?}%
144   \settoheight{\CodeHeightChar}{?}%
145 }
146
147 % Redefining not defined characters, i.e. "Replacement Character" in tex output.
148 \def\ucr{\adjustbox{width=\CodeWidthChar,height=\CodeHeightChar}{\stackinset{c}{}{c}{-.2pt}{%
149    \textcolor{white}{\sffamily\bfseries\small ?}}{%
150    \rotatebox{45}{$\blacksquare$}}}}
151
152 % Used by @example, @include, @includelineno and @dontinclude
153 \newenvironment{DoxyCodeInclude}[1]{%
154         \DoxyCode{#1}%
155 }{%
156   \endDoxyCode%
157 }
158
159 % Used by @verbatim ... @endverbatim
160 \newenvironment{DoxyVerb}{%
161   \par%
162   \footnotesize%
163   \verbatim%
164 }{%
165   \endverbatim%
166   \normalsize%
167 }
168
169 % Used by @verbinclude
170 \newenvironment{DoxyVerbInclude}{%
171   \DoxyVerb%
172 }{%
173   \endDoxyVerb%
174 }
175
176 % Used by numbered lists (using '-#' or <ol> ... </ol>)
177 \setlistdepth{12}
178 \newlist{DoxyEnumerate}{enumerate}{12}
179 \setlist[DoxyEnumerate,1]{label=\arabic*.}
180 \setlist[DoxyEnumerate,2]{label=(\enumalphalphcnt*)}
181 \setlist[DoxyEnumerate,3]{label=\roman*.}
182 \setlist[DoxyEnumerate,4]{label=\enumAlphAlphcnt*.}
183 \setlist[DoxyEnumerate,5]{label=\arabic*.}
184 \setlist[DoxyEnumerate,6]{label=(\enumalphalphcnt*)}
185 \setlist[DoxyEnumerate,7]{label=\roman*.}
186 \setlist[DoxyEnumerate,8]{label=\enumAlphAlphcnt*.}
187 \setlist[DoxyEnumerate,9]{label=\arabic*.}
188 \setlist[DoxyEnumerate,10]{label=(\enumalphalphcnt*)}
189 \setlist[DoxyEnumerate,11]{label=\roman*.}
190 \setlist[DoxyEnumerate,12]{label=\enumAlphAlphcnt*.}
191
192 % Used by bullet lists (using '-', @li, @arg, or <ul> ... </ul>)
193 \setlistdepth{12}
194 \newlist{DoxyItemize}{itemize}{12}
195 \setlist[DoxyItemize]{label=\textperiodcentered}
196
197 \setlist[DoxyItemize,1]{label=\textbullet}
198 \setlist[DoxyItemize,2]{label=\normalfont\bfseries \textendash}
199 \setlist[DoxyItemize,3]{label=\textasteriskcentered}
200 \setlist[DoxyItemize,4]{label=\textperiodcentered}
201
202 % Used by description lists (using <dl> ... </dl>)
203 \newenvironment{DoxyDescription}{%
204   \description%
205 }{%
206   \enddescription%
207 }
208
209 % Used by @image, @dotfile, @dot ... @enddot, and @msc ... @endmsc
210 % (only if caption is specified)
211 \newenvironment{DoxyImage}{%
212   \begin{figure}[H]%
213     \centering%
214 }{%
215   \end{figure}%
216 }
217
218 % Used by @image, @dotfile, @dot ... @enddot, and @msc ... @endmsc
219 % (only if no caption is specified)
220 \newenvironment{DoxyImageNoCaption}{%
221   \begin{center}%
222 }{%
223   \end{center}%
224 }
225
226 % Used by @image
227 % (only if inline is specified)
228 \newenvironment{DoxyInlineImage}{%
229 }{%
230 }
231
232 % Used by @attention
233 \newenvironment{DoxyAttention}[1]{%
234   \begin{DoxyDesc}{#1}%
235 }{%
236   \end{DoxyDesc}%
237 }
238
239 % Used by @author and @authors
240 \newenvironment{DoxyAuthor}[1]{%
241   \begin{DoxyDesc}{#1}%
242 }{%
243   \end{DoxyDesc}%
244 }
245
246 % Used by @date
247 \newenvironment{DoxyDate}[1]{%
248   \begin{DoxyDesc}{#1}%
249 }{%
250   \end{DoxyDesc}%
251 }
252
253 % Used by @invariant
254 \newenvironment{DoxyInvariant}[1]{%
255   \begin{DoxyDesc}{#1}%
256 }{%
257   \end{DoxyDesc}%
258 }
259
260 % Used by @note
261 \newenvironment{DoxyNote}[1]{%
262   \begin{DoxyDesc}{#1}%
263 }{%
264   \end{DoxyDesc}%
265 }
266
267 % Used by @post
268 \newenvironment{DoxyPostcond}[1]{%
269   \begin{DoxyDesc}{#1}%
270 }{%
271   \end{DoxyDesc}%
272 }
273
274 % Used by @pre
275 \newenvironment{DoxyPrecond}[1]{%
276   \begin{DoxyDesc}{#1}%
277 }{%
278   \end{DoxyDesc}%
279 }
280
281 % Used by @copyright
282 \newenvironment{DoxyCopyright}[1]{%
283   \begin{DoxyDesc}{#1}%
284 }{%
285   \end{DoxyDesc}%
286 }
287
288 % Used by @remark
289 \newenvironment{DoxyRemark}[1]{%
290   \begin{DoxyDesc}{#1}%
291 }{%
292   \end{DoxyDesc}%
293 }
294
295 % Used by @return and @returns
296 \newenvironment{DoxyReturn}[1]{%
297   \begin{DoxyDesc}{#1}%
298 }{%
299   \end{DoxyDesc}%
300 }
301
302 % Used by @since
303 \newenvironment{DoxySince}[1]{%
304   \begin{DoxyDesc}{#1}%
305 }{%
306   \end{DoxyDesc}%
307 }
308
309 % Used by @see
310 \newenvironment{DoxySeeAlso}[1]{%
311   \begin{DoxyDesc}{#1}%
312 }{%
313   \end{DoxyDesc}%
314 }
315
316 % Used by @version
317 \newenvironment{DoxyVersion}[1]{%
318   \begin{DoxyDesc}{#1}%
319 }{%
320   \end{DoxyDesc}%
321 }
322
323 % Used by @warning
324 \newenvironment{DoxyWarning}[1]{%
325   \begin{DoxyDesc}{#1}%
326 }{%
327   \end{DoxyDesc}%
328 }
329
330 % Used by @par and @paragraph
331 \newenvironment{DoxyParagraph}[1]{%
332   \begin{DoxyDesc}{#1}%
333 }{%
334   \end{DoxyDesc}%
335 }
336
337 % Used by parameter lists
338 \newenvironment{DoxyParams}[2][]{%
339     \tabulinesep=1mm%
340     \par%
341     \ifthenelse{\equal{#1}{}}%
342       {\begin{longtabu*}spread 0pt [l]{|X[-1,l]|X[-1,l]|}}% name + description
343     {\ifthenelse{\equal{#1}{1}}%
344       {\begin{longtabu*}spread 0pt [l]{|X[-1,l]|X[-1,l]|X[-1,l]|}}% in/out + name + desc
345       {\begin{longtabu*}spread 0pt [l]{|X[-1,l]|X[-1,l]|X[-1,l]|X[-1,l]|}}% in/out + type + name + desc
346     }
347     \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #2}\\[1ex]%
348     \hline%
349     \endfirsthead%
350     \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #2}\\[1ex]%
351     \hline%
352     \endhead%
353 }{%
354     \end{longtabu*}%
355     \vspace{6pt}%
356 }
357
358 % Used for fields of simple structs
359 \newenvironment{DoxyFields}[1]{%
360     \tabulinesep=1mm%
361     \par%
362     \begin{longtabu*}spread 0pt [l]{|X[-1,r]|X[-1,l]|X[-1,l]|}%
363     \multicolumn{3}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
364     \hline%
365     \endfirsthead%
366     \multicolumn{3}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
367     \hline%
368     \endhead%
369 }{%
370     \end{longtabu*}%
371     \vspace{6pt}%
372 }
373
374 % Used for fields simple class style enums
375 \newenvironment{DoxyEnumFields}[1]{%
376     \tabulinesep=1mm%
377     \par%
378     \begin{longtabu*}spread 0pt [l]{|X[-1,r]|X[-1,l]|}%
379     \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
380     \hline%
381     \endfirsthead%
382     \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
383     \hline%
384     \endhead%
385 }{%
386     \end{longtabu*}%
387     \vspace{6pt}%
388 }
389
390 % Used for parameters within a detailed function description
391 \newenvironment{DoxyParamCaption}{%
392   \renewcommand{\item}[2][]{\\ \hspace*{2.0cm} ##1 {\em ##2}}% 
393 }{%
394 }
395
396 % Used by return value lists
397 \newenvironment{DoxyRetVals}[1]{%
398     \tabulinesep=1mm%
399     \par%
400     \begin{longtabu*}spread 0pt [l]{|X[-1,r]|X[-1,l]|}%
401     \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
402     \hline%
403     \endfirsthead%
404     \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
405     \hline%
406     \endhead%
407 }{%
408     \end{longtabu*}%
409     \vspace{6pt}%
410 }
411
412 % Used by exception lists
413 \newenvironment{DoxyExceptions}[1]{%
414     \tabulinesep=1mm%
415     \par%
416     \begin{longtabu*}spread 0pt [l]{|X[-1,r]|X[-1,l]|}%
417     \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
418     \hline%
419     \endfirsthead%
420     \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
421     \hline%
422     \endhead%
423 }{%
424     \end{longtabu*}%
425     \vspace{6pt}%
426 }
427
428 % Used by template parameter lists
429 \newenvironment{DoxyTemplParams}[1]{%
430     \tabulinesep=1mm%
431     \par%
432     \begin{longtabu*}spread 0pt [l]{|X[-1,r]|X[-1,l]|}%
433     \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
434     \hline%
435     \endfirsthead%
436     \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
437     \hline%
438     \endhead%
439 }{%
440     \end{longtabu*}%
441     \vspace{6pt}%
442 }
443
444 % Used for member lists
445 \newenvironment{DoxyCompactItemize}{%
446   \begin{itemize}%
447     \setlength{\itemsep}{-3pt}%
448     \setlength{\parsep}{0pt}%
449     \setlength{\topsep}{0pt}%
450     \setlength{\partopsep}{0pt}%
451 }{%
452   \end{itemize}%
453 }
454
455 % Used for member descriptions
456 \newenvironment{DoxyCompactList}{%
457   \begin{list}{}{%
458     \setlength{\leftmargin}{0.5cm}%
459     \setlength{\itemsep}{0pt}%
460     \setlength{\parsep}{0pt}%
461     \setlength{\topsep}{0pt}%
462     \renewcommand{\makelabel}{\hfill}%
463   }%
464 }{%
465   \end{list}%
466 }
467
468 % Used for reference lists (@bug, @deprecated, @todo, etc.)
469 \newenvironment{DoxyRefList}{%
470   \begin{list}{}{%
471     \setlength{\labelwidth}{10pt}%
472     \setlength{\leftmargin}{\labelwidth}%
473     \addtolength{\leftmargin}{\labelsep}%
474     \renewcommand{\makelabel}{\xreflabel}%
475   }%
476 }{%
477   \end{list}%
478 }
479
480 % Used by @bug, @deprecated, @todo, etc.
481 \newenvironment{DoxyRefDesc}[1]{%
482   \begin{list}{}{%
483     \renewcommand\makelabel[1]{\textbf{##1}}%
484     \settowidth\labelwidth{\makelabel{#1}}%
485     \setlength\leftmargin{\labelwidth+\labelsep}%
486   }%
487 }{%
488   \end{list}%
489 }
490
491 % Used by parameter lists and simple sections
492 \newenvironment{Desc}
493 {\begin{list}{}{%
494     \settowidth{\labelwidth}{20pt}%
495     \setlength{\parsep}{0pt}%
496     \setlength{\itemsep}{0pt}%
497     \setlength{\leftmargin}{\labelwidth+\labelsep}%
498     \renewcommand{\makelabel}{\entrylabel}%
499   }
500 }{%
501   \end{list}%
502 }
503
504 % Used by tables
505 \newcommand{\PBS}[1]{\let\temp=\\#1\let\\=\temp}%
506 \newenvironment{TabularC}[1]%
507 {\tabulinesep=1mm
508 \begin{longtabu*}spread 0pt [c]{*#1{|X[-1]}|}}%
509 {\end{longtabu*}\par}%
510
511 \newenvironment{TabularNC}[1]%
512 {\begin{tabu}spread 0pt [l]{*#1{|X[-1]}|}}%
513 {\end{tabu}\par}%
514
515 % Used for member group headers
516 \newenvironment{Indent}{%
517   \begin{list}{}{%
518     \setlength{\leftmargin}{0.5cm}%
519   }%
520   \item[]\ignorespaces%
521 }{%
522   \unskip%
523   \end{list}%
524 }
525
526 % Used when hyperlinks are turned on
527 \newcommand{\doxylink}[2]{%
528   \mbox{\hyperlink{#1}{#2}}%
529 }
530
531 % Used when hyperlinks are turned on
532 % Third argument is the SectionType, see the doxygen internal
533 % documentation for the values (relevant: Page ... Subsubsection).
534 \newcommand{\doxysectlink}[3]{%
535   \mbox{\hyperlink{#1}{#2}}%
536 }
537 % Used when hyperlinks are turned off
538 \newcommand{\doxyref}[3]{%
539   \textbf{#1} (\textnormal{#2}\,\pageref{#3})%
540 }
541
542 % Used when hyperlinks are turned off
543 % Fourth argument is the SectionType, see the doxygen internal
544 % documentation for the values (relevant: Page ... Subsubsection).
545 \newcommand{\doxysectref}[4]{%
546   \textbf{#1} (\textnormal{#2}\,\pageref{#3})%
547 }
548
549 % Used to link to a table when hyperlinks are turned on
550 \newcommand{\doxytablelink}[2]{%
551   \ref{#1}%
552 }
553
554 % Used to link to a table when hyperlinks are turned off
555 \newcommand{\doxytableref}[3]{%
556   \ref{#3}%
557 }
558
559 % Used by @addindex
560 \newcommand{\lcurly}{\{}
561 \newcommand{\rcurly}{\}}
562
563 % Colors used for syntax highlighting
564 \definecolor{comment}{rgb}{0.5,0.0,0.0}
565 \definecolor{keyword}{rgb}{0.0,0.5,0.0}
566 \definecolor{keywordtype}{rgb}{0.38,0.25,0.125}
567 \definecolor{keywordflow}{rgb}{0.88,0.5,0.0}
568 \definecolor{preprocessor}{rgb}{0.5,0.38,0.125}
569 \definecolor{stringliteral}{rgb}{0.0,0.125,0.25}
570 \definecolor{charliteral}{rgb}{0.0,0.5,0.5}
571 \definecolor{xmlcdata}{rgb}{0.0,0.0,0.0}
572 \definecolor{vhdldigit}{rgb}{1.0,0.0,1.0}
573 \definecolor{vhdlkeyword}{rgb}{0.43,0.0,0.43}
574 \definecolor{vhdllogic}{rgb}{1.0,0.0,0.0}
575 \definecolor{vhdlchar}{rgb}{0.0,0.0,0.0}
576
577 % Color used for table heading
578 \newcommand{\tableheadbgcolor}{lightgray}%
579
580 % Version of hypertarget with correct landing location
581 \newcommand{\Hypertarget}[1]{\Hy@raisedlink{\hypertarget{#1}{}}}
582
583 % possibility to have sections etc. be within the margins
584 % unfortunately had to copy part of book.cls and add \raggedright
585 \makeatletter
586 \newcounter{subsubsubsection}[subsubsection]
587 \newcounter{subsubsubsubsection}[subsubsubsection]
588 \newcounter{subsubsubsubsubsection}[subsubsubsubsection]
589 \newcounter{subsubsubsubsubsubsection}[subsubsubsubsubsection]
590 \renewcommand{\thesubsubsubsection}{\thesubsubsection.\arabic{subsubsubsection}}
591 \renewcommand{\thesubsubsubsubsection}{\thesubsubsubsection.\arabic{subsubsubsubsection}}
592 \renewcommand{\thesubsubsubsubsubsection}{\thesubsubsubsubsection.\arabic{subsubsubsubsubsection}}
593 \renewcommand{\thesubsubsubsubsubsubsection}{\thesubsubsubsubsubsection.\arabic{subsubsubsubsubsubsection}}
594 \newcommand{\subsubsubsectionmark}[1]{}
595 \newcommand{\subsubsubsubsectionmark}[1]{}
596 \newcommand{\subsubsubsubsubsectionmark}[1]{}
597 \newcommand{\subsubsubsubsubsubsectionmark}[1]{}
598 \def\toclevel@subsubsubsection{4}
599 \def\toclevel@subsubsubsubsection{5}
600 \def\toclevel@subsubsubsubsubsection{6}
601 \def\toclevel@subsubsubsubsubsubsection{7}
602 \def\toclevel@paragraph{8}
603 \def\toclevel@subparagraph{9}
604
605 \newcommand\doxysection{\@startsection {section}{1}{\z@}%
606                                      {-3.5ex \@plus -1ex \@minus -.2ex}%
607                                      {2.3ex \@plus.2ex}%
608                                      {\raggedright\normalfont\Large\bfseries}}
609 \newcommand\doxysubsection{\@startsection{subsection}{2}{\z@}%
610                                      {-3.25ex\@plus -1ex \@minus -.2ex}%
611                                      {1.5ex \@plus .2ex}%
612                                      {\raggedright\normalfont\large\bfseries}}
613 \newcommand\doxysubsubsection{\@startsection{subsubsection}{3}{\z@}%
614                                      {-3.25ex\@plus -1ex \@minus -.2ex}%
615                                      {1.5ex \@plus .2ex}%
616                                      {\raggedright\normalfont\normalsize\bfseries}}
617 \newcommand\doxysubsubsubsection{\@startsection{subsubsubsection}{4}{\z@}%
618                                      {-3.25ex\@plus -1ex \@minus -.2ex}%
619                                      {1.5ex \@plus .2ex}%
620                                      {\raggedright\normalfont\normalsize\bfseries}}
621 \newcommand\doxysubsubsubsubsection{\@startsection{subsubsubsubsection}{5}{\z@}%
622                                      {-3.25ex\@plus -1ex \@minus -.2ex}%
623                                      {1.5ex \@plus .2ex}%
624                                      {\raggedright\normalfont\normalsize\bfseries}}
625 \newcommand\doxysubsubsubsubsubsection{\@startsection{subsubsubsubsubsection}{6}{\z@}%
626                                      {-3.25ex\@plus -1ex \@minus -.2ex}%
627                                      {1.5ex \@plus .2ex}%
628                                      {\raggedright\normalfont\normalsize\bfseries}}
629 \newcommand\doxysubsubsubsubsubsubsection{\@startsection{subsubsubsubsubsubsection}{7}{\z@}%
630                                      {-3.25ex\@plus -1ex \@minus -.2ex}%
631                                      {1.5ex \@plus .2ex}%
632                                      {\raggedright\normalfont\normalsize\bfseries}}
633 \newcommand\doxyparagraph{\@startsection{paragraph}{8}{\z@}%
634                                      {-3.25ex\@plus -1ex \@minus -.2ex}%
635                                      {1.5ex \@plus .2ex}%
636                                      {\raggedright\normalfont\normalsize\bfseries}}
637 \newcommand\doxysubparagraph{\@startsection{subparagraph}{9}{\parindent}%
638                                      {-3.25ex\@plus -1ex \@minus -.2ex}%
639                                      {1.5ex \@plus .2ex}%
640                                      {\raggedright\normalfont\normalsize\bfseries}}    
641                                   
642 \newcommand\l@subsubsubsection{\@dottedtocline{4}{6.1em}{7.8em}}
643 \newcommand\l@subsubsubsubsection{\@dottedtocline{5}{6.1em}{9.4em}}
644 \newcommand\l@subsubsubsubsubsection{\@dottedtocline{6}{6.1em}{11em}}
645 \newcommand\l@subsubsubsubsubsubsection{\@dottedtocline{7}{6.1em}{12.6em}}
646 \renewcommand\l@paragraph{\@dottedtocline{8}{6.1em}{14.2em}}
647 \renewcommand\l@subparagraph{\@dottedtocline{9}{6.1em}{15.8em}}
648 \makeatother
649 % the sectsty doesn't look to be maintained but gives, in our case, some warning like:
650 % LaTeX Warning: Command \underline  has changed.
651 %               Check if current package is valid.
652 % unfortunately had to copy the relevant part
653 \newcommand*{\doxypartfont}          [1]
654    {\gdef\SS@partnumberfont{\SS@sectid{0}\SS@nopart\SS@makeulinepartchap#1}
655     \gdef\SS@parttitlefont{\SS@sectid{0}\SS@titlepart\SS@makeulinepartchap#1}}
656 \newcommand*{\doxychapterfont}       [1]
657    {\gdef\SS@chapnumfont{\SS@sectid{1}\SS@nopart\SS@makeulinepartchap#1}
658     \gdef\SS@chaptitlefont{\SS@sectid{1}\SS@titlepart\SS@makeulinepartchap#1}}
659 \newcommand*{\doxysectionfont}       [1]
660    {\gdef\SS@sectfont{\SS@sectid{2}\SS@rr\SS@makeulinesect#1}}
661 \newcommand*{\doxysubsectionfont}    [1]
662    {\gdef\SS@subsectfont{\SS@sectid{3}\SS@rr\SS@makeulinesect#1}}
663 \newcommand*{\doxysubsubsectionfont} [1]
664    {\gdef\SS@subsubsectfont{\SS@sectid{4}\SS@rr\SS@makeulinesect#1}}
665 \newcommand*{\doxyparagraphfont}     [1]
666    {\gdef\SS@parafont{\SS@sectid{5}\SS@rr\SS@makeulinesect#1}}
667 \newcommand*{\doxysubparagraphfont}  [1]
668    {\gdef\SS@subparafont{\SS@sectid{6}\SS@rr\SS@makeulinesect#1}}
669 \newcommand*{\doxyminisecfont}  [1]
670    {\gdef\SS@minisecfont{\SS@sectid{7}\SS@rr\SS@makeulinepartchap#1}}
671 \newcommand*{\doxyallsectionsfont}   [1] {\doxypartfont{#1}%
672                                           \doxychapterfont{#1}%
673                                           \doxysectionfont{#1}%
674                                           \doxysubsectionfont{#1}%
675                                           \doxysubsubsectionfont{#1}%
676                                           \doxyparagraphfont{#1}%
677                                           \doxysubparagraphfont{#1}%
678                                           \doxyminisecfont{#1}}%
679 % Define caption that is also suitable in a table
680 \makeatletter
681 \def\doxyfigcaption{%
682 \H@refstepcounter{figure}%
683 \@dblarg{\@caption{figure}}}
684 \makeatother
685
686 % Define alpha enumarative names for counters > 26
687 \makeatletter
688 \def\enumalphalphcnt#1{\expandafter\@enumalphalphcnt\csname c@#1\endcsname}
689 \def\@enumalphalphcnt#1{\alphalph{#1}}
690 \def\enumAlphAlphcnt#1{\expandafter\@enumAlphAlphcnt\csname c@#1\endcsname}
691 \def\@enumAlphAlphcnt#1{\AlphAlph{#1}}
692 \makeatother
693 \AddEnumerateCounter{\enumalphalphcnt}{\@enumalphalphcnt}{aa}
694 \AddEnumerateCounter{\enumAlphAlphcnt}{\@enumAlphAlphcnt}{AA}