0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Terminalでレポート執筆を完結させる

Last updated at Posted at 2021-01-07

MS Wordを開きたくない!
という思いから、Terminalでレポート執筆が出来ないか考えてみました。

やりたいこと

  • MarkDown記法で執筆してPDF出力する
  • 最低限のCSS適用(MD単体では中央揃えが出来ない)
  • Gitで管理したい(リモートリポジトリの活用でHDDの突然死に備える)(GitHubの草を生やせる)
  • MS Wordを開かない(Emacsキーバインドを設定するのが面倒なので)(UbuntuにはMS Wordが存在しないので)

導入ツール

  • markdown-pdf
  • git

環境

Ubuntu 20.04 LTS
node 12.18.4

注意

md -> PDF変換ツールはいくつかありますが、導入が簡単でエラーで1時間溶かしたなんて言えない変換が高速かつTerminalで完結出来るという理由からmarkdown-pdfを導入しています。
数式などを用いる場合はPandoc(対応フォーマットが豊富で、LaTeXにも対応しています)、ヘッダー・フッターを用いたい場合はVSCodeの拡張機能などがおすすめです。

やり方

git、及びNode.jsが導入できている前提で話します。

1. markdown-pdfの導入

sudo npm install -g markdown-pdf --unsafe-perm

ここでめっちゃ詰まったのですが、GitHubのIssuesに回答がありました。

2. 作業リポジトリの設定

言うまでもありませんが

mkdir report
cd report
git init

それでもって出力したPDFを.gitignoreに設定しておくと便利

vim .gitignore
.gitignore
*.pdf

3.スタイルシートの設定

vim style.css
style.css
h1{
text-align: center;
font-size: 18px;
line-height: 18px;
margin-top: 0px;
} /*表題用*/

h2{
text-align: right;
font-size: 14px;
} /*名前用*/

p{
font-size: 10.5px;
text-indent: 1em;
}/*本文用*/

言うまでもありませんが、お好みで調節してください。

これで一通り設定は終わりです。

report.md
# title
## name

content
markdown-pdf report.md -s style.css

のように入力するとこのようなPDFが出力されます。
report.pdf

4.aliasの設定

いちいち-s style.cssオプションを設定するのは面倒ですし、そもそもmarkdown-pdfという名称が長いのでaliasを設定します。

vim ~/.bashrc
~/.bashrc
alias m2p='markdown-pdf -s style.css'
source ~/.bashrc

で再読込みしてあげれば

m2p report.md

でPDF変換が出来るようになります。

終わりに

レポートが大量に課されていて大変ではありますが、他の人にも是非Terminalでレポート執筆を完結していただきたいという強い思いから、この時期に書かせていただきました。Wordとは決別して快適なレポート執筆ライフを満喫しましょう!

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?