まだ貴重だと思います。Python でPandoc フィルターを作成して列を簡単に配置できるようにしたので、次の方法でプレゼンテーションを作成できます。
# Hello World
[columns]
[column=0.5]
~~~python
if __name__ == "__main__":
print "Hello World"
~~~
[column=0.5]
This is how a "Hello World" looks like in Python
[/columns]
フィルタは各マークアップを \begin{columns} と \column{.5\textwidth} に変換するため、上記のドキュメントは
\begin{frame}[fragile]{Hello}
\begin{columns}
\column{0.5\textwidth}
\begin{Shaded}
\begin{Highlighting}[]
\NormalTok{some python code}
\end{Highlighting}
\end{Shaded}
\column{0.5\textwidth}
Hello World
\end{columns}
\end{frame}
コードフィルターはこちら
import pandocfilters as pf
def latex(s):
return pf.RawBlock('latex', s)
def mk_columns(k, v, f, m):
if k == "Para":
value = pf.stringify(v)
if value.startswith('[') and value.endswith(']'):
content = value[1:-1]
if content == "columns":
return latex(r'\begin{columns}')
elif content == "/columns":
return latex(r'\end{columns}')
elif content.startswith("column="):
return latex(r'\column{%s\textwidth}' % content[7:])
if __name__ == "__main__":
pf.toJSONFilter(mk_columns)
pandoc フィルターを使用しない場合は、フィルターを同じドキュメントの場所columnfilter.py
(または別の名前) に保存して実行するだけです。
pandoc -t beamer --filter columnfilter.py yourDocument.mkd
そして楽しんでください!