慶應の理工学部電気情報工学科3年生がMarkdown + Pandocで実験レポートを楽に生産するためのテンプレート
- VSCodeとDockerをインストール
- VSCodeにRemote - Containersを入れる
- コマンドパレットから
Remote-Containers: Reopen in Container
を選択してコンテナに入る(初回はビルドするので遅い) - template.mdをもとにいい感じのレポートをMarkdownで書く
Shift+Ctrl+P -> Pandoc Render -> pdf
でPDFを生成!(Ctrl+K -> P
でも可)- 実験レポートが生まれる
デフォルトでは図表のラベルが英語で振られます.これを日本語にするにはpandoc-crossrefのconfigを書いてあげる必要があります.
ホームディレクトリ直下に.pandoc-crossref
ディレクトリを作ってtemplate/pandoc-crossref.yaml
を置いてあげると,特にオプションで指定しなくても反映されるようになります.
この場合,pandoc-crossref.yaml
の設定はシステム全体に適用されます.
もしくは,Pandocでのビルド時に--metadata
オプションでcrossrefYaml
キーを使って,このconfigファイルを指定してください.
この場合はこのレポートのビルドにのみ設定が適用されます.
なお,後述のTasksやvscode-pandoc
プラグインを利用してビルドする場合は,デフォルトで図表ラベルが日本語になるようにしてあります.
詳細は http://sky-y.github.io/site-pandoc-jp/users-guide/#citations に書いてあります.
ここに書くと長くなるので読んで,どうぞ.
ただ理工学基礎実験の場合,レポート内で参考文献のリンクを貼る必要までは無いので,参考文献のリストのところに雑に書いてあげる程度で十分です.
参考文献を直接本文に書き込む場合は,# 参考文献
の後ろに {-}
を入れましょう (番号振られるのを避けるため).
テンプレートファイルでは入れてあります.
VSCodeを入れてvscode-pandoc
を使うと,settings.jsonに"pandoc.pdfOptString": "--filter pandoc-crossref --metadata=crossrefYaml:/dist/to/your/pandoc-crossref.yaml --filter pandoc-citeproc --pdf-engine=lualatex -N --template=/dist/to/your/template.tex"
と書いておけばShift+Ctrl+P -> Pandoc Render -> pdf
でビルドできていい感じに楽できます.
.vscode/settings.json.example
に例があります.
(/dist/to/your/
の箇所は適切なファイルパスに変更する必要があります.絶対パスを指定すると安全です.)
別の方法として,VSCodeのTasksを利用することでサードパーティへの依存を減らしました.
こちらはvscode-pandoc
のインストールやsettings.jsonの修正が必要なくPDFのビルドが可能です.
Ctrl+Shift+P
でTasks: Run Build Task > build a pdf
を選択するか,Ctrl+Shift+B
でbuild a pdf
を選択するとビルドできます.
また,上記の操作をショートカットキーに設定することも可能です.
詳しくはこちらをご覧ください.
(ファイル保存時の自動ビルドは行いません.)
書き方のサンプルを追加しました.画像のレイアウトなどについてわからなければこちらを読んでください.
質問とかはquestionラベルを付けてissueに投げてください.
不具合とかあったら直してプルリクしてください.喜びます.
カスタムcslファイルの追加も歓迎です.