Я пытаюсь сгенерировать PDF из исходных файлов, используя Doxygen и MikTex (также проверенный Tex Live), но безуспешно.Вот пример файла, из которого я пытаюсь сгенерировать документацию:
/**
* @defgroup Example examplegroup
* @{ */
/**
* @brief Example function
* @param[in] e example var */
void exampleFunction( int e )
{
(void)e;
}
/** @} */
И когда я пытаюсь запустить latex / make.bat для генерации PDF, я получаю ошибку:
//...
("C:\Program Files\MiKTeX 2.9\tex/latex/caption\ltcaption.sty"))
("C:\Program Files\MiKTeX 2.9\tex/latex/etoc\etoc.sty")
No file refman.aux.
("C:\Program Files\MiKTeX 2.9\tex/latex/base\ts1cmr.fd")
("C:\Program Files\MiKTeX 2.9\tex/latex/psnfss\t1phv.fd")
("C:\Program Files\MiKTeX 2.9\tex/context/base\supp-pdf.mkii"
[Loading MPS to PDF converter (version 2006.09.02).]
) ("C:\Program Files\MiKTeX 2.9\tex/latex/oberdiek\epstopdf-base.sty"
("C:\Program Files\MiKTeX 2.9\tex/latex/oberdiek\grfext.sty"))
*geometry* driver: auto-detecting
*geometry* detected driver: pdftex
("C:\Program Files\MiKTeX 2.9\tex/latex/hyperref\nameref.sty"
("C:\Program Files\MiKTeX 2.9\tex/generic/oberdiek\gettitlestring.sty"))
No file refman.toc.
[1{C:/Users/FIJOGRE/AppData/Local/MiKTeX/2.9/pdftex/config/pdftex.map}]
[2]
Chapter 1.
(modules.tex ("C:\Program Files\MiKTeX 2.9\tex/latex/amsfonts\umsa.fd")
("C:\Program Files\MiKTeX 2.9\tex/latex/amsfonts\umsb.fd")
("C:\Program Files\MiKTeX 2.9\tex/latex/wasysym\uwasy.fd")
LaTeX Warning: Reference `group___example' on page 1 undefined on input line 3.
) [1] [2]
Chapter 2.
(group___example.tex ("C:\Program Files\MiKTeX 2.9\tex/latex/psnfss\ts1phv.fd")
("C:\Program Files\MiKTeX 2.9\tex/latex/psnfss\t1pcr.fd")
! Missing } inserted.
<inserted text>
}
l.28 \end{DoxyParams}
?
Итак, я пришел к выводу, что когда я использую param-tag в комментариях к исходному файлу, doxygen генерирует такой раздел DoxyParams для doxygen.sty, который вызывает проблемы:
%...
% Used by parameter lists
\newenvironment{DoxyParams}[2][]{%
\tabulinesep=1mm%
\par%
\ifthenelse{\equal{#1}{}}%
{\begin{longtabu*}spread 0pt [l]{|X[-1,l]|X[-1,l]|}}% name + description
{\ifthenelse{\equal{#1}{1}}%
{\begin{longtabu*}spread 0pt [l]{|X[-1,l]|X[-1,l]|X[-1,l]|}}% in/out + name + desc
{\begin{longtabu*}spread 0pt [l]{|X[-1,l]|X[-1,l]|X[-1,l]|X[-1,l]|}}% in/out + type + name + desc
}
\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #2}\\[1ex]%
\hline%
\endfirsthead%
\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #2}\\[1ex]%
\hline%
\endhead%
}{%
\end{longtabu*}%
\vspace{6pt}%
}
%...
Я думаюможет быть, ifthen-begin неправильно закрыты с помощью end-тегов?потому что, если я удаляю первый ifthens и начинает, я заставляю pdflatex работать.Или есть что-то еще?Есть ли ошибка в Doxygen, которая генерирует недопустимый doxygen.sty?Или проблема где-то еще?Что я могу сделать, чтобы генерация документации работала правильно?
РЕДАКТИРОВАТЬ:
Более подробная информация, я думаю, что проблема также связана с группировкой, потому что, если я удаляю группировки, генерация работает.Так что defgroup + param с doxygen + pdflatex -> проблемы.