【发布时间】:2014-01-21 02:24:04
【问题描述】:
我想知道如何将多个 pandoc 文件编译成一个输出文档,每个输入文件都有一个标题栏。
例如假设我有两个文件:
ch1.md:
% Chapter 1
% John Doe
% 1 Jan 2014
Here is chapter 1.
ch2.md:
% Chapter 2
% Jane Smith
% 3 Jan 2014
Here is chapter 2.
通常有多个输入文件,您可以通过将它们提供给 pandoc 来编译它们:
pandoc ch1.md ch2.md --standalone -o output.html
但是 pandoc 在编译之前连接输入文件,这意味着只有 first 标题块(来自ch1.md)被适当地设置样式。
我希望 每个 标题栏的样式适当(例如,在 html 中,标题栏的第一行样式为 <h1 class="title">,第二行样式为 <h2 class="author"> 等等)。
(注意:我还尝试将每个章节单独编译,然后使用 pandoc 将它们连接在一起。这会删除 1 之后章节的标题样式,但保留作者/日期的样式)。
为什么?我可以:
- 在单独的文档中编译每一章,并适当标记作者/标题/日期
- 一起编译整个文档,并为每一章适当地标记作者/标题/日期(可以使用
--chapters选项)
我可以直接在每个章节文件中用“#”(h1)指定标题,用“##”(h2)指定作者,用“###”(h3)直接指定日期,但这意味着 pandoc 没有“知道”我的文档的标题/标题/日期是什么,因此(例如)如果我编译为乳胶,它将不会正确使用 \date{} 或 \author{} 标签。
【问题讨论】:
-
您可能想单独编译它们,然后用 pdf 连接器连接它们。我会将这个问题提请邮件列表的注意,希望有人有更好的解决方案。
-
@Shahbaz - 我不想受限于 PDF,但是如果我对 PDF 输出感兴趣,那就可以了。我现在已经想出了一个足够好的解决方案。
-
试试
pandoc ch1.md ch2.md --standalone -o output.html --file-scope。根据文档,这将“在组合多文件文档之前单独解析每个文件。这将允许具有相同标识符的不同文件中的脚注按预期工作。如果设置此选项,脚注和链接将无法跨文件工作。读取二进制文件(docx、odt、epub)意味着 --file-scope."
标签: pandoc