イントロダクション
Atomを使用してMDファイルを作成しているのですが、インストールしたパッケージの動きがイマイチ、PDFではなくHTMLが生成されるので、別な方法を使うことにしました。
MACをつかう と うまくいくかも?
理想としては、コマンドで複数ファイルをいっぺんにPDFに変換できるとよいです。
PANDOCを使う
PANDOCというツールがあるようです。詳細はこちらのページが本家のサイトです。
このページにはWindows用のインストーラーがあったのでインストールはクリックで終りました。
コマンドプロンプトで確認すると下のように、コマンドで実行することができます。
使い方は、こちらのページにあるように、下のようなコマンドで実行できるようです。
HTML fragment:
pandoc MANUAL.txt -o example1.html
Standalone HTML file:pandoc -s MANUAL.txt -o example2.html
HTML with table of contents, CSS, and custom footer:pandoc -s --toc -c pandoc.css -A footer.html MANUAL.txt -o example3.html
LaTeX:pandoc -s MANUAL.txt -o example4.tex
From LaTeX to markdown:pandoc -s example4.tex -o example5.text
reStructuredText:pandoc -s -t rst --toc MANUAL.txt -o example6.text
Rich text format (RTF):pandoc -s MANUAL.txt -o example7.rtf
Beamer slide show:pandoc -t beamer SLIDES -o example8.pdf
DocBook XML:pandoc -s -t docbook MANUAL.txt -o example9.db
Man page:pandoc -s -t man pandoc.1.md -o example10.1
ConTeXt:pandoc -s -t context MANUAL.txt -o example11.tex
Converting a web page to markdown:pandoc -s -r html http://www.gnu.org/software/make/ -o example12.text
From markdown to PDF:pandoc MANUAL.txt --pdf-engine=xelatex -o example13.pdf
そして、今回注目したいのが、以下の部分のコマンドです。
From markdown to PDF:
pandoc MANUAL.txt --pdf-engine=xelatex -o example13.pdf
しかし、「.txt」から変換しているようです。細かい部分はさておきにしてとりあえずは動かしてみます。
xelatex not found. Please select a different --pdf-engine or install xelatex
上のようなメッセージが出ました。こちらのサイトを参考にすると変換するエンジンに「xelatex」を使用するということがわかりました。
では、インストール方法は?
大まかにこちらのサイトにある情報が「xelatex」のインストールに関連する情報であろうと思います。
抽象的な言い方なのは、英語だからです。しかし、ばっちりとインストールについての記載がありました。
そして、以下のリンクからかくOSでのインストールができるようです。
結局はインストールファイルを落とすようです。
そして、上にも書きましたが、下のコマンドを実行します。
pandoc 変換するファイル --pdf-engine=xelatex -o example13.pdf
実際に実行したコマンドは以下のものです。
pandoc "0-1 教材の概要.md" --pdf-engine=xelatex -o example13.pdf
しかし、なかなかファイルが生成されず、おかしいと思っていたら下のように不足するものをインストールするダイアログが表示されました。
これが、何個か続いた後に。。。変換処理が走ったのですが、ワーニングが出ました。
どうやら下のようなコマンドでやるのが良いみたいです。(参考ページ)
pandoc 変換するファイル.md -o 変換後.pdf --pdf-engine=xelatex -V documentclass=bxjsarticle -V classoption=pandoc
そして、次には下のようなワーニングが出ました。
Missing character: There is no ① (U+2460) in font [lmroman10-regular]:mapping=tex-text;!
どうやら、フォントの設定を行う必要があるようです。参照先はこちらです。
XELATEXを使う
つまるところ、こちらのファイルを作成して下のようなコマンドで実行すれば、必要なファイルをインストールしてくれるようです。
xelatex test
上のコマンドは、以下の手順で実行しました。
- こちらのファイルの内容を書きだした「test.tex」というファイルを作成
- このファイルのあるディレクトリに移動
とコマンドを実行xelatex test
すると下のようなファイルをダウンロードしてくれます。
======================================================================
(C:\Program Files\MiKTeX\tex/latex/everysel\everysel.sty
(C:\Program Files\MiKTeX\tex/latex/everysel\everysel-2011-10-28.sty))
(C:\Program Files\MiKTeX\tex/latex/ctex/config\ctexopts.cfg)
(C:\Program Files\MiKTeX\tex/latex/ctex/engine\ctex-engine-xetex.def
(C:\Program Files\MiKTeX\tex/xelatex/xecjk\xeCJK.sty
(C:\Program Files\MiKTeX\tex/latex/l3packages/xtemplate\xtemplate.sty)
(C:\Program Files\MiKTeX\tex/latex/fontspec\fontspec.sty
(C:\Program Files\MiKTeX\tex/latex/fontspec\fontspec-xetex.sty
(C:\Program Files\MiKTeX\tex/latex/base\fontenc.sty)
(C:\Program Files\MiKTeX\tex/latex/fontspec\fontspec.cfg)))
(C:\Program Files\MiKTeX\tex/xelatex/xecjk\xeCJK.cfg)))
エラーが出る
UTF-8 decoding error in - at byte offset 87 (8a).
これはコマンドプロンプトの文字コードをUTF-8に変換することで解決:
chcp 65001
参考になるサイトとしてはこのサイトがエラーに対応する方法がありました。
PDFをまとめる
下のようなコマンドで、1ファイルにまとめることができるようです。
dir /b /s *.md | pandoc -f markdown -o output.pdf --pdf-engine=lualatex
dir /b /s *.md
このコマンドで、MDファイルの一覧を表示して、
pandoc -f markdown -o output.pdf --pdf-engine=lualatex
このコマンドで、PDFを出力します。。。しかし、エラーが出て解決できなくなりました。
最終的に
Windowsの設定(フォントの設定)が足りないらしく。。。うまくいきませんでした。