Permalink
Branch: master
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
235 lines (151 sloc) 9.6 KB
author categories tags date description title type draft
BEAN
Markdown
Markdown
レポート
大学
2018-07-08 09:00:00 +0900
Markdownでレポートを書く話をしようと思ったのだ
大学のレポートをMarkdownで爆速で書く話
post
false

あなたはWord?LaTeX?それともPages?

皆さんは何でレポートを書かれますか?

一般的に最も多いのはWordだと思いますが, 理系だとLaTeX(TeX)な人も多いかもしれません.
Macを使ってる人だとPagesって言う手もありそうですがどうなんでしょ. 自分は使ったことがないですね.

で、大学って結構レポート書く機会が多いですよね.
レポート書くとき, 体裁を整えるの結構めんどくさくないですか.
自分はWordはそう言うのが凄くメンドくさいと感じます.
高機能ではありますが, フォントを選んだり, フォントサイズ指定したり, 画面上部のバーのなんとかのボタンを押してリスト表示したり...
その点, LaTeXはある程度決まったフォーマットでGUI操作少なくレポート書けます.
だがしかし, タグが長ったらしい...

\begin{document}
    \maketitle
    \section{hoge}
        \subsection{hogehoge}
        \begin{itemize}
            \item foo.
            \item fooo
            \item fuga
        \end{itemize}
\end{document}

ほげーーーーーーー!!!!
内容が無いとタグの方が文字数とってる説まであるよこれ.

というわけで, これなんとかならんのかね. と思ったのでなんとかしようという話です.

Markdownでレポートを爆速で書く

Markdown is 何

Markdownは知っていますか? MarkdownはHTMLを簡単に書くために出てきたマークアップ言語.
もっとも使われているのがわかりやすいのがGitHubのREADME.mdですかね.
他にはCMSのWordPressがMarkdownでページの内容を書けるようになっていますし, はてなブログもMarkdownで記述することが可能.
このブログもMarkdownで記述されています.(GitHubでこのページ部分を見るとMarkdownになっています)

Markdownがどういう記法なのかは

Qiita マークダウン記法 一覧表・チートシート

を見るとわかります.

かなり便利そうでしょ?

レポートの体裁への変換

Markdownはテキストファイルなのでそのまま印刷してもレポートの体裁にはなりません.

そこでpandocというものを使っていい感じの体裁でPDFに出力します.

ここからは環境によってやること変わってきます.
基本的に自分の環境のmacでの話になります. ちなみにエディタはVisual Studio Codeを使うことになっていますが, 拡張機能とか自前のスクリプトで他のエディタでもできるんじゃないでしょうか.

環境

  • MacBook Pro (Retina, 13-inch, Early 2015), macOS High Sierra 10.13.5
  • brewがインストールされている
  • Visual Studio Codeがインストールされている

brewが入っていない人はMacにHomebrewを導入する方法を参照してください. Visual Studio Codeはここからインストールしてださい.

手順

pandocのインストール

簡単です.
Terminal.appで

brew install pandoc

終わり.

Visual Studio Code 側の設定

vscode-pandoc という拡張機能をインストールします.

インストールが終われば, "cmd + ,"で User Settingsを出して, Pandoc Option Configuration のなかの "pandoc.pdfOptString" を以下のように編集します.

"pandoc.pdfOptString": "-N -t latex-smart --listings --pdf-engine=xelatex -V papersize=a4 -V ja=standerd -V documentclass=bxjsarticle -V classoption=pandoc -V classoption=jbase=11Q -V classoption=jafont=hiragino-pron"

このオプション類はpandocに渡すオプション類で,
Pandoc ユーザーズガイド 日本語版を見ればなんとなくわかるかと.

で、日本語環境ではLuaLaTeXが推奨されるのですが, PDFの生成がちょっと遅い. ので, XeLaTeXというものを使っています. XeLaTeXはもともとMac OS X用に提供されていたものですが, 今は大体の環境で使えるようです.

ここまでで環境構築は終了です.

レポートを書いてみよう

というわけで, 実際にレポート書いて見ましょや.

以下のMarkdownファイルを用意して...

---
title: レポートのタイトル
author: BEAN
fontsize: 11pt
header-includes:
- \lstset{numbers=left, frame=trlb, frameround=tttt, breaklines=true}
- \renewcommand{\lstlistingname}{Source Code}
---

# hoge

本文

## fuga

本文その2

今日のタスク

- 世界にこんにちは
- を標準出力へ.

\```{.Cpp caption="世界で最も有名なコード"} <-ここやるときはバックスラッシュ外してね
#include <iostream>

int main() {

    std::cout << "Hello, World !!" << std::endl;

    return 0;

}

\``` <-ここやるときはバックスラッシュ外してね

PIDの式とか
$u(t) = K_{p}e(t) + K_{i}\int_{0}^{t}e(\tau)d\tau + K_{d}\frac{de(t)}{dt}$^[ Wikipedia PID制御 より (https://ja.wikipedia.org/wiki/PID制御) ]

改ページしてみて

\newpage

## 図とか表とか

![私はサーバル!!](animal_serval.png){width=60mm}  
[いらすとや](https://www.irasutoya.com/2017/02/blog-post_455.html)から拝借したサーバル

| In         |     Conv     |     Out     |
|:-----------|:------------:|------------:|
| なか        |     RD       |      猫     |
| さあさなあた |    ULDDDD    |   水素の音   |
| なたやさあ   |    -L--L     |    夏野菜    |
| ????       |    ????      |    ライオン  |

: 突然のクイズ!!\ 最下段を完成させろ

これをタイプセットすると...

{{< figure src="/blog/write-report-use-markdown/report-sample.jpg" title="レポート1ページ目" >}}
{{< figure src="/blog/write-report-use-markdown/report-sample2.jpg" title="レポート2ページ目" >}}

になります.

Markdownは完全か?

全部Markdownで書いても良いんですが, やっぱりもともとHTMLの方面のものなので全部ってのはキツいと思います.

ので, 画像と表は普通にLaTeXの記法で書く方がいいかと.

表に関してはLaTeX Table Generator とかを使うとサクッと作れます.

Macを使う人へ

レポートを書く時, Split Viewで左側にMarkdownエディタ, 右側にPDFを表示してレポートを書いていきたいですよね.
ですが, Macの標準のPDF ViewerであるPreview.appはPDFを表示している間にそのPDFに更新があっても表示を自動で更新してくれません.

この問題はサードパーティのPDF ViewerであるSkimを導入することで解決できます.

Skim の設定

Skimをインストールしたら⌘+,でSkimの環境設定を開いて
"同期する"タブのファイルの変更をチェック
自動的にリロードのチェックボックスにチェックを入れます.
下のPDF-TeX 同期サポート:の欄は何か関係ありそうですが初期値のままでOKです.

{{< figure src="/blog/write-report-use-markdown/screenshot.png" title="VScode + Skimでこんな感じ" >}}

まとめ

これで爆速でレポート書けるでしょ? 少なくともタイピングしてる時間は短縮されます.

全く別の話ですが, 最近学校の課題で精神を病みそうになった時とあるコピペ改変の(間接的な)リプが飛んできてかなり精神が回復されました.

遺影に向かってイエーイ

(✌️'ω')✌️ 🔲


……
………

–どんなに遺影に向かってイエーイしても@bean_priv は帰ってこない。
今こそ悲しい現実と向き合い、
    生きていかなければいけないんだ。
       (・_・)

— 井戸水 (@IDOMIZU_) 2018年6月29日
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

このコピペ面白すぎませんか? 心の救いになりましたありがとうございます.

音楽としては最近アイルランドのバンドの"The Script"にハマってたりします.
邦楽としては"Reol"の"サイサキ"をヘビロテしてます.

ではレポートが爆速で書けるようになったのでおわりー!!

参考文献