レポートの作成等にLaTeXを使っているので,いちいち調べなくてもいいようにテンプレ的なものをメモ。
目次
よく見るサイト
その他、便利なTipsなど
- 完全攻略! LaTeX のマクロ定義
- 日本人のための LaTeX タブー集 ~画像読込編~
- マクロの作り方("TeX & LaTeX Advent Calendar")
- スタイルファイルを作ろう("TeX & LaTeX Advent Calendar")
- TeXのjsarticleで余白設定
- 1ページ当たりの行数,文字数と周囲の余白を設定する
- 図と図の余白をなくす
- TeXで数式の上下の空白を変更する
- 英語で論文を書こうとする人へ
インストール
MacTexをいれた。インストールとかアップデートにかなり時間かかったのでBasicTeXとcollection-langjapaneseでも良さそう。
$ brew cask install mactex $ sudo tlmgr update --self --all
$ platex -kanji=utf8 -interaction=nonstopmode -file-line-error hoge.tex $ dvipdfmx hoge
PDFビューアはSkimを使う。Pythonでtexファイルの更新を検知したらビルドを行うスクリプトを書いている。 openでプレビューを開くとフォーカスがそっちに行くので面倒。
実験のレポートを書くときのテンプレ
パッケージの追加等は,mejiro.styに記述。
\documentclass{jsarticle}
\usepackage{mejiro}
\begin{document}
%=============================================
\section{目的}
%=============================================
\section{原理}
%=============================================
\section{実験方法}
%---------------------------------------------
\subsection{使用器具}
実験で使用した器具を表\ref{tool}に示す。
\begin{table}[htbp]
\begin{center}
\caption{実験器具}
\begin{tabular}{|c|c|c|c|c|} \hline
名称 & メーカ & 型番 & 製造番号 & 規格 \\ \hline \hline
& & & & \\ \hline
\end{tabular}
\label{tool}
\end{center}
\end{table}
%=============================================
\section{実験結果}
%=============================================
\section{考察}
%=============================================
\section{まとめ}
%=============================================
\begin{thebibliography}{9}
\end{thebibliography}
\end{document}
↓が自分用にカスタマイズしたスタイルファイル
\ProvidesPackage{mejiro}
%===========================================
%%% よく使うものを定義(打ち間違い防止になる。)
\newcommand{\name}{自分の名前}
\newcommand{\mail}{メールアドレス}
\newcommand{\school}{〜学校〜学科〜年}
%===========================================
%%% パッケージ関連
% 画像を貼る
\usepackage[dvipdfm]{graphicx}
% 画像を固定させるもの
\usepackage{here}
\usepackage{multicol}
% 文章を枠で囲める
\usepackage{framed}
% txtファイルを改行とかして表示してくれる
\usepackage{moreverb}
% \url{http://oku.edu.mie-u.ac.jp/~okumura/texwiki/}みたいにしたらURL使える
\usepackage{url}
\usepackage{ascmac,here,txfonts,txfonts}
\usepackage{color}
% 表を書くときに,列をまとめてくれる?ようなやつ
\usepackage{multirow}
% 箇条書きがかなり簡単になるパッケージ
\usepackage[at]{easylist}
%ソースコードの表示
\usepackage{listings,jlisting}
\renewcommand{\lstlistingname}{リスト}
\lstset{
breaklines = true,
language=Java,
basicstyle=\ttfamily\scriptsize,
% commentstyle={\itshape \color[cmyk]{1,0.4,1,0}},
classoffset=1,
% keywordstyle={\bfseries \color[cmyk]{0,1,0,0}},
% stringstyle={\ttfamily \color[rgb]{0,0,1}},
frame=tRBl,
framesep=5pt,
showstringspaces=false,
numbers=left,
stepnumber=1,
numberstyle=\tiny,
tabsize=2,
}
画像の表示
基本例
\begin{figure}[H]
\centering
\includegraphics[width=65mm]{./img/sample.eps}
\caption{サンプル}
\label{sample}
\end{figure}
画像を横に2枚並べる
\begin{figure}[htbp]
\begin{minipage}{0.5\hsize}
\begin{center}
\includegraphics[width=75mm]{./img/sample1.eps}
\end{center}
\caption{サンプル1}
\label{sample1}
\end{minipage}
\begin{minipage}{0.5\hsize}
\begin{center}
\includegraphics[width=75mm]{./img/sample2.eps}
\end{center}
\caption{サンプル2}
\label{sample2}
\end{minipage}
\end{figure}
png等を貼りつけ
epsはファイルサイズが膨らみがちで学会とかに提出するときファイルサイズを簡単にオーバーしてしまう。そういうときはpngで貼り付け
フォルダ内のpng画像をepsに変換
この前紹介したImageMagickを使えばフォルダ内のpngやjpgを一瞬でepsに変換できる。
$ for f in *.png; do
>convert $f ${f%.png}.eps;
>done
表
基本例
\begin{table}[htbp]
\begin{center}
\caption{サンプル}
\begin{tabular}{|c|c|c|} \hline
数字 & アルファベット & かな \\ \hline \hline
123 & abcde & あいうえお \\ \cline{2-3}
& fghij & かきくけこ \\ \cline{2-3}
& klmno & さしすせそ \\ \hline \hline
456 & pqrst & たちつてと \\ \cline{2-3}
& uvwxy & なにぬねの \\ \hline \hline
\end{tabular}
\label{sample}
\end{center}
\end{table}

↓には過去の実験レポートから複雑な表の例を抜粋してメモ。
少し複雑な例
\begin{table}[htbp]
\begin{center}
\caption{論理代数の諸定理}
\begin{tabular}{|c|c|} \hline
名称 & 公式 \\ \hline
公理 & \parbox{8zw}{\strut \centering $1+A = 1$ \\ $0・A=0$ \strut } \\ \hline
恒等の法則 & \parbox{8zw}{\strut \centering $0+A=A$ \\ $1・A=A$ \strut } \\ \hline
同一の法則 & \parbox{8zw}{\strut \centering $A+A=A$ \\ $A・A=A$ \strut } \\ \hline
補元の法則 & \parbox{8zw}{\strut \centering $A+\overline{A}=1$ \\ $A・\overline{A}=0$ \strut } \\ \hline
復元の法則 & $\overline{\overline{A}}=A$ \\ \hline
交換の法則 & \parbox{8zw}{\strut \centering $A+B=B+A$ \\ $A・B=B・A$ \strut }\\ \hline
結合の法則 & \parbox{13zw}{\strut \centering $A+(B+C)=(A+B)+C$ \\ $A・(B・C)=(A・B)・C$ \strut } \\ \hline
分配の法則 & \parbox{13zw}{\strut \centering $A・(B+C)=A・B+A・C$ \\ $A+B・C=(A+B)・(A+C)$ \strut }\\ \hline
吸収の法則 & \parbox{8zw}{\strut \centering $A・(A+B)=A$ \\ $A+A・B=A$ \\ $A+\overline{A}・B=A+B$ \\ $\overline{A}+A・B=\overline{A}+B$ \strut }\\ \hline
ド・モルガンの法則 & \parbox{8zw}{\strut \centering $\overline{A+B} = \overline{A}・\overline{B}$ \\ $\overline{A・B}=\overline{A}+\overline{B}$ \strut }\\ \hline
\end{tabular}
\label{ronridaisuu}
\end{center}
\end{table}

parboxを使えば,長い文章でも自然に表に組み込める。
複雑な例2
\begin{table}[htbp]
\begin{center}
\caption{BCD-7セグメント符号変換器の真理値表}
\begin{tabular}{|c|c|c|c|c|c|c|c|c|} \hline
入力 & 表示 &\multicolumn{7}{|c|}{セグメント} \\ \cline{1-1} \cline{3-9}
xyzw & 文字 & a & b & c & d & e & f & g \\ \hline
0000 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 \\
0001 & 1 & 1 & 0 & 0 & 1 & 1 & 1 & 1 \\
0010 & 2 & 0 & 0 & 1 & 0 & 0 & 1 & 0 \\
0011 & 3 & 0 & 0 & 0 & 0 & 1 & 1 & 0 \\
0100 & 4 & 1 & 0 & 0 & 1 & 1 & 0 & 0 \\
0101 & 5 & 0 & 1 & 0 & 0 & 1 & 0 & 0 \\
0110 & 6 & 1 & 1 & 0 & 0 & 0 & 0 & 0 \\
0111 & 7 & 0 & 0 & 0 & 1 & 1 & 1 & 1 \\
1000 & 8 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\
1001 & 9 & 0 & 0 & 0 & 1 & 1 & 0 & 0 \\ \hline
\parbox{4zw}{\strut \centering 1010 \\ 1011 \\ 1100 \\ 1101 \\ 1110 \\ 1111 \strut} & -- & \multicolumn{7}{|c|}{--} \\ \hline
\end{tabular}
\label{sinritihyou}
\end{center}
\end{table}

複雑な例3
\begin{table}[htbp]
\begin{center}
\caption{特性試験結果2}
\label{特性試験結果2}
\begin{tabular}{|r|r|r|r|r|r|r|} \hline
\multicolumn{1}{|c|}{力率$\cos \phi$} & \multicolumn{1}{c|}{$\sin \phi$} & \multicolumn{1}{c|}{二次負荷電流} & \multicolumn{1}{|c}{\%抵抗電圧降下} & \multicolumn{1}{|c|}{\%リアクタンス電圧降下} & \multirow{2}{3zw}{\centering $q_rm$} & \multirow{2}{3zw}{\centering $q_rn$} \\
\multicolumn{1}{|c|}{$(m)$} & \multicolumn{1}{c|}{$(n)$} & \multicolumn{1}{c|}{$I_2$[A]} & \multicolumn{1}{c|}{$q_r$} & \multicolumn{1}{c|}{$q_x$} & \multicolumn{1}{c|}{} & \multicolumn{1}{c|}{} \\ \hline
\multirow{6}{6zw}{\raggedleft 1} & 0 & 0 & 0.00 & 0.00 & 0.00 & 0.00 \\ \cline{2-7}
& 0 & 2.5 & 1.33 & 0.577 & 1.33 & 0.00 \\ \cline{2-7}
& 0 & 5.0 & 2.66 & 1.15 & 2.66 & 0.00 \\ \cline{2-7}
& 0 & 7.5 & 3.99 & 1.73 & 3.99 & 0.00 \\ \cline{2-7}
& 0 & 10 & 5.32 & 2.31 & 5.32 & 0.00 \\ \cline{2-7}
& 0 & 12.5 & 6.65 & 2.88 & 6.65 & 0.00 \\ \hline
\multirow{6}{6zw}{\raggedleft (遅れ)0.8}& 0.6 & 0 & 0.00 & 0.00 & 0.00 & 0.00 \\ \cline{2-7}
& 0.6 & 2.5 & 1.33 & 0.577 & 1.06 & 0.798 \\ \cline{2-7}
& 0.6 & 5 & 2.66 & 1.15 & 2.12 & 1.60 \\ \cline{2-7}
& 0.6 & 7.5 & 3.99 & 1.73 & 3.19 & 2.39 \\ \cline{2-7}
& 0.6 & 10 & 5.32 & 2.31 & 4.26 & 3.19 \\ \cline{2-7}
& 0.6 & 12.5 & 6.65 & 2.88 & 5.32 & 3.99 \\ \hline
\end{tabular}
\end{center}
\end{table}

Excelの表をPDFで出力してlatexに貼り付ける
表に関してはExcelで弄ったほうが圧倒的に楽なのでこの方法をとっている. Excelで表を作成、出力してillustratorでアートボードをオブジェクトのサイズに変換.(illustrator高いので持ってない人は違うソフト探して下さい). 画像を貼りつける際にはmediabb.styを使用する.
参考
- http://www.ma.ns.tcu.ac.jp/Pages/TeX/mediabb.sty.html
- http://javatea.blog.abk.nu/066
- PDF画像をlatex文書に埋め込む - 日々の報告書
\begin{table}[htbp]
\centering
\caption{特徴量の組み合わせによる認証率}
\includegraphics[autoebb, scale=0.6]{./img/result/features_combination.pdf}
\label{fig:features_combination}
\end{table}
Excelの表をawkでtex用に変換する
Excelの表をターミナルで簡単にtex用に変換するにはawkを使うのが便利! awkで扱うにはまず、ExcelからTeXで使いたい部分の表をコピーしてテキストファイルに保存。 具体的には、↓みたいな感じのテキストファイルを作成する。
1 0.01 0.085 2 0.018 0.075 3 0.015 0.09 4 0.015 0.085 5 0.02 0.08
それぞれの列の間に&を挟み,行末に\\ \hlineを挟む場合は↓のようにすればOK
$ awk '{ print $1 " & "$2 " & " $3 " \\\\ \\hline"}' 入力ファイル名
1 & 0.01 & 0.085 \\ \hline
2 & 0.018 & 0.075 \\ \hline
3 & 0.015 & 0.09 \\ \hline
4 & 0.015 & 0.085 \\ \hline
5 & 0.02 & 0.08 \\ \hline
箇条書き
箇条書きにはeasylistパッケージというものを使うと本当に便利です。
参考:LaTeXでの箇条書き作成は easylist パッケージが便利
\begin{easylist}[itemize]
@ アジア
@@ モンゴル
@@ パキスタン
@ アフリカ
@@ エジプト
@@ ケニア
@ ヨーロッパ
\end{easylist}
これで箇条書きが出来る。ちなみにitemizeだけでなく↓にも対応!
- enumerate
- tractatus
- checklist
- booktoc
- articletoc
ソースコード
ソースコードはjlistingsで綺麗に表示できる。
\lstinputlisting[caption=サンプル,label=sample]
{src/sample.java}
数式
数式関係は分からなくてもだいたい↓のWebアプリを使えばなんとかなる.
\begin{align}
e=n\frac{\Delta \phi}{\Delta t}
\end{align}
\( e=n\frac{\Delta \phi}{\Delta t} \)
\begin{subnumcases}{f(x)=\label{f(x)}}
1/3 & $x = 0$;\\
2/3 & $x = 1$;\label{.6666}\\
0 & その他の$x$.
\end{subnumcases}

詳しくはこちら
記号一覧
比較演算子
| 記号 | LaTeX | 記号 | LaTeX |
|---|---|---|---|
| \( \neq \) | \neq | \( \simeq \) | \simeq |
| \( \gg \) | \gg | \( \ll \) | \ll |
| \( \geq \) | \geq | \( \leq \) | \leq |
| \( \propto \) | \propto |
括弧
| 記号 | LaTeX |
|---|---|
| ( x ) | \left( x \right) |
| { x } | \left{ x \right} |
| | x | | \left| x \right| |
よく使うギリシャ記号
| 記号 | LaTeX | 記号 | LaTeX |
|---|---|---|---|
| \( \alpha \) | \alpha | \( \beta \) | \beta |
| \( \gamma \) | \gamma | \( \Gamma \) | \Gamma |
| \( \theta \) | \theta | \( \Theta \) | \Theta |
| \( \pi \) | \pi | \( \Pi \) | \Pi |
| \( \phi \) | \phi | \( \Phi \) | \Phi |
| \( \psi \) | \psi | \( \Psi \) | \Psi |
| \( \sigma \) | \sigma | \( \Sigma \) | \Sigma |
| \( \omega \) | \omega | \( \Omega \) | \Omega |
| \( \varphi \) | \varphi | \( o \) | o |
| \( \chi \) | \chi | \( \nu \) | \nu |
| \( \epsilon \) | \epsilon | \( \Delta \) | \Delta |
| \( \zeta \) | \zeta | \( \eta \) | \eta |
| \( \lambda \) | \lambda | \( \xi \) | \xi |
| \( \rho \) | \rho | \( \tau \) | \tau |
参考文献
% 参考文献の参照は↓のような書き方。
・・・・・・・。\cite{book}
% ↓の文章を最後につける。
\begin{thebibliography}{9}
\bibitem{book} 著者 :
\newblock 本のタイトル
\newblock 出版社,2012.
\bibitem{google} Google:
\newblock \small{\url{http://google.com}}.
\newblock 2014年1月8日現在.
\end{thebibliography}
\end{document}
参考書籍の探し方
学校の授業のレポートで参考文献を書かないといけないけど,Googleで見つからない時に探す方法
- Google Booksで検索
- 英語で検索
- 情報系の課題ならLPI-JAPANのサイト内で検索(「検索キーワード site:http://www.lpi.or.jp/」)
便利なWebサービス
Excelの表をLaTeX用に変換
僕はawkを使って処理することが多いのですが、知り合いはWebサービスを利用する人が多いようです。↓のようなサービスが便利らしいです。
![[改訂第6版] LaTeX2ε美文書作成入門 [改訂第6版] LaTeX2ε美文書作成入門](https://images-fe.ssl-images-amazon.com/images/I/51UNf22nkGL._SL160_.jpg)
- 作者: 奥村晴彦,黒木裕介
- 出版社/メーカー: 技術評論社
- 発売日: 2013/10/23
- メディア: 大型本
- この商品を含むブログ (16件) を見る
数式を画像で表示してくれる
これはかなり使い勝手の良いサービス。 画像の形式も10種類から選べる。