doxygen.sty 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482
  1. \NeedsTeXFormat{LaTeX2e}
  2. \ProvidesPackage{doxygen}
  3. % Packages used by this style file
  4. \RequirePackage{alltt}
  5. \RequirePackage{array}
  6. \RequirePackage{calc}
  7. \RequirePackage{color}
  8. \RequirePackage{fancyhdr}
  9. \RequirePackage{longtable}
  10. \RequirePackage{verbatim}
  11. \RequirePackage{ifthen}
  12. \RequirePackage[table]{xcolor}
  13. % Use helvetica font instead of times roman
  14. \RequirePackage{helvet}
  15. \RequirePackage{sectsty}
  16. \RequirePackage{tocloft}
  17. \providecommand{\rmdefault}{phv}
  18. \providecommand{\bfdefault}{bc}
  19. % Setup fancy headings
  20. \pagestyle{fancyplain}
  21. \newcommand{\clearemptydoublepage}{%
  22. \newpage{\pagestyle{empty}\cleardoublepage}%
  23. }
  24. \renewcommand{\chaptermark}[1]{%
  25. \markboth{#1}{}%
  26. }
  27. \renewcommand{\sectionmark}[1]{%
  28. \markright{\thesection\ #1}%
  29. }
  30. \fancyhead[LE]{\fancyplain{}{\bfseries\thepage}}
  31. \fancyhead[CE]{\fancyplain{}{}}
  32. \fancyhead[RE]{\fancyplain{}{\bfseries\leftmark}}
  33. \fancyhead[LO]{\fancyplain{}{\bfseries\rightmark}}
  34. \fancyhead[CO]{\fancyplain{}{}}
  35. \fancyhead[RO]{\fancyplain{}{\bfseries\thepage}}
  36. \fancyfoot[LE]{\fancyplain{}{}}
  37. \fancyfoot[CE]{\fancyplain{}{}}
  38. \fancyfoot[RE]{\fancyplain{}{\bfseries\scriptsize \-Generated on \-Wed \-Sep 21 2011 12\-:35\-:46 for \-P\-U\-M\-A by Doxygen }}
  39. \fancyfoot[LO]{\fancyplain{}{\bfseries\scriptsize \-Generated on \-Wed \-Sep 21 2011 12\-:35\-:46 for \-P\-U\-M\-A by Doxygen }}
  40. \fancyfoot[CO]{\fancyplain{}{}}
  41. \fancyfoot[RO]{\fancyplain{}{}}
  42. %---------- Internal commands used in this style file ----------------
  43. \newcommand\tabfill[1]{%
  44. \dimen@\linewidth%
  45. \advance\dimen@\@totalleftmargin%
  46. \advance\dimen@-\dimen\@curtab%
  47. \parbox[t]\dimen@{\raggedright #1\ifhmode\strut\fi}%
  48. }
  49. \newcommand{\ensurespace}[1]{%
  50. \begingroup
  51. \setlength{\dimen@}{#1}%
  52. \vskip\z@\@plus\dimen@
  53. \penalty -100\vskip\z@\@plus -\dimen@
  54. \vskip\dimen@
  55. \penalty 9999%
  56. \vskip -\dimen@
  57. \vskip\z@skip % hide the previous |\vskip| from |\addvspace|
  58. \endgroup
  59. }
  60. % Generic environment used by all paragraph-based environments defined
  61. % below. Note that the command \title{...} needs to be defined inside
  62. % those environments!
  63. \newenvironment{DoxyDesc}[1]{%
  64. \ensurespace{4\baselineskip}%
  65. \begin{list}{}%
  66. {%
  67. \settowidth{\labelwidth}{40pt}%
  68. \setlength{\leftmargin}{\labelwidth}%
  69. \setlength{\parsep}{0pt}%
  70. \setlength{\itemsep}{-4pt}%
  71. \renewcommand{\makelabel}{\entrylabel}%
  72. }%
  73. \item[#1]%
  74. }{%
  75. \end{list}%
  76. }
  77. %---------- Commands used by doxygen LaTeX output generator ----------
  78. % Used by <pre> ... </pre>
  79. \newenvironment{DoxyPre}{%
  80. \small%
  81. \begin{alltt}%
  82. }{%
  83. \end{alltt}%
  84. \normalsize%
  85. }
  86. % Used by @code ... @endcode
  87. \newenvironment{DoxyCode}{%
  88. \footnotesize%
  89. \verbatim%
  90. }{%
  91. \endverbatim%
  92. \normalsize%
  93. }
  94. % Used by @example, @include, @includelineno and @dontinclude
  95. \newenvironment{DoxyCodeInclude}{%
  96. \DoxyCode%
  97. }{%
  98. \endDoxyCode%
  99. }
  100. % Used by @verbatim ... @endverbatim
  101. \newenvironment{DoxyVerb}{%
  102. \footnotesize%
  103. \verbatim%
  104. }{%
  105. \endverbatim%
  106. \normalsize%
  107. }
  108. % Used by @verbinclude
  109. \newenvironment{DoxyVerbInclude}{%
  110. \DoxyVerb%
  111. }{%
  112. \endDoxyVerb%
  113. }
  114. % Used by numbered lists (using '-#' or <ol> ... </ol>)
  115. \newenvironment{DoxyEnumerate}{%
  116. \enumerate%
  117. }{%
  118. \endenumerate%
  119. }
  120. % Used by bullet lists (using '-', @li, @arg, or <ul> ... </ul>)
  121. \newenvironment{DoxyItemize}{%
  122. \itemize%
  123. }{%
  124. \enditemize%
  125. }
  126. % Used by description lists (using <dl> ... </dl>)
  127. \newenvironment{DoxyDescription}{%
  128. \description%
  129. }{%
  130. \enddescription%
  131. }
  132. % Used by @image, @dotfile, and @dot ... @enddot
  133. % (only if caption is specified)
  134. \newenvironment{DoxyImage}{%
  135. \begin{figure}[H]%
  136. \begin{center}%
  137. }{%
  138. \end{center}%
  139. \end{figure}%
  140. }
  141. % Used by @image, @dotfile, @dot ... @enddot, and @msc ... @endmsc
  142. % (only if no caption is specified)
  143. \newenvironment{DoxyImageNoCaption}{%
  144. }{%
  145. }
  146. % Used by @attention
  147. \newenvironment{DoxyAttention}[1]{%
  148. \begin{DoxyDesc}{#1}%
  149. }{%
  150. \end{DoxyDesc}%
  151. }
  152. % Used by @author and @authors
  153. \newenvironment{DoxyAuthor}[1]{%
  154. \begin{DoxyDesc}{#1}%
  155. }{%
  156. \end{DoxyDesc}%
  157. }
  158. % Used by @date
  159. \newenvironment{DoxyDate}[1]{%
  160. \begin{DoxyDesc}{#1}%
  161. }{%
  162. \end{DoxyDesc}%
  163. }
  164. % Used by @invariant
  165. \newenvironment{DoxyInvariant}[1]{%
  166. \begin{DoxyDesc}{#1}%
  167. }{%
  168. \end{DoxyDesc}%
  169. }
  170. % Used by @note
  171. \newenvironment{DoxyNote}[1]{%
  172. \begin{DoxyDesc}{#1}%
  173. }{%
  174. \end{DoxyDesc}%
  175. }
  176. % Used by @post
  177. \newenvironment{DoxyPostcond}[1]{%
  178. \begin{DoxyDesc}{#1}%
  179. }{%
  180. \end{DoxyDesc}%
  181. }
  182. % Used by @pre
  183. \newenvironment{DoxyPrecond}[1]{%
  184. \begin{DoxyDesc}{#1}%
  185. }{%
  186. \end{DoxyDesc}%
  187. }
  188. % Used by @copyright
  189. \newenvironment{DoxyCopyright}[1]{%
  190. \begin{DoxyDesc}{#1}%
  191. }{%
  192. \end{DoxyDesc}%
  193. }
  194. % Used by @remark
  195. \newenvironment{DoxyRemark}[1]{%
  196. \begin{DoxyDesc}{#1}%
  197. }{%
  198. \end{DoxyDesc}%
  199. }
  200. % Used by @return
  201. \newenvironment{DoxyReturn}[1]{%
  202. \begin{DoxyDesc}{#1}%
  203. }{%
  204. \end{DoxyDesc}%
  205. }
  206. % Used by @since
  207. \newenvironment{DoxySince}[1]{%
  208. \begin{DoxyDesc}{#1}%
  209. }{%
  210. \end{DoxyDesc}%
  211. }
  212. % Used by @see
  213. \newenvironment{DoxySeeAlso}[1]{%
  214. \begin{DoxyDesc}{#1}%
  215. }{%
  216. \end{DoxyDesc}%
  217. }
  218. % Used by @version
  219. \newenvironment{DoxyVersion}[1]{%
  220. \begin{DoxyDesc}{#1}%
  221. }{%
  222. \end{DoxyDesc}%
  223. }
  224. % Used by @warning
  225. \newenvironment{DoxyWarning}[1]{%
  226. \begin{DoxyDesc}{#1}%
  227. }{%
  228. \end{DoxyDesc}%
  229. }
  230. % Used by @internal
  231. \newenvironment{DoxyInternal}[1]{%
  232. \paragraph*{#1}%
  233. }{%
  234. }
  235. % Used by @par and @paragraph
  236. \newenvironment{DoxyParagraph}[1]{%
  237. \begin{list}{}%
  238. {%
  239. \settowidth{\labelwidth}{40pt}%
  240. \setlength{\leftmargin}{\labelwidth}%
  241. \setlength{\parsep}{0pt}%
  242. \setlength{\itemsep}{-4pt}%
  243. \renewcommand{\makelabel}{\entrylabel}%
  244. }%
  245. \item[#1]%
  246. }{%
  247. \end{list}%
  248. }
  249. % Used by parameter lists
  250. \newenvironment{DoxyParams}[2][]{%
  251. \begin{DoxyDesc}{#2}%
  252. \item[] \hspace{\fill} \vspace{-40pt}%
  253. \settowidth{\labelwidth}{40pt}%
  254. \setlength{\LTleft}{0pt}%
  255. \setlength{\tabcolsep}{0.01\textwidth}%
  256. \ifthenelse{\equal{#1}{}}%
  257. {\begin{longtable}{|>{\raggedleft\hspace{0pt}}p{0.15\textwidth}|%
  258. p{0.815\textwidth}|}}%
  259. {\ifthenelse{\equal{#1}{1}}%
  260. {\begin{longtable}{|>{\centering}p{0.10\textwidth}|%
  261. >{\raggedleft\hspace{0pt}}p{0.15\textwidth}|%
  262. p{0.685\textwidth}|}}%
  263. {\begin{longtable}{|>{\centering}p{0.10\textwidth}|%
  264. >{\centering\hspace{0pt}}p{0.15\textwidth}|%
  265. >{\raggedleft\hspace{0pt}}p{0.15\textwidth}|%
  266. p{0.515\textwidth}|}}%
  267. }\hline%
  268. }{%
  269. \end{longtable}%
  270. \end{DoxyDesc}%
  271. }
  272. % Used for fields of simple structs
  273. \newenvironment{DoxyFields}[1]{%
  274. \begin{DoxyDesc}{#1}%
  275. \item[] \hspace{\fill} \vspace{-40pt}%
  276. \settowidth{\labelwidth}{40pt}%
  277. \setlength{\LTleft}{0pt}%
  278. \setlength{\tabcolsep}{0.01\textwidth}%
  279. \begin{longtable}{|>{\raggedleft\hspace{0pt}}p{0.15\textwidth}|%
  280. p{0.15\textwidth}|%
  281. p{0.635\textwidth}|}%
  282. \hline%
  283. }{%
  284. \end{longtable}%
  285. \end{DoxyDesc}%
  286. }
  287. % is used for parameters within a detailed function description
  288. \newenvironment{DoxyParamCaption}{%
  289. \renewcommand{\item}[2][]{##1 {\em ##2}}%
  290. }{%
  291. }
  292. % Used by return value lists
  293. \newenvironment{DoxyRetVals}[1]{%
  294. \begin{DoxyDesc}{#1}%
  295. \begin{description}%
  296. \item[] \hspace{\fill} \vspace{-25pt}%
  297. \setlength{\tabcolsep}{0.01\textwidth}%
  298. \begin{longtable}{|>{\raggedleft\hspace{0pt}}p{0.25\textwidth}|%
  299. p{0.77\textwidth}|}%
  300. \hline%
  301. }{%
  302. \end{longtable}%
  303. \end{description}%
  304. \end{DoxyDesc}%
  305. }
  306. % Used by exception lists
  307. \newenvironment{DoxyExceptions}[1]{%
  308. \begin{DoxyDesc}{#1}%
  309. \begin{description}%
  310. \item[] \hspace{\fill} \vspace{-25pt}%
  311. \definecolor{tableShade}{HTML}{F8F8F8}%
  312. \rowcolors{1}{white}{tableShade}%
  313. \arrayrulecolor{gray}%
  314. \setlength{\tabcolsep}{0.01\textwidth}%
  315. \begin{longtable}{|>{\raggedleft\hspace{0pt}}p{0.25\textwidth}|%
  316. p{0.77\textwidth}|}%
  317. \hline%
  318. }{%
  319. \end{longtable}%
  320. \end{description}%
  321. \end{DoxyDesc}%
  322. }
  323. % Used by template parameter lists
  324. \newenvironment{DoxyTemplParams}[1]{%
  325. \begin{DoxyDesc}{#1}%
  326. \begin{description}%
  327. \item[] \hspace{\fill} \vspace{-25pt}%
  328. \definecolor{tableShade}{HTML}{F8F8F8}%
  329. \rowcolors{1}{white}{tableShade}%
  330. \arrayrulecolor{gray}%
  331. \setlength{\tabcolsep}{0.01\textwidth}%
  332. \begin{longtable}{|>{\raggedleft\hspace{0pt}}p{0.25\textwidth}|%
  333. p{0.77\textwidth}|}%
  334. \hline%
  335. }{%
  336. \end{longtable}%
  337. \end{description}%
  338. \end{DoxyDesc}%
  339. }
  340. \newcommand{\doxyref}[3]{\textbf{#1} (\textnormal{#2}\,\pageref{#3})}
  341. \newenvironment{DoxyCompactList}
  342. {\begin{list}{}{
  343. \setlength{\leftmargin}{0.5cm}
  344. \setlength{\itemsep}{0pt}
  345. \setlength{\parsep}{0pt}
  346. \setlength{\topsep}{0pt}
  347. \renewcommand{\makelabel}{\hfill}}}
  348. {\end{list}}
  349. \newenvironment{DoxyCompactItemize}
  350. {
  351. \begin{itemize}
  352. \setlength{\itemsep}{-3pt}
  353. \setlength{\parsep}{0pt}
  354. \setlength{\topsep}{0pt}
  355. \setlength{\partopsep}{0pt}
  356. }
  357. {\end{itemize}}
  358. \newcommand{\PBS}[1]{\let\temp=\\#1\let\\=\temp}
  359. \newlength{\tmplength}
  360. \newenvironment{TabularC}[1]
  361. {
  362. \setlength{\tmplength}
  363. {\linewidth/(#1)-\tabcolsep*2-\arrayrulewidth*(#1+1)/(#1)}
  364. \par\begin{tabular*}{\linewidth}
  365. {*{#1}{|>{\PBS\raggedright\hspace{0pt}}p{\the\tmplength}}|}
  366. }
  367. {\end{tabular*}\par}
  368. \newcommand{\entrylabel}[1]{
  369. {\parbox[b]{\labelwidth-4pt}{\makebox[0pt][l]{%
  370. \usefont{OT1}{phv}{bc}{n}\color{darkgray}#1}\vspace{1.5\baselineskip}}}}
  371. \newenvironment{Desc}
  372. {\begin{list}{}
  373. {
  374. \settowidth{\labelwidth}{40pt}
  375. \setlength{\leftmargin}{\labelwidth}
  376. \setlength{\parsep}{0pt}
  377. \setlength{\itemsep}{-4pt}
  378. \renewcommand{\makelabel}{\entrylabel}
  379. }
  380. }
  381. {\end{list}}
  382. \newsavebox{\xrefbox}
  383. \newlength{\xreflength}
  384. \newcommand{\xreflabel}[1]{%
  385. \sbox{\xrefbox}{#1}%
  386. \setlength{\xreflength}{\wd\xrefbox}%
  387. \ifthenelse{\xreflength>\labelwidth}{%
  388. \begin{minipage}{\textwidth}%
  389. \setlength{\parindent}{0pt}%
  390. \hangindent=15pt\bfseries #1\vspace{1.2\itemsep}%
  391. \end{minipage}%
  392. }{%
  393. \parbox[b]{\labelwidth}{\makebox[0pt][l]{\textbf{#1}}}%
  394. }}%
  395. \newenvironment{DoxyRefList}{%
  396. \begin{list}{}{%
  397. \setlength{\labelwidth}{10pt}%
  398. \setlength{\leftmargin}{\labelwidth}%
  399. \addtolength{\leftmargin}{\labelsep}%
  400. \renewcommand{\makelabel}{\xreflabel}%
  401. }%
  402. }%
  403. {\end{list}}
  404. \newenvironment{DoxyRefDesc}[1]
  405. {\begin{list}{}{%
  406. \renewcommand\makelabel[1]{\textbf{##1}}
  407. \settowidth\labelwidth{\makelabel{#1}}
  408. \setlength\leftmargin{\labelwidth+\labelsep}}}
  409. {\end{list}}
  410. \newenvironment{Indent}
  411. {\begin{list}{}{\setlength{\leftmargin}{0.5cm}}
  412. \item[]\ignorespaces}
  413. {\unskip\end{list}}
  414. \setlength{\parindent}{0cm}
  415. \setlength{\parskip}{0.2cm}
  416. \addtocounter{secnumdepth}{2}
  417. \usepackage[T1]{fontenc}
  418. \makeatletter
  419. \renewcommand{\paragraph}{\@startsection{paragraph}{4}{0ex}%
  420. {-1.0ex}%
  421. {1.0ex}%
  422. {\usefont{OT1}{phv}{bc}{n}\color{darkgray}}}
  423. \renewcommand{\subparagraph}{\@startsection{subparagraph}{5}{0ex}%
  424. {-1.0ex}%
  425. {1.0ex}%
  426. {\usefont{OT1}{phv}{bc}{n}\color{darkgray}}}
  427. \makeatother
  428. \allsectionsfont{\usefont{OT1}{phv}{bc}{n}\selectfont\color{darkgray}}
  429. \stepcounter{secnumdepth}
  430. \stepcounter{tocdepth}
  431. \definecolor{comment}{rgb}{0.5,0.0,0.0}
  432. \definecolor{keyword}{rgb}{0.0,0.5,0.0}
  433. \definecolor{keywordtype}{rgb}{0.38,0.25,0.125}
  434. \definecolor{keywordflow}{rgb}{0.88,0.5,0.0}
  435. \definecolor{preprocessor}{rgb}{0.5,0.38,0.125}
  436. \definecolor{stringliteral}{rgb}{0.0,0.125,0.25}
  437. \definecolor{charliteral}{rgb}{0.0,0.5,0.5}
  438. \definecolor{vhdldigit}{rgb}{1.0,0.0,1.0}
  439. \definecolor{vhdlkeyword}{rgb}{0.43,0.0,0.43}
  440. \definecolor{vhdllogic}{rgb}{1.0,0.0,0.0}
  441. \definecolor{vhdlchar}{rgb}{0.0,0.0,0.0}