【问题标题】:problematic '\\+' sequences in generated TeX files生成的 TeX 文件中有问题的 '\\+' 序列
【发布时间】:2016-07-26 20:32:56
【问题描述】:

我最近更新了 Doxygen,发现 Latex 对生成的 .tex 文件非常不满意——很多关于“未定义的控制序列”的抱怨。这些与看似随机插入文本的“\+”实例相关联。如果我只是蛮力从生成的 .tex 文件中删除了所有 '\+' 实例,pdflatex 能够成功完成,并且我得到了一个看起来合理的文档。

然后我在 Doxygen 源代码中浏览了一下,发现 util.cpp 似乎负责发出 '\+' 序列,并且当一个名为 insideTabbing 的布尔值时它会这样做设置。这对我来说似乎有点奇怪,作为一个实验,它改变了无论在哪里进行的测试的意义。当我使用修改后的 doxygen 运行时,生成的代码似乎很好。

那么,我的 Doxyfile 中是否有一些我未能使用的设置,哪些会阻止我看到的行为?

【问题讨论】:

  • 您是否在使用非标准的 doxygen.sty 文件?我问是因为 \+ 命令是在该样式表文件中定义的,并且仅在几个版本前引入。
  • 我不确定。我加入了一个项目,该项目有一个现有的 doxygen.sty 文件,只是粗略地检查了一下。更新 doxygen 后,我确实使用了 'doxygen -u' 来更新样式文件。
  • 我刚刚从头开始生成了一个样式文件,并将其与我的更新版本进行了比较。这些差异似乎都是合理的。我应该寻找一种特殊的设置吗?
  • 该命令实际上在我现在看到的 refman.tex 中。它看起来如下\newcommand{\+}{\discretionary{\mbox{\scriptsize$\hookleftarrow$}}{}{}} 所以你可能也在使用自定义标题,它缺少这个新命令。
  • 这听起来很不错。我们确实有一个 'coverpage.tex' 并入 refman.tex。我可以在星期一回去工作时编辑coverpage.tex。如果解决了问题,你可以把你的评论变成答案,我会接受的。

标签: c++ doxygen


【解决方案1】:

关于定义newcommand 的评论为我的问题提供了答案。在我的 Doxygen 配置文件中,LATEX_HEADER 被赋予了一个文件名作为值。该文件的内容最终会覆盖/替换通常为refman.tex 生成的一些内容。一旦我将\newcommand{\+}{\discretionary{\mbox{\scriptsize$\hookleftarrow$}}{}{}} 合并到我的头文件中,pdflatex 就能够成功运行完成。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-20
    相关资源
    最近更新 更多