latex 文法まとめ

久しぶりのまとめです。
あまり理系っぽくはないですが、その分色々な事に手を出して毎日充実した生活を送っています。
最近は3DSどうぶつの森が楽しいです。昼間はあまりできないので、夜3:00くらいまで魚を釣って、朝学校に行くときに魚を売りさばく生活をしております//
写真は島でサメを釣り上げたところです笑。

どうぶつの森、最後にやったのが小6とかその辺りなので(そのときはGCだった)、新要素の増えっぷりにビビっています。
パンツも選べるし、ソックスも選べるし、メガネもかけられるし、すごすぎます。
海にも潜れるし、村にも公共事業で色々増やせるし、ネット通信までできるし、面白すぎます。
ちなみに今の格好は白シャツにドアテコっぽいパンツというわりかし夏の自分っぽい格好です。今秋?冬?ですけど。

村の住人、というか動物達も可愛いです(*´ω`*)
ちとせちゃん

人の事をたててくれて、言葉遣いもとっても丁寧で、腰の低い、現実にはいそうでいなさそうな子(*´ω`*)
時々「あの、、いらないかもしれないんですけど、、良かったらこれを。いらなかったら本当捨ててください。。」とか言いながらプレゼントくれるw

しずえちゃん

ネットでも評判のしずえちゃん。タレ目と可愛い笑顔が素敵(*´ω`*)
歩く度にしゃんしゃん鳴る鈴の音もなんか可愛いw
「海に行くついでに貝がらを一つとってきてくれたら嬉しいなー、、あ、すみません。あつかましいですよね。。」
↓貝を拾ってくる
「本当に拾ってきてくれたんですか!ありがとうございます!部屋に飾って大事にします!!」
のコンボにはやられた(*´ω`*) リアクション一つ一つが可愛く、バッファローベル的な可愛さがあるw
詳しくは「しずえさん」で検索!!



さて、閑話休題。閑話長すぎですね。
最近はlatexを使って卒業論文を書いていまして。色々調べながらやっていて、ある程度知識が溜まってきたのでまとめておこうと思います。
ちなみに環境をメモっておくと、mactexshopを入れて、ptexで書いています。
この辺りの環境導入はMac de TeX - 武田のつぶや日記を参考に。
以下に出てくる円記号はmacではバックスラッシュとなります。
また、latexに関する最初に学んでおくべき知識はここでは割愛とします。

プリアンプル部

プリアンプル部(\documentclassより下、\begin{document}より上)に記載しているものをまとめます。

\setlength{\topmargin}{40mm}
\addtolength{\topmargin}{-1in}
\setlength{\oddsidemargin}{27mm}
\addtolength{\oddsidemargin}{-1in}
\setlength{\evensidemargin}{26mm}
\addtolength{\evensidemargin}{-1in}
\setlength{\textwidth}{154mm}
\setlength{\textheight}{214mm}
\setlength{\headsep}{0mm}
\setlength{\headheight}{0mm}
\setlength{\topskip}{0mm}

setlength{}は上から順番に「用紙上の余白」「用紙左の余白(奇数ページ)」「用紙左の余白(偶数ページ)」「本文全体の幅」「本文全体の高さ」「ヘッダーと本文までの高さ」「ヘッダーの高さ」「フッターの高さ」の設定となっています。
addtolength{}は中括弧の引数に指定したもののそれぞれの長さを加えています。
それぞれに使用できる単位はmmやin(インチ)em等です。

他にもプリアンプル部には色々と書いていましたが、後から見返してみて何のための記述なのかわからなかったのでとりあえずメモ的ない身を込めてまるまる載せておきます。

\setlength{\topmargin}{40mm}
\addtolength{\topmargin}{-1in}
\setlength{\oddsidemargin}{27mm}
\addtolength{\oddsidemargin}{-1in}
\setlength{\evensidemargin}{26mm}
\addtolength{\evensidemargin}{-1in}
\setlength{\textwidth}{154mm}
\setlength{\textheight}{214mm}
\setlength{\headsep}{0mm}
\setlength{\headheight}{0mm}
\setlength{\topskip}{0mm}

\usepackage[dvips]{graphicx}
\usepackage{amsmath}

\makeatletter
\long\def\@makecaption#1#2{%
\vskip\abovecaptionskip
\iftdir\sbox\@tempboxa{#1\hskip1zw#2}%
\else\sbox\@tempboxa{#1 #2}%
\fi
\ifdim \wd\@tempboxa >\hsize
\iftdir #1\hskip1zw#2\relax\par
\else #1 #2\relax\par\fi
\else
\global \@minipagefalse
\hbox to\hsize{\hfil\box\@tempboxa\hfil}%
\fi
\vskip\belowcaptionskip}
\makeatother

\usepackage〜は画像を扱うために必要という事はわかるんですが、、後は何でしょうね。
この設定で、一行あたりの字数が35〜45字、一ページあたりの行数が30〜40行という条件を満たす事ができる。
(うちの卒論のフォーマットがそうだったので参考までに)

数式

数式モード
上は行中に数式をうめこむ場合。下は別行にして数式をうめこむ場合(通常数式番号がふられる)。

$〜$
\begin{equation} 〜 \end{equation}

分数
この場合a/b。

\frac{a}{b}

下付き文字(上)と下付き文字(下)
この場合a^2x_1
複数文字を上付きや下付きにしたい場合{}でかこめばよい(例:a^{x + 2}、x_{y - 1}...)。

a^2
x_1

ルート
この場合ルート2。

\sqrt{2}

様々な記号
上から順番に「∈」「<」「{」「}」「Κ(ギリシャ文字)」「π」「°」「σ」「∞」

\in
\le
\left\{
\right\}
\kappa
\pi
\cric
\sigma
\infty

箇条書き
\item[]の括弧内でどのように番号や記号をそれぞれの項の最初に書くか指定する。

\begin{itemize}
\item [(1)] 適当な線分を描画する
\item [(2)] 1.元の線分を原点を中心として1/3する。

2.元の線分を原点を中心として1/3し、元の線分の長さの2/3だけ平行移動する。
\item [(3)] 得られた2つの線分に対してそれぞれ同様の処理を施す
\item [(4)] それらを繰り返す
\end{itemize}

こんな感じになる。

行列式
\begin{split}〜\end{split}で複数行にわたる数式である事を示す。後述する「\begin{eqnarray}」でも複数行の数式を扱う事ができるが、これなら式番号を複数行の数式のちょうど真ん中に書く事ができる。
\begin{array}〜\end{array}で配列である事を示し、行列式をうまく表現している。
\begin{array}の後の{ccc}は三列の行列で、それぞれの要素を中央揃え(「c」enter)である事を示している。左揃えなら「l」、右揃えなら「r」。
それらの配列を先ほどの「{}」を使って囲み行列としている。
配列の列を変えるときは間に「&」を挟み、行を変えるときは「\\」を挿入する。
途中の「&=」は数式が複数行に渡る際に「=」で数式の位置を揃える事を示す。

\begin{equation}
\begin{split}
\left(
\begin{array}{c}
x_1 \\
y_1 \\
1
\end{array}
\right)
&=
\left(
\begin{array}{ccc}
1/3 & 0 & 0\\
0 & 1/3 & 0\\
0 & 0 & 1
\end{array}
\right)
\left(
\begin{array}{c}
x_0 \\
y_0 \\
1
\end{array}
\right)
\\
\left(
\begin{array}{c}
x_2 \\
y_2 \\
1
\end{array}
\right)
&=
\left(
\begin{array}{ccc}
1/3 & 0 & 0\\
0 & 1/3 & 0\\
0 & 0 & 1
\end{array}
\right)
\left(
\begin{array}{ccc}
1 & 0 & 2x_0\\
0 & 1 & 2y_0\\
0 & 0 & 1
\end{array}
\right)
\left(
\begin{array}{c}
x_0 \\
y_0 \\
1
\end{array}
\right)
\end{split}
\end{equation}

こんな感じになる。

複数行に渡る数式モード
何も手を加えないと複数行全てに式番号がつく。
式番号をつけたくなければ、\nonumberと記述する。
行が変わるところで\\、縦をそろえたいものを&で囲む。

\begin{eqnarray}
3 - 3x = 3 - \left\{a_2(\frac{1}{3}) + a_3(\frac{1}{3})^2 + ・・・\right\}
&=& 1 - a_2(\frac{1}{3}) - a_3(\frac{1}{3})^2 - ・・・\nonumber\\
&=& (2 - a_2)(\frac{1}{3}) + (2 - a_3)(\frac{1}{3})^2 + ・・・
\end{eqnarray}

極限
limの下の矢印は \to で表す事ができる。無限大は上述。

\begin{equation}
L_\infty = \lim_{n \to \infty} L_n = \infty
\end{equation}

こんな感じ。

ただし、行中でlimを使おうとしてもn→0みたいなのがlimの下に来ず、ずれて表示される。
気に入らない人は次のようにする。\displaystyleを使うときちんと表示される。

$\displaystyle A_\infty = \lim_{n \to \infty} A_n = 0$

場合分けを含む数式
場合分けをする場合数式に大きい中括弧みたいなのが欲しくなります。その場合はequationとarrayを使って次のようにします。

\begin{equation}
x_{n + 1} = \left\{
\begin{array}{cc}
ux_n & (x_n \leq 0.5) \\
u(-x_n + 1) & (x_n > 0.5)
\end{array}
\right.
\label{tentmap}
\end{equation}

こんな感じになります。

その他

その他(主にページの体裁を整えるもの)のlatexコードをまとめます。

章立て
上から章、節、項。

\chapter{章名}
\section{節名}
\subsection{項名}

ページ番号をつけたくないページに記述する

\thispagestyle{empty}

引数に指定した長さ(縦)の空白を挿入する

\vspace{60mm}

中央揃え(上)と右揃え(下)

\begin{center}〜end{center}
begin{flushright}〜end{flushright}

文字サイズ
上から順番に大きくなる。

{\tiny 文字}
{\scriptsize 文字}
{\footnotesize 文字}
{\small 文字}
{\normalsize 文字}
{\large 文字}
{\Large 文字}
{\LARGE 文字}
{\huge 文字}
{\Huge 文字}

強制的に新しいページに改ページ

\newpage

インデントさせない
インデントさせたくない文字の直前につける。

\noindent

目次関連
上は目次にどこまで出力するのか。引数に1を指定する事で「section」までとなる。2にすると「subsection」まで出力できる。
下のもので実際に目次を出力する。(書くだけで目次ができる!!)

\setcounter{tocdepth}{1} 
\tableofcontents

コメント
一行分コメントアウトできる。
個人的な使い方としては%======================とsectionが変わる境目に入力しておき、texファイルを見やすくしている。

%コメントアウトする文字

ページカウントの変更
これを使うと途中でページカウントを1に変えたりできる。
pageの部分を変更する事により、sectionのカウントを変えたりできる。

\setcounter{page}{1}

画像関係
以下の例の場合、「cantole.epsファイル」(この場合のファイルの指定法は相対パス)を「ページ中央」に「横幅100mm」で、「画像の見出しを カントール集合の幾何学的構成法 」として貼り付けている。
また、labelは本文中で図を参照したい際に利用する\ref{}と対応させている。つまりこの場合本文中で\ref{cantole}とすると、自動で図番号が振られ本文中で図2.1のように表示してくれる。

\begin{figure}[h]
\begin{center}
\includegraphics[width = 100mm]{cantole.eps}
\caption{カントール集合の幾何学的構成法}
\label{cantole}
\end{center}
\end{figure}

\section{}で指定しなかったものをsectionとして目次に組み込む方法
うちの場合、付録のchapterでは通常のように「2.2」と指定するのではなく、「付録A」「付録B」と名前をつけるので次のように工夫しました。
まず、

\section*{付録A「アフィン変換」}

のように自動でセクションナンバーがふられるのを防ぎつつ、新しくセクションを作ります。
しかし、これでは目次に表示されないのでその後、

\addcontentsline{toc}{section}{付録A [アフィン変換]}

として、目次に表示する事ができます。

そのまま表示
texではスペースをどんなにうっても半角スペース1つ分しか反映されないので、ソースコードを貼り付ける際は次のようにします。

\begin{verbatim}〜\end{verbatim}

これでインデントなど、きちんと整形されたままきれいなソースコードを貼り付ける事ができます。


とりあえずよく使っているのはこんな感じでしょうか。
texで書いているとプログラムを書いているみたいな気分になって楽しく文章が書けますね。
javaで書いているプログラムの方も色々できてきているので近々まとめてみます。

texでこんなの便利だよ、とか指摘があればコメントがtwitter(id:takedai0313)でお願い致します。
ではしずえちゃんに会ってきます!