[LaTeX] LaTeX Tips

ここでは、LaTeXのデフォルトでは、なんかうまくいかないときの対処法を備忘録としてまとめておきます。

両面印刷で白紙ページを挿入したい。

両面印刷で、奇数ページから章が始まるようにしたいとき、

\\cleardoublepage を使うと、奇数ページで終わる章末に、白紙ページが自動挿入されます。

\include{ファイル名}  でも同様の効果が。

ところで、困ったことに、両面印刷でタイトルの裏に目次が 印刷され、見開きがおかしいことに気づきました。 これは困った。 ということで、

\maketitle \include{white} %これを追加 \tableofcontents  とします。 その挿入ファイルの中身を

\thispagestyle{empty} \ %半角スペース \clearpage  とすることで、タイトルの裏が白紙になります。ちょっと強引 [worried]

hyperrefで、colorlinks=trueにすると、jpegが表示されない。

既知のバグっぽい http://ubutun.blogspot.jp/2012/12/hyperrefgraphicx_4.html

jsbookで第〇節と表示したい。

http://oku.edu.mie-u.ac.jp/~okumura/texfaq/qa/17212.html より、

\makeatletter \renewcommand{\presectionname}{第} %jsarticle用にパッチが当てられているので変更 \renewcommand{\postsectionname}{節} %jsarticle用にパッチが当てられているので変更 % \renewcommand{\thesection}{\presectionname\@arabic\c@section\postsectionname} %

\makeatother

はしがきのページ番号の書式を変更するとエラーが出る。

はしがきのページをローマン体にして、 本文をアラビア数字に戻すと、 次のようなえらメッセージが表示される。

dvipdfmx:warning: Object @page.1 already defined.

これは、表紙のページ番号と本文のページ番号が重複しているので、

\begin{document} \pagenumbering{Alph} \maketitle \pagenumbering{roman} はしがき \pagenumbering{alph} 本文

のようにページ番号が重複しないようにすればよい。

[LaTeX] PDF文書の作成

昔は、tex文書からdviファイルを作って、それをpdfに変換していましたが、 ptex2pdfのように直接、tex文書からPDFファイルを作成(正確にはdviファイルを生成している)していますので かなり楽になりました。

PDF文書にしおりをつける。

\usepackage[dvipdfmx,%

bookmarksnumbered=true,%
colorlinks=true,%
setpagesize=false,%
pdftitle={PDF文書のタイトル},%
pdfauthor={著者名},%
pdfsubject={タイトル},%
pdfkeywords={キーワード1; キーワード2;}]{hyperref}

\usepackage{pxjahyper}

 

または、

\usepackage[dvipdfmx]{hyperref} \usepackage{pxjahyper} \hypersetup{%

bookmarksnumbered=true,%
colorlinks=true,%
setpagesize=false,%
pdftitle={PDF文書のタイトル},%
pdfauthor={著者名},%
pdfsubject={タイトル},%
pdfkeywords={キーワード1; キーワード2;}

}

参照 http://oku.edu.mie-u.ac.jp/~okumura/texwiki/?hyperref#fe7cad10

リンクの枠の色を消したい

文字に色をつけるをONにして、その文字色を文中と同じ色、すなわち黒に統一する。 具体的には

colorlinks=true,% リンク元の文字に色をつける linkcolor=black, %文書内リンクの色を黒色 urlcolor=black, %URLの色を黒色 citecolor=black, %文献引用の色を黒色 }}

sectionに数式が入る場合

\section{$E=MC^2$ のとき} とかくとエラーが発生する。

Package hyperref Warning: Token not allowed in a PDF string (PDFDocEncoding):

(hyperref) removing

そこで、

\section{% \texorpdfstring{% $E=MC^2$のとき}{E=MC2のとき} }} としておく。

目次の参考文献の参照先が前章になってしまう。

これを解決するには、 http://oku.edu.mie-u.ac.jp/tex/mod/forum/discuss.php?d=617

具体的には、

\cleardoublepage %次ページへ \phantomsection %仮のセクションの作成 \addcontentsline{toc}{chapter}{参考文献} %目次に参考文献を追加 \bibliography{bibファイル名} %参考文献のファイル

[LaTeX] 相互参照

相互参照とは、章番号や数式番号などを文章中で参照することで、参照元に

\label{ラベル名} を記述します。参照先で、

\ref{ラベル名} を記述すると、対応する \labelの章番号や数式番号を出力します。 また、

\pageref{ラベル名} は,対応する\labelのあるページ番号を参照します。 参照番号は、LaTeX が自動で振るので、文章を修正すると、参照番号も自動で修正されます。

ラベルは任意の文字をつけることができます。私の場合は、次のようにつけています。

  • 章:cha
  • 節:sec
  • 数式:eqn
  • 表:tab
  • 図:fig

入力例

\section{数式}\label{sec:math}

詳しくは第 \ref{sec:math} 節(p.\pageref{sec:math}) を参照してください。

Ams-LaTeXを使っているとき、\eqrefをつけると、丸括弧付きの参照になります。

[LaTeX] AMS-LaTeX

AMS-LaTeXを利用すると、簡潔に数式を入力することができます。 LaTeX標準の数式?よりも、こちらを利用した方が都合が良いこともあります。

ftp://ftp.ams.org/pub/tex/doc/amsmath/amsldoc.pdf

AMS-LaTeX を利用するためには,プリアンブルに以下のように記述します。

\usepackage{amsmath} \usepackage{amsthm} \usepackage{amssymb} %または \usepackage{amsmath,amsthm,amssymb}

テキスト数式モード

標準の数式と同様に書くことができます。

分数

テキスト数式モードで分数を書くと小さくなります。常にディスプレイスタイルで分数を表示する\dfracと,常にテキストスタイルで分数を表示する\tfracが用意されています。最も、行間が崩れるので、あまり使わない方が良いかもしれません。

数式中の空白

標準の数式と同様に書くことができます。

ディスプレイモード

標準の数式と異なる部分です。

別行立ての数式を表示するには,ディスプレイ数式モードを使用します.

数式番号は必要でない場合は,次のように数式を\[ 数式 \]で囲みます.

入力例

\[ \sum_{i=0}^{n} x_i \]

数式番号をつけたい場合は equation環境を使います。

\begin{equation} A = B \label{eqn:A=B} \end{equation}

ディスプレイ用数式モードにおいて文字を入力したい場合は\mboxの代わりに\textを使用します。自動で空白を入れたり、\text内で文字の大きさを自由に変えることができます。

入力例

\[ A = B \quad \text{すべての事象に対して} \]

数式が複数行にわたる場合、Ams-LaTeXでは強力な環境が整っています。

align環境

非推奨のeqnarray環境の代わりに、align環境があります。align 環境は eqnarray 環境の欠点を改善した環境です。

入力例

\begin{align} A & = B \\

 & = C

\end{align}

出力例 intro16-01.jpg

揃えるための,& はいくつあっても構いません。

数式番号をつけたくない場合は alignのあとに*をつけます。他の環境も同様です。

入力例

\begin{align*} A & = B \\

 & = C

\end{align*}

一部のみ数式番号をつけたくない場合は、\notagをつけます。他の環境も同様です。

\begin{align} A & = B \\

 & =  C \notag \\
 & =  D

\end{align}

出力例 intro16-02.jpg

gather環境

gather環境は,複数の数式を中央揃えで並べます.

入力例

\begin{gather} A = B \\

=C  \notag \\
= D

\end{gather}

出力例 intro16-03.jpg

alignat環境

それぞれの数式にコメントを入れるとき便利。 または、1行に複数の数式を入れるときに便利。

入力例

\begin{alignat}{2} A & = B & \qquad & \text{何とかの定理より} \\

 & = C &        & \text{右辺をまとめる}

\end{alignat}

出力例 intro16-04.jpg

\begin{alignat}{2} A& > B, & \qquad B & > C \\ X& > Y, & \qquad Y & > Z \end{alignat}

出力例 intro16-06.jpg

multline環境

長い数式を折り返すときに便利。

入力例

\begin{multline} A + B + C + D + E + F \\

 + G + H

\end{multline}

出力例 intro16-05.jpg

case 環境

case環境は、場合分けをより簡潔に書くことができます。

入力例

\begin{equation} A= \begin{cases} B & \text{$x$ が偶数の時} \\ C & \text{$x$ が奇数の時} \end{cases} \end{equation}

出力例 intro16-07.jpg

行列

行列は、matrix環境を使って簡単に書くことができます。

入力例

\begin{equation} A= \begin{pmatrix} a & b \\ c & d \end{pmatrix} \end{equation}

出力例 intro16-08.jpg

\begin{pmatrix}~\end{pmatrix}は、さまざまな行列の括弧に対応しています。

matrix 括弧なし
pmatrix ( )
bmatrix [ ]
Bmatrix { }
vmatrix | |
Vmatrix || || または,bordermatrix

括弧付きの数式番号

\refの代わりに \eqref を利用すると.括弧付きの数式番号参照となります.

任意の数式番号

\tag を用いて,任意の数式番号を出力することができます.\tag* は括弧なしの数式番号を出力します.\notagは数式番号を出力しません.

入力例

\begin{align} A & = B \tag{A} \\

 & = C \notag \\
 & = D \tag*{B}

\end{align}

出力例 intro16-09.jpg

数式の副番号

数式番号にサブ番号をつけるには次のように出力します.

\begin{align} A & = B \label{eqn:normal} \\ \tag{\ref{eqn:normal}a} & = C \label{eqn:dash} \end{align}

出力例 intro16-10.jpg

すべてにサブ番号をつけるには、subequations環境を利用します。 subequation環境で挟まれた数式環境は何でもかまいません。

\begin{subequations} \begin{equation} A = B \end{equation} $A$ と $B$ は同値なので \begin{equation} A = C \end{equation} \end{subequations}

出力例 intro16-11.jpg

証明

amsthmパッケージを使うと、\proof環境を使うことができる。

入力例

\begin{proof} 定理1.1より、以下が示せる。 \begin{equation} A=B \end{equation} よって、所望の結論を得た。 \end{proof} }

次のように指定することができる。

\renewcommand{\proofname}{\textnormal{(証明)}} \renewcommand{\qedsymbol}{(証明終)}

出力例 intro16-13.jpg

[LaTeX] 定理環境

定義や定理の出力は、newtheorem 環境を使用します。定義の場合、プリアンブルに次の内容を記述します。

\newtheorem{dfn}{Definition}[引数]

dfn はdfn環境を作ります。名前は何でもいいです。 Definition は表示される名称です。「定義」と表示したいならば、

¥newtheorem}{dfn}{定義}  と書きます。

定義番号に (2.1) のように章番号をつけたい場合は,引数に,chapterを入力します。章立ての文書で (1.3.2) のように節番号を付けたい場合は、引数に section を入力します。

本文で定義を書くときは次のように入力します.

入力例

\begin{dfn}[和集合]\label{dfn:set} 集合 $A$, $B$ について、以下を満たすとき、$A\cup B$ を $A$ と $B$ の和集合という。 \[ A\cup B=\{x \mid x \in A \,\mbox{または} x \in B \} \] \end{dfn}

出力例 intro15-01_0.jpg

\begin{dfn}の後の[和集合]は、定義の名前を表します。これは省略可能です。

定理、命題、補題なども同様に書くことができます。定義のカウンタを引き継ぎたい場合は、引数を用いることが出来ます。

\newtheorem{dfn}{定義} \newtheorem{thm}[dfn]{定理} \newtheorem{pro}[dfn]{命題} \newtheorem{lem}{dfn}{補題}

以下古い情報。

newtheorem 環境では,一部のクラスファイルでは,テキストは強調されるます.これを解消するためには,em 環境を用いるとよいでしょう.

入力例

\begin{dfn}[定義の名前]\label{ラベル}\\ \begin{em} This is Definition \[ A=B \] \end{em} \end{dfn}

定義の番号を参照する場合は,\refを使用します.

入力例 定義の詳細については,Definition \ref{ラベル名} を参照せよ.

theorem パッケージ

theorem パッケージを利用すると,newtheorem 環境をカスタマイズすることができます.プリアンプルに次のように記述します.

\usepackage{theorem}

theorem パッケージには newtheorem 環境をカスタマイズするコマンドが用意されています.

よく使う theorem パッケージ のコマンド

\theoremstyle 定義名を表示して改行するかどうか plain:通常モード(改行しない)breeak:定義名を表示して改行する
\theorembodyfont 定理環境本文の書体 (デフォルトは,itshape)

定理環境の本文をイタリック体ではなく直立体で表示したいときは,次のように入力します.

\theorembodyfont{\upshape}

その他の詳細は,\usr\local\share\texmf\dox\latex\theorem.pdf を参照してください。

入力例

\usepackage{theorem} \theoremstyle{break} \theorembodyfont{\rmfamily}

証明終の記号

定理の証明の時に使用される、証明終の記号は右寄せですが、数式モードでは、通常の右寄せが使用できません。そこで、プリアンブルで次のような命令を作成します。

\newcommand{\qed}{\hfill証明終の記号\par}

[LaTeX] 数学記号・文字

演算子

演算子などの数学記号は,CTAN で配布されている symbols-letter.pdf を参照するとよいでしょう.

演算子に否定の意味の斜線を入れるには\notを使います.

入力例

\[ A \not\equiv B \]

出力例 intro14-01.jpg

添え字

x1,x2のように,添え字を入力するには._ や^ を使用します.中括弧で囲まれた文字が1文字に限り中括弧を省略することが出来ます.

入力例

#sh{{ \[ x^2, x^{2}, x_2, x_{2}, x_1^2, x_{12}^2 \] }}

出力例 intro14-02.jpg

添え字を改行したい場合は,\stackrel{上}{下}を使って,文字を上下に表示させます.

入力例

#sh{{{ \[ (a_{ij})_{\stackrel{\scriptstyle i=1,\dots,m}{\scriptstyle j=1,\dots,m}} \] }}}

出力例 intro14-03.jpg

記号の積み重ね

記号の積み重ねは \stackrel を使用します.

入力例

\[ \stackrel{\mathrm{def}}{=} \]

出力例 intro14-04.jpg

分数

分数は\frac{分子}{分母}を使用します.

入力例

\[ f(x)=\frac{b-x}{b-a} \]

出力例 intro14-05.jpg

分数の中に分数は,テキストスタイルになってしまいます.これを強制的にディスプレイスタイルにする場合は次のように入力します.

入力例

\[ f(x)=\frac{b-x}{\displaystyle{\frac{b-a}{d}}} \]

出力例 intro14-06.jpg

根号

√は,\sqrt を使用します.

入力例

\[ \sqrt{2} \]

出力例 intro14-11.jpg

演算子

Σのような大型演算子のように,スタイルによって大きさが変わるものもあります.

入力例

\[ \sum_{i=1}^{n}a_n \]

出力例 intro14-07.jpg

関数名

\log や \sin のような関数名も用意されています。

限界代替率 MRSを作るときは、プリアンブルで以下の定義して使います。

\makeatletter
 \def\mrs{\mathop{\operator@font MRS}\nolimits}
 \makeatother

\nolimitsをつけると,添え字は Prob の右上または右下につくようになります。

一方,\lim のようにディスプレイ数式では添字を上下につけるような記号については,\nolimits をつけないで定義します。

最近は、\mathrmでもきちんと表示されるようになったようです。

入力例

\[

\mrs_{12}^A, \, \mathrm{MRS}_{12}^A

\]

出力例 intro14-15.jpg

下線

数式の上下につける線には,次のようなものがあります.

  • \underline{下線}
  • \overline{上線}
  • \underbrace{下波}
  • \overbrace{上波}
  • \overrightarrow{右矢印}
  • \overleftarrow{左矢印}

入力例

\[ \underline{AB}, \overline{AB}, \underbrace{AB}, \overbrace{AB}, \overrightarrow{AB},\overleftarrow{AB} \]

出力例 intro14-09.jpg

\overbrace, \underbrace には添え字をつけることがありますが,_や^を使います.

入力例

\[

 a^n =
 \underbrace{a \times \cdots \times a}
 _{n \mbox{\scriptsize\ 個}}

\]

出力例 intro14-10.jpg

数式での書体

数式モードでは,テキストモードの書体の代わりに以下の書体を扱うことができます。

intro14-12.jpg

\mathcal は,アルファベットの大文字のみ使用できます。また、使用するパッケージ(txfont, mathptmx, eucal)によって書体が異なります。

ベクトル

ベクトルの記法として、アルファベットの上に矢印を書く場合と、太字にする場合があります。太字の場合は、bmパッケージを使います。 重ね打ちはみっともないから、使わないほうがよいという意見もあるので、AMS-LaTeXを使った方が良いかもしれません。また、研究室、ジャーナルの流儀もあるので、それに従った方が良いでしょう。

\usepackage{bm} % txfont パッケージと併用する場合は,

               % txfontパッケージを読み込んだ後に記述する

 

入力例

\[

\vec{a}=(a_1,a_2,...,a_n)

\]

出力例 intro14-13.jpg

入力例

\[ \bm{a}=(a_1,a_2,…,a_n) \]

出力例 intro14-14.jpg

何度も使う場合は,\bmdefineで定義することもできます.

% プリアンブル \bmdefine{\bmalpha}{\alpha} % %本文 $\bmalpha$

昔の方法(bmパッケージを使わない場合)

\boldmath{$文字$} 便利なように\mathvcという名前のコマンド定義しておくとよいでしょう.

入力例

\newcommand{\mathvc}[1]{\makebox{\boldmath$#1$}}

\mathvc は,テキストモードでも数式モードでも扱うことができます.

[LaTeX] 数式

LaTeX の最も大きな特長は、数式をきれいに表現できるという点です。LaTeX では、数式モードと呼ばれる環境が用意されているため、きれいな数式を表示することが可能です。

おそらく、数式を使う文書の場合は、AmsLaTeXを使うことの方が多いので、以下の説明は使えません。なぜならば、下の説明の多くを AmsLaTeXがサポートしていないためです。

以下、AmsLaTeXを使わない場合の説明として読んでください。

数式モードには2つの種類があります。

  • テキスト数式モード–段落内の数式を表示する
  • ディスプレイ数式モード –別行立てで数式を表示する

テキスト数式モード

段落内に数式を表示するには、テキスト数式モードを使用します。テキスト用数式モードにするためには数式を $ で挟みます。

入力例

$x_1$から$x_n$までの総和を$\sum_{i=0}^{n} x_i$で表します。

出力例 intro13-01.jpg

数式モードでは、x のような欧文文字は数式用の書体になります。

段落内でディスプレイモードを使用したい場合は,「\displaystyle」を使用します.

入力例

$x_1$から$x_n$までの総和を$\displaystyle{\sum_{i=0}^{n} x_i}$で表します.

出力例 intro13-05.jpg

Σが本文で扱うと小さくなりますが、\displaystyleを使用することで、本文でも,ディスプレイ数式モードと同じように出力されます。

\displaystyle以外に次のようなものもあります。

  • \textstyle : テキストスタイル
  • \displaystyle : ディスプレイスタイル
  • \sctiptstyle : 添え字スタイル
  • \scriptscriptstyle : 添え字よりさらに小さいスタイル

段落内での数式の書き方

段落内ので数式を書くときは、$数式$ のように、$で数式を囲みます。昔は、$数式$ の両端に半角スペースを入れていましたが、今は自動で半角スペースを入れるようになっているそうです。奥村先生の本によると、jsarticleやjsbookではスペースは同じとの記述がありましたが、若干ずれるようです。

#sh{{ ここで、$x_i$は、$i=1,\dots n$番目の消費財を表す。

ここで、$x_i$ は、$i=1,\dots n$ 番目の消費財を表す。 }}

intro13-10_0.jpg

数式中の括弧

数式では、(),{}, [] を使うことがあります。\left(,\right)のように囲んでおいた方が、括弧の大きさが最適化されます。

#sh{{ \begin{align} &A=\{x\in X \mid X \cap Y \} =\left\{x\in X \mid X \cap Y \right\} \\ &\left(f_1^2\right) (f_1^2) \\ \end{align} }}

intro13-11_0.jpg

数式中の空白

数式中では,半角空白は無視されます。数式用空白文字は,段落内で使用できる空白文字に加えて以下の文字を使うことができます。

intro13-10.jpg

ディスプレイモード

別行立ての数式を表示するには,ディスプレイ数式モードを使用します.

数式番号は必要でない場合は,次のように数式を\[ 数式 \]で囲みます.

入力例

\[ \sum_{i=0}^{n} x_i \]

出力例 intro13-02.jpg

数式が複数行の場合,eqnarray*環境を使用します。 「=」で数式をそろえたい場合は,「&」で「=」を挟みます。 ただし、eqnarray環境は非推奨のようです。

Package nag Warning: Environment eqnarray is obsolete. 
(nag)                Use amsmath's align instead on input line 11.

入力例

\begin{eqnarray*} A & = & B \\

 & = & C

\end{eqnarray*}

出力例 intro13-03.jpg

ディスプレイ用数式モードにおいて文字を入力したい場合は\mboxを使用します.

入力例

\[ A = B \quad \mbox{すべての事象に対して} \]

出力例 intro13-04.jpg

数式番号

別行立ての数式の場合,数式番号を付けることも出来ます.数式を \begin{equation} 数式 \end{equation} で囲みます.

入力例

\begin{equation} A = B \label{eqn:A=B} \end{equation}

出力例 intro13-06.jpg

「\label」をつけることで数式番号を参照することが出来ます。この例では数式番号に「eqn:A=B」というラベルを付けています。数式番号を参照する場合は、参照したい箇所に,「\ref」を使用します.

入力例

以上の計算より,(\ref{eqn:A=B}) を得ます.

出力例 intro13-11.jpg

複数行の場合は,\begin{eqnarray} 数式 \end{eqnarray} で囲みます.一部の行の数式に数式番号を振りたくない場合は \nonumberを使用します.

入力例

\begin{eqnarray} A & = & B \\

 & = & C \nonumber \\
 & = & D

\end{eqnarray}

出力例 intro13-07.jpg

節番号付き数式番号

数式番号を (2.1) のように,節番号を付ける場合は,プリアンブルで次のように記述します.

 

 \def\theequation{\thesection.\arabic{equation}}
 \makeatletter
 \@addtoreset{equation}{section} %セクションが変わるとカウンタがリセットする
 \makeatother

 

intro13-12.jpg

任意の数式番号

これはuplatexでは動きません。備忘録として

任意の数式番号は,\eqno(右側に数式番号を出力)」,\leqno(左側に数式番号を出力)が利用できるが,これはあまり勧められません.また,\[,\]の代わりに数式を$$で囲まなければなりません.

入力例

$$ A = B \eqno{(A-1)} $$

行列

行列は,array 環境を使用します.引数には,l:左揃え,c:中央揃え,r:右揃えが用意されています.

入力例

\begin{equation} A=\left( %左側に(括弧を書く \begin{array}{cccc} a_{11} & a_{12} & \cdots & a_{1n} \\ a_{21} & a_{22} & \cdots & a_{2n} \\ \vdots & \vdots & \ddots & \vdots \\ a_{m1} & a_{m2} & \cdots & a_{mn} \end{array} \right) % 右側に)括弧を書く \end{equation}

出力例intro13-08.jpg

場合わけ

array 環境は,場合分けにも応用できます.

入力例

\begin{equation} A= \left\{ %左側に{括弧を書く \begin{array}{ll} B, & \mbox{$x$ が偶数の時} \\ C, & \mbox{$x$ が奇数の時} \end{array} \right. % 右側の括弧は省略 \end{equation}

出力例 intro13-09.jpg

[LaTeX] 図

画像フォーマットは1つの画像フォーマットに統一しておきましょう。

WinTpic で作成した図の貼付

WinTpic は,貼付したい場所に \input{ファイル名.拡張子} で挿入できます。

入力例

#sh{{ \input{union.tex} }}

出力例 intro12-01.jpg

includegraphics

図を貼り付けるときは、includegraphicsを使います。

プリアンブルで、「graphicx」パッケージを読み込みます。

\usepackage[dvipdfmx]{graphicx}

貼付したい場所に次のように記述します.

\includegraphics[オプション]{ファイル名.拡張子}

オプション以下の通り

width 幅 width=3cm
height 高さ height=2cm
scale 拡大縮小率 scale=.5
angle 回転角 angle=90
clip はみ出しを切り取る

入力例

\includegraphics[scale=.5]{union.eps}

図の拡大・縮小

図を拡大縮小したい場合は、次のように記述します。

\includegraphics[scale=.5]{ファイル名.拡張子} または \includegraphics[6cm,8cm]{ファイル名.拡張子}

scale=.5は画像の縮小サイズを表しており,1/2 サイズで貼付せよという命令になります.6cm,8cmは横 6cm 縦 8cm で表示しなさいという意味です.

図のトリミング

図の一部のみを表示したい場合は,

\includegraphics*[左上の座標][右下の座標]{ファイル名.拡張子} を使用します。

大きい画像をぴったり収まるようにしたい 

こんな感じ? 横幅に合わせる

\begin{figure}[htbp] \centering \includegraphics[width=0.9 \linewidth]{filename.pdf} \caption{図の名前} \label{ラベル1} \end{figure}

縦幅に合わせる

\begin{figure}[htbp] \centering \includegraphics[height=.9\textheight]{filename.pdf} %\input{fig4-1.tex} \caption{図の名前} \label{ラベル2} \end{figure}

図の形式

eps形式

以前は、eps形式が推奨されましたが、今では、PDF形式でもよいそうです。

PostScriptに慣れていないので、いまいち、eps形式は苦手です。

\includegraphics{union.eps}

jpeg形式など

昔は、dvioutで、susie-pluginを使って、jpeg, gif, png を表示させていましたが、今は、 直接PDFを作るから必要ないようです。

入力例

\includegraphics[scale=.5]{union.jpg}

図表番号

図表番号を出力したい場合は、figure 環境を利用します。オプションは,[[table 環境:表]]と同じです。

\begin{figure}[htbp]

 \centering
   \input{ファイル名}
   \caption{図のタイトル}
   \label{ラベル名}

\end{figure}

center環境を使うと、

Package nag Warning: `center' environment in figure.
(nag)                Maybe you want \centering instead on input line 29.

と指摘されます。

入力例

\begin{figure}[htbp]

  \centering
   \input{union.tex}
   \caption{和集合}
   \label{fig:union}

\end{figure}

出力例 intro12-02.jpg

図を横に並べる

figure 環境で図を2つ並べるには、minipage 環境を使用します。

\begin{figure}[htbp] \centering

 \begin{minipage}[t]{.47\textwidth}
   \bentering
   \includegraphics{ファイルA.拡張子}
   \caption{図 A の説明}
   \label{図Aのラベル}
 \end{minipage}
 \begin{minipage}[t]{.47\textwidth}
   \centering
   \includegraphics{ファイルB.拡張子}
   \caption{図 B の説明}
   \label{図Bのラベル}
 \end{minipage}

\end{figure}

入力例

\begin{figure}[htbp] \centering

 \begin{minipage}[t]{.47\textwidth}
   \centering
   \input{union.tex}
   \caption{和集合}
   \label{fig:union}    
 \end{minipage}
 \begin{minipage}[t]{.47\textwidth}
     \centering
     \input{intersection.tex}
     \caption{共通部分}
     \label{fig:intersection}
 \end{minipage}

\end{figure}

出力例 intro12-03.jpg

sucaptionパッケージ

subcaption パッケージを使用すると,(a), (b)と副番号を付けてくれます。プリアンブルで、\usepackage{subcaption}を入力します。

\begin{figure}[htbp] \centering

 \begin{minipage}[t]{.47\textwidth}
   \centering
   \includegraphics{図A.拡張子}
   \subcaption{図Aのキャプション}
   \label{図Aのラベル}    
 \end{minipage}
 \begin{minipage}[t]{.47\textwidth}
     \centering
     \includegraphics{図B.拡張子}
     \subcaption{図Bのキャプション}
     \label{図Bのラベル}
 \end{minipage}
\caption{図全体のキャプション}
\label{図全体のラベル}

\end{figure}

入力例

\begin{figure}[htbp] \centering

 \begin{minipage}[t]{.47\textwidth}
   \centering
   \input{union.tex}
   \subcaption{和集合}
   \label{fig:union2}    
 \end{minipage}
 \begin{minipage}[t]{.47\textwidth}
     \centering
     \input{intersection.tex}
     \subcaption{共通部分}
     \label{fig:intersection2}
 \end{minipage}
\caption{集合の和と共通部分}
\label{fig:set2}

\end{figure}

出力例 intro12-04.jpg

subfigureパッケージは非推奨だそうです。

[LaTeX] 表

文字の羅列 

文字の羅列は、tabbing 環境を使用します。1行目の x で要素の幅を指定します。\= は要素の区切りを表し、\kill は改行を表します。2行目以降の \> は要素の区切り表し、\\ は改行を表します。

入力例

\begin{tabbing} xxxx \= xxxxxxxx \= xxxxxxxxxx \= xxxxxx \kill

      \> あんぱん   \> メロンパン   \> 食パン  \\

価格 \> 80 \> 120 \> 180 \\ \end{tabbing}

出力例 intro11-01.jpg

tabular環境

表は、tabular 環境を使用します。& は要素の区切りを表し、\\ は改行を表します。

入力例

\begin{tabular}{|c||c|c|c|} \hline

       &あんぱん &メロンパン &食パン \\ \hline\hline

価格 &80 &120 &180 \\ \hline \end{tabular}

出力例 intro11-02.jpg

「|c||c|c|c|」の「|」は縦罫線を表し、「||」は縦二重罫線を表します。

「c」は要素を中央に配置する命令で,ほかに,「l(Lの小文字)」は要素を左寄せ,「r」は要素を右寄せに配置します。

\hline は横罫線を表し、\hline\hline は横二重罫線を表します。罫線の指定がない場合、罫線は引かれません。

入力例

\begin{tabular}{cccc}

     &あんぱん &メロンパン &食パン \\

価格 &80 &120 &180 \\ \end{tabular}

出力例 intro11-03.jpg

表を横に並べることもできます.

入力例

\begin{tabular}{cccc}

     &あんぱん &メロンパン &食パン \\

価格 &80 &120 &180 \\ \end{tabular} \begin{tabular}{cccc}

     &カレーパン &ジャムパン &クリームパン \\

価格 &130 &120 &100 \\ \end{tabular}

出力例 intro11-04.jpg

セルの連結

列を横に連結する場合には、\multicolumn{連結する列の個数}{値}{文字列} を使用します。値には、tabular環境の値と同様に、l,c,rや罫線 | を指定することができます。

入力例

\begin{tabular}{|c||c|c|c|}\hline

     & \multicolumn{2}{c|}{菓子パン} & 食パン \\ \hline\hline
     & あんぱん & メロンパン & 食パン \\  \hline

価格 & 80 & 120 & 180 \\ \hline \end{tabular}

出力例 intro11-05.jpg

一部のみ横罫線を引きたい場合は,\cline{初めの列-終わりの列}を使用します.\cline{1-3}\cline{1-3}は,二重横罫線を引きなさいという命令です。 たとえば、上の表で食パンを結合して1つで表したい場合は、次のように入力します。

入力例

\begin{tabular}{|c||c|c|c|}\hline

     & \multicolumn{2}{c|}{菓子パン} & 食パン \\ \cline{2-3}\cline{2-3}
     & あんぱん & メロンパン &        \\ \hline

価格 & 80 & 120 &180 \\ \hline \end{tabular}

出力例 intro11-06.jpg

横罫線が,1,3,5列だけ引きたい場合は,\cline{1-1}\cline{3-3}\cline{5-5} と指定します.食パンを縦に対して中央揃えにしたい場合は,\raisebox を使用します.

入力例

\begin{tabular}{|c||c|c|c|}\hline

     & \multicolumn{2}{c|}{菓子パン} & \raisebox{-1.5ex}[0cm][0cm]{食パン}
     \\ \cline{2-3}\cline{2-3}
     & あんぱん & メロンパン & \\  \hline

価格 & 80 & 120 & 180 \\ \hline \end{tabular}

出力例 intro11-07.jpg

段組の表

段組の表を組みたい場合は,次のように指定します。

入力例

\begin{tabular}{|c|p{10zw}|}\hline 段組 & このように10文字で行が折り返されます.\\ \hline \end{tabular}

出力例 intro11-08.jpg

tabularx環境

列幅を統一したいならば,tabularx 環境を使用します.プリアンブルに \usepackage{tabularx}と入力します。

入力例

#sh{{ \begin{tabularx}{30zw}{|c||X|X|X|} \hline

     &あんぱん &メロンパン &食パン \\ \hline\hline

価格 &80 &120 &180 \\ \hline \end{tabularx} }}

出力例 intro11-09.jpg

列指定 X は,左寄せになります。中央揃えにするためには、新たに次の列指定を定義しなければなりません。 プリアンブルに次を記入します。

#sh{{ \newcolumntype{Y}{>{\centering\arraybackslash}X} %中央揃え \newcolumntype{Z}{>{\raggedleft\arraybackslash}X} %右揃え }} 表で次を記入します。

#sh{{ \begin{tabularx}{30zw}{|c||X|Y|Z|} \hline

     &あんぱん &メロンパン &食パン \\ \hline\hline

価格 &80 &120 &180 \\ \hline \end{tabularx} }}

出力例 intro11-10.jpg

セル内の改行

セル内では\\が使えないので,\shortstackを使う。

入力例

#sh{{ \begin{tabular}{|c||c|c|c|} \hline

     &\shortstack{あんぱん\\ジャムパン} &メロンパン &食パン \\ \hline\hline

価格 &80 &120 &180 \\ \hline \end{tabular} }}

出力例 intro11-11.jpg

hhlineスタイル

二重線の格子の形状を変更したい場合は,hhlineスタイルを使う。

= 二重重横線
横線
~ 横線なし
| 横線と重なる縦線
: 横線と重ならない縦線
# 二重横線と二重縦線が格子状に交差
t 最上部で二重線を使う
b 最下部で二重重線を使う
* 繰り返し,*{2}{#=} とすると、#=#=と同じ意味になる

入力例

\begin{tabular}{|c||c|c|c|}\hline

     & \multicolumn{2}{c|}{菓子パン} & 食パン \\ \hhline{|=#=|=|=|}
     & あんぱん & メロンパン & 食パン \\  \hline

価格 & 80 & 120 & 180 \\ \hline \end{tabular}

出力例 intro11-12.jpg

斜線

セルを斜線で区切るには,slashboxスタイルを使う。

左上から右下への斜線 backslashbox{左}{右}
左下から右上への斜線 shalshbox{左}{右}

入力例

#sh{{ \begin{tabular}{|c|c|c|}\hline \backslashbox{A}{ーB} & L & R \\ \hline L & (5,5) & (2,3) \\ \hline R & (3,2) & (0,0) \\ \hline \end{tabular} }}

出力例 intro11-13.jpg

図表番号

図表番号を出力したい場合は table 環境を利用します。オプションには、次の4つがありますが、これらは必ずしも所望の場所に配置されるわけではありません。

h ここに配置
t ページの上端に配置
b ページの下端に配置
p 独立したページに配置

入力例

\begin{table}[htbp] \centering \caption{パンの価格}\label{tab:price} \begin{tabular}{|c||c|c|c|} \hline

     &あんぱん &メロンパン &食パン \\ \hline\hline

価格 &80 &120 &180 \\ \hline \end{tabular} \end{table}

出力例 intro11-14.jpg

※center環境は非推奨とのことです。

Package nag Warning: `center' environment in table.
(nag)                Maybe you want \centering instead on input line 21.

Excelアドイン

Excel で作った表を簡単にtablular環境に変換してくれるとても便利な Excel のアドインです。

[LaTeX] 文字枠

ascmacパッケージを使うと文字枠を描くことができます。

dvipdfmx:warning: Too thin line: height=1

と表示されるのは、線が細すぎるとのこと。 dvipdfmx で -d 5 を指定すれば良いので、 タイプセット uplatex の設定のオプションで

-u
-l
-ot
$synctexoption -no-guess-input-enc -kanji=utf8
-od
-d 5
$fullname

を指定すれば良い。

影つきボックス

入力例

\begin{minipage}{30mm} \begin{shadebox} \centering {\bfseries ABC} \end{center} \end{shadebox} \end{minipage}

出力例 intro10-01.jpg

丸枠

入力例

\begin{minipage}{30mm} \begin{screen} \centering {\bfseries ABC} \end{center} \end{minipage}

出力例 intro10-02.jpg

項目枠

入力例

\begin{minipage}{30mm} \begin{itembox}[c]{項目} \centering {\bfseries ABC} \end{itembox} \end{minipage}

出力例 intro10-03.jpg

引数の「c」は中央に表示せよという命令であり,ほかに「l:左寄せ」,「r:右寄せ」があります.

ascmacパッケージを使わない方法

ascmacパッケージを使わずにボックスを描く命令として \fbox, \framebox があります.

入力例

\fbox{ABC}

出力例 intro10-04.jpg

入力例

\fbox{\rule[-3mm]{0mm}{30mm}ABC}

出力例 intro10-05.jpg

入力例

\framebox[30mm][c]{ABC}

出力例 intro10-06.jpg