由于我使用 Markdown 来格式化我的文本,因此这不是一个直接的 LaTeX 问题,但“堆栈”的这个子部分似乎是提出我的问题最正确的地方。
我使用以下命令从 markdown 通过 Pandoc 生成 PDF:
pandoc myDoc.md --chapters -o result.pdf
它从我的 markdown 生成章节。这很好,但是它把章节称为“第 1 章”、“第 2 章”等等(参见http://cl.ly/PfRJ)。对于英语文件,这没问题。但我的文件是荷兰语的。
有什么办法可以改变这种情况吗?我认为某个地方有一个模板可以存储这些东西?但我似乎找不到它。
答案1
您可以将lang
选项传递给模板,然后使用-V
模板将其进一步传递给 babel 包。
pandoc -V lang=nl somefile.markdown
这被翻译成以下 LaTeX 代码,应产生荷兰语章节标题。
\usepackage[dutch]{babel}
答案2
这很简单。您必须将以下参数传递给调用pandoc
。
-V lang=de
您必须根据 BCP 47 使用语言参数(如 en-GB、fr、de……)
答案3
您还可以使用 YAML 元数据来存储语言设置。
---
lang: nl
---
将其添加到 markdown 文件的顶部。您无需修改命令pandoc
。
答案4
@Marco 已经回答了您的主要问题。不过,这个问题仍未得到解决:
“我认为某个地方有一个模板可以存储这些东西?但我似乎找不到它。”
如果您没有在 Pandoc 命令行上使用 引用特定模板--template=my-latex-template.tex
,那么 Pandoc 将使用内部可用的模板。
Pandoc 为其可以生成的(几乎)所有输出格式都提供了这样的模板。
您可以使用以下命令打印 LaTeX 模板:
pandoc -D latex | tee pandoc-default-template.latex
如果你在文本编辑器中打开该模板,你将看到它使用变量的位置:
- 这些变量看起来像
$varname$
——也就是说,它们被$
字符包围了。 - 您可以看到变量名称是什么。
- 您可以看到如何使用命令行开关来影响生成文档的结果:
-V varname="some value"
或
--variable=varname:"some value"
。