我想使用pandoc将markdown文件转换为html和pdf。 对于用于打印的pdf文件,我想以两列格式呈现(窄)文本块。这就是我提出的(并且不起作用):
---
papersize: a4
documentclass: article
header-includes:
- \usepackage{multicol}
...
H1
==============
H2 - A
--------------
\begin{multicols}{2}
### H3 - a
Blah blah blah...
### H3 - b
Blah blah blah...
### H3 - c
Blah blah blah...
\end{multicols}
H2 - B
--------------
Blah blah blah...
这可以通过pandoc实现吗?问题在于,pandoc似乎将\begin{multicols}{2}
到\end{multicols}
的所有内容视为原始乳胶来源。这意味着:
有没有办法指示pandoc注入环境启动命令(\begin{multicols}{2}
)但是在那时停止LaTeX原始块而不是扫描找到它的结束?或者可能是达到预期效果的更好解决方案?
我用于转换的命令行是:
pandoc --standalone --normalize -f markdown-hard_line_breaks -t html5 --self-contained -o out.pdfl in.md
pandoc --standalone --normalize -f markdown-hard_line_breaks -t latex -o out.pdf in.md
答案 0 :(得分:17)
您可以使用所讨论的技巧here
基本上,Pandoc被编码为识别\ begin和\ end,所以在头文件中定义\ Begin和\ End并使用它们。
E.g:
---
papersize: a4
documentclass: article
header-includes:
- \usepackage{multicol}
- \newcommand{\hideFromPandoc}[1]{#1}
- \hideFromPandoc{
\let\Begin\begin
\let\End\end
}
...
H1
==============
H2 - A
--------------
\Begin{multicols}{2}
### H3 - a
Blah blah blah...
### H3 - b
Blah blah blah...
### H3 - c
Blah blah blah...
\End{multicols}
H2 - B
--------------
Blah blah blah...