我一直在玩Pandoc。
无论如何在生成的目录之前插入页面?
例如:
非常感谢提前!
答案 0 :(得分:6)
对于这个答案,我将假设您正在生成降价,尽管其他文件格式的过程也相同。
关键见解是Pandoc使用模板来确定最终展示位置。它有默认模板,如果你修改它们,你可以改变部分的顺序。
找到默认模板
> pandoc -D markdown
$if(titleblock)$
$titleblock$
$endif$
$for(header-includes)$
$header-includes$
$endfor$
$for(include-before)$
$include-before$
$endfor$
$if(toc)$
$toc$
$endif$
$body$
$for(include-after)$
$include-after$
$endfor$
下一步你不需要这个,但是如果你好奇这些文件存在的地方,那么要求一个无意义的文件类型是有效的(虽然我确信有更好的方法):
> pandoc -D nonsense
pandoc: Could not find data file /usr/local/.../templates/default.nonsense
复制并修改默认模板
> pandoc -D markdown > modified.markdown
使用您喜欢的文字编辑器,您可以打开modified.markdown将$body$
放在$toc$
之前。
$body$
$if(toc)$
$toc$
$endif$
使用修改后的模板
> pandoc --template modified.markdown <... rest of your command ...>
答案 1 :(得分:4)
我猜你想创建一个带有标题页或标题信息的HTML文件。解决方案是在多个步骤中完成。
首先,将标题页一起编译为一个html。
pandoc。\ 01_HEADER.markdown -o header.html
然后在主体前面加上header.html:
pandoc -s -S --toc -B。\ header.html。\ 02_Document.markdown -o complete_doc.html
完成。
pandoc帮助说明了使多部分文档成为可能的可能性,-B和-H都可以工作,但我认为-B在我的情况下更正确。
-H FILENAME --include-in-header=FILENAME
-B FILENAME --include-before-body=FILENAME
-A FILENAME --include-after-body=FILENAME
在我的情况下,我使用样式表来完成并获得完美的文档:
pandoc -s -S -c .\res\github-pandoc.css .\01_HEADER.markdown -o header.html
pandoc -s -S --toc --toc-depth=2 -c .\res\github-pandoc.css -B .\header.html .\02_Document.markdown -o complete_document.html
答案 2 :(得分:3)
使用您可以在pandoc --print-default-template=markdown
的输出中观察到的 include-before 标记
---
title: My Way
toc: true
include-before: |
See these lines
Come __before__ the [toc](/dev/null)
---
# I've lived a life that's full
# I traveled each and every highway
# But more, much more than this
# I did it my way
答案 3 :(得分:0)
这些解决方案都不适合我,建议使用Pandoc模板,但不提供详细信息,这是一个顶级注释。因此,这是一个简单的修复程序。
从此处下载默认的Pandoc模板:https://github.com/jgm/pandoc-templates,例如我使用了default.tex
,但将其重命名为template.tex
。
修改模板以插入其他内容,创建新页面等,例如:
\input{title.tex}
\newpage
\input{acknowledgements.tex}
\newpage
$if(toc)$
$if(toc-title)$
\renewcommand*\contentsname{$toc-title$}
$endif$
\newpage
使用此修改后的模板而不是默认模板,例如
pandoc --template=template.tex -o document.pdf document.tex`.
就是这样。