TeX/LaTeX入門 - Wikibooks
コンテンツにスキップ
出典: フリー教科書『ウィキブックス(Wikibooks)』
TeX
メインページ
TeX/LaTeX入門
はじめに
編集
とは
ドナルド・クヌース
が開発した
電子
組版
ソフトウェアである。
Microsoft Windows
macOS
UNIX
など様々なプラットフォームで利用可能であり、商業印刷並みの品質で印刷を行うことができる。
レスリー・ランポート
の上にマクロパッケージを組み込んで構築した文書処理システム(テキストベースの組版処理システム)である。ごく基本的な機能を有している
と組み合わせて用いることで、より手軽に組版を行うことができる。
は、数式を綺麗に出力できるため、理工系の文章で広く使われている。このような事情があるから、
を理工系専用の論文・レポート作成ツールだと思っている人も多いかもしれないが、
はそれだけでなく、幅広い文書の組版をすることができる。例えば、技術書や専門書には
で組まれたものが多く存在する。他にも、縦組みの小説、プレゼンテーション資料、漢文訓読文、楽譜の組版なども他の商用DTPと遜色ない程度で可能である。
長所と短所
編集
長所
編集
組版の元となるデータ(ソースファイル)はテキストファイルであり、特定の環境やアプリケーションに依存しない
商用DTPに勝るとも劣らない、高精度な出力
章や節などの論理構造で記述することができる
ページ番号や章番号、図番号などを自動で割り振る
目次や索引、参考文献目録なども自動で作成可能
相互参照が可能
数式の優れた印刷
短所
編集
ソースファイルは出力形式で記述できないため、表などを作る際には多少の慣れが必要
コンパイルではコマンドライン操作が必要となるため、
GUI
に慣れたユーザには取っ付きづらい。
環境の導入
編集
UNIX
編集
TeX Live
などの
ディストリビューション、またはこれを元にした公式パッケージ(
FreeBSD
であればports、
Fedora
であればyum、
Debian
Ubuntu
であれば .deb など)を導入することで容易に利用可能となる。
Ubuntu
編集
Ubuntuに
Live をインストールするにはターミナルを開いて以下のコマンドを入力する。
curl
-Lo
install-tl-unx.tar.gz
tar
xzf
install-tl-unx.tar.gz
cd
install-tl-20*
sudo
./install-tl
--no-interaction
最後のコマンドの実行には数時間かかる。インストールが完了したら、vimなどで
~/.bashrc
を開き、最後の行に
export
PATH
"/usr/local/texlive/2026/bin/x86_64-linux:
$PATH
を追加する。最後にターミナルで
source
~/.bashrc
を実行する。
macOS
編集
macOSに
Live をインストールするにはコマンドラインを開いて以下のコマンドを入力する。
curl
-Lo
install-tl-unx.tar.gz
tar
xzf
install-tl-unx.tar.gz
cd
install-tl-20*
sudo
./install-tl
--no-interaction
最後のコマンドの実行には数時間かかる。インストールが完了したら、vimなどで
~/.zshrc
を開き、最後の行に
export
PATH
"/usr/local/texlive/2026/bin/universal-darwin:
$PATH
を追加する。
masOS には TeX Live の代わりに、MacTeXをインストールすることができる。
MacTeX
はTeXのほか、TeXShopやBibDeskなど、関連ツールがインストールされる。
MacTeX
は、
Homebrew
によって導入することもできる。
MathLibre
編集
MathLibreは
Knoppix
を原型に開発されたLinux ディストリビューションであり、
など様々な数学ソフトウェアが初期搭載されている。
Windows
編集
Live
にWindows用のインストーラ(install-tl-windows.exeまたはinstall-tl.zip)が作成されており、これらを用いることで比較的容易に環境を構築することができる。またWindows向けに簡単な
インストーラ
が公開されている。
インストールに数時間ほど掛かる。
Cloud LaTeX
編集
Cloud LaTeX
株式会社アカリク
が開発した日本語対応済みオンライン
コンパイルサービスである。利用にはアカウント登録が必要になる。論文誌等のテンプレート各種も用意されている。
Overleaf
編集
Overleaf
はオンラインで使用できる
エディタで、リアルタイムの共同制作が可能である。
LaTeXを始める
編集
この章では最初にlualatexコマンドを用いた文書作成、続いてuplatexコマンドを用いた文書作成の順に解説します。入力するコマンドが
command
である場合、以下の様に示します。
command
output,
output
output,
output
$は
シェル
の出力(プロンプト)であり、ユーザが入力する必要はありません。コマンドを実行(commandを入力しEnterキー等を入力)すると、上の例では“output, output”が二行出力されていることを示します。コマンド入力に関しては
UNIX/Linux入門
MS-DOS/PC DOS入門
を参照して下さい。
初めての TeX 文書を作ろう
編集
準備
編集
テキストエディタを用いてtest.texというファイルを作成します。ファイルの内容は以下のようにします。
以下の内容に含まれる\は、環境によっては¥(
円記号
)、あるいは\(
バックスラッシュ
)に見えます。
\documentclass
jlreq
\begin
document
おはよう、
\TeX
\\
おはよう、
\LaTeX
\\
\end
document
大文字と小文字は区別されます。大文字は小文字にしないで入力してください。
コンパイル
編集
これを保存した上で、以下のようにコマンド
lualatex test
を実行します。引数には作成した
ファイルの拡張子(.texサフィックス)を除いた名前を指定します。すると下記のような出力画面になります。
lualatex
test
Output
written
on
test.pdf
page,
8697
bytes
Transcript
written
on
test.log.
問題なくコンパイルされると最後の二行が上のようになります。環境によっては出力されるサイズが異なるかもしれません。
lualatex の代わりに uplatex が使われることもあるので、同じ文書を uplatex でコンパイルしてみましょう。
uplatex
test
Output
written
on
test.dvi
page,
500
bytes
Transcript
written
on
test.log.
text.dviという
DVIファイル
が作成されます。続いて
dvipdfmx
test
と実行することで、pdfファイルが生成されます。
dvipdfmx
はDVIファイルを
PDF
に変換するソフトです。
TeX が誕生した時点では PDF というファイル形式は存在しなかったため、DVIという独自のファイル形式で出力されます。dviout や xdvi などのソフトでDVI ファイルを閲覧することもできますが、基本的には pdf に変換してから閲覧します。lualatex は比較的最近の TeX エンジンなので直接 pdf ファイルを出力します。
解説
編集
test.texファイルと照らし合わせて解説をします。
\documentclass
jlreq
全てのLaTeXドキュメントは
\documentclass{...}
コマンドより始まります。この波括弧内に
クラスファイル
と呼ばれる、文書のレイアウトなどを定義しているファイルを指定します。今回の場合、クラスファイルは
jlreq
です。これは短いドキュメントの書式で、論文の記事に類似しています。
\begin
document
\begin{...}
\end{...}
と対応して使い、
環境
と呼ばれる区切りをあらわします。今回の場合、環境は
document
です。これは文書の本文を示す重要な環境で、この中にあるものが出力されます。\begin{document}より前の行を
プリアンブル
と呼びます。
おはよう、
\TeX
\\
最初の段落で、\に続く
\TeX
コマンド
と呼ばれ、様々な表現を可能にします。このコマンドは
のロゴを表示します。
\\
は強制改行をするコマンドです。
おはよう、
\LaTeX
\\
前の段落で強制改行されているので、行頭は字下げされずに出力されます。
\LaTeX
のロゴを出力するコマンドです。行末に強制改行のコマンドがあります。
\end
document
本文の終わりを示します。これ以降は出力されません。
今回は日本語を含んでいるソースファイルをコンパイルしました。日本語を含む文書作成の際、クラスファイルには
jlreq
などを指定します。
日本語に対応したクラスファイルには uplatex の場合
ujarticle
ujreport
など、lualatex にはこれに対応した
ltjsarticle
ltjsreport
が存在します。
jlreq
はuplatex とlualatex の両方に対応したクラスファイルです。
TeXでは一行以上空けない改行は全て無視されます。テキストエディタで編集している際、一行が長くなると場合によっては横スクロールが必要となり、見やすさが損なわれるので適度に改行することがあります。
では段落を作りたいときはどうすれば良いのでしょうか。一つは英語だけの文書を作成した際に利用した、
\\
コマンドです。しかし先ほど説明したとおり、強制改行の命令なので行頭の字下げは行われません。そこで今回のように、一行空けた改行を行います。こうすることで新たな段落を作ることができるのです。
コメント
編集
test.tex に次のような行を付け足してみましょう。
% File name: test.tex
\documentclass
article
\begin
document
おはよう、
\TeX
\\
おはよう、
\LaTeX
\\
%この行は出力されません。
\end
document
以降は全て
コメント
とみなされ、出力されません。今回はファイル名を明確にするために書いてみました。
コンパイル結果は先ほどの test.tex と同様です。
文書構造
編集
この章ではレポートなどの文書を作成する際に必要となる、表紙や章立ての作成を行います。論文の作成を例に話を進めますが、レポートでも同様に作業を行なうことができます。
クラスファイルオプション
編集
TeX文書の最初に使用する
\documentclass{}コマンド
は、大括弧([と])を用いてオプションを渡すことが出来ます。オプションを指定することで、細かい指定をすることが出来ます。
jlreq の場合
編集
documentclass
の部分を次のように書き換えるとフォントサイズを変更することができます。
\documentclass
[fontsize=20pt,jafontsize=30pt]
jlreq
他にも、jlreqでは次のようなオプションを指定することができます。
fontsize=12pt
フォントサイズを設定します。
jafontsize=12pt
和文フォントサイズを fontsize とは独立に設定します。
paper=a4
用紙サイズを設定します。a0, a1, ... , a10, b0, b1, ..., b10 などが指定できます。
{106mm,173mm}
のように横×縦の寸法を指定することもできます。
book, report
本あるいは報告書の形式になります。
tate
縦書きで組版します。
oneside, twoside
片面印刷・両面印刷に適した組版を行うように設定します。
onecolumn, twocolumn
本文を二段組にするかのオプションです。
titlepage, notitlepage
\maketitleコマンドの出力に1ページ確保するかの設定です。
openright, openany
chapterを右ページから行うか、或いは任意であるかのオプションです。
leqno, fleqn
leqnoオプションは数式番号を左側へ、fleqnオプションは数式番号を右側へ出力するように設定します。
さらに詳しいクラスファイルオプションについて知りたい場合は、
texdoc
jlreq
と入力するとマニュアルを閲覧することができます。
ujarcticleの 場合
編集
以下の内容をclassoption.texなどとし、保存してください。
% File name: classoption.tex
\documentclass
[12pt]
ujarticle
\begin
document
こんにちは、世界!
\end
document
続いて、以下のコマンドでコンパイルします。
uplatex
classoption
解説
編集
\documentclassコマンドの中括弧の前に、大括弧でオプションを指定することが出来ます。省略された場合はデフォルトのオプションが実行されることになります。
以下に ujarticle, ltjsarticleで指定できる殆どのオプションを掲載します。カンマで区切っているものは、そのいずれかしか選択できないものです(a4paperとa4jの項目も同時指定不可)。
a4paper, a5paper, b4paper, b5paper
それぞれの用紙に設定します。
a4j, a5j, b4j, b5j, a4p, a5p, b4p, b5p
より日本語組版の通例にマッチした、本文領域が広めの体裁になるようにマージンを確保します。
10pt, 11pt, 12pt
基準となるフォントサイズを指定します。
landscape
用紙を横置き(横の長さが長い)に設定します。
tombow, tombo
用紙サイズに合わせたトンボを出力します。tomboオプションは作成日時を出力しません。
tate
縦書きで組版します。
oneside, twoside
片面印刷・両面印刷に適した組版を行うように設定します。
onecolumn, twocolumn
本文を二段組にするかのオプションです。
titlepage, notitlepage
\maketitleコマンドの出力に1ページ確保するかの設定です。
openright, openany
chapterを右ページから行うか、或いは任意であるかのオプションです。
leqno, fleqn
leqnoオプションは数式番号を左側へ、fleqnオプションは数式番号を右側へ出力するように設定します。
openbib
参考文献リストを各項目ごとに改行する、オープンスタイル書式で出力します。
draft, final
draftオプションは、オーバーフルボックスが発生した箇所へ5ptの罫線を引きます。
プリアンブル
編集
プリアンブル
とは、パッケージや独自のマクロを定義する際に用いる場所です。
パッケージ
とは、別のTeX文書をプリアンブルへ読み込むことで、初期状態では用意されていないような便利な機能(正確には
マクロ
と呼ばれます)を追加することが出来ます。
マクロ
とは、今までに紹介した
\TeXコマンド
など、一度呼び出すと一連の処理を行うものです。
準備
編集
まずは以下の内容をpreamble.texなどとし、保存してください。
% File name: preamble.tex
\documentclass
jlreq
% urlパッケージを使う
\usepackage
url
% Wikiプロジェクトの名前と、日本語版プロジェクトへのURLを作る
\newcommand
\wikiproj
[1]
Wiki#1 (http://ja.wiki#1.org/)
\begin
document
日本語版ウィキブックスは
\url
にあります。
% 出力結果↓
\wikiproj
pedia
% Wikipedia (http://ja.wikipedia.org/),
\wikiproj
books
% Wikibooks (http://ja.wikibooks.org/).
\end
document
今まで通りにコンパイルしますが、urlパッケージが無い場合は以下のようなエラーが表示されます。エラーが表示されたら、xを入力してEnterキーを押して終了します。
uplatex
preamble
LaTeX
Error:
File
url.sty
not
found.
Type
to
quit
or
to
proceed,
or
enter
new
name.
Default
extension:
sty
Enter
file
name:
解説
編集
\usepackage{}コマンド
は、中括弧に指定されたファイル名に、拡張子が.styのファイルを読み込むコマンドです。
\newcommandコマンド
は新たにマクロを定義するコマンドです。
ここではプリアンブルへ\usepackage{}コマンドの書き方を覚えるだけで十分です。\newcommandコマンドに関してはここで理解する必要はありませんので、詳しくは
#応用
で説明します。
表紙
編集
論文では最初のページに、表題や著作者などを記すことが多いと思います。LaTeXでは比較的簡単に作成することが出来ます。
準備
編集
下の内容をmaketitle.texなどとし、保存してください。
% File name: maketitle.tex
\documentclass
jlreq
\begin
document
\title
文書のタイトル
\author
名無しの権兵衛
\date
2001年1月15日
\maketitle
本文。
\end
document
続いて、コンパイルします。
解説
編集
では、この例に出てくる主要なコマンドの解説をします。コマンド名が太字のものは\maketitleを使用する際に必須のコマンドで、省略することはできません。
\title{}
表題を定義するコマンドです。\LARGEサイズ(サイズに関しては後述します)で印刷されます。
\author{}
著者を定義するコマンドです。\Largeサイズで印刷されます。
\date{}
日付を定義するコマンドです。\largeサイズで印刷されます。このコマンドを指定しないと、ujarticleクラスでは“平成13年1月15日”の形で印刷され、日付を出力したくない場合は引数を空にします。例では英語版Wikipediaのプロジェクトが始まった日を西暦で表示します。
\maketitle
このコマンドを記述することで、上のコマンドで定義した表紙の要素を印刷します。つまりこのコマンドよりも前に、上のコマンドを記述する必要があります。
\titleと\author、そして\dateコマンドは引数を取るコマンドです。引数は例の通り、
の中括弧で囲みます。例では本文の開始と同じページに表紙を印刷しましたが、1ページ使って表紙を印刷したい場合はクラスファイルオプションにtitlepageを指定します。つまり、\documentclass[titlepage]{ujarticle}と書けばそれだけでいいのです。
概要
編集
準備
編集
以下の内容を、abstract.texと保存しましょう。
% File name: abstract.tex
\documentclass
jlreq
\begin
document
\title
概要を表示する
\author
ウィキブックス
\date
\today
\maketitle
\begin
abstract
ここに概要を書きます。
\end
abstract
本文。
\end
document
解説
編集
概要は
abstract環境
を用います。環境は、\begin{}コマンドと\end{}コマンドで囲うものですね。abstract環境では“概要”という文字を太字で印刷し、概要の文章の左右に空白を空けて印刷します。jsarticleクラスでは\smallサイズで印刷します。
“概要”という文字を“要約”などに変更したい場合は、
#応用
で詳しく説明します。
目次
編集
準備
編集
以下の内容を、toc.texと保存しましょう。
% File name: toc.tex
\documentclass
jlreq
\begin
document
\tableofcontents
% 以下の \section{}, \subsection{}コマンドについては後述します。
\section
はじめに
\subsection
時代背景
\subsection
著者について
\section
人生について
\subsection
人生とは
\end
document
\tableofcontentsコマンド
を使用するときは、3回程度はコンパイルします。
uplatex
toc
uplatex
toc
解説
編集
\tableofcontentsコマンドでは、コンパイル時に生成される
.tocファイル
を基に目次を生成します。この.tocファイルは後述の\sectionコマンドなどの情報を書き出してあるファイルで、初めてのコンパイル作業では.tocファイルがないため、目次は生成されません。
また2回目のコンパイルで目次が挿入されると目次以降の本文がずれてしまい、2回だけでは目次と本文のページ番号が合わない場合がありますので、コンパイルは少なくとも3回程度行なってください。
章立て
編集
論文では複数の“章”や“節”という固まりを作ることになると思います。ここでは、章立ての仕方について解説します。
準備
編集
以下の内容を、section.texなどで保存しましょう。
% File name: section.tex
\documentclass
jlreq
\begin
document
\section
はじめに
第一章です。
\subsection
時代背景
第一章、第一節です。
\subsection
著者について
第一章、第二節です。
\section
人生について
\subsection
人生とは
第二章、第一節です。
\end
document
今までと同様にコンパイルしてみましょう。
解説
編集
上の例では
\section
コマンドと
\subsection
コマンドのみを使いましたが、同様のコマンドは以下の表の通りです。
章立てコマンドの一覧
コマンド
章節
レベル
\part{}
-1
\chapter{}
\section{}
\subsection{}
小節
\subsubsection{}
小々節
\paragraph{}
段落
\subparagraph{}
小段落
※\chapter{}コマンドはarticle, ujarticleクラスでは使用できません。
章立てコマンドは自動的に章番号をつけ、上位レベルのコマンドを記述すると番号は再び1から始まります。これらのコマンドは、\sectionに続けて\subsubsectionを記述することができますが、文書の論理構造的に正しくないので、\sectionの次は\subsection以上のものを記述するようにしましょう。
章番号を付けずに、目次へ出力しない章を作りたいときはどうすればよいのでしょうか。これは簡単で、それぞれのコマンド名のあとに
アスタリスク
(半角の*)を付けるだけです。
\section*
前に番号がつかず、目次にも現れない章
番号を出力するとともに“章”という文字を出力したりする場合は、
#応用
を参照してください。
書式
編集
この章では文字列の見た目を変更するコマンドを紹介します。
サイズ
編集
編集
% File name: fontsize.tex
\documentclass
jlreq
\begin
document
ここは普通の大きさです。
\small
ここは小さい文字になります。
普通の大きさです。
\large
ここは大きい文字になります。
普通の大きさです。
\small
小さい文字の中に、
\large
大きい文字を入れて、
再び小さい文字になります。
\end
document
解説
編集
フォントサイズは、サイズを変更したい文字列を中括弧で囲い、最初に変更するコマンドを記述します。中括弧で囲んでいる中に、別の中括弧を含めた場合は最も内側が優先されます。
上記以外のサイズ変更コマンドは以下の表の通りです(ujarticleクラス)。各コマンドにおける実際のフォントサイズは、\documentclassコマンドのオプション等で指定された基準のフォントサイズ(\normalsize)によって異なります。
サイズ変更コマンド一覧
コマンド
ポイント
\tiny
\scriptsize
\footnotesize
10
\small
10
11
\normalsize
10
11
12
\large
12
12
14
\Large
14
17
\LARGE
17
17
20
\huge
20
20
25
\Huge
25
25
25
書体
編集
で書体を扱う際、以下の種類に分けることが出来ます。
ファミリー(Family)
デザインで分類したもの。いわゆるフォントにほぼ同じです。
シリーズ(Series)
文字の太さを分類したもの。
以外ではウェイトと呼ばれています。
シェイプ(Shape)
見た目の形で分類したもの。斜体やスモールキャップ体などです。
更に記述の方法は、以下の2種類あります。
宣言型(Declaration)
コマンド型
宣言型の記述では、中括弧を用いて範囲を指定しない限り最後まで変更されます。
ファミリー
編集
% File name: fontfamily.tex
\documentclass
jlreq
\begin
document
Normal.
% 宣言型
\gtfamily
Gothic.
\rmfamily
Roman.
% コマンド型
\texttt
Typewriter.
\end
document
宣言型
コマンド型
明朝体
\mcfamily
\textmc
ゴシック体
\gtfamily
\textgt
ローマン体
\rmfamily
\textrm
サンセリフ体
\sffamily
\textsf
タイプライタ体
\ttfamily
\texttt
シリーズ
編集
% File name: fontseries.tex
\documentclass
jlreq
\begin
document
Normal.
\bfseries
Bold.
\end
document
宣言型
コマンド型
ミディアム
\mdseries
\textmd
ボールド
\bfseries
\textbf
シェイプ
編集
% File name: fontshape.tex
\documentclass
jlreq
\begin
document
Normal.
\itshape
Italic.
\slshape
Slanted.
\end
document
宣言型
コマンド型
通常体(Upright)
\upshape
\textup
イタリック体(Italic)
\itshape
\textit
スモールキャップ体(Small caps)
\scshape
\textsc
斜体(Slanted)
\slshape
\textsl
イタリック体と斜体の違いですが、イタリック体は通常体を傾けた形でデザインされたものを使用するのに対し、斜体は通常体を無理矢理傾けて使用します。
その他
編集
宣言型では
\normalfontコマンド
、コマンド型では
\textnormal{}コマンド
は通常の書体設定(大抵は宣言型記述で、\rmfamily\mdseries\upshape)に戻します。また宣言型記述方法で、タイプライタ体を\ttコマンドで記述できるシステムがありますが、互換性維持のためのコマンドなので上で示したコマンドを使いましょう。
ファミリーとシリーズ、シェイプは以下のように、それぞれを組み合わせることが可能です。同じ種類のコマンドを記述すると最後のものが優先されます。
% File name: fontother.tex
\documentclass
ujarticle
\begin
document
Normal.
\ttfamily\bfseries\itshape
Typewriter, Bold and Italic.
\ttfamily\scshape\rmfamily
Roman and Small caps.
\end
document
環境
編集
この章では文書作成の上で有用な環境である、箇条書きを幾つか紹介します。
箇条書き
編集
箇条書きには幾つか種類があります。
HTMLでは
ul
のような記号に続くリスト(
itemize環境
)。
HTMLでは
ol
のような数字に続くリスト(
enumerate環境
)。
HTMLでは
dl
のような任意の言葉に続くリスト(
description環境
)。
箇条書きの構造は、
\begin{}コマンド
で見た目を決定する環境を開始し、
\itemコマンド
で要素を記述します。
itemize環境
編集
% File name: itemize.tex
\documentclass
jlreq
\begin
document
以下はWikibooksの姉妹プロジェクトのリストです。
\begin
itemize
\item
Wikipedia
\item
Wiktionary
\item
Wikiquote
\end
itemize
\end
document
このソースファイルをコンパイルすると、中黒で順序のない箇条書きを作ることが出来ます。またソースファイルでは、LaTeXの構造を分かりやすくするために\itemコマンドの前に半角スペースを2個入れていますが、出力には影響ありません。
enumerate環境
編集
% File name: enumerate.tex
\documentclass
jlreq
\begin
document
Wikiを使うメリットは以下の3点です。
\begin
enumerate
\item
インターネット上のどこからでも更新できる。
\item
ブラウザだけで作業が出来る。
\item
Wikiの文法は覚えやすく、Wiki内のリンクは簡単。
\end
enumerate
\end
document
このソースファイルをコンパイルすると、算用数字で順序のある箇条書きを作ることが出来ます。
description環境
編集
% File name: description.tex
\documentclass
jlreq
\begin
document
以下の期日で新年会を行います。
\begin
description
\item
[日時]
20xx年1月1日 xx時より
\item
[場所]
日本語版ウィキブックス、談話室にて
\item
[会費]
ψ0
\end
description
\end
document
このソースファイルをコンパイルすると、\itemコマンドの直後に[と]で囲んだ文字列が太字で印刷され、定義リストを作ることが出来ます。
引用
編集
他の文献などから引用する場合に用いるのが
quote環境
quotation環境
です。
% File name: quote.tex
\documentclass
jlreq
\begin
document
先ずはquote環境を使います。
\begin
quote
吾輩は猫である。名前はまだ無い。
どこで生れたかとんと見当がつかぬ。
何でも薄暗いじめじめした所でニャーニャー泣いていた事だけは記憶している。
\end
quote
続いてquotation環境を使います。
\begin
quotation
吾輩は猫である。名前はまだ無い。
どこで生れたかとんと見当がつかぬ。
何でも薄暗いじめじめした所でニャーニャー泣いていた事だけは記憶している。
\end
quotation
夏目漱石『吾輩は猫である』より。
\end
document
quote環境
編集
引用文中の段落の字下げを行わない引用環境です。短い引用に用いられます。
quotation環境
編集
引用文中の段落の字下げを行う引用環境です。比較的長い文章を引用する際に用いられます。
整形済みテキスト
編集
verbatim環境
編集
begin〜end間のテキストをそのまま出力する環境です。プログラムのソースファイルなどをそのまま載せたいとき、LaTeXの制御文字を連続して使用する場合などに用います。ただし、行頭のタブは無視され、行の途中のタブは半角スペースに置き換えられるので注意してください。
% File name: verbatim.tex
\documentclass
jlreq
\begin
document
\begin
verbatim
!"#
%&'()+*<>?_|~=
\end
{verbatim}
\end
{document}
verbatim*環境
編集
verbatim環境とほとんど同じですが、半角スペースがあるところにアキの印が出力されます。
\verbと\verb*
編集
verbatim環境は使用すると、整形済みテキストの前に必ず改行されます。これは、文中にちょっとしたものを書きたいときには不便です。\verbを使うことで、文中に整形済みテキストを挿入することができます。使い方は、\verbの後に任意の記号を置き、その後に整形済みテキストを置き、\verbの後に置いた記号をもう一度置きます。\verbの後に置く記号は、整形済みテキストに含まれていないものなら、何でもかまいません。
% File name: verbatim.tex
\documentclass
jlreq
\begin
document
今日はとても楽しかった
\verb
+(
^_^
)+ですね。
\end
document
数式
編集
TeXは数式の組版に強いと言われます。なぜなら開発者の
クヌース
が自身の著書である
w:en:The Art of Computer Programming
を書くときに、当時コンピュータで作った組版状態が綺麗ではなく、自ら満足するソフトを作ったからです。この作ったものこそ、
なのです。
数式を使うには
編集
数式を扱うには大きく分けて二つあります。
数式を文中へ埋め込む場合で、
で挟む方法(textstyle)
別の段落として数式を印刷する場合で、
\[
\]
で囲んだり、
数式環境
に入れる方法(displaystyle)
後者はページの中心に数式が印刷されます。また、どちらも専用のフォントで表示されます。
LaTeX 標準の機能だけでも数式を入力することはできますが、amsmath というパッケージを使うと、数式環境などが強化されます。ここでは amsmath を前提に記述します。
\documentclass
jlreq
\usepackage
amsmath
\begin
document
積分は一般に以下の形で記される。
\[
\int
^{b}_{a} f
dx
\]
\end
document
数式モードの基礎
編集
式に含まれる空白は自動的に調節されます
textstyleでは行内に収めるため、圧縮されたような表示になります
textstyle表示をdisplaystyle表示にしたいときは、
\displaystyleコマンド
を用います
数式環境
編集
文中に数式を挿入する場合は次のいずれかのコマンドで囲みます(インライン数式)。
\(
\)
例:
\(
数式
\)
文中に入れるのではなく、数式として独立させたい場合(別行立ての数式)は、
align環境
を用います。
\begin
align
数式
\\
数式
\\
数式
\end
align
align環境では1行ごとに番号が付加されます。必要ない場合は
align*環境
を用います。
四則演算と分数
編集
足し算(+)と引き算(-)は何も考えずに表示できます。掛け算(
{\displaystyle \times }
)と割り算(
{\displaystyle \div }
)は、それぞれ
\times コマンド
\div コマンド
を用います。分数には
\frac コマンド
を用います。最初の引数で分子を指定し、次の引数で分母を指定します。
\times
\div
\frac
}{
{\displaystyle 2+3-4\times 5\div 6={\frac {5}{3}}}
複数行の数式
編集
複数行に渡る数式を書く場合は、align環境かalign*環境を使います。
\begin
align*
\frac
}{
\frac
}{
\frac
}{
\frac
}{
\\
\frac
3 + 2
}{
\\
\frac
}{
\end
align*
この例では見やすくするため半角スペースを用いて = の位置を揃えていますが、実際の処理では & を用いた位置で揃えられます。
平方根
編集
\sqrtコマンド
を用います。n乗根を表現したいときは、コマンド名の直後に角括弧 [] で数字を囲みます。
\sqrt
= 2,
\sqrt
[3]
= 2
{\displaystyle {\sqrt {4}}=2,{\sqrt[{3}]{8}}=2}
冪乗、添字
編集
冪乗など上付きの文字には ^ を用います。数列など下付きの文字には
を用います。^ や _ の後が一文字だけであれば{}で囲む必要はありませんが、複数文字で表現したいときに忘れることがあるので、出来る限り{}で囲むようにしましょう。
\begin
align*
3 = 8
\\
_{
n + 1
= a
_{
}^{
+ 4
\\
&{}^{
197
}_{
\;
79
\mathrm
Au
\end
align*
79
197
{\displaystyle {\begin{aligned}&2^{3}=8\\&a_{n+1}=a_{n}^{2}+4\\&{}_{\;79}^{197}\mathrm {Au} \end{aligned}}}
和(シグマ)、極限、積分
編集
和は
\sumコマンド
、極限は
\limコマンド
、積分は
\intコマンド
を用います。
\begin
align*
\sum_
k = 0
}^{
10
\\
\lim_
\to
\infty
f(x)
\\
\int
^{
}_{
f(x) dx
\end
align*
それぞれ記号の上下に範囲を印刷しますが、べき乗と数列で扱った
を用いて表現します。
関数名
編集
数学にはsinやcosなど、名前のついた関数がありますが、これらをそのまま
sin x
のように書いてしまうと、
{\displaystyle sinx}
となってしまうため文字が斜体となりきれいに表示されません。有名な関数は
\sin
のように、コマンドになっています。
\sin
2 x +
\cos
2 x = 1
また、modについては、二項演算子として使う
\bmod
と、カッコつきの
\pmod
があります。
\begin
align*
\bmod
b = 2
\\
\equiv
\pmod
\end
align*
ただし一部の関数はコマンドになっておらず、そう言った場合は
\mathrm
を用いて斜体を解除する必要があります。
sinc関数
を例にすると
\mathrm{sinc}(n \pi)
とすると、
{\displaystyle \mathrm {sinc} (n\pi )}
のように表示されます。ちなみに、
\mathrm
は、数式環境用の
\textrm
です。
これを応用して、数式環境で単位を表示させたいときにも
$f_{s}=4\mathrm{kHz}$
(textstyleの書き方)のように書くことができます。
特殊記号
編集
数式にはいろんな記号が登場します。これらは、専用の命令で呼び出せます。日本語のフォントにあるからと言って、それを直接数式モードで使わないようにしましょう。環境によってはエラーになりますし、スペースの配分がうまくいかなくなる原因にもなります。
特殊記号
記法
結果
\alpha \beta \gamma \delta
{\displaystyle \alpha \beta \gamma \delta }
\Delta \Lambda \Psi \Omega
{\displaystyle \Delta \Lambda \Psi \Omega }
= \neq < > \leq \geq \equiv
=≠
<>≤
{\displaystyle =\neq <>\leq \geq \equiv }
\cap \cup \in \ni \forall \exists
{\displaystyle \cap \cup \in \ni \forall \exists }
\nabla \partial \infty
{\displaystyle \nabla \partial \infty }
BibTeX
編集
BibTeXは、
での文献管理のためのツールで、論文やレポートの参考文献を適切なフォーマットで引用することができるものです。まずは、
国立国会図書館サーチ
J-STAGE
CiNii
、大学図書館の蔵書検索システムなどで参考文献を検索すると、書誌情報をBibTeX形式で出力というところがあるはずです。これを押すと、次のようなファイルが出力されるので
references.bib
などと名前をつけて保存します。
@article
Einstein1905
author
{Einstein, A.}
title
{Zur Elektrodynamik bewegter Körper}
journal
{Annalen der Physik}
volume
{322}
number
{10}
pages
{891-921}
year
{1905}
Einstein1905
という部分は文献の参照のためのキーです。わかりやすいように適当な名前に変更することができますが、ファイル内で重複したキーを名付けることはできません。
文献を引用する場合は、
の本文中に次のように書きます。
Einsteinが1905年に発表した論文
\cite
Einstein1905
では、電磁気学と力学の統一的な理論としての特殊相対性理論が提唱された。
また、本文の最後に次のように書きます。
\bibliographystyle
jplain
%参考文献の引用形式
\bibliography
references
%references.bib を参照する
コンパイルする際には、
, BibTeX,
の順番にコンパイルします。BibTeXの実行は、
ファイルが
main.tex
ならば、コマンドラインで
bibtexu
main
と入力します。
latexmk
編集
latexmk は latex のコンパイルを自動で適切に実行してくれるツールです。例えば、BibTeXを使用する場合4回のコマンドを実行する必要がありますが、latexmkを使用すると1回の実行で済みます。
lualatexを使用する場合、
.latexmkrc
というファイルを作成し、
$pdf_mode
$bibtex
'bibtexu'
と書き込みます。
uplatex を使用する場合は、
$latex
'uplatex'
$dvipdf
'dvipdfmx %O -o %D %S'
$pdf_mode
$bibtex
'bibtexu'
と書き込みます。このように設定が完了したら、
latexmk
ファイル名.tex
と実行すると、相互参照や参考文献が適切に表示されたpdfファイルが生成されます。
Beamer
編集
Beamer
(ビーマー)は LATEX に基づくプレゼンテーションソフトウェアであり、組み込みの各種スタイルや各種色使いが用意されている。documentclassは
\documentclass[dvipdfmx,10pt]{beamer}
のようになる。CTAN上で配布されている
beamerposter.sty
と組み合わせることでポスターの作成にも使える。印刷に適した「配布資料」作成機能も持つ。例えば、Beamerで作成したpresentation.pdfの配布資料(縦2枚、横2枚)を作りたい場合は、
\documentclass
[a4paper,landscape]
article
\usepackage
pdfpages
\begin
document
\includepdf
[pages=1-last,nup=2x2]
presentation.pdf
\end
document
とする。コンパイルオプションはpdflatexにする。
小説の組版
編集
エンジンは
Lua
を使います。文庫本サイズの小説を書く場合、次のように書きます。
\documentclass
[book,
paper=a6,
%A6判(文庫本)
tate,
%縦組み
jafontsize=12Q,
%文字サイズ
number
of
lines=17,
%一ページあたりの行数
line
length=40zw,
%一行あたりの文字数
hanging
punctuation,
%ぶら下げ組み
open
bracket
pos=nibu
tentsuki,
%段落初めの初め括弧を二分アキ、折り返し行頭での初め括弧を天付きとする。
jlreq
\usepackage
luatexja-ruby
\usepackage
titling
\NewPageStyle
mybook
}{
running
head
position=top-left,
running
head
font=
\footnotesize
nombre
position=top-left,
odd
running
head=
\thetitle
\pagestyle
mybook
\newcommand
\bouten
[1]
\kenten
[kenten=﹅,size=0.4]
#1
}}
\def\―
\kern
-.5
\zw
\kern
-.5
\zw
\begin
document
\title
蟹工船
\author
小林多喜二
\section*
「おい地獄さ
\ruby
}{
ぐんだで!」
二人はデッキの手すりに寄りかかって、
\ruby
蝸牛
}{
かたつむり
が背のびをしたように延びて、海を
\ruby
}{
かか
え込んでいる
\ruby
函館
}{
はこだて
の街を見ていた。
\―
―漁夫は指元まで吸いつくした
\ruby
煙草
}{
たばこ
\ruby
}{
つば
と一緒に捨てた。巻煙草はおどけたように、色々にひっくりかえって、高い
\ruby
船腹
}{
サイド
をすれずれに落ちて行った。彼は
\ruby
身体
}{
からだ
一杯酒臭かった。
\end
document
2段組みにする場合は、jlreqのオプションに
twocolumn
を追加します。判型はa0~a10、b0~b10等を指定できます。B列にはISOとJISの二種類がありますが、jlreqでは日本で主流のJIS B列
となります。
ルビは、
\ruby{蝸牛}{かたつむり}
というように書きます。
圏点は、
\kenten{へさき}
で指定します。デフォルトでは圏点が黒点となります。圏点として黒ゴマを使うには、
\kenten[kenten=﹅,size=0.4]{へさき}
と書きます。上の例ではプリアンブルで黒ゴマ圏点用に、
\bouten
を定義しました。
また、原稿が
を前提に書かれていない場合、原稿をそのまま
でコンパイルしても正しく出力されないことがあります。例えば、
では改段落には空行が必要ですが、原稿でそのように書かれていない場合、改行を意図して入れた改行でも出力では改行されないことになります。このような場合は、Vimなどで
%s
/$/
のコマンドを実行します。正規表現が利用できるテキストエディタなら同様の置換をすることができます。
応用
編集
他のファイルを読み込む
編集
例えば大きな文書を作成しているときや、共通する部分を持つ文書を作成するとき、一つのLaTeX文書を複数に分割することで編集作業や再利用が容易になります。
% --- article.tex ---
\documentclass
ujarticle
\begin
document
\include
title
\include
body
\end
document
% --- title.tex ---
\title
文書のタイトル
\author
名無しの権兵衛
\maketitle
% --- body.tex ---
\section
はじめに
ファイルを分割してみました!
include{}コマンド
を利用することで、指定したファイルをその位置に読み込みます。従って、読み込まれるファイルでは\documentclassコマンドなどを記述する必要はありません。
コンパイルするときは大元の文書ファイルを指定します。他のファイルは自動的に読み込まれます。
uplatex
article
ラベルの変更
編集
準備
編集
この本は入門なので、簡単に変更できるような方法を紹介します。そのためにjsarticleドキュメントクラスを導入しましょう。
jsarticleドキュメントクラスは
奥村晴彦
が作成した新ドキュメントクラスで、フォントサイズがujarticleに比べて多く用意されていたり、\sectionコマンドのラベルを容易に変更できるようになっています。
jsarticleドキュメントクラスの導入は
jsarticleのサポートサイト
に載っているので、そちらを参照してください。
解説
編集
例えば\sectionの出力を“第1章 はじめに”のようにしたい場合は、
#プリアンブル
へ以下の記述をします。
\documentclass
[uplatex]
jsarticle
% 以下2行が章のラベルを書き換える
\renewcommand
\presectionname
}{
\renewcommand
\postsectionname
}{
\begin
document
\section
はじめに
\end
document
ujarticleでも以下で紹介する殆どを変更できますが、jsarticleを用いれば\sectionコマンドの出力も変更できます。
変更可能ラベル一覧
変数
コマンド
初期値
\prepartname
\part
\postpartname
\prechaptername
\chapter(book系のみ)
\postchaptername
\presectionname
\section
\postsectionname
\contentsname
\tableofcontents
目次
\listfigurename
\listoffigures
図目次
\listtablename
\listoftables
表目次
\refname
\thebibliography(book系以外)
参考文献
\bibname
\thebibliography(book系)
参考文献
\indexname
\theindex環境
索引
\figurename
\label
\tablename
\label
\appendixname
\appendix
付録
\abstractname
abstract環境(book系以外)
概要
マクロ
編集
\newcommandコマンド
マクロ
を定義するコマンドで、以下のような形式を取ります。
\newcommand{\定義したいコマンド名}{コマンドなど}
マクロは定義した名前を呼ぶことで、一連の手続きを手軽に扱うことができます。これにより、煩雑なコマンドも独自のマクロで容易に扱えるようになります。
簡単なマクロ
編集
#プリアンブル
に例があります。
脚注
編集
ターミナルからdvipdfmxコマンドでPDFを出力した場合、本文記事中で\documentclassコマンドにlandscapeオプションを指定しただけでは横長の用紙設定でPDFが出力されないことがあります。これには2種類の対処方法があります。
ターミナルからdvipdfmxコマンドを入力する際、-lオプションを指定
プリアンブルに\AtBeginDvi{\special{landscape}}の一行を追加
なお、本文記事中にlandscapeオプションを指定しないと、用紙は横長だが本文レイアウトが縦長のまま出力されてしまうことに注意してください
documentclassにujarticleを指定した場合、不具合が出る場合があります。
例)タイトルページを組み込んでも、\authorに縦書き設定が反映されない。
その場合はdocumentclassにutarticleを指定してください。
A列は、A0を面積が 1 m
で縦横比が
{\displaystyle {\sqrt {2}}}
の大きさのものとして、A0の半分の面積のものをA1というように順次定めたものである(長辺を半分にするように切れば短辺:長辺=
{\displaystyle 1:{\sqrt {2}}={\frac {\sqrt {2}}{2}}:1}
となるから縦横比は変わらない)。B列でも縦横比は
{\displaystyle {\sqrt {2}}}
である。ISO B列では、B0の面積は
{\displaystyle {\sqrt {2}}\,{\rm {m^{2}}}}
と定められているから、A列の間をちょうど補完する大きさになっている。対して、JIS B列では、B0 の面積が 1.5 m
となっているから、ISO B列よりも6%大きいものになる。
外部リンク
編集
TeX Wiki
TeXの話
CTAN Comprehensive TeX Archive Network
Cloudlatex講習
TeXによる化学組版
TeXインストーラ3
Beamer関連
編集
LaTeX Beamer 入門
Beamer ポスター入門
Beamerによる発表小技集
Beamerの基本的な使い方サンプル
参考文献
編集
奥村晴彦
黒木裕介
『[改訂第7版]LATEX2ε美文書作成入門』技術評論社、2017年1月、
ISBN 978-4-7741-8705-1
このページ「
TeX/LaTeX入門
」は、
まだ書きかけ
です。加筆・訂正など、協力いただける皆様の
編集
を心からお待ちしております。また、ご意見などがありましたら、お気軽に
トークページ
へどうぞ。
" より作成
カテゴリ
スタブ IT
TeX
ソフトウェアのマニュアル
マークアップ言語
日本十進分類法/007.63
隠しカテゴリ:
ISBNマジックリンクを使用しているページ
入門
話題を追加