もずくのブログ

読書とゲームと所感

レポートを瞬で溶かす!神エディタで単位余裕w Markdownに隠された"ある機能"に一同驚愕涙が止まらない......

f:id:mozuku27:20190526033409p:plainレポートめんどくさい&wordの書式設定めんどくさい&マウス操作めんどくさい&TeX数式入力したい&TeXめんどくさいならいますぐ試せ

Pandoc?Markdown?

pandocはdocxやtexやらmarkdownやらを相互変換できたりするすごいツール。markdown→pdfでは一度TeXに変換される処理が挟まれるのでYAMLヘッダを渡すと表紙が作れたり、TeXのコマンドも組み込むことができる。
Markdownは五歳児でも書ける構造化テキスト。

準備編

0.用意するもの

  • VSCode
  • vscode-pandoc(pandocをVSCodeから扱う拡張機能)
  • pandoc
  • pandocでmd→pdfする際のテンプレート(.tex) 作成者に圧倒的感謝ィ~ github.com
  • Lualatex(処理が遅いけど他が日本語非対応のため、仕方なかった)

1.vscode-pandocの設定をいじる

VSCodeの基本設定→設定→[Pandoc: Pdf Opt String]
--template=https://raw.githubusercontent.com/atpons/pandoc-template-for-report/master/template.tex --pdf-engine=lualatex -N

2.YAMLヘッダのスニペットを用意する

YAMLヘッダを毎回手入力するのはしんどみが深いのでスニペットを用意しておくと便利
VSCodemarkdownスニペットに次のように登録

{
    "Report YAML Header": {
        "prefix": "yaml",
        "body": [
            "---",
            "documentclass: ltjsarticle",
            "title: $1",
            "author:",
            "  - id: 187",
            "    name: 雪村あおい",
            "lecture:",
            "    - teacher: ${2:坂上田村麻呂}",
            "    - date: ${3:$CURRENT_YEAR年$CURRENT_MONTH月$CURRENT_DATE日}",
            "    - deadline: ${4:$CURRENT_YEAR年$CURRENT_MONTH月$CURRENT_DATE日}",
            "reference-section-title:",
            "    - ${5:参考文献}",
            "csl:",
            "\t- ieee.csl",
            "bibliography:",
            "\t- bibliography.bib",
            "---",
     ],
        "description": "MarkdownレポートのYAMLヘッダーを入力します"
    }
}

レポートを作ってみる編

pandocの拡張markdown記法はここで確認できる
Pandoc - Pandoc User’s Guide
数式はTeXのように$や$$で囲むことで数式表示が可能

1..mdファイルを作成、VSCodeで開く

2.YAMLヘッダを入力する

先ほどの準備編で用意したスニペットを用いる。コマンド入力からInsert Snippet→yamlを選択する。するとスニペットが入力されるはずなので各項目を編集しておく。Tabで次の項目に移動できる。

3.レポートを作っていく

pandocの拡張markdown記法に従いVSCodeの標準プレビュー機能で確認しつつゴリゴリ書いていく。
なおVSCodeの標準プレビュー機能は拡張markdown記法には対応していないのであくまで目安。  

f:id:mozuku27:20190526023152p:plain
VSCodeの標準プレビューを使うとおおまかにだがリアルタイムに確認が可能

4.PDFを出力する

コマンド入力からPandoc Renderpdfを選択。ちょっと待つとpandocから吐かれたpdfが勝手に開く。

f:id:mozuku27:20190526023902p:plainf:id:mozuku27:20190526023904p:plainf:id:mozuku27:20190526023907p:plain

こんな感じの無難そうなレポートが秒で仕上がる。章番号、図表番号も自動で振ることができる。なおこれらの設定はVSCodeの基本設定→設定→[Pandoc: Pdf Opt String]から変更できる。

最後に

激臭サムネとタイトルで釣ってごめんなさい