我有一个由 latex 生成的.toc文件,其中包含一个大文档的目录。我想将目录提取到(github-)markdown列表中,例如与pandoc。

例如我有

\contentsline {chapter}{\numberline {1}Introduction}{1}{chapter.1}
\contentsline {section}{\numberline {1.1}Aim and Motivation}{1}{section.1.1}
\contentsline {section}{\numberline {1.2}State of the art}{1}{section.1.2}
\contentsline {section}{\numberline {1.3}Outline}{1}{section.1.3}
\contentsline {chapter}{\numberline {2}Fundamentals}{2}{chapter.2}
...

在我的.toc文件中。

并希望得到这样的东西
1. Introduction
  1.1. Aim and Motivation
  1.2. State-of-the-art
  1.3. Outline
2. Fundamentals

另一种选择是直接从tex文件中提取此信息(不包含内容)。但是,我无法正常工作,而且我也认为这样会更容易出错。

有什么建议么?

最佳答案



Pandoc可以做到这一点:

$ pandoc -s --toc input.tex -o output.md

要排除文档正文内容,您必须使用自定义的pandoc markdown模板:
$ pandoc -D markdown > mytemplate.md

修改mytemplate.md以保留$toc$并删除$body$,然后与pandoc --template mytemplate.md ...一起使用

如果您想对其进行更多自定义,我建议您输出到html(pandoc -t html)而不是markdown,然后编写一个遍历html DOM并进行编号的小脚本。

关于latex - 从 latex .toc文件中生成用于 Markdown 的目录,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45215470/

10-11 06:50