PandocでMarkdownをPDFに変換 on Mac
Install
$ brew install pandoc
$ brew cask install mactex
zshを使用しているため、.zshrc に以下を追記
PATH=/usr/local/texlive/2019/bin/x86_64-darwin/:$PATH
変更内容を読み込む
$ source ~/.zshrc
以下のように実行
$ pandoc *.md -o sample.pdf --latex-engine=xelatex -V documentclass=bxjsarticle -V classoption=pandoc
Error
pandoc: pdflatex not found. pdflatex is needed for pdf output.
Pandocを実行すると以下のエラー
$ pandoc *.md -o sample.pdf
pandoc: pdflatex not found. pdflatex is needed for pdf output.
Pandocがpdflatexに依存していて、これがインストールされていないかららしい
$ pdflatex -v
zsh: command not found: pdflatex
mactex をbrewでインストール
$ brew cask install mactex
参考 https://superuser.com/questions/1038612/where-do-i-get-the-pdflatex-program-for-mac
command not found: pdflatex
$ pdflatex -v
zsh: command not found: pdflatex
パスを設定で実行できるようになった
$ pdflatex -v
pdfTeX 3.14159265-2.6-1.40.20 (TeX Live 2019)
kpathsea version 6.3.1
Copyright 2019 Han The Thanh (pdfTeX) et al.
There is NO warranty. Redistribution of this software is
covered by the terms of both the pdfTeX copyright and
the Lesser GNU General Public License.
For more information about these matters, see the file
named COPYING and the pdfTeX source.
Primary author of pdfTeX: Han The Thanh (pdfTeX) et al.
Compiled with libpng 1.6.36; using libpng 1.6.36
Compiled with zlib 1.2.11; using zlib 1.2.11
Compiled with xpdf version 4.01
! Package inputenc Error: Unicode character は (U+306F)
以下実行で上記エラー文
$ pandoc *.md -o sample.pdf
指示文どおりに以下のオプションで解消
Try running pandoc with --latex-engine=xelatex.
! Undefined control sequence.
以下のエラーはエスケープで解消
$ pandoc *.md -o sample.pdf --latex-engine=xelatex
! Undefined control sequence.
<argument> \n
l.935 エラー & - & ``-Error message\r\n
日本語が表示されない
-V documentclass=bxjsarticle -V classoption=pandoc
オプションを追加で解消
$ pandoc chapter1.md -o sample.pdf --latex-engine=xelatex -V documentclass=bxjsarticle -V classoption=pandoc
参考 https://qiita.com/sky_y/items/15bf7737f4b37da50372
! Text line contains an invalid character.
一回削除して同じ文章を打ち直すと解消
Reference
- Pandoc Manual
- https://pandoc.org/MANUAL.html