繁体   English   中英

doxgygen html输出中的latex newcommand

[英]latex newcommand in doxgygen html output

我遵循了doxygen手册以及此处有关堆栈溢出的其他一些问题,并且设法使doxygen从我的代码中创建了pdf。 我正在写手册,有很多方程,并且想要一个一致的符号,所以我创建了一个乳胶样式文件。 我在文件夹manual设置大致类似于

html/
latex/
Doxyfile
style.sty

然后,我不得不在ln -s ../style.sty latex/创建一个链接,以使其在ln -s ../style.stystyle.sty

\newcommand{\cond}{\,|\,}
\newcommand\rmdx[1]{\mbox{d}#1\,}

我添加到Doxyfile

EXTRA_PACKAGES         = style

不幸的是,创建的html输出仅包含mathjax框,内容为

Undefined control sequence \cond

虽然数学在pdf中很好

有点乏味的方法是在javascript中配置mathjax来学习newcommand如下所示:

添加MATHJAX_CODEFILE = newcommands.jsdoxyfile 。然后创建newcommands.js在同一目录中doxyfile

MathJax.Hub.Config({
    TeX: {
        Macros: {
            cond: ["{\\,|\\,}"],
            rmdx: ["{\\mbox{d}#1\\,}",1]
        }
    }
});

因此,必须复制命令以具有pdf和html输出,但是至少可以正常工作。

来源:Mathjax上的doxygen手册http://www.doxygen.nl/manual/config.html#config_html,tex宏上的mathjax手册http://docs.mathjax.org/en/latest/tex.html#defining-tex -宏

这是一个古老的问题,但我敢肯定,它仍然与许多氧气使用者有关。 所以这是一个替代方案:

有一个稍微简单的解决方案。 我不确定它是否适用于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可能会更容易,也可能会更容易。

\\htmlonly\\endhtml标记定界了将逐字放置在html输出中的文本。 \\(\\)标记界定了MathJax将处理的部分。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM