Markdown --> LaTeX Beamer --> PDF という変換を Pandoc でするシェルスクリプト
輪講のスライドのように,数式を含むPDFを定期的に量産しなければならないことがあります。そんなときには,Markdown で書いた原稿をパパパッとPDFに変換したいですね。
本稿では,以下のような要件をみたす自動化を行います。
- beamer でスライドをつくりたい
- 原稿は markdown で書きたい
- プリアンブルや題名などは毎回ほぼ同じでいい
これを満たすために,今回は以下のような流れにしました。
- スライドに変換するためのひな形となる LaTeX マスターファイルを作成します。
- 原稿を Markdown で書きます。これは LaTeX マスターファイルの本文の部分にあとで挿入します。
- Markdown ファイルを Pandoc で LaTeX ファイル (Beamer スタイル) に変換します。
- ptex2pdf コマンドによって LaTeX マスターファイルを PDF に変換します。
以上の手順のうち,3と4をシェルスクリプトによって自動化します。
手順
では環境構築も含めた実際の手順を見てみましょう。
-
Pandoc をインストールします。古いと引っかかることもあるので,例えば Ubuntu なら
apt-get
するよりも debian パッケージを落としてきてsudo dpkg -i $DEB
するほうがおすすめです。 - LaTeX 環境の構築をします。TeX wiki などを参考にするのが多分一番速いと思います。なかでも,TeX Live には,スライドをつくるために使う Beamer も含まれているのでおすすめです。TeX Live のダウンロードとインストールには,合わせて1時間以上は見込んでおきます。
- プリアンブルや題名などを書いたマスターファイルを
master.tex
などとして作成します。 beamer の詳細については Soma さんのページや辻研究室などを参照してください。途中,本文となる部分を以下のように編集してください。
\begin{document}
\input{body}
\end{document}
4.原稿を Markdown で書きます (これが上記 \begin{document}
から \end{document}
の中身になります)。ファイル名は自由です。ここでは仮に draft.md
としておきます。
5. 以下のシェルスクリプトを書きます。
#!/bin/sh
pandoc $1 -o body.tex --latex-engine=lualatex -t beamer
ptex2pdf -u -l -ot "-synctex=1 -file-line-error"
master.tex
exit 0
6.手順 3,4,5 で作成したファイルをすべて同じディレクトリに置いて,そこでスクリプトを走らせます。以下のように,原稿ファイル名を引数に指定してください。
$ ./typeset.sh draft.md
...
master.pdf generated by dvipdfmx.
以上のように,最後に「generated by dvipdfmx.」が表示されれば成功です。
随所でエラーに悩まされると思いますが,幸い LaTeX のエラー周りに関する日本語情報は豊富です。楽しい Markdown & LaTeX ライフを!
Author And Source
この問題について(Markdown --> LaTeX Beamer --> PDF という変換を Pandoc でするシェルスクリプト), 我々は、より多くの情報をここで見つけました https://qiita.com/aximov/items/762777f91a9c4bd3fac5著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .