NBash
576 строк · 14.0 Кб
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[normalem]{ulem} % for strikeout, but don't modify emphasis
24
25%---------- Internal commands used in this style file ----------------
26
27\newcommand{\ensurespace}[1]{%
28\begingroup%
29\setlength{\dimen@}{#1}%
30\vskip\z@\@plus\dimen@%
31\penalty -100\vskip\z@\@plus -\dimen@%
32\vskip\dimen@%
33\penalty 9999%
34\vskip -\dimen@%
35\vskip\z@skip% hide the previous |\vskip| from |\addvspace|
36\endgroup%
37}
38
39\newcommand{\DoxyHorRuler}[1]{%
40\setlength{\parskip}{0ex plus 0ex minus 0ex}%
41\ifthenelse{#1=0}%
42{%
43\hrule%
44}%
45{%
46\hrulefilll%
47}%
48}
49\newcommand{\DoxyLabelFont}{}
50\newcommand{\entrylabel}[1]{%
51{%
52\parbox[b]{\labelwidth-4pt}{%
53\makebox[0pt][l]{\DoxyLabelFont#1}%
54\vspace{1.5\baselineskip}%
55}%
56}%
57}
58
59\newenvironment{DoxyDesc}[1]{%
60\ensurespace{4\baselineskip}%
61\begin{list}{}{%
62\settowidth{\labelwidth}{20pt}%
63%\setlength{\parsep}{0pt}%
64\setlength{\itemsep}{0pt}%
65\setlength{\leftmargin}{\labelwidth+\labelsep}%
66\renewcommand{\makelabel}{\entrylabel}%
67}%
68\item[#1]%
69}{%
70\end{list}%
71}
72
73\newsavebox{\xrefbox}
74\newlength{\xreflength}
75\newcommand{\xreflabel}[1]{%
76\sbox{\xrefbox}{#1}%
77\setlength{\xreflength}{\wd\xrefbox}%
78\ifthenelse{\xreflength>\labelwidth}{%
79\begin{minipage}{\textwidth}%
80\setlength{\parindent}{0pt}%
81\hangindent=15pt\bfseries #1\vspace{1.2\itemsep}%
82\end{minipage}%
83}{%
84\parbox[b]{\labelwidth}{\makebox[0pt][l]{\textbf{#1}}}%
85}%
86}
87
88%---------- Commands used by doxygen LaTeX output generator ----------
89
90% Used by <pre> ... </pre>
91\newenvironment{DoxyPre}{%
92\small%
93\begin{alltt}%
94}{%
95\end{alltt}%
96\normalsize%
97}
98% Necessary for redefining not defined characters, i.e. "Replacement Character" in tex output.
99\newlength{\CodeWidthChar}
100\newlength{\CodeHeightChar}
101\settowidth{\CodeWidthChar}{?}
102\settoheight{\CodeHeightChar}{?}
103% Necessary for hanging indent
104\newlength{\DoxyCodeWidth}
105
106\newcommand\DoxyCodeLine[1]{\hangpara{\DoxyCodeWidth}{1}{#1}\par}
107
108\newcommand\NiceSpace{%
109\discretionary{}{\kern\fontdimen2\font}{\kern\fontdimen2\font}%
110}
111
112% Used by @code ... @endcode
113\newenvironment{DoxyCode}[1]{%
114\par%
115\scriptsize%
116\normalfont\ttfamily%
117\rightskip0pt plus 1fil%
118\settowidth{\DoxyCodeWidth}{000000}%
119\settowidth{\CodeWidthChar}{?}%
120\settoheight{\CodeHeightChar}{?}%
121\setlength{\parskip}{0ex plus 0ex minus 0ex}%
122\ifthenelse{\equal{#1}{0}}
123{
124{\lccode`~32 \lowercase{\global\let~}\NiceSpace}\obeyspaces%
125}
126{
127{\lccode`~32 \lowercase{\global\let~}}\obeyspaces%
128}
129
130}{%
131\normalfont%
132\normalsize%
133\settowidth{\CodeWidthChar}{?}%
134\settoheight{\CodeHeightChar}{?}%
135}
136
137% Redefining not defined characters, i.e. "Replacement Character" in tex output.
138\def\ucr{\adjustbox{width=\CodeWidthChar,height=\CodeHeightChar}{\stackinset{c}{}{c}{-.2pt}{%
139\textcolor{white}{\sffamily\bfseries\small ?}}{%
140\rotatebox{45}{$\blacksquare$}}}}
141
142% Used by @example, @include, @includelineno and @dontinclude
143\newenvironment{DoxyCodeInclude}[1]{%
144\DoxyCode{#1}%
145}{%
146\endDoxyCode%
147}
148
149% Used by @verbatim ... @endverbatim
150\newenvironment{DoxyVerb}{%
151\footnotesize%
152\verbatim%
153}{%
154\endverbatim%
155\normalsize%
156}
157
158% Used by @verbinclude
159\newenvironment{DoxyVerbInclude}{%
160\DoxyVerb%
161}{%
162\endDoxyVerb%
163}
164
165% Used by numbered lists (using '-#' or <ol> ... </ol>)
166\newenvironment{DoxyEnumerate}{%
167\enumerate%
168}{%
169\endenumerate%
170}
171
172% Used by bullet lists (using '-', @li, @arg, or <ul> ... </ul>)
173\newenvironment{DoxyItemize}{%
174\itemize%
175}{%
176\enditemize%
177}
178
179% Used by description lists (using <dl> ... </dl>)
180\newenvironment{DoxyDescription}{%
181\description%
182}{%
183\enddescription%
184}
185
186% Used by @image, @dotfile, @dot ... @enddot, and @msc ... @endmsc
187% (only if caption is specified)
188\newenvironment{DoxyImage}{%
189\begin{figure}[H]%
190\centering%
191}{%
192\end{figure}%
193}
194
195% Used by @image, @dotfile, @dot ... @enddot, and @msc ... @endmsc
196% (only if no caption is specified)
197\newenvironment{DoxyImageNoCaption}{%
198\begin{center}%
199}{%
200\end{center}%
201}
202
203% Used by @image
204% (only if inline is specified)
205\newenvironment{DoxyInlineImage}{%
206}{%
207}
208
209% Used by @attention
210\newenvironment{DoxyAttention}[1]{%
211\begin{DoxyDesc}{#1}%
212}{%
213\end{DoxyDesc}%
214}
215
216% Used by @author and @authors
217\newenvironment{DoxyAuthor}[1]{%
218\begin{DoxyDesc}{#1}%
219}{%
220\end{DoxyDesc}%
221}
222
223% Used by @date
224\newenvironment{DoxyDate}[1]{%
225\begin{DoxyDesc}{#1}%
226}{%
227\end{DoxyDesc}%
228}
229
230% Used by @invariant
231\newenvironment{DoxyInvariant}[1]{%
232\begin{DoxyDesc}{#1}%
233}{%
234\end{DoxyDesc}%
235}
236
237% Used by @note
238\newenvironment{DoxyNote}[1]{%
239\begin{DoxyDesc}{#1}%
240}{%
241\end{DoxyDesc}%
242}
243
244% Used by @post
245\newenvironment{DoxyPostcond}[1]{%
246\begin{DoxyDesc}{#1}%
247}{%
248\end{DoxyDesc}%
249}
250
251% Used by @pre
252\newenvironment{DoxyPrecond}[1]{%
253\begin{DoxyDesc}{#1}%
254}{%
255\end{DoxyDesc}%
256}
257
258% Used by @copyright
259\newenvironment{DoxyCopyright}[1]{%
260\begin{DoxyDesc}{#1}%
261}{%
262\end{DoxyDesc}%
263}
264
265% Used by @remark
266\newenvironment{DoxyRemark}[1]{%
267\begin{DoxyDesc}{#1}%
268}{%
269\end{DoxyDesc}%
270}
271
272% Used by @return and @returns
273\newenvironment{DoxyReturn}[1]{%
274\begin{DoxyDesc}{#1}%
275}{%
276\end{DoxyDesc}%
277}
278
279% Used by @since
280\newenvironment{DoxySince}[1]{%
281\begin{DoxyDesc}{#1}%
282}{%
283\end{DoxyDesc}%
284}
285
286% Used by @see
287\newenvironment{DoxySeeAlso}[1]{%
288\begin{DoxyDesc}{#1}%
289}{%
290\end{DoxyDesc}%
291}
292
293% Used by @version
294\newenvironment{DoxyVersion}[1]{%
295\begin{DoxyDesc}{#1}%
296}{%
297\end{DoxyDesc}%
298}
299
300% Used by @warning
301\newenvironment{DoxyWarning}[1]{%
302\begin{DoxyDesc}{#1}%
303}{%
304\end{DoxyDesc}%
305}
306
307% Used by @internal
308\newenvironment{DoxyInternal}[1]{%
309\paragraph*{#1}%
310}{%
311}
312
313% Used by @par and @paragraph
314\newenvironment{DoxyParagraph}[1]{%
315\begin{DoxyDesc}{#1}%
316}{%
317\end{DoxyDesc}%
318}
319
320% Used by parameter lists
321\newenvironment{DoxyParams}[2][]{%
322\tabulinesep=1mm%
323\par%
324\ifthenelse{\equal{#1}{}}%
325{\begin{longtabu*}spread 0pt [l]{|X[-1,l]|X[-1,l]|}}% name + description
326{\ifthenelse{\equal{#1}{1}}%
327{\begin{longtabu*}spread 0pt [l]{|X[-1,l]|X[-1,l]|X[-1,l]|}}% in/out + name + desc
328{\begin{longtabu*}spread 0pt [l]{|X[-1,l]|X[-1,l]|X[-1,l]|X[-1,l]|}}% in/out + type + name + desc
329}
330\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #2}\\[1ex]%
331\hline%
332\endfirsthead%
333\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #2}\\[1ex]%
334\hline%
335\endhead%
336}{%
337\end{longtabu*}%
338\vspace{6pt}%
339}
340
341% Used for fields of simple structs
342\newenvironment{DoxyFields}[1]{%
343\tabulinesep=1mm%
344\par%
345\begin{longtabu*}spread 0pt [l]{|X[-1,r]|X[-1,l]|X[-1,l]|}%
346\multicolumn{3}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
347\hline%
348\endfirsthead%
349\multicolumn{3}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
350\hline%
351\endhead%
352}{%
353\end{longtabu*}%
354\vspace{6pt}%
355}
356
357% Used for fields simple class style enums
358\newenvironment{DoxyEnumFields}[1]{%
359\tabulinesep=1mm%
360\par%
361\begin{longtabu*}spread 0pt [l]{|X[-1,r]|X[-1,l]|}%
362\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
363\hline%
364\endfirsthead%
365\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
366\hline%
367\endhead%
368}{%
369\end{longtabu*}%
370\vspace{6pt}%
371}
372
373% Used for parameters within a detailed function description
374\newenvironment{DoxyParamCaption}{%
375\renewcommand{\item}[2][]{\\ \hspace*{2.0cm} ##1 {\em ##2}}%
376}{%
377}
378
379% Used by return value lists
380\newenvironment{DoxyRetVals}[1]{%
381\tabulinesep=1mm%
382\par%
383\begin{longtabu*}spread 0pt [l]{|X[-1,r]|X[-1,l]|}%
384\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
385\hline%
386\endfirsthead%
387\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
388\hline%
389\endhead%
390}{%
391\end{longtabu*}%
392\vspace{6pt}%
393}
394
395% Used by exception lists
396\newenvironment{DoxyExceptions}[1]{%
397\tabulinesep=1mm%
398\par%
399\begin{longtabu*}spread 0pt [l]{|X[-1,r]|X[-1,l]|}%
400\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
401\hline%
402\endfirsthead%
403\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
404\hline%
405\endhead%
406}{%
407\end{longtabu*}%
408\vspace{6pt}%
409}
410
411% Used by template parameter lists
412\newenvironment{DoxyTemplParams}[1]{%
413\tabulinesep=1mm%
414\par%
415\begin{longtabu*}spread 0pt [l]{|X[-1,r]|X[-1,l]|}%
416\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
417\hline%
418\endfirsthead%
419\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
420\hline%
421\endhead%
422}{%
423\end{longtabu*}%
424\vspace{6pt}%
425}
426
427% Used for member lists
428\newenvironment{DoxyCompactItemize}{%
429\begin{itemize}%
430\setlength{\itemsep}{-3pt}%
431\setlength{\parsep}{0pt}%
432\setlength{\topsep}{0pt}%
433\setlength{\partopsep}{0pt}%
434}{%
435\end{itemize}%
436}
437
438% Used for member descriptions
439\newenvironment{DoxyCompactList}{%
440\begin{list}{}{%
441\setlength{\leftmargin}{0.5cm}%
442\setlength{\itemsep}{0pt}%
443\setlength{\parsep}{0pt}%
444\setlength{\topsep}{0pt}%
445\renewcommand{\makelabel}{\hfill}%
446}%
447}{%
448\end{list}%
449}
450
451% Used for reference lists (@bug, @deprecated, @todo, etc.)
452\newenvironment{DoxyRefList}{%
453\begin{list}{}{%
454\setlength{\labelwidth}{10pt}%
455\setlength{\leftmargin}{\labelwidth}%
456\addtolength{\leftmargin}{\labelsep}%
457\renewcommand{\makelabel}{\xreflabel}%
458}%
459}{%
460\end{list}%
461}
462
463% Used by @bug, @deprecated, @todo, etc.
464\newenvironment{DoxyRefDesc}[1]{%
465\begin{list}{}{%
466\renewcommand\makelabel[1]{\textbf{##1}}%
467\settowidth\labelwidth{\makelabel{#1}}%
468\setlength\leftmargin{\labelwidth+\labelsep}%
469}%
470}{%
471\end{list}%
472}
473
474% Used by parameter lists and simple sections
475\newenvironment{Desc}
476{\begin{list}{}{%
477\settowidth{\labelwidth}{20pt}%
478\setlength{\parsep}{0pt}%
479\setlength{\itemsep}{0pt}%
480\setlength{\leftmargin}{\labelwidth+\labelsep}%
481\renewcommand{\makelabel}{\entrylabel}%
482}
483}{%
484\end{list}%
485}
486
487% Used by tables
488\newcommand{\PBS}[1]{\let\temp=\\#1\let\\=\temp}%
489\newenvironment{TabularC}[1]%
490{\tabulinesep=1mm
491\begin{longtabu*}spread 0pt [c]{*#1{|X[-1]}|}}%
492{\end{longtabu*}\par}%
493
494\newenvironment{TabularNC}[1]%
495{\begin{tabu}spread 0pt [l]{*#1{|X[-1]}|}}%
496{\end{tabu}\par}%
497
498% Used for member group headers
499\newenvironment{Indent}{%
500\begin{list}{}{%
501\setlength{\leftmargin}{0.5cm}%
502}%
503\item[]\ignorespaces%
504}{%
505\unskip%
506\end{list}%
507}
508
509% Used when hyperlinks are turned off
510\newcommand{\doxyref}[3]{%
511\textbf{#1} (\textnormal{#2}\,\pageref{#3})%
512}
513
514% Used to link to a table when hyperlinks are turned on
515\newcommand{\doxytablelink}[2]{%
516\ref{#1}%
517}
518
519% Used to link to a table when hyperlinks are turned off
520\newcommand{\doxytableref}[3]{%
521\ref{#3}%
522}
523
524% Used by @addindex
525\newcommand{\lcurly}{\{}
526\newcommand{\rcurly}{\}}
527
528% Colors used for syntax highlighting
529\definecolor{comment}{rgb}{0.5,0.0,0.0}
530\definecolor{keyword}{rgb}{0.0,0.5,0.0}
531\definecolor{keywordtype}{rgb}{0.38,0.25,0.125}
532\definecolor{keywordflow}{rgb}{0.88,0.5,0.0}
533\definecolor{preprocessor}{rgb}{0.5,0.38,0.125}
534\definecolor{stringliteral}{rgb}{0.0,0.125,0.25}
535\definecolor{charliteral}{rgb}{0.0,0.5,0.5}
536\definecolor{vhdldigit}{rgb}{1.0,0.0,1.0}
537\definecolor{vhdlkeyword}{rgb}{0.43,0.0,0.43}
538\definecolor{vhdllogic}{rgb}{1.0,0.0,0.0}
539\definecolor{vhdlchar}{rgb}{0.0,0.0,0.0}
540
541% Color used for table heading
542\newcommand{\tableheadbgcolor}{lightgray}%
543
544% Version of hypertarget with correct landing location
545\newcommand{\Hypertarget}[1]{\Hy@raisedlink{\hypertarget{#1}{}}}
546
547% possibility to have sections etc. be within the margins
548% unfortunately had to copy part of book.cls and add \raggedright
549\makeatletter
550\newcommand\doxysection{\@startsection {section}{1}{\z@}%
551{-3.5ex \@plus -1ex \@minus -.2ex}%
552{2.3ex \@plus.2ex}%
553{\raggedright\normalfont\Large\bfseries}}
554\newcommand\doxysubsection{\@startsection{subsection}{2}{\z@}%
555{-3.25ex\@plus -1ex \@minus -.2ex}%
556{1.5ex \@plus .2ex}%
557{\raggedright\normalfont\large\bfseries}}
558\newcommand\doxysubsubsection{\@startsection{subsubsection}{3}{\z@}%
559{-3.25ex\@plus -1ex \@minus -.2ex}%
560{1.5ex \@plus .2ex}%
561{\raggedright\normalfont\normalsize\bfseries}}
562\newcommand\doxyparagraph{\@startsection{paragraph}{4}{\z@}%
563{3.25ex \@plus1ex \@minus.2ex}%
564{-1em}%
565{\raggedright\normalfont\normalsize\bfseries}}
566\newcommand\doxysubparagraph{\@startsection{subparagraph}{5}{\parindent}%
567{3.25ex \@plus1ex \@minus .2ex}%
568{-1em}%
569{\raggedright\normalfont\normalsize\bfseries}}
570\makeatother
571% Define caption that is also suitable in a table
572\makeatletter
573\def\doxyfigcaption{%
574\H@refstepcounter{figure}%
575\@dblarg{\@caption{figure}}}
576\makeatother
577