我遵循了doxygen手册和其他一些关于堆栈溢出的问题,我设法让doxygen从我的代码中创建一个pdf。我正在编写一本手册,有很多方程式,并且想要一致的符号,所以我创建了一个乳胶样式文件。我在文件夹manual
中的设置大致类似于
html/
latex/
Doxyfile
style.sty
然后我必须在latex/
中创建一个链接,使其工作ln -s ../style.sty
,style.sty
\newcommand{\cond}{\,|\,}
\newcommand\rmdx[1]{\mbox{d}#1\,}
我添加到Doxyfile
EXTRA_PACKAGES = style
不幸的是,创建的html输出只包含说
的mathjax框Undefined control sequence \cond
虽然pdf中的数学很好
答案 0 :(得分:4)
有点单调乏味的方法是在javascript中配置mathjax以便像这样学习newcommand
:
将MATHJAX_CODEFILE = newcommands.js
添加到doxyfile
。然后
在与newcommands.js
doxyfile
MathJax.Hub.Config({
TeX: {
Macros: {
cond: ["{\\,|\\,}"],
rmdx: ["{\\mbox{d}#1\\,}",1]
}
}
});
因此必须复制命令才能输出pdf和html,但至少可以这样做。
来源:mathjax http://www.doxygen.nl/manual/config.html#config_html上的doxygen手册,tex宏上的mathjax手册http://docs.mathjax.org/en/latest/tex.html#defining-tex-macros
答案 1 :(得分:0)
这是一个老问题,但我确信它仍然与许多doxygen用户有关。所以这是另一种选择:
有一个稍微容易的解决方案。我'我不确定它是否适用于旧版本的MathJax,但它确实适用于v2.7。
您可以使用\htmlonly
和\endhtmlonly
来实现相同目标,而无需创建newcommands.js
之类的外部文件。例如:
\htmlonly
\(
\def\KK{\bf K}
\def\uu{\bf u}
\def\ff{\bf f}
\)
\endhtmlonly
定义3个宏。它只是一个HTML文件的本地。因此,根据您的情况,newcommands.js
可能更容易,或者这可能更容易。
将在html输出中逐字放置的\htmlonly
and \endhtml
tags分隔文本。 MathJax将处理的\(
and \)
tags分隔部分。