Ubuntu 16.04 LTS 上で Pandoc を使って markdown から PDF を生成する
Ubuntu 16.04 LTS 上で Pandoc を使って markdown から PDF を生成させる方法です.
Pandoc のウェブページ(http://pandoc.org/)より,pandoc-1.17.0.2-1-amd64.deb をダウンロードします.
次に,dpkg を使って以下のようにインストールします.
pandoc でmarkdown から PDF を生成するために TeX 環境が必要ですので, apt を使って TeXLive 等をインストールします.
以上でインストールは完了です.
PDF の生成は以下のようにします.
Pandoc の使い方などは他のページ等でたくさん紹介されていますので,ここでは割愛します.
最初,texlive と texlive-lang-cjk しかインストールしていなくて,上のように PDF を生成させてみたところ,
というエラーが出ました.
これは texlive-luatex をインストールすることで解決できます.
しかし,以下のように別のエラーが出るようになります.
これは texlive-xetex をインストールすることで解決できます.
したがって,TeXLive 環境として,texlive,texlive-lang-cjk,texlive-luatex,texlive-xetex をインストールしないといけないのです.
今日はここまで.
インストール
apt を使って pandoc をインストールしてもいいのですが,ここでは最新版(1.17.0.2)をインストールします.Pandoc のウェブページ(http://pandoc.org/)より,pandoc-1.17.0.2-1-amd64.deb をダウンロードします.
次に,dpkg を使って以下のようにインストールします.
$ sudo dpkg -i pandoc-1.17.0.2-1-amd64.deb
pandoc でmarkdown から PDF を生成するために TeX 環境が必要ですので, apt を使って TeXLive 等をインストールします.
$ sudo apt install texlive texlive-lang-cjk texlive-luatex texlive-xetex
以上でインストールは完了です.
PDF の生成
以下の markdown を test.md というファイル名で保存します.% テスト % コタ これはテストデータです. 日本語でも PDF ファイルを生成できます. - test1 - test2 - test3
PDF の生成は以下のようにします.
$ pandoc -V documentclass=ltjarticle --latex-engine=lualatex test.md -o test.pdf
Pandoc の使い方などは他のページ等でたくさん紹介されていますので,ここでは割愛します.
ハマリポイント
TeXLive 環境が不充分だといろいろエラーが出ます.最初,texlive と texlive-lang-cjk しかインストールしていなくて,上のように PDF を生成させてみたところ,
! LaTeX Error: File `luatexbase.sty' not found. Type X to quit or <RETURN> to proceed, or enter new name. (Default extension: sty) Enter file name: ! Emergency stop. <read *> l.77 \RequirePackage pandoc: Error producing PDF
というエラーが出ました.
これは texlive-luatex をインストールすることで解決できます.
しかし,以下のように別のエラーが出るようになります.
! LaTeX Error: File `filehook.sty' not found. Type X to quit or <RETURN> to proceed, or enter new name. (Default extension: sty) Enter file name: ! Emergency stop. <read *> l.21 \newif pandoc: Error producing PDF
これは texlive-xetex をインストールすることで解決できます.
したがって,TeXLive 環境として,texlive,texlive-lang-cjk,texlive-luatex,texlive-xetex をインストールしないといけないのです.
今日はここまで.
コメント
コメントを投稿