【发布时间】:2018-09-15 02:14:28
【问题描述】:
我正在使用 pypandoc 将 markdown 文件转换为 LaTex。我的markdown文件有一个header,例如:
# Header Text #
当 pypandoc 将文件呈现为 .tex 文件时,它会显示为:
\hypertarget{header-text}{%
\section{Header Text}\label{header-text}}
虽然这是一个很好的功能,可以轻松链接回部分标题,但我不一定想要这样,并且在这种情况下更希望 pypandoc 只生成:
\section{Header Text}
是否有可用于关闭 \hypertarget{} 功能的 pandoc 设置或 pypandoc 设置?我已经查看了 pandoc 的文档,但没有在任何地方看到它。
【问题讨论】:
-
您能否补充几句关于为什么您更喜欢简单的
\section{}而不是更完整的版本?\hypertarget{}不应该给 AFAIK 带来任何问题。 -
我认为,如果它让您感到困扰,您必须对输出进行后处理.. 使用
sed例如 -
抱歉延迟响应,但我想澄清一个我不希望 pandoc 添加 \hypertarget{} 功能的原因。正如您将在上面看到的,pandoc 以“%”结束该行。出于某种原因,当我使用 jinja2 模板时,那个“%”符号会导致错误。这很奇怪,我知道。如果我只是在 LaTex 中处理 pandoc 创建的 .tex 文件,它就可以正常工作。但是,当我使用 jinja2 在 python 中处理时,由于某种原因,“%”符号会触发错误。这与 jinja2 试图解释 % 符号的方式有关,但我无法弄清楚发生了什么。
-
REVISED:抱歉延迟响应,但我想澄清一个我不希望 pandoc 添加 \hypertarget{} 功能的原因。正如您将在上面看到的,pandoc 以“%”结束该行,这是一种典型的 LaTex 方式,可确保忽略该行的其余部分。但是 jinja 然后将最后两个字符视为“{%”并将其解释为块的开始。如果我只是在 LaTex 中处理 pandoc 创建的 .tex 文件,它就可以正常工作。但是,当我使用 jinja2 在 python 中处理时,“%”符号会触发错误。
-
Pandoc 也将 \hypertarget 添加到上下文输出中。 hyperref 包与上下文不兼容这是一个问题。