LoginSignup
10
11

More than 5 years have passed since last update.

pandoc をつかって markdown で簡単にレポート的なものをつくる

Posted at

レポートを残そう

学生でなくとも、何か実験なり計測なりしたときは簡単にレポートのようなものにデータをまとめておくと後々役に立つ。

データやグラフだけをフォルダにつっこんでおくと後で見返したときにどれがどれなのか、何が目的で何を得られたのかわからなくなる。あるいは解読にとても時間がかかる。

データを文章で繋いで一連の流れでまとめておく。目的と方法と結果と考察と課題を簡単に書いておくといい。他人が読んでもわかるようにしておけばだれかが発掘したときに財産になる。

そういうときに、pandoc をつかうと簡単にそこそこの見栄えのレポートが書ける。

インストール

まずはインストール

brew install pandoc

必要なものを揃える

mkdir test_report
cd test_report
touch main.tex
touch contents.md
touch makefile

main.tex をつくる

手順としては markdown → tex → pdf という変換手順をふむ。
main.tex はドキュメントクラス等の設定やタイトルや著者情報などを書く。
一度つくったらタイトルだけ変えて使いまわす。

main.tex
\documentclass[11pt,a4paper]{jsarticle}

\usepackage{amsmath,amssymb}
\usepackage{bm}
\usepackage{ascmac}
\usepackage[dvipdfmx]{graphicx,color}
\usepackage{longtable}
\usepackage{booktabs}

\title {タイトル}
\author {書いたひと}

\begin {document}
\maketitle
\input {contents}
\end{document}

contents.md をつくる

本文はcontents.mdに書く

contents.md
# 見出し
## 小見出し
### 小小見出し

# 表
markdown のテーブル記法がそのままつかえる

| Left align | Right align | Center align |
|:-----------|------------:|:------------:|
| This       |        This |     This     |
| column     |      column |    column    |
| will       |        will |     will     |
| be         |          be |      be      |
| left       |       right |    center    |
| aligned    |     aligned |   aligned    |

# 図の挿入
図\ref{fig1}で相互参照もできる。

![\label{fig1}図の名前](fig.png)

# tex記法
tex の記法がそのまま使える。

\begin{equation}
  x^2 - 6x + 1 = 0
\end{equation}

こんなかんじ。注意点としては

  • 図の挿入は上下1行必ず空ける
  • 表のタイトルとラベルがつけられない

makefile をつくる

あとは変換していくだけなんだけどいろいろとめんどくさいので make をつかう。

TEX=platex
DVI2PDF=dvipdfmx
MKDFILE=contents.md
ROWTEX=rowtex.tex
TEXFILE=contents.tex

SOURCES = \
    main.tex \
    $(NULL)


all: makexbb md2tex converttex dvi2pdf clean

makexbb:
    @extractbb *.png

md2tex:
    @pandoc $(MKDFILE) -o $(ROWTEX)

converttex: $(ROWTEX)
    @cat $^ \
    | sed 's/includegraphics/includegraphics[width=1.0\\columnwidth]/g' \
    > $(TEXFILE)

.tex.dvi: main.tex
    @${TEX} $<
    @${TEX} $<

dvi2pdf: $(SOURCES:.tex=.dvi)
    @${DVI2PDF} $^

clean:
    @rm -f *.dvi *.aux *.log $(ROWTEX)

完成

あとは素材を揃えてmakeすれば完成。

make

妥協

細かいところでレイアウトが崩れてしまうこともある。そういうのは気にせず、とにかく楽に早く書くためのものとして使っている。

参考にしたページ

参考にしたページが見付からない、見付かったら追記しよう。

10
11
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
10
11