Pandoc 代码块未使用 Eisvogel 和 Markdown 对齐

Pandoc 代码块未使用 Eisvogel 和 Markdown 对齐

嘿,又是我,我又带着一些让我睡不着觉的事情回来了。

我正在使用流行的冰鸟Pandoc 模板用于将我的 markdown 文件渲染为 PDF。到目前为止,一切都运行良好,但我刚刚注意到 blockquotes 与文档的其余部分不一致。我检查了eisvogel.latex文件,但我不知道问题是什么。。这让我抓狂。由于某种原因,这些块太宽了几个点...请参见下面的图片,但要小心,这会引发问题。

在此处输入图片描述

放大后,可以清楚地看到代码块比其余内容宽几个点(左侧和右侧都受到影响)。

左边:

在此处输入图片描述

正确的:

在此处输入图片描述

我寻求你的帮助!我应该能再次入睡了。:(

答案1

当使用默认的 Haskell skylighting 库进行代码高亮显示时,pandoc 在名为“ Shaded”的环境中排版代码列表,它将该snugshade环境定义为框架包装

该环境的定义使得文本的开始位于其通常位置,但是阴影区域有填充,因此它延伸到通常的排版区域之外。

但是,该软件包还提供了一个带星号的版本,该版本将阴影区域的填充保留在通常的排版区域的内部而不是外部,因此里面的实际文本在两侧都略微缩进。

因此,您可以做的一件事是重新定义 pandoc 的Shaded环境以使用它:

\renewenvironment{Shaded}{\begin{snugshade*}}{\end{snugshade*}}

您可以将其放在 markdown 文档中、yaml 选项中,或者最合适的是,放在使用 pandoc 选项包含在序言中的文件header-includes:末尾。./LaTeX/headers.tex-H

由于我没有您的my.theme突出显示样式,并且它所基于的 Kate 主题使用白色背景,所以我无法使用它进行测试,但这是使用该breezedark主题的结果:

带有 snugshade 的代码块*

相关内容