どっかの元高専生の技術備忘録

10割自分の備忘録用のブログ。

LaTeXを使ってレポート作成 サンプルコード付き

目次

はじめに

卒業前に弊高専LaTeXを布教したいが為に書いてみた。
LaTeXを使ったレポート作成の初心者向け記事。
ここ(GitHub)にサンプルのtexファイルがあります。コマンドの使い方や、LaTeXの文章構造の理解に役立ててみてください。
sample.texを見ながら記事を読んでいくとわかりやすいかも
あくまでも弊高専でのレポートのフォーマットになるので、自分の環境に合わせて適宜読み替えてください。

LaTeX文章の基本構造編

LaTeXの文章はプリアセンブルのブロックと本文のブロックの2つで構成されています。
プリアセンブルブロックでは文章の種類や、使用するパッケージ、文章のタイトル等を設定しています。
本文ブロックではそのままメインの文章を記入します。

プリアセンブル

\begin{document}までをプリアセンブルと呼びます。文章の基本的な設定や、使用パッケージの宣言などを行います。

文章の基本設定 documentclass

プリアセンブルでは、必ず\documentclass[option]{class}の設定が必要です。必ず1行目で定義してください。
{calss}には文章の種類を、[option]には使用するTeXの種類や、用紙の大きさなどを指定します。
基本的には

\documentclass[a4j, uplatex]{jsarticle}

にしておけば問題ないです。
2段組にしたい場合は

\documentclass[a4j,twocolumn, uplatex]{jsarticle}

にすれば2段組になります。

使用パッケージの宣言 usepackage

画像を埋め込んだり、数式を使ったりするためにはパッケージが必要になります。そのパッケージを宣言するコマンドが\usepackage{package_name}になります。
最低限必要なパッケージがこちらになります。

% =========使用パッケージの宣言=========
% 画像関係のパッケージ
\usepackage[dvipdfmx]{graphicx}
\usepackage[dvipdfmx]{color}

% 数式関係
\usepackage{siunitx}
\usepackage{amsmath}
\usepackage{amssymb}

% 表でHを使う
\usepackage{float}

% セルに斜線を入れる
\usepackage{diagbox}

% セル結合を使えるようにする
\usepackage{booktabs, multirow}

% 複数ページに渡る表を作る
\usepackage{longtable}

% 参考文献用,URLの埋め込み用
\usepackage{url}

もし、文章にコードの貼り付け等をする場合は、jlisting.styパッケージのインストールが別途必要になります。
パッケージのインストール方法については下の方に書いてあります。

% ソースコードで日本語のコメントアウトを使う
\usepackage{listings, jlisting}

% ソースコードの表示に関する設定
\renewcommand{\lstlistingname}{Code}
\lstset{
    basicstyle={\ttfamily},
    identifierstyle={\small},
    commentstyle={\smallitshape},
    keywordstyle={\small\bfseries},
    ndkeywordstyle={\small},
    stringstyle={\small\ttfamily},
    frame={tb},
    breaklines=true,
    columns=[l]{fullflexible},
    numbers=left,
    xrightmargin=0zw,
    xleftmargin=3zw,
    numberstyle={\scriptsize},
    stepnumber=1,
    numbersep=1zw,
    lineskip=-0.5ex
}

上のコードをプリアセンブルに貼り付けて、本文ブロックに以下のコマンドを貼り付ければ、ソースコードが表示されます。

          \begin{lstlisting}[caption=キャプション,label=ラベル, language=言語, escapechar=エスケープするための記号]
ここにソースコード
            \end{lstlisting}

タイトルと作成者、作成日の記入編

ここで、文章のタイトルと、作成者、日付の記入をします。

% =========タイトル・作成者・日付の設定=========
\title{\LaTeXでレポートを作成するサンプル文章}
\author{だつかくあーてぃー}
\date{}

なお、\date{}には任意の文字列を入れることができます、空白の場合はビルドした時の日付が自動で入力されます。

本文編

\begin{document}から\end{document}までが文章の本文ブロックになります。章立てや、画像の貼り付け、数式の入力等このブロックで行います。
基本的に改行等のレイアウト調整は勝手にやってくれますが、\\か、\newlineコマンドで改行されます。
また、改ページを行いたい場合は\newpageコマンドを使うことで改ページされます。
2段組の場合は、\newpageコマンドだと右段落から左段落への移動になるので、変わりに\clearpageコマンドで改ページ後右段落への移動になります。
また、途中から1段組にしたい場合は\one\onecolumnコマンドを使うことで、改ページ後1段組になります。

タイトルの生成 maketitle

先程、プリアセンブルで宣言した文章のタイトルと作成者、作成日の表示を行います。基本的には\begin{document}のすぐ下で

\maketitle

コマンドを宣言して表示します。
このコマンドを宣言した場所でタイトルの生成がされますが、基本的には文章の一番最初になります。

見出し編

文章中で1.や1.1等章立ての方法になります。

節立て

\section{節の見出し}

このコマンドを宣言したところから次の\section{}コマンドまでが1つの節になります。
なお後ほど紹介する相互参照を行うためのラベルは

\section{節の見出し} \label{ラベルの名前}

このように宣言することで、ラベルの設定も行えます。

小節立て

\subsection{小節の見出し}

このコマンドを宣言したところから次の\subsection{}コマンドまでが1つの小節になります。
相互参照を行うためのラベルは

\subsection{節の見出し} \label{ラベルの名前}

このように宣言することで、ラベルの設定も行えます。

番号を付与せずに節立て

レポート最後の付録のように、節番号を付与せずに節立てしたい時は

\section*{見出し}

このように、アスタリスクをつけてください。これは、subsection, subsubsection等でも有効です。

数式編

数式には大きく3つの種類があります。また、よく見るF=G \frac{Mm}{r^2}などの記法は数式モード内でしか使用できないので注意してください。
レポート作成で使いそうな基本的な数式の記法はsample.texにありますが、詳しい使い方は適宜調べてください。 また\mbox{文章}を使うことで、数式中に文章を挿入できます。

各行に数式番号を付与する

各行に数式番号を付与する場合は、\begin{align}環境を利用します。

\begin{align}
    F &= G \frac{Mm}{r^{2}} \\
    G &= F \frac{r^2}{Mm} \label{eq:univ_gravity}
    \mbox{これは万有引力の方程式です。}
\end{align}

改行は\\コマンドで行えます。また式を立て揃えしたい場合は、揃えたい箇所に&を入れることによって、立て揃えされます。 相互参照のためのラベルをつけたい場合は、相互参照したい式の最後に\label{名前}することで可能になります。

各行に番号を付与しない

各行に式番号を付与したくない場合は\begin{align*}環境を利用します。さっきのalignにアスタリスクがついただけです。

\begin{align*}
    \frac{Z_0}{j tan \beta l} &= j \omega L \\
    - \frac{Z_0}{tan \beta l} &= \omega L \\
    \mbox{$\omega = 2 \pi f なので$} \\
    - \frac{Z_0}{tan \beta l} &= 2 \pi f L \\
    -tan \beta l &= \frac{50}{2 \pi \times 2.45 \times 10^9 \times 15 \times 10^9} \\
    - \beta l &= 12.2\cdots \\
    \therefore \beta l &= 167.8[deg] \stepcounter{equation}\tag{\theequation} \label{eq:inductor}
\end{align*}

最終行にのみ式番号を付与したい等のときは

\stepcounter{equation}\tag{\theequation}

これを、付与したい式の最後で宣言するとその行の式だけ番号が付与されます。

インラインで数式

文章の途中で[tex: e=mc2]等、数式を入力したいときは数式を入力したい箇所で$数式$このようにドルマークで囲みます。
ドルマークで囲まれた箇所では数式モードが有効になります。

画像編

画像を埋め込む際には\begin{figure}環境を使います。

\begin{figure}
    \centering
    \includegraphics[width=Ncm]{画像へのパス}
    \caption{キャプション \label{ラベル名}}
\end{figure}

これが雛形になります。注意してほしいのは、画像の場合扱いは図となるので、図番号とキャプションは画像の下になります。
従って、必ず\includegraphicsの下で、\captionを宣言してください。
また、\captionすると、番号は勝手に割り振られます。
\includegraphicsの後ろにある、[width=Ncm]では、画像の横幅が設定できます。他にも[scale=0,7]などがあります。これは、元画像の何倍の縮尺で表示するかの設定になります。 なお、対応しているフォーマットはpng, jpg, pdf等ですが、pdf形式が一番確実です。

画像を横に並べる

画像を横に並べるには\begin{minipge}環境を使います。

\begin{figure}
    \begin{minipage}[c]{0.5\hsize}
    \centering
    \includegraphics[scale=0.8]{./pic/internet_computer_wired.png.pdf}
    \caption{1枚目 \label{fig:no1}}
    \end{minipage}
    \begin{minipage}[c]{0.5\hsize}
    \centering
    \includegraphics[scale=0.4]{./pic/internet_computer_wired.png.pdf}
    \caption{2枚目 \label{fig:no2}}
    \end{minipage}
\end{figure}

\begin{minipage}[c]{0.5\hsize}{0.5\hsize}の値を変更すれば3枚並びや、2段組での横並びなどもできます。

表の作り方編

表を作る際には\begin{table}を使います。

\begin{table}[htp]
    \centering
    \caption{キャプション \label{ラベル名}}
    \begin{tabular}{表の列の設定}
        ここに表を記入
    \end{tabular}
\end{table}

注意してほしいのは、表の場合キャプションは上に置くことになるので、必ず\begin{tabular}の上でキャプションを宣言してください。
表の列の設定には、列の数や、揃え方、縦の枠線の設定などを入れます。sample.texを覗いてもらうか、適宜調べてください。

電流[A] 電圧[V] 時間[s]
A 1 10 0.01
B 2 0.4 0.3
C 3 1 0.6

試しに、この表を作成するサンプルコードをおいておきます。

\begin{table}[htp]
    \centering
    \caption{サンプル表 \label{tab:sample}}
    \begin{tabular}{|c||c|c|c|}
        \hline  & 電流$[A]$ & 電圧$[V]$ & 時間$[s]$ \\ \hline \hline
        A & 1 & 10 & 0.01 \\ \hline
        B & 2 & 0.4 & 0.3 \\ \hline
        C & 3 & 1 & 0.6 \\ \hline
    \end{tabular}
\end{table}

アンドマークで列の切り替え、\\コマンドで行の切り替え、\hlineコマンドで横線を引くことができます。
\begin{tabular}{|c|c|c|c|}このコマンドは、4つの列があり、全て中央揃えであることを宣言しています。

相互参照編

相互参照を行うには先ず、\label{ラベル名}コマンドで相互参照するための名前を決める必要があります。
命名規則はありませんが、わかりやすい名前がいいでしょう。以下に自分が使っている命名規則を載せます。

画像・図  ->   \label{fig:画像の名前}
      表      ->    \label{tab:表の名前}
      式      ->    \label{eq:式の名前}
節・小節 ->    \label{節・小節の名前}

名前を決めたら、今度は呼び出しを行います。呼び出したい箇所で\ref{ラベル名}コマンドで呼び出しください。

画像・図  ->   図 \ref{fig:画像の名前}
      表      ->    表 \ref{tab:表の名前}
      式      ->    式 \ref{eq:式の名前}
節・小節 ->    第 \ref{節・小節の名前} 章

参考文献編

レポートを書く際に、参考文献は必須となります。LaTeXでは\begin{thebibliography}環境を使うことで、参考文献用の節立てが自動でされます。
参考文献リストの記述法等、規則があったらそれに従うように書き換えてください。

\begin{thebibliography}{99}
    WEBページの場合 \bibitem{文献を呼び出す名前} 発行者名・団体名, " ページタイトル", \url{URL}, アクセス・YYYY年MM月DD日 
    書籍の場合 \bibitem{文献を呼び出す名前} 作者名, "書籍のタイトル", 発行所名, 発行・YYYY年MM月DD日
\end{thebibliography}

また、本文中で参考文献を呼び出すときはこのように呼び出してください。

参考文献\cite{文献を呼び出す名前}より、この原理を説明する

基本的に\begin{thebibliography}は、\end{document}の前(本文の一番最後)で宣言すれば大丈夫だと思います。

おわりに

結構思いつきで書き始めたので、抜けているところや分かりづらいところ、記法を間違えてるかもしれません。
もし、ありましたらコメントやメールを頂ければと思います。

参考文献

medemanabu.net

medemanabu.net

mathlandscape.com

qiita.com