卒論でどうせ使うなら今やれ!理系のための爆速LaTeXチートシート
「TeXはいいぞ」と布教している割に、導入方法などの説明を丸投げしてしまっていたので、自分の知識の整理も兼ねて、TeXの始め方や作れるもの、お世話になっているサイトなどを紹介しようと思います。似たような記事は他にもたくさんあるかと思いますが、自己満足ということでご容赦ください。また、私自身もしっかり学んだわけではなく、ネットの知識やAIをフル活用してどうにかレポートを書いている程度の人間です。有益な情報やアドバイスなどは大歓迎ですので、ぜひコメントをお願いします。
なぜOverleafなのか
Tex(LaTeX)を始める最大のハードルは「環境構築」でした。しかし、ブラウザ上で完結するクラウドエディタOverleafを使えば、その悩みはまぁほぼないようなものです。
Googleのアカウントでログインするだけで使えます。文字通り環境構築はほぼノータイムでできます。また、クラウドに自動保存されてかつバージョン履歴も見れるので消える心配がだいぶ少ないです。
Overleafのはじめかた
アカウントでログインする
Overleaf公式サイトにアクセスし、なんらかしらのアカウントでします。(Googleアカウントでできるのでまぁそれでいいと思います。)新規プロジェクトを作成する
ダッシュボード左上の 「New Project」→「Blank Project」 を選び、プロジェクト名(例: Experiment_Report_01)を入力して作成します。【最重要】日本語を使えるように設定するOverleafをそのまま日本語で書くと初期設定ではコンパイルエラーになります。最初にこの1点だけ設定してください。
画面左下の 「Settings」 アイコンをクリック
Settings 内にある 「Compiler」 を探す
pdfLaTeX から XeLaTeX に変更する
コピペで書ける実験用テンプレ
新規プロジェクトを作成し、Compilerを XeLaTeX に変更したら、エディタ上のコードをすべて消して以下のテンプレートを貼り付けてください。 右上の緑のボタン 「Recompile」 を押せば、即座に右側にきれいなPDFが生成されます。
\documentclass[xelatex,ja=standard,11pt,a4paper]{bxjsarticle}
% --- 理工系レポート必須パッケージ ---
\usepackage{amsmath,amssymb} % 応用数学・数式拡張
\usepackage{graphicx} % グラフ・画像挿入
\usepackage{booktabs} % 論文標準の美しい表(三線表)
\usepackage{siunitx} % 正しい単位表記(\qty{10}{m/s}など)
\usepackage{listings} % ソースコード貼り付け用
\usepackage{xcolor} % コードの色付け用
\usepackage{hyperref} % 内部リンク・目次・引用
% コードハイライトの基本設定
\lstset{
basicstyle={\ttfamily\small},
frame=single,
numbers=left,
stepnumber=1,
tabsize=4,
breaklines=true,
lineskip=-0.5ex
}
% --- 表題情報 ---
\title{〇〇実験 報告書}
\author{班番号:第3班 \quad 氏名:山田 太郎(学籍番号:XXXXXXX)\\ 共同実験者:佐藤 次郎,鈴木 花子}
\date{\today}
\begin{document}
\maketitle
\section{実験目的}
本実験では、〇〇の動作特性および周波数応答を測定し、理論モデルとの比較を通じてその物理的挙動を理解することを目的とする。
\section{理論と原理}
二階線形微分方程式で表される減衰振動系を考える。物体の変位 $x(t)$ に対する運動方程式は以下の式\eqref{eq:motion}のようになる。
\begin{equation}
m \frac{d^2 x}{dt^2} + \gamma \frac{dx}{dt} + k x = 0
\label{eq:motion}
\end{equation}
ここで、$m$ は質量、$\gamma$ は粘性減衰係数、$k$ はばね定数である。
\section{実験装置および方法}
\subsection{使用機器}
本実験で使用した主要機器を表\ref{tab:equipment}に示す。
\begin{table}[htbp]
\centering
\caption{実験使用機器一覧}
\label{tab:equipment}
\begin{tabular}{lll}
\toprule
機器名 & 型番 / メーカー & 測定範囲・確度 \\
\midrule
デジタルオシロスコープ & DSOX1204G (Keysight) & \qty{70}{\mega\hertz}, 2 GSa/s \\
ファンクションジェネレータ & 33500B (Keysight) & \qty{1}{\micro\hertz} -- \qty{20}{\mega\hertz} \\
デジタルマルチメータ & TY520 (横河計測) & 直流電圧: $\pm 0.09\%$ \\
\bottomrule
\end{tabular}
\end{table}
\section{実験結果}
測定によって得られた共振周波数は $f_0 = \qty{1.42(3)}{\kilo\hertz}$ であった。
実測波形を図\ref{fig:waveform}に示す。
%画像の貼り付け
\begin{figure}[htbp]
\centering
% \includegraphics[width=0.7\linewidth]{waveform.pdf} % 画像アップロード後に先頭の%を解除
\caption{オシロスコープによって取得した過渡応答波形}
\label{fig:waveform}
\end{figure}
\section{考察}
式\eqref{eq:motion}の解析解から予測される減衰時定数 $\tau = \qty{0.25}{\second}$ と比較すると、実験値には約 $4.8\%$ の誤差が生じた。この要因として、センサ内部抵抗によるジュール熱の発生が考えられる。
\section{付録:解析スクリプト}
データ処理に用いたPythonコードの一部を以下に示す。
\begin{lstlisting}[language=Python]
import numpy as np
from scipy.optimize import curve_fit
def damped_oscillation(t, A, gamma, omega, phi):
return A * np.exp(-gamma * t) * np.cos(omega * t + phi)
# パラメータ最適化
popt, pcov = curve_fit(damped_oscillation, t_data, y_data)
\end{lstlisting}
\begin{thebibliography}{9}
\bibitem{textbook} 理工学部実験指導書編纂委員会 編:「〇〇実験テキスト」, 〇〇大学出版会, pp.45--52 (2024).
\end{thebibliography}
\end{document}【まずここから】TeX執筆の超基本ルール(文法と数式モード)
「Wordと違ってどうやって文章を書けばいいの?」という初心者が、最初に覚えておくべき最小限の文法ルールです。ここさえ掴めばエラーで詰まることはなくなります。
1. 改行と段落のルール(最大の落とし穴)
改行したいときは「空行(Enter 2回)」を挟む: エディタ上で1回だけEnterを押して改行しても、TeXはそれを無視して1つの段落としてつなげて出力します。新しい段落に移行したいときは、必ず「空行を1行」あけてください。TeXが自動で先頭を全角1文字分インデント(字下げ)してくれます。
\\ は「強制改行」コマンド: 文末に \\ を書くと強制的に改行できますが、通常の文章中で \\ を連打するのはアンチパターンです(インデントが崩れたり不自然な余白の原因になります)。\\ は基本的に「表の中の行替え」「数式の複数行展開」などで使うものと覚えておきましょう。
2. コメントアウトと特殊文字のエスケープ
コメントアウト(%): 行頭や文中に % を書くと、その位置から行末まではコンパイル時に無視されます。「後で書くメモ」や「テンプレの一時的な非表示」に使います。
そのまま書くとエラーになる記号: 以下の記号はTeXの予約語(プログラムとしての意味を持つ記号)です。本文中に文字として出したい場合は、直前にバックスラッシュ(\)を付けます。
% $${\to}$$ \%(パーセント)
_ $${\to}$$\_(アンダースコア:本来は下付き文字の指定)
& $${\to}$$ \&(アンド:本来は表や数式の区切り)
$ $${\to}$$ \$(ドル:本来は数式モード)
# $${\to}$$ \#(シャープ)
3. 見出し(章立て)の書き方
Wordのようにフォントサイズを手動で大きくする必要はありません。コマンドで階層を指定するだけで、自動で章番号(1, 1.1など)と見出しが作られます。
\section{実験目的} % 第1章(大見出し)
\subsection{回路構成} % 1.1(中見出し)
\subsubsection{増幅段} % 1.1.1(小見出し)4. 数式モードの使い分け完全マスター
TeXには「文中に埋め込む数式」と「1行独立して表示する数式」の2種類があります。用途に応じて書き方を使い分けます。
① 文中のインライン数式:$ ... $ または \( ... \)
文章の流れを止めずに数式を入れたいときに使います。
時刻 $t$ における速度を $v(t) = v_0 + at$ と表す。※ \( ... \) と書いても同じ動作をします。基本は手軽な $ ... $ でOKです。
② 独立した数式(式番号なし):\[ ... \]
重要な式を中央揃えで1行独立して見せたいけれど、後から本文で参照する予定がない(式番号がいらない)場合に使います。
\[
E = mc^2
\]
$$ ... $$ を使ってはいけない理由 ネットの古い記事では $$ E = mc^2 $$ という書き方が紹介されていることがありますが、これは大昔のPlain TeXの記法です。LaTeXで使うと上下の垂直余白が不自然に広がったり、数式番号パッケージと衝突する原因になります。番号なしの別行立て数式には、必ず \[ ... \] を使いましょう。
③ 独立した数式(式番号あり):\begin{equation} ... \end{equation}
レポートの主役となる式で、考察や本文で「式(1)より〜」と呼び出したい場合に使います。中に \label{eq:名前} を仕込むのがセットです。
\begin{equation}
\oint_C \mathbf{B} \cdot d\mathbf{l} = \mu_0 I_{\text{enc}}
\label{eq:ampere}
\end{equation}④ 複数行の数式・等号揃え:\begin{align} ... \end{align}
計算の途中式を複数行にわたって綺麗に並べたいときに使います(amsmath パッケージの機能)。
&=: 等号の位置をピシッと揃える目印。
\\: 各行の末尾で改行する。
各行に自動で式番号がつきます。番号を付けたくない行には行末に \notag を付けるか、全体に番号が不要なら \begin{align*} ... \end{align*} を使います。
\begin{align}
f(x) &= (x + 1)^2 - 4 \\
&= x^2 + 2x + 1 - 4 \notag \\ % この行だけ番号を消す
&= x^2 + 2x - 3 \label{eq:expanded}
\end{align}体裁修正のためのtips
実験手引きに「余白は上下左右20mm」「欧文フォントはTimes New Roman」「文字サイズは10.5pt」「行間は広め(1.2〜1.5倍)」といった細かな指定があっても焦る必要はありません。プリアンブル(\documentclass と \begin{document} の間)に数行足すだけで自在に制御できます。
1. 余白(マージン)の調整:geometry パッケージ
余白の変更に geometry パッケージを使います。
% 上下左右をすべて同じ余白(20mm)にする場合
\usepackage[margin=20mm]{geometry}
% 上下・左右を個別に細かく指定する場合(例:提出指定に合わせる)
\usepackage[top=25mm,bottom=20mm,left=20mm,right=20mm]{geometry}
★ レポートあるあるTips
「あと3行だけ次のページにはみ出してしまった!」というときは、\usepackage[margin=18mm]{geometry} のように余白を少しだけ狭めると、レイアウトを崩さずに綺麗に前ページへ収めることができます。(指定があるときはやっちゃだめだぞ)
2. 行間(行送り)の変更:setspace パッケージ
行間を調整したいときは、setspace パッケージを使用するのが鉄則です。TeXには直接行送りを変えるコマンドもありますが、setspace を使うと脚注や図表キャプションの行間が不自然に広がってしまうのを自動で防いでくれます。(これ書くまで知りませんでした,,,)
\usepackage{setspace}
% 行間を倍率で指定(1.0が標準、1.2〜1.3倍にすると印刷時に読みやすい)
\setstretch{1.2}
% 規定で行間指定がある場合のプリセット
% \onehalfspacing % 1.5行送り
% \doublespacing % 2行送り
★ ページ数調整Tips
「指定ページ数(例: ぴったり4ページ)に収めたい」という場合、余白だけでなく \setstretch{1.1} や \setstretch{0.95} のように行間をわずかに増減させることで、全体の見た目を損なわずにページ送りを微調整できます。(これまた指定のやつをこそっと変えちゃだめだぞ)
3. フォントサイズの変更
全体の基本文字サイズは、1行目の \documentclass のオプションで変更します。
% 標準的な10ptにしたい場合
\documentclass[xelatex,ja=standard,10pt,a4paper]{bxjsarticle}
% Word標準の10.5ptに合わせたい場合
\documentclass[xelatex,ja=standard,10.5pt,a4paper]{bxjsarticle}
% 大きめの12ptにしたい場合
\documentclass[xelatex,ja=standard,12pt,a4paper]{bxjsarticle}
4. 和文フォント(明朝体・ゴシック体)の切り替え
XeLaTeX環境では、zxjafont パッケージを読み込むだけでOverleaf備え付けの日本語フォントに切り替えることができます。
% 1. 原ノ味フォント(TeX Live標準・明朝+ゴシックのバランスが良い)
\usepackage[haranoaji]{zxjafont}
% 2. GoogleのNotoフォント(現代的で視認性が高い)
\usepackage[noto-otc]{zxjafont}
% 3. IPAexフォント(公的文書や論文で定番)
\usepackage[ipaex]{zxjafont}
5. 欧文フォントを「Times」や「Arial」にする
論文でよくある「英数字はTimes New Roman指定」にもすぐ対応できます。XeLaTeXは標準で fontspec に対応しているため、以下のように指定するだけで反映されます。
\usepackage{fontspec}
% 欧文ローマン体をTimes系に変更
\setmainfont{TeX Gyre Termes}
% 欧文サンセリフ体をArial/Helvetica系に変更
\setsansfont{TeX Gyre Heros}まぁ長々と書きましたがこんなに細かくいじりたい人は自分でも調べてみてください。AIに聞くなりネットで調べるなりをするといくらでも出てくると思います。
テンプレの中身について
理系のレポートを書く際には色々細かい指定がつきものです。実際に論文などを読むと洗練された式の表現方法やグラフ、表などがそこかしこにあります。全部を完璧にとまでは言いませんが学生だろうと文章の外面はよくできるのでそのくらいはやりましょう。
1. 自動連番と相互参照(\label, \ref, \eqref)
TeXを使う最大のメリットがこの「自動連番」です。図や式に手動で「図1」「式(3)」と番号を振る必要は一切ありません。
仕組み:
式・図・表に \label{名前} で目印(ラベル)をつける。
本文中で \ref{名前} や \eqref{名前} で呼び出す。
数式の参照: \eqref{eq:motion} を使うと、自動で丸カッコが付いて「(1)」の形で参照されます(amsmath パッケージの機能)。
図・表の参照: 「図\ref{fig:waveform}に示す」「表\ref{tab:equipment}より」のように書きます。
ラベルの命名ルール(おすすめ): 重複や混同を防ぐため、接頭辞をつけるのが論文執筆の慣例です。
数式: eq:〇〇(equation)
図: fig:〇〇(figure)
表: tab:〇〇(table)
章・節: sec:〇〇(section)
超重要:\label を書く位置の罠
図(figure)や表(table)では、必ず \caption{...} の「後ろ」または「内側」に \label を書いてください。 \caption より前に書いてしまうと、図表番号ではなく「その図がある節(セクション)の番号」を参照してしまう重大なバグの原因になります。
2. 図や表が勝手に別のページに飛ぶ謎(配置指定子 [htbp])
テンプレートの \begin{table}[htbp] や \begin{figure}[htbp] にある [htbp] は、「図や表をどこに配置したいか」の優先順位をTeXに伝える指定です。
h (here): 「コードを書いたまさにこの場所」
t (top): 「ページの最上部」
b (bottom): 「ページの最下部」
p (page): 「図表専用の独立したページ」
TeXは「ページの途中に中途半端な空白を残さない」よう自動で美しいレイアウトを計算するため、指定場所に収まらない図表は自動で次のページや上部に移動します。基本は [htbp] と書いておけば、TeXが最も自然な位置に配置してくれます。(納得いかない時は挿入するのを書く場所を変えるなどをすると割とうまくいきます)
3. 参考文献の書き方と引用(thebibliography と \cite)
レポート末尾の文献リストと、本文中での引用番号を連動させます。
文献リストの定義(文書末尾)
\begin{thebibliography}{9}
\bibitem{textbook} 理工学部実験指導書編纂委員会 編:「〇〇実験テキスト」, 〇〇大学出版会, pp.45--52 (2024).
\bibitem{paper_smith} J. Smith and A. Taylor, ``A Novel Measurement Method,'' \textit{Phys. Rev. Lett.}, vol. 120, p. 054001 (2020).
\end{thebibliography}引数 {9} の意味: 文献番号の「桁数」の目安です。文献が1桁(1〜9本)なら {9}、10本以上ある場合は {99} と書きます(番号の左側のインデント幅を揃えるための指定らしいです)。
\bibitem{ラベル名}: 各文献につけるユニークなあだ名です。
2.本文からの引用(呼び出し)
本文中で引用したい場所に \cite{ラベル名} と書きます。
文献\cite{textbook}によると、この現象は…
先行研究\cite{paper_smith}では次のように報告されている。コンパイルすると、本文には自動で [1] や [2] と付与され、クリックすると該当の文献へジャンプできるようになります。途中で文献を追加・削除しても、番号は自動で正しく繰り上がります。(本当に便利ですこれ)
4. プログラムコードの貼り付け(listings パッケージ)
PythonスクリプトやC言語のソースコードは、\begin{lstlisting}[language=言語名] ... \end{lstlisting} で囲むだけで綺麗に行番号・枠線付きで挿入できます。
\begin{lstlisting}[language=Python]
import numpy as np
def calculate_fft(signal, fs):
return np.fft.rfft(signal)
\end{lstlisting}テンプレートのプリアンブルにある \lstset{...} でフォントサイズや行番号表示を設定しています。
5. 数式チートシート
文中のインライン数式: $f(x) = \sin(\omega t)$(文章の流れの中で表示)
番号付き独立数式:
\begin{equation}
\mathbf{F} = m \frac{d\mathbf{v}}{dt}
\label{eq:newton}
\end{equation}行列:
\mathbf{A} = \begin{pmatrix}
a_{11} & a_{12} \\
a_{21} & a_{22}
\end{pmatrix}場合分け:
f(x) = \begin{cases}
1 & (x \ge 0) \\
0 & (x < 0)
\end{cases}よく使う記号:
分数: \frac{A}{B} → $${\frac{A}{B}}$$
上付き・下付き: x_i^2 → $${x_i^2}$$
偏微分: \frac{\partial^2 \psi}{\partial x^2} → $${\frac{\partial^2 \psi}{\partial x^2}}$$
総和・積分: \sum_{k=1}^n k, \int_0^\infty e^{-st} dt → $${\sum_{k=1}^n k, \int_0^\infty e^{-st} dt}$$
6. 単位の正しい書き方(siunitx パッケージ)
理系レポートで減点対象になりやすいのが「単位の斜体ミス」(例: $${10 m}$$ と直打ちすると $${m}$$ が質量変数に見える)。 \qty{数値}{単位} コマンドを使えば、数字と単位の間に適切なスペース(薄い空白)が入り、自動的に立体表記になります。
\qty{100}{\kg} $${\to 100\text{ kg}}$$
\qty{9.8}{\m/\s^2} $${\to 9.8\text{ m/s}^2}$$
\qty{3.3}{\kilo\ohm} $${\to 3.3\text{ k}\Omega}$$
\qty{25}{\degreeCelsius} $${\to 25\text{ }^\circ\text{C}}$$
単位単体を出したい場合: [\si{\volt}] $${\to \text{[V]}}$$
7. 論文っぽい表の「三線表(booktabs)」
縦罫線を使わず、横線3本(\toprule, \midrule, \bottomrule)だけで見せるのが論文でよく使われているレイアウトです。
\begin{table}[htbp]
\centering
\caption{実験条件と測定結果}
\label{tab:result}
\begin{tabular}{ccc}
\toprule
試行回数 & 印加電圧 [\si{\volt}] & 応答時間 [\si{\second}] \\
\midrule
1 & 5.0 & 0.12 \\
2 & 10.0 & 0.23 \\
3 & 15.0 & 0.35 \\
\bottomrule
\end{tabular}
\end{table}※ \begin{tabular}{ccc} の c は中央揃え(Center)、l は左揃え(Left)、r は右揃え(Right)を表します。
8. グラフ・画像の挿入
Overleafの左上にあるアップロードボタン(またはサイドバーへのドラッグ&ドロップ)で画像ファイルを配置します。
\begin{figure}[htbp]
\centering
\includegraphics[width=0.75\linewidth]{graph.pdf}
\caption{周波数特性のボード線図}
\label{fig:bode}
\end{figure}★ おすすめのTips
グラフはPNGなどのラスター画像ではなく、PDF(ベクター形式) で保存してOverleafにアップロードするのがおすすめです。Python(matplotlib)であれば plt.savefig("graph.pdf") とするだけで、拡大しても印刷しても線や文字が一切ぼやけません。
便利ツール
AIツール(ChatGPT / Claude 等): 「このExcelの表をLaTeXのbooktabsにして」「この画像の数式をLaTeXコードにして」と頼むのが一番速いです。また、なんでも始めのうちはTeXでできることのほとんどを知らないと思います(自分も知らないことの方が多いですし、そんな自分でも知っていることもこれに書ききれていないです)なので、がんがんAIに聞いて、「こんな文書の作り方できないの?」や、「Wordのこの機能をTeXではどうやるの?」など聞きまくって活用してきましょう。
TeXclip:webサイト上で数式を画像にできるサイトです。PPなどに数式を張る際に綺麗な数式をベクター画像で出力でいるので使いましょう。
エラーが出たとき: 赤色エラーの多くは 「カッコ { } の閉じ忘れ」 か 「$ の閉じ忘れ」 です。直前に編集した箇所を確認してみましょう。
よく使う便利なサイト集
TeX Wiki:名前の通りTeXの情報を有志で書いていくWikiです。大体はこのサイトで調べたらとっかかりのキーワードくらいは出てきます。
数学の景色-LaTeX:このサイトは結構細かい部分の書き方まで載っているので、今現状の表現をまた別のより適している表現に書き換えたい時などにも使えます。
Qiita:このサイトはnoteみたいなものなのですが、結構ITとかの内容が盛んな掲示板になっていて、内容も豊富なので活用してみてください。
おわりに
TeXの本質的な強みは、「一度納得のいくテンプレートを固めてしまえば、何度でも完璧に再利用できる」という資産性の高さにあると思っています。
確かに最初の1回目は、記法を調べたり余白やフォントを整えたりと、Wordより少し時間がかかるかもしれません。ですが、一度自分(あるいは班)の「勝ちパターンとなるテンプレート」を作り上げてしまえば、次回以降のレポートはテキストとデータを差し替えるだけで、一瞬で誰よりも美しいレポートが組み上がります。
「毎回のレポートごとにWordの図のズレや数式配置と格闘するストレス」から一生解放されると思えば、この最初の小さな投資ほどリターンの大きいものはありません。
まずはいったんこの記事のテンプレートをコピーして、次の実験レポートで簡単にかつ綺麗に文書が整っていくのを感じてみてください。
