ABOUT LaTeX
LaTeXの特徴
高専生や大学生は研究等で論文を書く機会があると思います.そのとき,研究目的以外の部分に時間を取られるのはかなりの時間の浪費になります.例えば,図を挿入して,参照箇所でその番号を参照したとします.しかし,途中で新しい図を挿入したくなったり,挿入し忘れていた図があった場合,一から番号を振り直さなければなりません.しかし,LaTeXでは,プログラム上で動作するため,その必要がありません.挿入したい場所に図を自由に挿入でき,参照箇所では図につけたラベル(図のニックネームのようなもの)で呼び出すため,参照番号も図に対応して割り振られます.
また,目次も \tableofcontents というコマンドのみで自動的に作成してくれます.他にも,表目次,図目次,参考文献といった,論文に必要なコンテンツを短いコマンドで自動的に作成してくれます.とても便利なソフトですのでぜひ使ってみて下さい.例を挙げておきます.これは随時更新予定ですので,ご了承ください.>>参考プログラム
LaTeXを始めよう!
始める前に以下のものを準備しましょう.
1. LaTeX TeXインストーラによる一括インストールが便利です.
★参考HP→20分でできる簡単TeXインストール
2. エディタ ソースコードは,「~.tex」という形式で保存します.
★おすすめ!→サクラエディタ
3. お絵描きソフト ドロー系のソフトを使えば,拡大・縮小しても綺麗な曲線のイラストを描くことができます.
★おすすめ!→ドロー系のお絵描きソフト「Inkscape」
ソースコードの概要
ソースコードの概要は以下のようになっています.
\documentclass[11pt,a4paper]{jsarticle}
・
・
・
プリアンブル
・
・
・
\begin{document}
・
・
・
本文
・
・
・
\end{document}
本サイトでは,初めから順に解説するので,順番に従って書いてみてください.基本的な構造を理解してから,応用編に移りたいと思います.
Preamble
\documentclass
ここで,作成文書のクラス等を決定します.例えば,
\documentclass[11pt,a4paper]{jreport}
11pt・・・文字サイズ
a4paper・・・用紙サイズ
jreport・・・文書クラス
となります.
文書クラスは,欧文ではarticle,report,bookがあります.和文では,その前に"j"がつき,jarticle,jreport,jbookとなります.他にも,jsarticleやjsbook等といった,新しいドキュメントクラスもありますので,文章に適したクラスを選択しましょう.私の周りではjsarticleを使う人が多いように感じます.
\usepackage
これは拡張機能を使うよ!って宣言するための文章です.例えば,
\usepackage[dvipdfm]{graphicx}
は,図を埋め込むためのものです.本文で図を挿入する場合はプリアンブルに入れておきましょう.表で縦にマスを繋げるコマンドを使うときや,URLを本文中に挿入するとき等にも\usepackageが必要になります.詳しくは後に説明します.
文書レイアウト
以下は私の文書で用いたパラメータです.お好みで設定してみてください.ちなみに,右にある%はコメントアウトを示しています.
\setlength{\textwidth}{150mm} % テキストの幅
\setlength{\oddsidemargin}{30mm} % 偶数ページの左マージン
\setlength{\evensidemargin}{30mm} % 奇数ページの左マージン
\addtolength{\oddsidemargin}{-1in} % 元の 1in の空白を削除
\addtolength{\evensidemargin}{-1in} % 元の 1in の空白を削除
\setlength{\textheight}{232mm} % テキストの高さ
\setlength{\headheight}{0mm} % ヘッダの高さ
\setlength{\headsep}{0mm} % テキストの最上部とヘッダの最下部との間隔
\setlength{\footskip}{10mm} % テキストの最下部とフッタの最下部との間隔
\setlength{\topmargin}{35mm} % 上のマージン
\addtolength{\topmargin}{-1in} % 元の 1in の空白を削除
\kanjiskip=.20pt plus.05pt minus.07pt % 全角文字の隙間の調整
プリアンブルの基本的な構成の完成!
プリアンブルは基本構成は以下のようになります.
\documentclass[11pt,a4paper]{jsarticle} % 文字、文章の設定
\usepackage[dvipdfm]{graphicx} % 図を使う場合に用いる拡張機能
\setlength{\textwidth}{150mm} % テキストの幅
\setlength{\oddsidemargin}{30mm} % 偶数ページの左マージン
\setlength{\evensidemargin}{30mm} % 奇数ページの左マージン
\addtolength{\oddsidemargin}{-1in} % 元の 1in の空白を削除
\addtolength{\evensidemargin}{-1in} % 元の 1in の空白を削除
\setlength{\textheight}{232mm} % テキストの高さ
\setlength{\headheight}{0mm} % ヘッダの高さ
\setlength{\headsep}{0mm} % テキストの最上部とヘッダの最下部との間隔
\setlength{\footskip}{10mm} % テキストの最下部とフッタの最下部との間隔
\setlength{\topmargin}{35mm} % 上のマージン
\addtolength{\topmargin}{-1in} % 元の 1in の空白を削除
\kanjiskip=.20pt plus.05pt minus.07pt % 全角文字の隙間の調整
もしここで,usepackage(拡張機能)を追加したい,といったようなことがあれば,上記の\usepackageに続いて書けば良いことになります.
Main
\begin{document}~\end{document}
それでは本文に移りたいと思います!本文は以下の括弧に囲まれた範囲内に記述します.
\begin{document}
本文はここに記入!
\end{document}
実際にこの文を先程までの続きに打ち込み,コンパイルしてみてください.texファイルと同じフォルダにdviファイルが作成されていると思うので,そのファイルを開いてみて下さい.「本文はここに記入!」と表示されていれば成功です!
ここで,長い文章を打ち込んでみて,レイアウトを確認して見ましょう.もしレイアウトを調整したければ,プリアンブルの説明に戻って調整してみてください.
以上がLaTeXの基本構成です.理解できたでしょうか?
ここまでやれば後は単純です.これからは,図を挿入したり,表を挿入したりするときに決められたコマンドを入力するだけです!
これからはそのようなコマンドについて説明したいと思います!!
Command
これからコマンドについて勉強します.まず初めに,この章で学ぶことをまとめた参考プログラム及びその実行画面を示しておきます.この内容についてはこれから説明するので,最初は理解できていなくても問題ありません.印刷して手元においておきながら説明を見ていくと便利だと思い,ここで上げておきました.
\documentclass[11pt,a4paper]{jarticle} % 文字、文章の設定
\usepackage[dvipdfm]{graphicx} % 図を使う場合に用いる拡張機能
\usepackage{multirow} % 表の縦の結合をする場合に用いる拡張機能
\setlength{\textwidth}{150mm} % テキストの幅
\setlength{\oddsidemargin}{30mm} % 偶数ページの左マージン
\setlength{\evensidemargin}{30mm} % 奇数ページの左マージン
\addtolength{\oddsidemargin}{-1in} % 元の 1in の空白を削除
\addtolength{\evensidemargin}{-1in} % 元の 1in の空白を削除
\setlength{\textheight}{232mm} % テキストの高さ
\setlength{\headheight}{0mm} % ヘッダの高さ
\setlength{\headsep}{0mm} % テキストの最上部とヘッダの最下部との間隔
\setlength{\footskip}{10mm} % テキストの最下部とフッタの最下部との間隔
\setlength{\topmargin}{35mm} % 上のマージン
\addtolength{\topmargin}{-1in} % 元の 1in の空白を削除
\kanjiskip=.20pt plus.05pt minus.07pt % 全角文字の隙間の調整
\begin{document}
\tableofcontents % 目次の表示
\listoffigures % 図目次の表示
\listoftables % 表目次の表示
\newpage
\section{図を挿入してみよう!!}
\begin{figure}[htbp] % 図の挿入コマンドはここから
\begin{center} % (センター寄せする場合)センター寄せをする範囲の開始
\includegraphics[width=70mm]{tex.eps} % 図の挿入コマンド,図の幅の指定,ファイルの指定
\caption{中央寄せ} % 図の名前
\label{fig:title_center} % 図のラベル指定
\end{center} % (センター寄せする場合)センター寄せをする範囲の終わり
\end{figure} % 図の挿入コマンドはここまで
\begin{figure}[htbp] % 図の挿入コマンドはここから
\begin{flushright} % 右寄せをする範囲の開始
\includegraphics[width=70mm]{tex.eps} % 図の挿入コマンド,図の幅の指定,ファイルの指定
\caption{右寄せ} % 図の名前
\label{fig:title_right} % 図のラベル指定
\end{flushright} % 右寄せをする範囲の終わり
\end{figure} % 図の挿入コマンドはここまで
\begin{figure}[htbp] % 図の挿入コマンドはここから
\begin{flushleft} % 左寄せをする範囲の開始
\includegraphics[width=70mm]{tex.eps} % 図の挿入コマンド,図の幅の指定,ファイルの指定
\caption{左寄せ} % 図の名前
\label{fig:title_left} % 図のラベル指定
\end{flushleft} % 左寄せをする範囲の終わり
\end{figure} % 図の挿入コマンドはここまで
\newpage % 新しいページへ
\section{表を挿入してみよう!! }
ちなみに参照する場合は次のようになる.\verb|>>|表\ref{tb:food}及び表\ref{tb:foodbest3}より,参加者の好きな食べ物が分かる.
また,縦のスペースは\verb|\vspace{3zw}|,横のスペースは\verb|\hspace{3zw}|を使って広げたり縮めたりできる.
\begin{table}[htbp] % 表の挿入コマンドはここから
\begin{center} % センター寄せの開始
\caption{表の名前}
\label{tb:food} % 表のラベル指定
\begin{tabular}{|c|lr|} % l(left)c(center)r(right)でセル内の文字の位置を指定.|は縦の線を加える.
\hline
氏名 & 好きな食べ物 & 嫌いな食べ物 \\ \hline \hline % 区切りは&で示す.
太郎 & 鮭 & アボカド \\ \hline
花子 & 納豆 & にしん \\ \hline
\end{tabular}
\end{center} %センター寄せの終了
\end{table} % 表の挿入コマンドはここまで
\begin{table}[b] % 表の挿入コマンドはここから,表を下(Bottom)へ
\begin{center} % センター寄せの開始
\caption{表の名前}
\label{tb:foodbest3} % 表のラベル指定
\begin{tabular}{|c|ccc|} % l(left)c(center)r(right)でセル内の文字の位置を指定.|は縦の線を加える.
\hline
氏名 & \multicolumn{3}{|c|}{好きな食べ物BEST3!} \\ \hline \hline % 区切りは&で示す.
太郎 & 鮭 & アボカド & カレー \\ \hline
花子 & 納豆 & にしん & ラーメン \\ \hline
\multirow{2}{*}{ケンとディビット} & 寿司 & 焼肉 & ビール \\
& 牛丼 & キムチ & ホッピー \\ \hline
\end{tabular}
\end{center} %センター寄せの終了
\end{table} % 表の挿入コマンドはここまで
\section{節}
\subsection{小節}
\subsubsection{少々節}
\end{document}
基本動作
基本的な動作は以下の通りです.
\newpage % 新しいページへ移動
\hspace{-zw} % 水平方向のスペース("-"には数字が入る)
\vspace{-zw} % 垂直方向のスペース("-"には数字が入る)
\section{タイトル} % 節の挿入
\subsection{タイトル} % 小節の挿入
\subsubsection{タイトル} % 小々節の挿入
長さの単位にzwを使用しておりますが,他にもcmやmm等も利用できます.ちなみに,zwは全角幅の略になっています(zenkaku width).
図の挿入
それでは,図を挿入してみましょう.図を挿入するためのコマンドは以下の通りです.
\begin{figure}[htbp] % 図の挿入コマンドはここから
\begin{center} % (センター寄せする場合)センター寄せをする範囲の開始
\includegraphics[width=150mm]{file_name.eps} % 図の挿入コマンド,図の幅の指定,ファイルの指定
\caption{図の名前} % 図の名前
\label{fig:figure1} % 図のラベル指定
\end{center} % (センター寄せする場合)センター寄せをする範囲の終わり
\end{figure} % 図の挿入コマンドはここまで
図は,\begin{figure}~\end{figure}というコマンドに囲まれた範囲に情報を入力します.表の場合は,figureがtableに変わります.htbpというのは,図の位置を示しています.それぞれの意味は以下のようになっています.
- h・・・現在の場所に表示(here)
- t・・・現在のページの一番上に表示(top)
- b・・・現在のページの一番下に表示(bottom)
- p・・・単独のページに表示(page)
図はeps形式で保存しておきます.3行目の"file_name"のところに,eps形式で保存した図のファイル名を入れます.ちなみに,私がおすすめしているInkscapeというお絵かきソフトはeps形式での保存が可能となっています.
5行目のlabel(ラベル)というのは,図のニックネームのようなものです.LaTeXでは図番号を参照する場合など,このニックネームのようなもので呼び出します.そのため,図を途中に挿入しても,図番号を直さなきゃ!というようなことが生じません.LaTeXが全て出てきた順に図番号を振ってくれます.なので,図にはラベルを付けるようにしましょう.
表の挿入
次に表を挿入してみましょう.表を挿入するためのコマンドは以下の通りです.
\begin{table}[htbp] % 表の挿入コマンドはここから
\begin{center} % センター寄せの開始
\caption{表の名前}
\begin{tabular}{|l|cr} % l(left)c(center)r(right)でセル内の文字の位置を指定.|は縦の線を加える.
\hline % 横線の挿入
氏名 & 好きな食べ物 & 嫌いな食べ物 \\ \hline % 区切りは&で示す.
太郎 & 鮭 & アボカド \\
花子 & 納豆 & にしん \\
\end{tabular}
\end{center} %センター寄せの終了
\label{tb:profile} % 表のラベル指定
\end{table} % 表の挿入コマンドはここまで
基本は図の挿入の時と同じです.ただ,セルを扱うことになるで細かい部分には違いはあります.&でその列の文字を区切り,列の終わりは\\で示します.また,表を区切る縦の線は,{|l|cr}部で(例えば,セルの区切りすべてに縦線を入れる場合は,{|l|c|r|}となります),横の線は\hlineとコマンドを入力することで挿入できます.
\begin{table}[b] % 表の挿入コマンドはここから,表を下(Bottom)へ
\begin{center} % センター寄せの開始
\caption{表の名前}
\label{tb:foodbest3} % 表のラベル指定
\begin{tabular}{|c|ccc|} % l(left)c(center)r(right)でセル内の文字の位置を指定.|は縦の線を加える.
\hline
氏名 & \multicolumn{3}{|c|}{好きな食べ物BEST3!} \\ \hline \hline % 区切りは&で示す.
太郎 & 鮭 & アボカド & カレー \\ \hline
花子 & 納豆 & にしん & ラーメン \\ \hline
\multirow{2}{*}{ケンとディビット} & 寿司 & 焼肉 & ビール \\
& 牛丼 & キムチ & ホッピー \\ \hline
\end{tabular}
\end{center} %センター寄せの終了
\end{table} % 表の挿入コマンドはここまで
次にセルの結合を行います.行方向の結合の場合は
\multicolumnを用います.その横にある{3}の"3"は結合するセルの数です.{|c|}は,文字はセンター寄せで,両脇に枠となる線が出力されます.
縦の結合の場合は,
\multirowを用います.これも,{2}の"2"は結合するセルの数です.このテクニックは重宝しますので是非覚えてください!!
目次の挿入
目次を挿入する場合は,挿入箇所にそれぞれ次のコマンドを入力します.
\tableofcontents % 目次の表示
\listoffigures % 図目次の表示
\listoftables % 表目次の表示
さて,図表や目次の挿入,基本的なコマンドについて理解できたでしょうか?それでは,次のステップに移りたいと思います.次は,ページの割り振りや表紙,箇条書きの書き方等に進んでいきたいと思います.
箇条書き
箇条書きを挿入してみます.以下のコマンドで挿入できます.
\begin{itemize}
\item ハンカチ
\item ティッシュ
\item 水筒
\end{itemize}
箇条書きは"itemize"で囲みます.それぞれの箇条書きの前に"\item"を置き,区別します.
箇条書きの記号を変更する場合や番号で箇条書きをする場合,以下のように変更します.
\begin{itemize} % 記号の変更
\item[は] ハンカチ
\item[に] ティッシュ
\item[ほ] 水筒
\end{itemize}
\begin{enumerate} % 番号に変更
\item ハンカチ
\item ティッシュ
\item 水筒
\end{enumerate}
ページ番号(目次のページ番号の書体を変える,途中からページ番号を振り始める)
ページ番号を振ります.このとき,デフォルトでは表紙に番号が振られたりする場合や,目次等のページで番号の書体を変えたいときがあると思います.その変更方法について紹介します.
\pagestyle{empty} % プリアンブルに入力することで,すべてのページに番号が振られない.
\thispagestyle{empty} % 対象ページに入力することで,そのページの番号が振られない.
\setcounter{page}{1} % ページ番号を変える場合に入力.このコマンドは1から始める場合.また,page以外でも,section等もこのコマンドによって番号を変更できる.
\pagenumbering{roman} % ページ番号の書体を変更する.これは,ローマ数字に変更するコマンド.
\setcounterによって変更できる内容やページ番号の書体の種類は次のようなものがあります.
--\setcounterによってカウンタを再セットできるもの--
page---ページ番号
chapter---章番号
section---節番号
subsection---小節番号
subsubsection---小々節番号
paragraph---段落番号
subparagraph---小段落番号
equation---数式番号
footnote---脚注番号
figure---図番号
table---表番号
--ページ番号の書体例--
arabic---アラビア数字
roman---小文字ローマ数字
Roman---大文字ローマ数字
alph---小文字アルファベット
Alph---大文字アルファベット
これは一部の例です.他にもありますが,ここでは良く使うものだけを取り上げました.
Advance
ここでは,使えるが設定がややこしい"発展系"のコマンドを紹介します!
図目次,表目次の表示変更(図目次の番号の前に"図"と入れる)
ここでは,図目次を挿入した場合,"1.1 図の名前"というような表示形式を"図1.1 図の名前"となるように変更しよう,というものです.方法を以下に示します.
\usepackage{tocloft} % リストの付属体を変えるためのパッケージ
\renewcommand{\cftfigfont}{図 }
とプリアンブルに入力する.
表の場合は,
\renewcommand{\cfttabfont}{表 }
と入力する.
このままでは,図と番号が重なってしまうため,その間隔を調整する.
"tocloft.sty"(C:\w32tex\share\texmf\tex\latex\tocloft\tocloft.sty)を開き,
\if@cfthaschapter
\newlength{\cftbeforechapskip}
\setlength{\cftbeforechapskip}{1.0em \@plus\p@}
\newlength{\cftchapindent}
\setlength{\cftchapindent}{0em}
\newlength{\cftchapnumwidth}
\setlength{\cftchapnumwidth}{1.5em} % この"1.5em"の部分を変更する.
\newcommand{\cftchapfont}{\bfseries}
\newcommand{\cftchappresnum}{}
\newcommand{\cftchapaftersnum}{}
\newcommand{\cftchapaftersnumb}{}
\newcommand{\cftchapleader}{\bfseries\cftdotfill{\cftchapdotsep}}
\newcommand{\cftchapdotsep}{\cftnodots}
\newcommand{\cftchappagefont}{\bfseries}
\newcommand{\cftchapafterpnum}{}
\newcommand{\cftchapfillnum}[1]{%
{\cftchapleader}\nobreak
\hb@xt@\@pnumwidth{\hfil\cftchappagefont #1}\cftchapafterpnum\par}
\if@cftkoma
\renewcommand{\cftchapfont}{\sectfont}
\fi
簡単な参考文献の挿入方法
参考文献を並べ替えたり,後から挿入したりしても,引用番号を自動で割り振ってくれるようにする設定です.まず,JabRef(ダウンロード方法はこちら)というソフトをダウンロードします.初心者の方は設定ファイルまでダウンロードしてください.
JabRefで参考文献のリストを作った後,必ず~.bibというファイル名で保存し,LaTeX本文内の参考文献を表示させたい位置には以下のコードを入力してください.
\bibliographystyle{junsrt}
\bibliography{保存ファイル名}
参考文献番号を表示させたい位置には,以下のコードを書き込みます.
\cite{Bibtexkey(JabRefで発行したもの)}
以上ができたら,コマンドプロンプトを開き,カレントディレクトリに移動した後,以下のようにコンパイルします.
platex ファイル名.tex
bibtex ファイル名.tex
platex ファイル名.tex
platex ファイル名.tex