最近急にMarkdown記法って凄いんじゃないか?と思い始めて、勉強する気になってきました。
きっかけ はJupyterNotebook
先般の記事 yyhhyy.hatenablog.com の通り、JupyterはただPythonに対応したIPythonから、より普遍的なツールへと進化し始めているようです。
その中で、PDFにするためにpandocが必要になったため、*1。これまで余り気にもしていなかったpandocについて、ちょっと調べてみました。
すると、このpandocというやつは、docxファイルにもできるではありませんか!!
これは画期的なことで、メモ帳でメモした書類を「ワードでくれ!」と言われた時にもサッと対応できるということです。
Pandocの導入
公式サイトPandoc - Installingからインストーラーをダウンロードして、好きなフォルダへインストール。
Pandocでワードにする。
基本的な使い方はこちらを参照。 qiita.com ワードに変換するだけなら、ファイルのあるディレクトリまでコマンドプロンプトで移動し、
pandoc text.md -o test.docx
とするだけでOKです。
例えば、
と記入したMarkdownファイル「test.md」があったとると、このようなワードファイルが出来上がります。
とはいえ、デフォルトのワードがなんだか気持ち悪いので、スタイルを決めたいとは思います。
ワードファイルのスタイルの変更
こちらを参照 nenono.hatenablog.com
先ず、ワードのスタイルファイルを吐き出します。
pandoc --print-default-data-file reference.docx > reference2.docx
次に、そうしてカレントディレクトリに吐き出されたワードファイルのスタイルを変更しオリジナルのスタイルファイルを作ります。
スタイルは、「ホーム」から「スタイルの変更」で出来ます。 個人的には配色を自分のものに変え、フォントも変えます。 この2つを変えるだけでも文書のイメージは変わるものです。
スタイルの基準となるワードファイルを参照しながらワードに変換するときのコマンドは以下。
pandoc text.md --reference-docx=reference2.docx -o test.docx
勿論「reference2.docx」はスタイルが指定されているファイルであれば何でもよいですが、カレントディレクトリに入れて作業するのが良いと思います。
するとこんな感じのファイルになります
※しかし行送りの高さとか段落周りのスタイルも固定化したいのですが、どうするのでしょう?
Markdown記法について
Markdown記法自体がこちらを参照。
Markdown記法のメリット
普段仕事の議事録などは全部メモ帳に記載しています。
ワードで最初から書く、という手もあるのですが、正直動きが思いのと時々クラッシュする、という面倒さがあるため、できるだけ動作の軽いテキストエディタを使っています。
最近は、もう少し見易いものはないかと、
Emacs GNU Emacs - GNU Project や Sublime www.sublimetext.com を試しています。
Markdown記法の良さは、そこからpandocでワードにすることもできれば、LaTeXにすることもできる汎用性です。 LaTeXにして出力したければ、LaTeXにすればいいですし、ワードで他人と共有する必要が出てきたらワードにすればいいのです。
PandocでLaTeX化
こちらを参照
単純にLaTeXにするのは、先ほどと同じです
pandoc test.md -o test.tex
でこのようなTeXの本文部分が出来ます。
好きなLaTeXのスタイルのヘッダーと「begin{dociment}」の下くらいにこれをコピペしてしまえば、それで充分です。
形式をある程度決めたTeXにしたり、そのままPDFにすることもできます
pandoc -f markdown test.md -s -o test.pdf --latex-engine=lualatex -V documentclass=ltjarticle
pandoc -f markdown test.md -s -o test.tex --latex-engine=lualatex -V documentclass=ltjarticle
いずれにしてもここまでできれば、後は幾らでも何とでもなりそうです。