状況
パソコンで実験レポートを書くことになった。Wordで書くのは嫌だし、毎回LaTex使うのはだるいので、Markdownで書いてPDFにコンパイルすればいい。
Markdownの利点
- 数式含めとにかくプレビューが早い
- 記述が楽
- 基本的にLaTexの文法のエラーで悩むことはなくなるのでレポートに集中できる
環境
- WSL Ubuntu 18.04 in Windows 10 1903
- GNU Make 4.1
- pandoc 1.19.2.4
- pandoc-crossref 0.3.4.1
- LaTex (platex,dvipdfmx) (TexLive)
OSX Mojave、CentOS 7でも確認済み
処理の概要
1 | Markdown --(pandoc,pandoc-crossref)-> LaTex --(platex,dvipdfmx)-> PDF |
ディレクトリ構造
1 | - physics-laboratory |
こんな感じにMarkdownを書いてこれをPDFにできればいい。
1 | <!-- 04/report.md --> |
pandoc-crossrefのインストール
pandoc-crossrefは相互参照をMarkdownっぽく書けるようにするためのpandocフィルターである。
https://github.com/lierdakil/pandoc-crossref/releases
GitHubから適当に最新版をダウンロードして展開するとファイルが出てくるので、パスの通ったところに配置する。
テンプレート
PandocにMarkdownを突っ込むだけだと言語設定とか作者とかうまくいかないので、テンプレートを適当に作る。body
にMarkdownをそのままLaTexに変換したもの、HTMLで言えばhead
などを含まないbody
要素の中身。body
以外はMarkdownのYamlヘッダで指定したものが入る。
1 | % template.tex |
Makefile
本題の自動化スクリプト。1行目でカレントディレクトリ以下の.md
を持ってきて、それを処理対象にしている。
1 | # Makefile |
実行
1 | make |

うまくPDFにコンパイルできた。
エラー対処
フォントがおかしいとき
明朝体ではないフォントになってレポートとしてはダサくなった場合、フォントを変えなければいけない(謎)下記コマンドでシステム全体のTexフォントを変更できる。
1 | kanji-config-updmap ipaex --sys |
このようにすると、フォントの設定が確認できる。
1 | kanji-config-updmap status |
kpsewhich
パッケージが足りないとき
- framed https://www.ctan.org/tex-archive/macros/latex/contrib/framed
- booktabs https://www.ctan.org/tex-archive/macros/latex/contrib/booktabs
私の環境にはこの2つのパッケージが入っていなかったので、上記サイトからダウンロードした。
framedにはsty用意されているので、これをTexが認識できる場所に置けば良い。
1 | # Texが認識できる場所 |
booktabsはstyがなく、insとdtxだけなので、styを生成しなければならない。以下のコマンドでstyを生成し、styを上記の場所に配置する。
1 | latex booktabs.ins |
Texのパッケージをリロードするために、下記コマンドを実行する。
1 | sudo mktexlsr |
表がおかしい

全角スペースで無理やりスペースを開けると上手く行った(強引)

原因は不明。
画像のサイズ変更がおかしい
今のところいらないからこんどやろ・・・
これでやっとレポートを書き始められる・・・