我正在使用Doxygen为我的代码生成文档。我需要制作一个PDF版本,并使用Doxygen的LaTeX输出似乎是这样做的。
然而,我遇到了许多令人讨厌的问题,并且对LaTeX一无所知以前对如何处理它们并没有太多了解,并且对LaTeX相关事物的无数参考并没有多大帮助。 ..
我研究了如何在sty文件中创建自定义样式的东西以及如何让Doxygen使用它。经过大量的搜索,我发现了如何通过这个设置页边距等,我猜这可能是我想要做的其他事情我想要的文件,但我似乎无法找到任何doign的命令我想要的是:(
文档开头的目录包含很多项目,而不是因为它使内容很长。有没有办法限制这个内容只是说前两个级别,而不是每个单独的函数,变量等的条目?我很喜欢保留所有书签。我确实尝试了“COMPACT_LATEX”选项,但除了删除内容页面上的项目外,还删除了每个部分开头的书签和成员列表,我确实希望保留这些内容。
有没有办法改变事物的顺序,比如把完整的类描述放在部分的开头,而不是在所有成员和属性之后?
答案 0 :(得分:7)
好的,要解决tocdepth
计数器问题,请将以下行添加到.sty
文件中:
\AtBeginDocument{\setcounter{tocdepth}{2}}% or whatever level you want
您可以将PDF书签深度设置为单独的值:
% requires you \usepackage{hyperref} first
\hypersetup{
bookmarksdepth = section, % of whatever level you want
}
另请注意,如果您有一个数据/表格列表,tocdepth
必须至少为2才能显示。
我没有看到任何方法在LaTeX文件中重新排列这些项目 - Doxygen只是把它们放在那里,所以我们做不了多少。您将不得不在Doxygen文档周围查看是否有任何方法来指定我猜的顺序。 (这是希望!)
答案 1 :(得分:1)
你所以关闭。
Google搜索“乳胶含量水平”让我看到了LaTeX - customizing the depth of the table of contents for different parts of the thesis
\setcounter{tocdepth}{n}
其中n
仅从最高级别分部开始为零。这可以在所有默认样式中定义,但在doxygen中值得一试。
答案 2 :(得分:1)
你可以写一个Perl / Awk脚本来简单地从目录中删除不需要的行。对于文件burble.tex
,Latex将生成文件burble.toc
,其中包含以下行:
\contentsline {subsection}{Class F rewrites}{38} \contentsline {subsection}{Class M rewrites}{39} \contentsline {section}{\numberline {7}Definition and properties of the translation}{44} \contentsline {paragraph}{Well-formedness}{54}
简单的正则表达式将识别每行所属的级别,您可以根据该级别过滤该文件。按照您希望的方式获得目录后,将\nofiles
插入适当的位置(样式表?),这意味着Latex将读取辅助文件但不会覆盖它们。