【问题标题】:pandoc generates a pdf from a markdown file that truncates and looses characters inside blocks ``` ... ```pandoc 从 markdown 文件生成 pdf,该文件截断和丢失块内的字符 ``` ... ```
【发布时间】:2021-06-13 05:22:00
【问题描述】:

Debian 10 下,很长一段时间以来,使用各种版本的 Pandoc,我正在从 生成一个 pdf 文件>markdown 文档,使用这个命令:

pandoc elk.md -o elk.pdf

elk.md 文件中的 ```bash 块下有以下内容:

echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee /etc/apt/sources.list.d/elastic-7.x.list

它会生成一个 pdf ,其行被截断:

试图复制它,即使选择它作为一个块,在生成的pdf中上下一行,只保留这部分文本:

echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee /etc/apt/sou

原始内容丢失了。
有什么解决方法可以使 pandoc 正常工作?

注意 1:手动添加换行符(必要时还可以添加 \ 字符),如下所示:

echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" \ 
  | sudo tee /etc/apt/sources.list.d/elastic-7.x.list

不会是一个解决方案。
如果我在一个块中添加更大的源内容,我不打算检查和编辑它的所有行。

注意 2 :在这个示例中,markdown 没有标题,因此 pdf 生成的(奇怪的)默认边距为 6 或 8(? ) 厘米。我通常添加这个标题:

---
geometry: margin=2cm
classoption: fleqn
---
  • 仅将其边距设置为 2 厘米。

  • 允许更好地格式化某些乳胶内容,并在需要时允许使用数学公式以及文本颜色。

但这并不能改变我面临的麻烦。

【问题讨论】:

标签: markdown pandoc


【解决方案1】:

@tarleb:非常感谢。在您的链接中,我发现了一个大大改善这种情况的解决方案的开始:

在我的降价标头中添加header-includes 部分很简单,并且可以消除大部分干扰
(我认为 \lstset 定义等其他解决方案所增加的问题与提供解决方案一样多,但没有尝试过)。

---
header-includes:
- \usepackage{fvextra}
- \DefineVerbatimEnvironment{Highlighting}{Verbatim}{breaklines,breakanywhere,commandchars=\\\{\}}

geometry: margin=2cm
classoption: fleqn
---

您可以看到改进!
但是...插入了一个额外的字符:,如果您复制粘贴内容,您的剪贴板将包含:

echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee
, →
/etc/apt/sources.list.d/elastic-7.x.list
  1. 三行,而不是一行
  2. 其中一个特别错误,一个寄生虫逗号不知从何而来,还有一个额外的

如果您复制粘贴此内容,这可能会导致问题。
(例如,如果你把它粘贴到你的终端上,确信它会开始执行:echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee,然后再考虑执行命令所需的一切)

【讨论】:

    猜你喜欢
    • 2021-03-18
    • 1970-01-01
    • 1970-01-01
    • 2023-03-15
    • 1970-01-01
    • 2016-02-14
    • 2014-02-07
    • 2015-02-22
    • 1970-01-01
    相关资源
    最近更新 更多