Micro template library A library for building device drivers
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.
 
 
 
 

504 lignes
11 KiB

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