LaTeXの練習 - 弘前大学 共通教育棟

LATEX 2εの練習
内海 淳
平成 16 年 10 月 7 日
1
はじめに
大学の人文・文学系の学部においては、日本語や英語以外の言語・文字の
文書や、様々な様式が混在した文書を扱う機会が多い。しかし、現在の多く
のコンピュータシステムでは、このような文書を扱う際にはいくつかの問題
点がある。これらの問題の解決策の一つとして、LATEX 2ε を利用することが
考えられる。
LATEX 2ε (もともとは TEX)は、元 Stanford 大学教授 Donald E. Knuth
氏が開発した、電子組版システムである。
1.1
1.1.1
これまでの問題点
異なるプラットフォーム
現在、利用できるコンピュータは、Windows, Linux, Macintosh の三つの
異なる種類の OS に分かれている。電子的な文書を配付したり、閲覧させ
る場合には、三つの異なるプラットフォームが混在していても、それほど問
題は生じない。これら三つのシステムに共通して利用できる文書表示ソフ
ト Adobe Acrobat Reader が存在するからである。すべてのシステムにこの
Adobe Acrobat Reader をインストールしておけば、資料を PDF 形式にして
おくだけで、自由に資料を閲覧・利用することが可能となる。これに対して、
外国語の作文など、文章の入力・作成を行う場合には、使用するアプリケー
ション、入力方法など、プラットフォームごとに異なる部分が大きい。
1.1.2
多言語使用
人文系の学部では、多くの言語を扱わなければならない。現在、弘前大学
で開講されている外国語科目は、日本語と英語の他に、フランス語、ドイツ
語、中国語、ロシア語、朝鮮語が、常に開講されている。このほかにもイタ
リア語、ラテン語、ギリシャ語、ルーマニア語、アラビア語なども開講され
1
ることがある。現在、どのプラットフォームも多言語化が押し進められてい
るが、これらの多様な言語を混在させて扱えるようにはなっておらず、また、
プラットフォームごとの違いも大きい。また、人文系の学部では、外国語教
育以外でも特殊な様式の文書を扱う機会が多い。文学・歴史関係の分野では、
縦書きの文書が中心で、その中で、ルビ、頭注、脚注、漢文の訓点など特殊
な形式が必要とされる。また、言語学などでは、様々なアクセント記号や、
発音記号を多用する。従来のワープロでこのような特殊な形式を扱うことは、
なかなか難しく、専用のアプリケーションが必要になったりする上に、異な
るプラットフォームの間での互換性が問題となってくる。
ただし、Unicode の導入
が行き渡れば文字の互換
1.2
性の問題は少なくなる。
LATEX 2ε の利点
上で挙げた問題に対する解決案の一つとして、LATEX 2ε の利用を試みてい
る。LATEX 2ε の利点としては、以下のことが挙げられる。
クロスプラットフォーム Windows, Linux, Macintosh の三つのプラット
フォームすべてに関して、LATEX 2ε の同じ処理系が容易に入手可能であ
り、プラットフォームごとに異なる振る舞いをしない。編集する文書が
プレーンテキスト形式なので、編集の特別なアプリケーションを必要と
しない。
多言語使用 ラテンアルファベットを用いる言語に関しては、ほとんど手を
加えることなく扱うことができ、また、フォントとスタイルファイルを
加えることによって、扱える言語を比較的容易に増やすことができる。
特殊な形式 縦書きの文書や、その中の、ルビ、頭注、脚注、漢文の訓点な
どの特殊な形式も、スタイルファイルを利用することによって、簡単に
扱うことができる。
1.3
LATEX 2ε 導入の問題点など
LATEX 2ε 導入の問題点としては以下のことが挙げられる。
1. プラットフォームごとの違いがある。同一の処理系といっても、それが
載せられているプラットフォームが異なることから、基本的な操作法法、
入力方法等がどうしても異なってくる。ただ、この問題は、LATEX 2ε を
導入しない場合の方がより深刻である。
2. LATEX 2ε を用いた文書作成は、基本的にプログラミングであるので、実
際の文書作成にができるようになるまで、かなりの練習を要求する。ま
た、LATEX 2ε は、WYSIWYG のシステムではないので、感覚が掴みに
くいようである。
2
3. 多くの言語を扱うようにすればするほど、必要となるフォントおよびス
タイルファイルの種類がふえてくる。そのため、各プラットフォーム間
の統一性を保つことが難しくなってくる。
2
TEX/LATEX の基本的な仕組み
TEX/LATEX で文書を作成する場合は、基本的に、次のような手順で行う。
1. 入力/編集:テクストエディタを使って、TEX/LATEX の文法/規則に
従い、プレーンテクストの文書を作成し、(通常は、.tex の拡張子をつ
けたファイル名で)保存する。(このファイルを以下 TEX ファイルと
呼ぶ。)
2. 組版:TEX/LATEX の処理系(プログラム)を使用して、TEX ファイル
をコンパイルし、特定の出力機器に依存しない出力ファイル(.dvi とい
う拡張子がついたファイル。以下、DVI ファイルと呼ぶ。)に変換する。
3. 出力 1:プレビュアを使用して、DVI ファイルを、ディスプレイに表示
する。(プリンタに印刷することもできるが、多くの場合、出力結果が
綺麗ではない。)
4. 出力 2:DVI ファイルを、PostScript 形式のファイル(.ps という拡張子
がついたファイル。以下、PS ファイルと呼ぶ。)に変換する。プリンタ
が PostScript 対応のプリンタであれば、そのまま綺麗に印刷すことがで
きる。プリンタが PostScript 非対応のプリンタであれば、GhostScript
を使用して綺麗に印刷すことができる。また、ファイルに出力すること
もできる。
5. 出力 3:Adobe Acrobat 等を使用して、PS ファイルを PDF(Portable
Document Format) の形式のファイル(.pdf という拡張子がついたファ
イル。以下、PDF ファイルと呼ぶ。)に変換する。PDF ファイルにし
ておくと、Adobe Acrobat Reader という無償で配付されているプログ
ラムを使って、Windows, Macintosh, Unix の各 OS で、
(ディスプレイ
上でも、プリンタでも)全く同じ出力結果を得ることができる。
それぞれの作業を行うためには、以下のプログラムを使用する。
• 入力/編集:任意のエディタ。Windows 上ではメモ帳、Macintosh 上で
は、シンプルテキスト、テキストエディット、Unix 上では vi など、必
ず OS に付属している。もっと高機能/使いやすいものも無償で多く出
回っている。
3
• 組版:TEX/LATEX のプログラム。TEX/LATEX を日本語に対応させたも
のが、pTEX/pLATEX。現在、最新の LATEX は、LATEX 2ε と呼ばれる(日
本語対応版は pLATEX 2ε )。
• 出力 1:xdvi や dviout など。
• 出力 2:dvips/dvipsk などで PS ファイルに変換する。GhostScript と
GSview を使って、PostScript 非対応のプリンタに出力する。
• 出力 3:Adobe Acrobat Distiller など。
• 出力:出力 2 と出力 3 を一気に行う dvipdfm というプログラムもある。
また、出力 1,2,3 を一気に行うプログラムも開発されているが、通常は、
出力 1 の結果を見て、入力/編集を修正し、組版するという作業を繰
り返すので、dvipdfm で十分である。
上に挙げたプログラムは、我々が TEX/LATEX を使って文書を作成する際
に、直接、使用するものである。しかし、これら以外にも、意識しないで使
用したりするプログラムもある。
metafont フォントを作成する。
bibtex 文献目録を作成する。
mendex 索引を作成する
TEX/LATEX に関する詳しい/最新の情報は、奥村晴彦氏の Web サイト
http://oku.edu.mie-u.ac.jp/~okumura/texwiki/
の日本語 TEX 情報のページで、随時、確認してください。
3
文書クラス
\documentclass[a4j]{article}のように指定する。
{article}の部分が文書のクラスの指定。
• article(論文)、report(報告書)、book(書籍)の三種類がある。
• 和文(横書き)の場合は、それぞれ、jarticle、jreport、jbook となる。
• 和文(縦書き)の場合は、それぞれ、tarticle、treport、tbook となる。
4
3.1
和文論文(横書き)の場合
\documentclass[a4j]{jarticle}
\begin{document}
\title{}
\author{}
\date{}
\maketitle
\section{}
\subsection{}
\subsubsection{}
\end{document}
3.2
和文報告書(横書き)の場合
\documentclass[a4j]{jreport}
\usepackage{graphicx}
\begin{document}
\title{}
\author{}
\date{}
\maketitle
\end{document}
3.3
和文書籍(横書き)の場合
\documentclass[a4j]{jbook}
\begin{document}
\title{}
5
\author{}
\date{}
\maketitle
\chapter*{}
\tableofcontents
\listoffigures
\listoftables
\part{}
\chapter{}
\section{}
\subsection{}
\subsubsection{}
\appendix{}
\chapter{}
\end{document}
4
文字や記号
4.1
4.1.1
文字の大きさと書体
文字の大きさ
無指定 abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ
tiny abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ
scriptsize
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ
footnotesize
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ
small abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ
normalsize abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ
large abcdefghijklmnopqrstuvwxyz
6
ABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ
Large
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ
LARGE
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ
huge
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ
Huge
4.1.2
書体
無指定 abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ
ボールドフェイス (bf) abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ
スモールキャピタル (sc) abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ
イタリック (it) abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ
ローマン (rm) abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ
サンセリフ (sf) abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ
タイプライター (tt) abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ
4.2
4.2.1
特殊な記号など
アクセント記号など
´ `
o
o ˆ
o ¨
o ˜o ¯o o˙ ˘o ˇo ˝o oo o¸ o. o ˚
o
¯
œ Œ æ Æ ˚
a ˚
A ø Ø l L ß ¿ ¡
4.2.2
ギリシャ文字
αβγδ
ζ ηθικλµνξoπρστ υφχψω
7
ABΓ∆EZ H ΘI K ΛM N ΞOΠP ΣT ΥΦX ΨΩ
4.2.3
LATEX 2ε で予約されている記号
ˆ % \ { } $ & # 4.2.4
その他の特殊な記号
† ‡ § ¶ • c £ ·
4.3
表と記号を組みあわせた例
( □ □ □ □ □
↓ ↓ ↓ ↓ ↓
↓ × × ↓ ×
( □
□
( □□□□□□ )
□ )
↓
↓
□ )
○
5
数式表現
LATEX 2ε の元になった TEX は、もともと、アメリカの Stanford 大学の数学
者である D. E. Knuth 博士が、数式を、自分の意図した通り、きれいに印刷
するための組み版作成システムとして作り出したものです。ですから、様々
な数式表現に対応したコマンド(命令)が用意されています。
5.1
5.1.1
数式表現の基本
インテキスト数式とディスプレイ数式
数式表現の方式には、本文中に組み込む場合のインテキスト数式と、本文
とは別に 1 行以上のスペースを確保して表示する場合のディスプレイ数式の
二つがあります。
8
インテキスト数式の場合は、数式表現を$と$の間に挟み込んで入力します。
例えば、$a+b$と入力すると、a + b として現れます。
ディスプレイ数式の場合は、数式表現を\[と\] の間に挟み込んで入力しま
す。例えば、\[(a+b)^2 = a^2 + 2ab + b^2) \] と入力すると、
(a + b)2 = a2 + 2ab + b2
として現れます。
5.1.2
添え字
上の例のように、上付きの添え字を使う場合は、添え字の前に^(キャレッ
ト)を付けます。下付きの添え字を使う場合は、添え字の前に_(アンダース
コア)を付けます。
例えば、$a^1, a^2, \ldots, a^{10}$と入力すると、a1 , a2 , . . . , a10 のよ
うになり、$\xi^{n-1}, \xi^{n-2}, \ldots, \xi^{n-p}$と入力すると、
ξ n−1 , ξ n−2 , . . . , ξ n−p のようになります。
5.1.3
分数など
分数は、\frac{分子}{分母}という形で入力します。\[f(x) = \frac{x^2}{1+x}\]
と入力すると、
f (x) =
x2
1+x
となります。
また、二項係数などのように、括弧の中に二つの要素を縦に並べる場合に
は、\choose、\brace、\brack などを使います。
\[{m \choose n} \qquad {m \brace n} \qquad {m \brack n} \]1 と
入力すると、
m
m
m
n
n
n
となります。
根号は\sqrt で表します。$\sqrt{2}$および$\sqrt[3]{2}$と入力する
√
√
と、それぞれ、 2、 3 2 となります。
5.1.4
様々な数式の記号など
二つの項をとる演算子の例としては以下のようなものがあります。
= + − > < ± × ÷ ∈ ⊃ ⊆ ⊇
1
は空白を挿入する命令です。
9
∧ ∨ ∩ ∪ ≡ ⊂ これはほんの一部です。
これらの入力方法は以下の通りです。
$=$ $+$ $-$ $>$ $<$ $\pm$ $\times$ $\div$
$\in$ $\ni$ $\wedge$ $\vee$ $\cap$ $\cup$
$\equiv$ $\subset$ $\supset$ $\subseteq$ $\supseteq$
5.2
通し番号を付ける
数式表現などに通し番号を付ける場合には、equation 環境を使います。
\begin{equation}
y=f(x)
\end{equation}
と入力すると、
y = f (x)
(1)
となります。
この通し番号は、LATEX 2ε が自動的に振っていくので、前の部分に数式表
現を後から追加すると、番号が変わってしまいます。そこで、本文中でこの
数式表現について言及する場合は、その数式表現に\label 命令を使って名前
を付け、\ref 命令で呼び出します。
\begin{equation}
z=f(y) \label{eq:01}
\end{equation}
関数の典型的な形は、(\ref{eq:01}) のようになる。
と入力すると、以下のようになります。
z = f (y)
(2)
関数の典型的な形は、(2) のようになる。
この通し番号を左側に付ける場合には、文書の冒頭の\documentclass のオ
プションとして leqno を指定します。
(\documentclass[leqno]{jarticle}
のように。)
10
5.3
数式表現の中での表組み
行列などの場合のように、数式表現の中で表組みを行う場合には、array 環
境を使います。
行列式 (3 × 3 行列の例) を作成する場合には、以下のように入力します。
\[
\left(
\begin{array}{ccc}
1 & 0 & 1 \\
0 & 1 & 0 \\
1 & 1 & 1
\end{array}
\right)
\]
これは、次のように出力されます。

1 0

 0 1

1

0 
1
1 1
array 環境を使って、次のように罫線を使った表も作ることができます。
\[
\begin{array}{cc|c|c|c} \hline
p & q & p\wedge q & \neg p & (\neg p)\vee q \\ \hline
T & T & T & F & T \\ T & F & F & F & F \\
F
& T & F & T & T \\ F & F & F & T & T \\ \hline
\end{array}
\]
と入力すると、次のようになります。
p
q
p∧q
¬p
(¬p) ∨ q
T
T
F
F
T
F
T
F
T
F
F
F
F
F
T
T
T
F
T
T
11
5.4
矢印など
矢印などの記号には以下のようなものがありますが、ここにあげたものは
ほんの一部です。この他の記号などについては参考書で確認して下さい。ま
た、コマンド名を見ると多少応用が聞くものもあります。自分で適当にコマ
ンド名の一部を変更して試してみて下さい。
→ ← −→ ←−
↔ ↑ ↓ ⇒ ⇐ =⇒ ⇐=
⇔ ⇑ ⇓ →←
→ −→
∀ ∃ ∇ ♠ ♥ ♦ ♣ ∞ ⊥ 上の記号を出力するためのコマンドは、以下の通りです。
$\rightarrow$ $\leftarrow$ $\longrightarrow$ $\longleftarrow$
$\leftrightarrow$ $\uparrow$ $\downarrow$ $\updownarrow$
$\Rightarrow$ $\Leftarrow$ $\Longrightarrow$ $\Longleftarrow$
$\Leftrightarrow$ $\Uparrow$ $\Downarrow$ $\Updownarrow$
$\swarrow$ $\nearrow$ $\searrow$ $\nwarrow$
$\hookrightarrow$ $\hookleftarrow$ $\rightharpoonup$ $\rightharpoondown$
$\mapsto$ $\longmapsto$
$\forall$ $\exists$ $\flat$ $\sharp$ $\triangle$ $\nabla$ $\spadesuit$ $\heartsuit$ $\diamondsuit$ $\clubsuit$ $\infty$ $\angle$ $\top$ $\bot$ $\lceil
12
\rceil$ $\lfloor
\rfloor$
13