首页 > 解决方案 > 如何在 Pandoc 交叉引用中使用 LaTeX 部分编号

问题描述

Pandoc 文档说,可以通过多种方式对节标题进行交叉引用。例如,您可以创建自己的 ID 并引用该 ID。例如:

# This is my header {#header}

将创建一个可以在文本中引用的值为“#header”的 ID,如下所示:

[Link to header](#header)

这将显示带有标题链接的文本“链接到标题”。

当编译为 LaTeX 文档时,我在任何地方都找不到如何使链接的文本成为节号。

例如,如果我的标题编译为“1.2.3 节标题”,我希望我对文本的交叉引用显示为“1.2.3”。

标签: latexmarkdownpandoc

解决方案


您可以使用pandoc-secnos过滤器,它是pandoc-xnos过滤器套件的一部分。

标题

# This is my header {#sec:header}

使用@sec:header. 或者,您可以参考

# This is my header

使用@sec:this-is-my-header.

以这种方式编码的 Markdown 文档可以通过添加--filter pandoc-secnospandoc调用中来处理。--number-sections也应该使用该选项。输出使用 LaTeX 的本机命令(即,\label\ref\cref)。

这种方法的好处是其他格式(html、epub、docx、...)的输出也是可能的。


推荐阅读