北海道大学 大学院工学院 応用物理学専攻 応用物理学コース English version
光量子物理学研究室 Laboratory of Nonlinear Optics and Laser Physics

光量子Tips - 卒論を書く

(2014/12/20作成開始)
ここでは卒業論文を書くために使うTeX(テフ)ソースコードの全体的な書き方を説明します。

サンプルがダウンロードできます。利用する際は必ず、ファイルの解凍(展開)をしてください。

TeXソースコードの大まかな構成

TeXはプログラミング言語の一種です。TeXで文章を書くにはある決まった規則(コマンド)に則らなければなりません。TeXソースコードはまず、大まかに(前半の)プリアンブル部と(後半の)本文の部分の二つの部分に分かれます。

プリアンブル

プリアンブル部ではTeX文章の総合的な設定を行います。TeXのソースコードの一番最初に書かれていなければならない命令群です。卒論を書く際の一例として、コード1の内容を参考にしてみてください。

コード1 プリアンブル(一例)
\documentclass[11pt,a4j,notitlepage]{jreport}
\usepackage[dvipdfmx]{graphicx}		%図を表示するのに必要
\usepackage[dvipdfmx]{color}		%jpgなどを表示するのに必要
\usepackage{amsmath,amssymb}		%数学記号を出すのに必要
\usepackage{setspace}

%PDFの機能(しおり機能、ハイパーリンク機能)が使えるようにする
%しおりの文字化けを防ぐ
\usepackage{atbegshi}
\AtBeginShipoutFirst{\special{pdf:tounicode 90ms-RKSJ-UCS2}}
%hyperrefのverが2007-06-14 6.76i以前の時は↓
%\AtBeginShipoutFirst{\special{pdf:tounicode 90ms-RKSJ-UCS2}}
\usepackage[dvipdfmx,bookmarkstype=toc,colorlinks=true,urlcolor=blue,linkcolor=blue,
citecolor=blue,linktocpage=true,bookmarks=true,setpagesize=false,
pdftitle={論文のタイトルをここに入れる},
pdfauthor={自分の名前(著作者)をここに入れる},%
pdfsubject={Bachelor's thesis in 2013(2013年の学士論文という意味!)}]{hyperref}
\usepackage[numbers,sort]{natbib}
\usepackage{tocbibind}%目次、表一覧、図一覧をしおりに入れる

%式、図、表番号の付け方の再定義
\makeatletter
	\renewcommand{\theequation}{%
	\thesection.\arabic{equation}}
	\@addtoreset{equation}{section}
	\def\thefigure{\thesection.\arabic{figure}}
	\@addtoreset{figure}{section}
	\renewcommand{\thetable}{%
	\thesection.\arabic{table}}
	\@addtoreset{table}{section}
\makeatother

\renewcommand\bibname{参考文献}			%関連図書->参考文献
\newcommand{\figref}[1]{図~\ref{#1}}	%図1等の定義

%大きなフォントの定義(表紙用)
\def\HUGE{\fontsize{32pt}{36pt}\selectfont} %\fontsize{フォントの大きさ}{baselineskip}

%ここから本文
\begin{document}
%
%ここに本文が入る
%
\end{document}

これを見て、面を食らうかもしれませんが、最初はこのままコピーアンドペーストで良いと思います。(この部分だけ入力してコンパイルをしても、本文が何も入っていないためにエラーが出てPDF文章は出力されません。)ここ以降のソースコードはこのプリアンブルと\begin{document}と\end{document}は省略してあるので、ここ以降のソースコード例は\begin{document}と\end{document}の間に入力して下さい。

1行目はTeX文章の一番最初に必ず書かなければならない命令です。詳しくは、参考文献[1]をご覧ください。例えば、ここを変更することによって二段組などもできるようになります

2行目、3行目は図を表示するのに必要です。さらに4行目は数式を表現を豊かにするために書いてあります。2行目から5行目で使われる\usepackage{}という命令は外部のスタイルファイルというものを読み込むための命令です。スタイルファイルは拡張機能の設定を書いたものです。TeXには様々なスタイルファイルが用意されており、スタイルファイルを利用することによりTeXの文章をさらに恰好よくし、便利に使うことができるようになります。

5行目はある部分だけ行間のスペースを変化させたいときに使うスタイルファイルです。このスタイルファイルはこの文章では謝辞でしか使いません。

7行目から19行目まではPDFファイルのしおり機能やハイパーリンク機能などをオンにするための命令群です。PDFの文章プロパティ内に表示させるタイトル、著作者などの設定もここで行えるので、適宜(「論文のタイトルをここに入れる」などと書かれている場所)を書き変えて下さい。詳しく知りたい場合は参考文献[2]をご覧ください。

22行目から31行目までは式・図・表番号のつけ方を変更する命令群です。TeXでは自動的に式・図・表番号をつけてくれる機能がありますが、デフォルトのままだとただの連番になってしまうので、章ごとに番号がリセットされるように変更しています。詳しくは参考文献[3]などをご覧ください。

33行目については、BibTeX使用時に、参考文献リストの題名が「関連図書」とでてしまうため、それを「参考文献」にするための命令です。

34行目ついては\figref{}という命令を新たに設定しています。詳しく知りたい場合はをご覧ください。

37行目は、表紙の題名でTeXのプリセットの命令でだせるよりも大きなフォントサイズを使用しなければならないので、その命令を新たに定義しています。

40行目で本文を書く部分が登場します。¥begin{document}から¥end{document}までがdocument環境と呼ばれるもので、(¥begin{...}~¥end{...}で囲まれる部分は...環境と呼びます。)この間に本文を入力します。¥begin{...}~¥end{...}の形はTeXで良く出てくるので今覚えましょう。

本文

本文はコード1¥begin{document}~¥end{document}の間に書かれます。

卒論を作るには、まず目次(と節などの卒論の骨格)を作ることから始めましょう。作り方は、次の項目で説明します。そのほかの数式参考文献については、別ページで説明をしていますので、併せてご覧ください。

本文中の基本ルール

¥と\(バックスラッシュ)

TeXではコマンドの頭に\(バックスラッシュ)を付けるルールがあります。環境(オペレーションシステム,言語環境)によっては、¥(円マーク)として表示される場合があります。このため、Webサイトによって、円マークを採用していたり、バックスラッシュを採用していたりとまちまちです。Windowsを使用している場合は¥(円マーク)が通常ですので、\(バックスラッシュ)は¥(円マーク)に読み変えてください。

% (コメントアウト)

コメントアウトとは、TeXのソースファイル内に書けるコメント、もしくはコメントとして残す行為の事を指します。すなわち、命令でもなく本文の内容でもなく、プログラム(コンパイラ)には読み取ってほしくないけれども、後でソースファイルを読み返したときに読み返した人に対して何かの情報が得られるように書き置いておくためのものです。

TeXにおいては、%(パーセント)の記号によって、コメントの開始をプログラム(コンパイラ)伝えることができます。(このコメントアウトは%がある行末まで有効です。)例えば、

%コメントアウトです

のように%以降に書いたものは全てコメントアウトとして判断されます(その部分は無視されます)。%はソースファイル中のどこにあってもよく、

\begin{equation}	%equation環境の開始
a=b				%式
\end{equation}		%equation環境の終了

のように命令等のすぐ後に書いてもよいです。(改行後はコメントアウトが解除されます。)

ソースコード中の一個の改行と二個(以上)の改行の違い

TeXではソーコード内の本文において、1個の改行は意味をなしません。TeXで単に次の行に表示されるようにするには改行ではなく\\という命令を使います。しかし、卒論において\\を使うのは好ましくないです。

TeXにおいては、段落の概念が存在しているため、本文中では改行ではなく、「改段落」を行うのがよく、それは改行を二個(二個以上)入ることにより実現されます。(表1)

表1 ソースコード中の一個の改行と二個(以上)の改行の違い
一個の改行二個(以上)の改行
改行がある時と無いときとで出力の違いはない改段落

卒論の骨格を作る

表紙の作り方

まずは、表紙を作りましょう。¥begin{document}の次の行にコード2の内容を入れてください。(内容は適宜変えてください。)TeXでは、ソースコードから最終的にPDFファイルを生成することができます。TeXworksを用いて生成する方法について次の項目で説明します。(TeXworksのインストール方法については、光量子Tips TeXシステムをインストールするをご覧ください)

コード2 表紙
%題名
\begin{titlepage}
\begin{center}\begin{LARGE}
\vspace*{3.5em}{平成40年度 卒業論文}\vspace{1em}\\
\textbf{\HUGE 美味しいチャーハンの作り方\\\vspace{0.25em}--トポロジーの観点から--}\\
\vspace{0.8em}
{\LARGE\bf Are you a good cook?}
\vspace{0.28\vsize}\\
{ドーナツ大学 工学部\\ドーナツ学専攻 ドーナツ科学研究室}\\\vspace{0.8em}
{\Huge\bf カカお 太郎}\\
\vspace{1em}
{\Large 20xx年2月5日}
\end{LARGE}\end{center}
\end{titlepage}

コンパイル

TeXのソースファイルを元にして、PDFファイルを生成することをコンパイルすると言います(厳密には少し間違っていますが、便宜上、ここではこのように言います)。TeXworksでコンパイルをする方法は簡単です。図1の赤枠で囲まれた所に再生ボタンがあり、それをクリックするだけです。(隣のコンボボックスが"pdfpLaTeX"になっていることを確認してください。"pdfLaTeX"(pが抜けている)と日本語が含まれている文章ではエラーが出てコンパイルができません。)

図1 TeXworksコンパイルする方法

作成したTeXのソースコードに不備があると、コンパイラがエラーを出して、途中で止まります。図2は、54行目の最後(コード2の12行目)の最後の"}"を消したときに現れるエラーです。「ログの表示」の所には、55行目でエラーが起こりコンパイルが終了したとの報告が書かれています。本来では、¥end{LARGE}よりも前に"}"が無ければならないのに、¥end{LARGE}の前に"}"が無かったため、¥end{LARGE}の後で"missing } inserted"のエラーを出してコンパイルが中断されています。このように、TeXのコンパイラが表示するエラーは、「まさに間違っている所」を教えてくれるわけではなく、「どこで論理が破綻したか」のみを教えてくれます。エラーを修正するコツは、間違いは大抵エラーが起こる場所よりも前にあるということです。

図2 エラーが起こっているときの画面

目次の作り方

表紙ができたので次に目次と卒論の骨格(章・節の構造)を作りましょう。

例として、図3のような章・節の構造で卒論を書く場合について説明をします。

目次を作るには、TeXのソースコードに骨格(章・節の構造)の情報を入れなければなりません。目次を作る命令と骨格の情報を書いたコードをコード3に示します。

コード3 目次を作る命令と卒論の章・節の構造
\pagenumbering{roman}	%目次のページはローマ数字
\tableofcontents

\chapter{序論}
\pagenumbering{arabic}	%本文についてはアラビア数字(この命令は必要)
\section{研究の背景}
\section{研究の目的}
\section{本論文の構成}

\chapter{トポロジカル光と軌道角運動量}
\section{光渦}
\section{ドーナツ}
\section{コーヒーカップ}

\chapter{美味しいチャーハンの作り方}
\section{これまでのおいしいチャーハンの作り方の問題点}
\section{美味しいチャーハン作製法}
\subsection{火力増強法}
\subsection{中華鍋法}
\section{新手法}
\section{実験結果}
\section{考察}
\subsection{焦げる原因}
\subsection{全体的に美味しくない原因}
\section{今後の展望}

\chapter{結論}

\appendix
\chapter{実験で使用した中華鍋}
\def\thesection{A\Alph{section}}
\chapter{火力の測定法}
\def\thesection{B\Alph{section}}

\chapter*{謝辞}
\addcontentsline{toc}{chapter}{謝辞}

1行目はページをローマ数字にする命令です。5行目(卒論の本文が始まる所)からはページがアラビア数字になるよう戻しています。

2行目の%yen;tableofcontentsは「ここに目次を作成せよ」という命令です。これが無い場合は目視が表示されません。

6行目以降は文章の骨格の情報を書いていきます。基本的に、卒論は章・節・小節の3つの構造で成り立っています。表2のように、TeXには、章・節・小節を表す命令が用意されています。(実際にはより豊富に命令が用意されています。詳しくは参考文献[1]をご覧ください。)

表2 章・節・小節を表す命令
小節
¥chapter{...}¥section{...}¥subsection{...}

29行目から33行目までは付録です。また、35,36行目は謝辞です。付録、謝辞については少し書き方が通常とは違うことに注意してください。

本文を書く

本文の書き方

骨格ができたので、ついに本文を書き始めます。本文は、コード4のように、書きたい章・節・小節の命令の後に書くと、その章・節・小節の所に文章が表示される仕組みになっています。

コード4 本文の書き方(¥section{研究の背景}などが既に書かれている場合は、それらを2回書く必要はありません。)
\section{研究の背景}
光渦は軌道角運動量$l$を持つ光のことを指し、らせん状の等位相面やドーナツ型の強度分布などの特徴がある。この光渦はアレンが1992年に最初に報告した。そして、現在では光の軌道角運動量という従来使われていなかったパラメータを活用する試みとして,・・・
\section{研究の目的}

\section{本論文の構成}
本論文の構成は以下の通りである。まず,導入として光渦の一つであるラゲールガウスビームについて説明をする(\textbf{第2章})。・・・

謝辞の作り方

謝辞も卒論の重要な項目の一つです。謝辞の一例をコード5に示します。

コード5 謝辞の一例(1,2行目の内容が既に書かれている場合は、それらを2回書く必要はありません。)
\chapter*{謝辞}
\addcontentsline{toc}{chapter}{謝辞}
\begin{spacing}{1.2}
レーザーとは全く関係のない早口言葉の研究をやりたいと言ったとき、先生が仰ったことを今でも、まるで昨日のことのように覚えています。「お前は何をしにここに来たんだ」その言葉に私は、今すぐにでも違う研究テーマにしようと思いかけましたが、私の名前そのものが早口言葉である以上、この研究以外に無いと再び思い、先生も次第に私の答えがどこにあるかがわからない研究に協力してくださるようになりました。先生の愛のこもったアドバイスが無ければ、この研究を完成することはできなかったと思います。ここに、深い感謝を申し上げます。

研究室のメンバーにも私は恵まれたと思います。私のことをいつもパミュパムさんと呼んでくれる高橋君には\TeX の使い方を教えてもらいました。私のことをいつもパムパンちゃんと呼んでくれる細野先輩にはフーリエ変換をMathematicaで行う方法についてじっくりと教えていただきました。そして、私のことをいつもパムと呼んでくれる坂本さんとはよく昼や夕飯に誘ってもらいました。みなさん結局私の名前をきちんと呼んでくれませんでしたが、とても親切でこの研究室のメンバーがいたからこそ、私は卒業研究を完成させることができたと思っています。みなさんありがとうございました。
\end{spacing}

\begin{flushright}
平成xx年2月5日\\
ドーナツ学研究室4年\\
しゅがーらいんちゃろんしろっぷきゃりーかかおぱみゅ
\end{flushright}

参考文献

  1. 文系のマカーにも使えるLaTeX 文書クラスとプリアンブル
  2. KUMAZAWA Yoshiki hyperref.sty
  3. KUMAZAWA Yoshiki 式番号に節番号を付加
  4. neruko3114's Blog マクロの作り方("TeX & LaTeX Advent Calendar")