最終更新:2017-06-12 (月) 08:54:27 (493d)

チュートリアル

これだけで出来る LaTeX によるレジュメ作成―チュートリアル編

概要

LaTeX でレジュメ書いてとか,論文書いてとか言われたけど, ぶっちゃけ何から手をつけていいのか全然分からないんだけど.
という方のためのチュートリアル.
これだけマスターすれば, 最低限,レジュメくらいは作成できるようになるでしょう.

原稿ファイルの作成

まずは,何かしらのテキストエディタ(Emacs とか Vim とかメモ帳とか) で,UTF-8 の LaTeX 原稿ファイル koredake.tex を,何かしらのディレクトリ(フォルダー)に作成します.
Windows であれば %USERPROFILE%\mydoc\ の下にでも作成してください.
macOS, Linux であれば ~/mydoc/ 以下だろうと思います.
koredake.tex の中身をまず,次のように記述します.

\documentclass[autodetect-engine,dvi=dvipdfmx,ja=standard,twocolumn]{bxjsarticle}% LaTeX 処理系を自動判別 -> autodetect-engine, TeX エンジンが DVI 出力の場合は dvipdfmx を使用する -> dvi=dvipdfmx, 日本語処理の標準設定を使用する -> ja=standard, 2 段組 -> twocolumn
\setpagelayout*{margin=2cm}% 余白の調整 上下左右 = 2 cm
\usepackage{graphicx}% 画像の読み込み
\usepackage{url}% URL の記述のため
\begin{document}
\title{レジュメを書くための最低限の記述に関する考察\\
       {\Large ―\LaTeXe による簡単な2段組の文書の作成―}}
\author{ポテト王国大学 工学部 建築学科\\ 
        学生番号 2006-4649\quad 北海 花子}
\date{\today}% 日付
\begin{abstract}% 概要
 この文書は\LaTeXe でレジュメを書くための最低限の記述に関して考察する文
 書である.内容は出鱈目であるから,参考にしないこと.雛形・サンプル・入
 力例として有効に活用できる物と思われる.
\end{abstract}
\maketitle % 表題
\section{原稿の作成}
\end{document}

\documentclass はかならず記述しなければならない行です.
これでその文書の書式を決定します.
autodetect-engine というのは文書クラスオプションで LaTeX 処理系を自動判別します.
dvi=dvipdfmx は文書クラスオプションで TeX エンジンが DVI 出力の場合は dvipdfmx を使用します.
ja=standard は文書クラスオプションで 日本語処理の標準設定を使用します.
twocolumn は文書クラスオプションで,2 段組の書式を選択します.
bxjsarticle というのは ZR 氏による日本語用の文書クラス (BXjscls) です.
用紙の余白を調整するために,

\setpagelayout*{margin=2cm}% 余白の調整 上下左右 = 2 cm 

としています.
geometry パッケージを使って,上下左右の余白を 2 cm に設定しています.
BXjscls は内部で geometry パッケージを使用します.
画像を読み込むために

\usepackage{graphicx}% 画像の読み込み

として,graphicx パッケージを読み込みます.

\usepackage{url}% URL の記述のため

URL を記述するために URL パッケージを読み込みます.
LaTeX では %, ~, &, #, $, \, {, }, ^, _ というアスキー文字でさえも 原稿中でそのまま記述する事ができません.
そのため,単純に URL を

http://ja.wikipedia.org/wiki/%E3%82%AF%E3%83%8C%E3%83%BC%E3%82%B9

というように記述すると意図通りの出力になりません.

タイプセット(またはコンパイル・組版・成形)

原稿 koredake.tex が作成されたのならば,今度はそれをタイプセット (コンパイル・組版・成形とも言う)します.
可能な限りファイル名には 日本語を使わずに,半角英数文字だけにした方が無難です.
という事で,PowerShell やコンソールから

uplatex koredake.tex

とします.
拡張子は .tex の場合は省略可能で,

uplatex koredake

としてもタイプセットできます.
すると,画面には

This is e-upTeX, Version 3.14159265-p3.7.1-u1.22-161114-2.6 (utf8.uptex) (TeX Live 2017/W32TeX) (preloaded format=uplatex)
 restricted \write18 enabled.
entering extended mode
(./koredake.tex(guessed encoding: UTF-8 = utf8)
pLaTeX2e <2017/05/05u01> (based on LaTeX2e <2017-04-15>)
Babel <3.10> and hyphenation patterns for 84 language(s) loaded.
(c:/w32tex/share/texmf-dist/tex/latex/bxjscls/bxjsarticle.cls(guessed encoding: UTF-8 = utf8)
Document Class: bxjsarticle 2017/04/01 v1.5b BXJS document classes
(c:/w32tex/share/texmf-dist/tex/latex/tools/calc.sty)
(c:/w32tex/share/texmf-dist/tex/latex/graphics/keyval.sty)
(c:/w32tex/share/texmf-dist/tex/latex/bxjscls/bxjscompat.sty)
(c:/w32tex/share/texmf-dist/tex/generic/oberdiek/ifpdf.sty)
(c:/w32tex/share/texmf-dist/tex/latex/geometry/geometry.sty
(c:/w32tex/share/texmf-dist/tex/generic/oberdiek/ifvtex.sty)
(c:/w32tex/share/texmf-dist/tex/generic/ifxetex/ifxetex.sty)
(c:/w32tex/share/texmf-dist/tex/latex/geometry/geometry.cfg))
(c:/w32tex/share/texmf-dist/tex/latex/bxjscls/bxjsja-standard.def(guessed encoding: UTF-8 = utf8)
(c:/w32tex/share/texmf-dist/tex/latex/bxjscls/bxjsja-minimal.def(guessed encoding: UTF-8 = utf8))))
(c:/w32tex/share/texmf-dist/tex/latex/graphics/graphicx.sty
(c:/w32tex/share/texmf-dist/tex/latex/graphics/graphics.sty
(c:/w32tex/share/texmf-dist/tex/latex/graphics/trig.sty)
(c:/w32tex/share/texmf-dist/tex/latex/graphics-cfg/graphics.cfg)
(c:/w32tex/share/texmf-dist/tex/latex/graphics-def/dvipdfmx.def)))
(c:/w32tex/share/texmf-dist/tex/latex/url/url.sty) (./koredake.aux(guessed encoding: UTF-8 = utf8))
*geometry* detected driver: dvipdfm
[1] (./koredake.aux(guessed encoding: UTF-8 = utf8)) )
Output written on koredake.dvi (1 page, 1712 bytes).
Transcript written on koredake.log.

という応答がきます.
使っている環境によって若干結果は 異なりますが,おおむね上記のような出力が得られるはずです.

This is e-upTeX, Version 3.14159265-p3.7.1-u1.22-161114-2.6 (utf8.uptex) (TeX Live 2017/W32TeX) (preloaded format=uplatex)

というのは,あなたが現在使用している TeX 処理系の種類とバージョン,

pLaTeX2e <2017/05/05u01> (based on LaTeX2e <2017-04-15>)

というのは,現在使用している日本語用の LaTeX: pLaTeX のバージョン,

Document Class: bxjsarticle 2017/04/01 v1.5b BXJS document classes

というのは,現在使用しているドキュメントクラスの バージョン(日付)になります.

Output written on koredake.dvi (1 page, 1712 bytes).

というのが,成形した結果を別のファイル koredake.dvi に書き出した 事を示します.

Transcript written on koredake.log.

さらに,koredake.log というファイルにログを記録しましたという 事を意味しています.

PDF 化

さて,

uplatex koredake

としても,何も事態は変わりません.
実は koredake.tex に 対する変更は何もしておらず,koredake.dvi という別の ファイルに TeX が作業した結果が出力されているからです.
koredake.dvi って何じゃ,という方のために おなじみのファイル形式に変換してしまいましょう.
そうです, 我らが味方 PDF です!
DVI ファイルを PDF ファイルにするのは至って簡単です.
端末(PowerShell・コンソール・ターミナルの総称)から

dvipdfmx koredake

とするだけです.
すると

koredake -> koredake.pdf
[1]
39873 bytes written

と端末に表示されます.
どうやら koredake.pdf が 出来たようです.
PDF ファイルを表示するには,ダブルクリックします.
コマンドラインから表示したい場合は

Windows の場合は

start koredake.pdf

macOS の場合は

open koredake.pdf

Linux の場合は

xdg-open koredake.pdf &

としてみてください.
これで,一安心ですね,3 年前に分かれた旧友と再会した ような気分になりました.

プレビュー(または結果の確認・認識・視覚表示)

実際の作業では出力された PDF ファイルをプレビューするわけですが
uplatex と dvipdfmx を毎回実行するのは面倒です.
TeX Live や W32TeX には uplatex と dvipdfmx を 1 回のコマンドで実行できる
ptex2pdf というLua スクリプトがあります.
TeX ファイルは ptex2pdf で PDF ファイルに変換できます.

ptex2pdf -u -l koredake

PDF ファイルのプレビューには,Windows であれば SumatraPDF,macOS であれば Skim,Linux であれば Evince などを 用いると良いでしょう.
Linux であれば

evince koredake.pdf &

として結果を確認する事が出来ます.
Evince 以外に Okular, zathura, qpdfview などを 使用してプレビューする事もできます.

さて,どうでしょうか.ここまでで何か問題があるという 場合は,インストールに関して何かしらの不具合がある可能性 が高いと思います.周辺の TeX に詳しい人に分からない事を 尋ねてください.

文章の記述.

ここで簡単な文章を書き足してみましょう.

\section{原稿の作成}

となっている部分の後に,次の文章を自分のキーボードから 入力してみてください.

これは簡単な \LaTeX の原稿ファイルのサンプルです.
私は \LaTeX を 100\% 使いこなせる訳ではありませんが,
ごく簡単な文書であれば作成する事が出来ます.% だってさ

\verb|$\int^{bd}_a f(x) dx = [g(x)]^{bd}_a + c$| と原稿で記述すれば,
$\int^{bd}_a f(x) dx = [g(x)]^{bd}_a + c$ として数式も簡単に入力できます.
原稿における改行と実際の出力における改行は一対一で対応しているわけではなく,
改行が二つ連続している時だけ段落が分かれます.

ここから覚えるべき事は色々ある訳です.

  • パーセント % は \% としないと普通の文字として出力されない.
  • 何か特殊な命令を下す時はバックスラッシュ \ を補う事で実現できる.なお,日本語版 Windows ではバックスラッシュが円記号で表示される場合がある.
  • パーセント % 以降はコメントとして解釈されそう.
  • 数式はダラー $ で括ると表示されそう.
  • 数式中でハット ^ とアンダーバー _ はそれぞれ上付き・下付き添字の役割
  • 何かをグループにしたければ波括弧 { } で括るとうまくいきそう.

図表の挿入

次の記述を実際にキーボードから打ち込んでみてください.

\section{図表の挿入}
表も \verb|&|, \verb|\\| で要素と行を区切るだけで作成できます.
\begin{table}[htbp]
 \centering
 \caption{昔話の一説\label{tab:latex}}
 \begin{tabular}{lll}
  \hline
  過去 & 現在 & 未来 \\
  \hline
  \LaTeX\,2.09 & \LaTeXe & \LaTeX\,3 \\ 
  \hline
 \end{tabular}
\end{table}

これで,見出しのついた表を記述する事が出来ます. ここでも新規に覚える事が沢山あるようです.

  • & によって要素(成分)を区切る.
  • \\ で行を改める.
  • \hline で横罫線を引く
  • \begin{tabular}{lll} の {lll} が列数と体裁を意味する.
  • \caption の中に見出しを入れる. \label でラベルを付ける.
  • \centering で中央揃えにする.
  • table 環境で全体を囲む.

次に既に何かしらのお絵描きソフトで作成した図を 挿入する事を考えます.仮にファイル名を soap.pdf とします. これを読み込むには

\includegraphics{soap.pdf}

とします. しかし,これだけだといきなり表示されてしまうので, figure 環境で囲みます.

画像は \verb|\includegraphics| で読み込みます.
\begin{figure}[htbp]
 \centering
 \includegraphics[width=\linewidth]{soap.pdf}
 \caption{SOAP/UDDI/WSDLの相関\label{fig:soap}}
\end{figure}

width=\linewidth とする事で,その段での幅目一杯に画像を拡大・縮小 します.2 段組の場合に画像だけは 1 段で表示させたい時があります. こういう時は figure を figure* に変更します.

\begin{figure*}[htbp]
 \centering
 \includegraphics[width=\linewidth]{soap.pdf}
 \caption{SOAP/UDDI/WSDLの相関\label{fig:soap2}}
\end{figure*}

これで PDF, PNG, JPEG 画像を直接読み込む事が できます.

箇条書

箇条書には itemize, enumerate, description の三つが 使えます.通常4階層まで入れ子に出来ます.

\begin{itemize}
 \item これ
       \begin{itemize}
        \item 入れ子
        \item それ
       \end{itemize}
 \item あれ
\end{itemize}
番号付きは次のようにします.
\begin{enumerate}
 \item 一つ目
 \item 二つ目
       \begin{enumerate}
	\item 入れ子
	\item 入れ子
       \end{enumerate}
 \item 三つ目
 \item[四] 四つ目
\end{enumerate}
語句の解説のような説明付きには description 環境を使います.
\begin{description}
 \item[SOAP] Simple Object Access Protocolの略称.
 \item[UDDI] Universal Description, Discovery and Integrationの略称.
 \item[WSDL] Web Service Definition Languageの略称.
 \item[OWL]  Web Ontology Languageの略称.
 \item[RDF]  Resource Description Frameworkの略称.
\end{description}

箇条書では次の事が共通しています.

  • \item で項目を追加する.
  • \item[何か]とすると,それが先頭に付与される.
  • 入れ子にすると自動的に先頭の記号が変わる.

参考資料・参考文献一覧の書き方

さて,レジュメや論文につきものなのが,参考文献一覧・参考資料でしょう. これに対しては上記の箇条書の環境でも出来そうですが, 正統的には thebibliography 環境を用います.

\renewcommand*\refname{参考資料}
\begin{thebibliography}{0}
 \bibitem{UDDI}
	 OASIS. 
	 \emph{UDDI: Universal Description, Discovery and Integration}. 
	 \url{http://www.oasis-open.org/}
 \bibitem{SOAP}
	 W3C. 
	 \emph{SOAP: Simple Object Access Protocol}. 
	 \url{http://www.w3.org/TR/soap/}
 \bibitem{WSDL}
	 W3C. 
	 \emph{WSDL: Web Service Definition Language}. 
	 \url{http://www.w3.org/TR/wsdl}
 \bibitem{OWL}
	 W3C. 
	 \emph{OWL: Web Ontology Language}.
	 \url{http://www.w3.org/TR/owl-features/}
 \bibitem{RDF}
	 W3C. 
	 \emph{RDF: Resource Description Framework}.
	 \url{http://www.w3.org/RDF/}
\end{thebibliography}

これらに共通している事は以下の点です.

  • \bibitem で文献・資料をそれぞれ追加する.
  • \bibitem{ラベル}としてラベルを付与できる.
  • URL には \url コマンドを用いる.
  • \refname の部分に「参考資料」と入れると,参考資料と見出しが 作成される.

ということで,実際に参考資料を参照したいと思います. このとき,先ほどの説明付きの箇条書,description 環境を 次のように改変します.

\begin{description}
 \item[SOAP] Simple Object Access Protocol~\cite{SOAP}の略称.
 \item[UDDI] Universal Description, Discovery and Integration~\cite{UDDI}の略称.
 \item[WSDL] Web Service Definition Language~\cite{WSDL}の略称.
 \item[OWL]  Web Ontology Language~\cite{OWL}の略称.
 \item[RDF]  Resource Description Framework~\cite{RDF}の略称.
\end{description}

という事で,あらに次の節を追加します.

\section{参照の仕方}
参考文献は \verb|\cite| 命令によりラベルを参照する.
\begin{description}
 \item[SOAP] Simple Object Access Protocol~\cite{SOAP}の略称.
 \item[UDDI] Universal Description, Discovery and Integration~\cite{UDDI}の略称.
 \item[WSDL] Web Service Definition Language~\cite{WSDL}の略称.
 \item[OWL]  Web Ontology Language~\cite{OWL}の略称.
 \item[RDF]  Resource Description Framework~\cite{RDF}の略称.
\end{description}

見出し

article 系の文書クラスでは,見出しに関して \section, \subsection, \subsubsection の三つが標準的に使えるようになっています.

\subsection{小節見出し}
節より一つ小さい見出しには \verb|\subsection| 命令を使います.

\subsubsection{小小節見出し}
ここには小節見出しよりも小さい見出しを出力するために
\verb|\subsubsection| 命令を用いています.

\subsubsection{小小節見出し}
同様に記述します.

\subsection{小節見出し}
毎度おなじみ \verb|\subsection| 命令でございます.

数式

行の中で数式を示す時は を使えば良いと思います. 行を改めて出力する時は \[...\] を使います.

\[
 \int^{bd}_a f(x) dx = [g(x)]^{bd}_a
\]

番号を付けたい時は equation 環境を使います.

\begin{equation} \label{equ:f(x)}
\int^{bd}_a f(x) dx = [g(x)]^{bd}_a
\end{equation}
\verb|$\int^{bd}_a f(x) dx = [g(x)]^{bd}_a$|と原稿で記述すれば,
$\int^{bd}_a f(x) dx = [g(x)]^{bd}_a$ として数式も簡単に入力できま
す.

複数行を揃えて出力するには eqnarray 環境を使います.

\begin{eqnarray}
 \int^{bd}_a f(x) dx & = & [g(x)]^{bd}_a  \nonumber\\
  & = & g(bd) - g(a) \label{equ:2}
\end{eqnarray}
式番号の参照も通常のラベルの参照と同じように 式~(\ref{equ:2}) 
とします.

まとめ

これまでの記述を一つのファイルにまとめると以下のようになります.

%f=koredake; uplatex $f; dvipdfmx $f; open $f.pdf
\documentclass[autodetect-engine,dvi=dvipdfmx,ja=standard,twocolumn]{bxjsarticle}
% 上下左右の余白を 2 cm に
\setpagelayout*{margin=2cm}
% 画像の読み込み
\usepackage{graphicx}
% \url{http://...} で URL の記述
\usepackage{url}
\begin{document}

% ここから表題情報など
\title{レジュメを書くための最低限の記述に関する考察\\
       {\Large ―\LaTeXe による簡単な2段組の文書の作成―}}
\author{ポテト王国大学 工学部 建築学科\\
        学生番号 2006-4649\quad 北海 花子}
\date{\today}
% 概要
\begin{abstract}
 この文書は\LaTeXe でレジュメを書くための最低限の記述に関して考察する文
 書である.内容は出鱈目であるから,参考にしないこと.雛形・サンプル・入
 力例として有効に活用できる物と思われる.
\end{abstract}

\maketitle % 実際の表題の出力
\section{原稿の作成}
 これは簡単な \LaTeX の原稿ファイルのサンプルです.
 私は \LaTeX を 100\% 使いこなせる訳ではありませんが,
 ごく簡単な文書であれば作成する事が出来ます.
 
 \verb|$\int^{bd}_a f(x) dx = [g(x)]^{bd}_a$| と原稿で記述すれば,
 $\int^{bd}_a f(x) dx = [g(x)]^{bd}_a$ として数式も簡単に入力できます.

 原稿における改行と実際の出力における改行は一対一で対応しているわけではなく,
 改行が二つ連続している時だけ段落が分かれます.

\section{図表の記述}

 表も \verb|&|, \verb|\\| で要素と行を区切るだけで作成できます.
\begin{table}[htbp]
 \centering
 \caption{昔話の一説\label{tab:latex}}
 \begin{tabular}{lll}
  \hline
  過去 & 現在 & 未来 \\
  \hline
  \LaTeX\,2.09 & \LaTeXe & \LaTeX\,3 \\ 
  \hline
 \end{tabular}
\end{table}

画像は \verb|\includegraphics| で読み込みます.
\begin{figure}[htbp]
 \centering
 \includegraphics[width=\linewidth]{soap.pdf}
 \caption{SOAP/UDDI/WSDLの相関\label{fig:soap}}
\end{figure}

段をぶちぬくには figure* 環境を使います(表も table* で同じように出来ます).
\begin{figure*}[htbp]
 \centering
 \includegraphics[scale=.9]{soap.pdf}
 \caption{SOAP/UDDI/WSDLの相関\label{fig:soap2}}
\end{figure*}

\section{箇条書}

箇条書には itemize, enumerate, description の三つが
使えます.通常4階層まで入れ子に出来ます.
\begin{itemize}
 \item これ
       \begin{itemize}
       \item 入れ子
       \item それ
       \end{itemize}
 \item あれ
\end{itemize}
番号付きは次のようにします.
\begin{enumerate}
 \item 一つ目
 \item 二つ目
       \begin{enumerate}
       \item 入れ子
       \item 入れ子
       \end{enumerate}
 \item 三つ目
 \item[四] 四つ目
\end{enumerate}
語句の解説のような説明付きには description 環境を使います.
\begin{description}
 \item[SOAP] Simple Object Access Protocolの略称.
 \item[UDDI] Universal Description, Discovery and Integrationの略称.
 \item[WSDL] Web Service Definition Languageの略称.
 \item[OWL]  Web Ontology Languageの略称.
 \item[RDF]  Resource Description Frameworkの略称.
\end{description}

\section{参照の仕方}
参考文献は \verb|\cite| 命令によりラベルを参照する.
\begin{description}
 \item[SOAP] Simple Object Access Protocol~\cite{SOAP}の略称.
 \item[UDDI] Universal Description, Discovery and Integration~\cite{UDDI}の略称.
 \item[WSDL] Web Service Definition Language~\cite{WSDL}の略称.
 \item[OWL]  Web Ontology Language~\cite{OWL}の略称.
 \item[RDF]  Resource Description Framework~\cite{RDF}の略称.
\end{description}

\section{節見出し}

artciel 系の文書クラスでは,見出しに関して \verb|\section|, 
\verb|\subsection|, \verb|\subsubsection| の三つが標準的に
使えるようになっています.

\subsection{小節見出し}
節より一つ小さい見出しには \verb|\subsection| 命令を使います.

\subsubsection{小小節見出し}

ここには小節見出しよりも小さい見出しを出力するために
\verb|\subsubsection| 命令を用いています.

\subsubsection{小小節見出し}

同様に記述します.

\subsection{小節見出し}

毎度おなじみ \verb|\subsection| 命令でございます.

\section{数式}

行の中で数式を示す時は \verb|$...$| を使えば良いと思います.
行を改めて出力する時は \verb|\[...\]| を使います.
\[
\int^{bd}_a f(x) dx = [g(x)]^{bd}_a
\]
番号を付けたい時は equation 環境を使います.
\begin{equation} \label{equ:f(x)}
\int^{bd}_a f(x) dx = [g(x)]^{bd}_a
\end{equation}
 \verb|$\int^{bd}_a f(x) dx = [g(x)]^{bd}_a$| と原稿で記述すれば,
 $\int^{bd}_a f(x) dx = [g(x)]^{bd}_a$ として数式も簡単に入力できま
 す.
複数行を揃えて出力するには eqnarray 環境を使います.
\begin{eqnarray}
 \int^{bd}_a f(x) dx & = & [g(x)]^{bd}_a  \nonumber\\
  & = & g(bd) - g(a) \label{equ:2}
\end{eqnarray}
式番号の参照も通常のラベルの参照と同じように 式~(\ref{equ:2}) 
とします.

\renewcommand*\refname{参考資料}
\begin{thebibliography}{0}
 \bibitem{UDDI}
        OASIS. 
        \emph{UDDI: Universal Description, Discovery and Integration}. 
        \url{http://www.oasis-open.org/}
 \bibitem{SOAP}
        W3C. 
        \emph{SOAP: Simple Object Access Protocol}. 
        \url{http://www.w3.org/TR/soap/}
 \bibitem{WSDL}
        W3C. 
        \emph{WSDL: Web Service Definition Language}. 
        \url{http://www.w3.org/TR/wsdl}
 \bibitem{OWL}
        W3C. 
        \emph{OWL: Web Ontology Language}.
        \url{http://www.w3.org/TR/owl-features/}
 \bibitem{RDF}
        W3C. 
        \emph{RDF: Resource Description Framework}.
        \url{http://www.w3.org/RDF/}
\end{thebibliography}
\end{document}