「TeX/LaTeX入門」の版間の差分

編集の要約なし
編集の要約なし
====Ubuntu====
UbuntuにTeXをインストールするにはコマンドラインを開いて以下のコマンドを入力する。
<syntaxhighlight lang="text">
<source>
sudo apt install texlive-lang-cjk
sudo apt install texlive-fonts-recommended
sudo apt install dvipsk-ja
sudo apt install gv
</syntaxhighlight>
</source>
====MathLibre====
MathLibreは[[w:Debian|Debian]] を原型に開発されたLinux OS であり、TeXなど様々な数学ソフトウェアが初期搭載されている。
===ShareLaTeX===
[[w:ShareLaTeX|ShareLaTeX]]は英国[https://www.sharelatex.com/ ShareLaTeX社]が開発したオンラインで使用できるLATEXエディタで、リアルタイムの共同制作が可能である。日本語で利用するにはプリアンブルを次のように書く:
<sourcesyntaxhighlight lang="latex">
\documentclass{article}
\usepackage{xeCJK}
\setCJKmainfont{AozoraMinchoRegular.ttf}
</syntaxhighlight>
</source>
 
== LaTeXを始める ==
 
* 以下の内容に含まれる\は、環境によっては¥([[w:¥記号|円記号]])、あるいは\([[w:バックスラッシュ|バックスラッシュ]])に見えます。
<sourcesyntaxhighlight lang="latex">
% File name: test1.tex
\documentclass{article}
Hello, \LaTeX \\
\end{document}
</syntaxhighlight>
</source>
大文字と小文字は区別されます。大文字は小文字にしないで入力してください。
 
 
次に以下の内容を、組版ソフトに設定された文字コードと同じになるように、utf8.uptexであればUTF-8で、test2.texとして保存してください。ソースファイルの文字コードが組版ソフトの設定と異なると、出力結果が文字化けを起こすことがあります。
<sourcesyntaxhighlight lang="latex">
% File name: test2.tex
\documentclass{ujarticle}
こんにちは、\LaTeX。
\end{document}
</syntaxhighlight>
</source>
今回は日本語を扱っているのでクラスファイルには'''ujarticle'''を指定してください。
 
==== 準備 ====
以下の内容をclassoption.texなどとし、保存してください。
<sourcesyntaxhighlight lang="latex">
% File name: classoption.tex
\documentclass[12pt]{ujarticle}
こんにちは、世界!
\end{document}
</syntaxhighlight>
</source>
続いて、以下のコマンドでコンパイルします。
 
まずは以下の内容をpreamble.texなどとし、保存してください。
 
<sourcesyntaxhighlight lang="latex">
% File name: preamble.tex
\documentclass{ujarticle}
\wikiproj{books}. % Wikibooks (http://ja.wikibooks.org/).
\end{document}
</syntaxhighlight>
</source>
 
今まで通りにコンパイルしますが、urlパッケージが無い場合は以下のようなエラーが表示されます。エラーが表示されたら、xを入力してEnterキーを押して終了します。
==== 準備 ====
下の内容をmaketitle.texなどとし、保存してください。
<sourcesyntaxhighlight lang="latex">
% File name: maketitle.tex
\documentclass{ujarticle}
本文。
\end{document}
</syntaxhighlight>
</source>
続いて、以下のコマンドでコンパイルします。
 
==== 準備 ====
以下の内容を、abstract.texと保存しましょう。
<sourcesyntaxhighlight lang="latex">
% File name: abstract.tex
\documentclass{ujarticle}
本文。
\end{document}
</syntaxhighlight>
</source>
==== 解説 ====
概要は'''abstract環境'''を用います。環境は、\begin{}コマンドと\end{}コマンドで囲うものですね。abstract環境では“概要”という文字を太字で印刷し、概要の文章の左右に空白を空けて印刷します。jsarticleクラスでは\smallサイズで印刷します。
==== 準備 ====
以下の内容を、toc.texと保存しましょう。
<sourcesyntaxhighlight lang="latex">
% File name: toc.tex
\documentclass{ujarticle}
\subsection{人生とは}
\end{document}
</syntaxhighlight>
</source>
'''\tableofcontentsコマンド'''を使用するときは、3回程度はコンパイルします。
 
==== 準備 ====
以下の内容を、section.texなどで保存しましょう。
<sourcesyntaxhighlight lang="latex">
% File name: section.tex
\documentclass{ujarticle}
\end{document}
</syntaxhighlight>
</source>
今までと同様にコンパイルしてみましょう。
 
=== サイズ ===
==== 例 ====
<sourcesyntaxhighlight lang="latex">
% File name: fontsize.tex
\documentclass{ujarticle}
\end{document}
</syntaxhighlight>
</source>
==== 解説 ====
フォントサイズは、サイズを変更したい文字列を中括弧で囲い、最初に変更するコマンドを記述します。中括弧で囲んでいる中に、別の中括弧を含めた場合は最も内側が優先されます。
 
==== ファミリー ====
<sourcesyntaxhighlight lang="latex">
% File name: fontfamily.tex
\documentclass{ujarticle}
\end{document}
</syntaxhighlight>
</source>
{| class="wikitable"
|-
 
==== シリーズ ====
<sourcesyntaxhighlight lang="latex">
% File name: fontseries.tex
\documentclass{ujarticle}
\end{document}
</syntaxhighlight>
</source>
{| class="wikitable"
|-
 
==== シェイプ ====
<sourcesyntaxhighlight lang="latex">
% File name: fontshape.tex
\documentclass{ujarticle}
\end{document}
</syntaxhighlight>
</source>
{| class="wikitable"
|-
 
ファミリーとシリーズ、シェイプは以下のように、それぞれを組み合わせることが可能です。同じ種類のコマンドを記述すると最後のものが優先されます。
<sourcesyntaxhighlight lang="latex">
% File name: fontother.tex
\documentclass{ujarticle}
\end{document}
</syntaxhighlight>
</source>
== 環境 ==
この章では文書作成の上で有用な環境である、箇条書きを幾つか紹介します。
 
==== itemize環境 ====
<sourcesyntaxhighlight lang="latex">
% File name: itemize.tex
\documentclass{ujarticle}
\end{itemize}
\end{document}
</syntaxhighlight>
</source>
このソースファイルをコンパイルすると、中黒で順序のない箇条書きを作ることが出来ます。またソースファイルでは、LaTeXの構造を分かりやすくするために\itemコマンドの前に半角スペースを2個入れていますが、出力には影響ありません。
 
==== enumerate環境 ====
<sourcesyntaxhighlight lang="latex">
% File name: enumerate.tex
\documentclass{ujarticle}
\end{enumerate}
\end{document}
</syntaxhighlight>
</source>
このソースファイルをコンパイルすると、算用数字で順序のある箇条書きを作ることが出来ます。
 
==== description環境 ====
<sourcesyntaxhighlight lang="latex">
% File name: description.tex
\documentclass{ujarticle}
\end{description}
\end{document}
</syntaxhighlight>
</source>
このソースファイルをコンパイルすると、\itemコマンドの直後に[と]で囲んだ文字列が太字で印刷され、定義リストを作ることが出来ます。
 
=== 引用 ===
他の文献などから引用する場合に用いるのが'''quote環境'''と'''quotation環境'''です。
<sourcesyntaxhighlight lang="latex">
% File name: quote.tex
\documentclass{ujarticle}
夏目漱石『吾輩は猫である』より。
\end{document}
</syntaxhighlight>
</source>
==== quote環境 ====
引用文中の段落の字下げを行わない引用環境です。短い引用に用いられます。
==== verbatim環境 ====
begin〜end間のテキストをそのまま出力する環境です。プログラムのソースファイルなどをそのまま載せたいとき、LaTeXの制御文字を連続して使用する場合などに用います。ただし、行頭のタブは無視され、行の途中のタブは半角スペースに置き換えられるので注意してください。
<sourcesyntaxhighlight lang="latex">
% File name: verbatim.tex
\documentclass{ujarticle}
\end{verbatim}
\end{document}
</syntaxhighlight>
</source>
==== verbatim*環境 ====
verbatim環境とほとんど同じですが、半角スペースがあるところにアキの印が出力されます。
==== \verbと\verb* ====
verbatim環境は使用すると、整形済みテキストの前に必ず改行されます。これは、文中にちょっとしたものを書きたいときには不便です。\verbを使うことで、文中に整形済みテキストを挿入することができます。使い方は、\verbの後に任意の記号を置き、その後に整形済みテキストを置き、\verbの後に置いた記号をもう一度置きます。\verbの後に置く記号は、整形済みテキストに含まれていないものなら、何でもかまいません。
<sourcesyntaxhighlight lang="latex">
% File name: verbatim.tex
\documentclass{ujarticle}
今日はとても楽しかった\verb+(^_^)+ですね。
\end{document}
</syntaxhighlight>
</source>
== 数式 ==
TeXは数式の組版に強いと言われます。なぜなら開発者の[[w:ドナルド・クヌース|クヌース]]が自身の著書である[[w:en:The Art of Computer Programming]]を書くときに、当時コンピュータで作った組版状態が綺麗ではなく、自ら満足するソフトを作ったからです。この作ったものこそ、TeXなのです。
* 別の段落として数式を印刷する場合で、'''\['''と'''\]'''で囲んだり、'''数式環境'''に入れる方法(displaystyle)
後者はページの中心に数式が印刷されます。また、どちらも専用のフォントで表示されます。
<sourcesyntaxhighlight lang="latex">
\documentclass{ujarticle}
\end{document}
</syntaxhighlight>
</source>
=== 数式モードの基礎 ===
* 式に含まれる空白は自動的に調節されます
* '''\(''' と '''\)'''
例:
<sourcesyntaxhighlight lang="latex">
\(
数式
\)
</syntaxhighlight>
</source>
文中に入れるのではなく、数式として独立させたい場合は、'''eqnarray環境'''を用います。
<sourcesyntaxhighlight lang="latex">
\begin{eqnarray}
数式 \\
数式
\end{eqnarray}
</syntaxhighlight>
</source>
eqnarray環境では1行ごとに番号が付加されます。必要ない場合は'''eqnarray*環境'''を用います。
 
==== 四則演算 ====
足し算(+)と引き算(-)は何も考えずに表示できます。
<sourcesyntaxhighlight lang="latex">
\[
4 + 5 - 2 = 7
\]
</syntaxhighlight>
</source>
掛け算(×)と割り算(÷)は、それぞれ'''\timesコマンド'''、'''\divコマンド'''を用います。
<sourcesyntaxhighlight lang="latex">
\[
4 \times 5 \div 2 = 10
\]
</syntaxhighlight>
</source>
==== 分数 ====
'''\fracコマンド'''を用います。最初の引数で分子を指定し、次の引数で分母を指定します。
<sourcesyntaxhighlight lang="latex">
\begin{eqnarray*}
\frac{1}{2} + \frac{1}{3} &=& \frac{3}{6} + \frac{2}{6} \\
&=& \frac{5}{6}
\end{eqnarray*}
</syntaxhighlight>
</source>
※注:この例では見やすくするため半角スペースを用いて = の位置を揃えていますが、実際の処理では & を用いた位置で揃えられます。
 
==== 平方根 ====
'''\sqrtコマンド'''を用います。
<sourcesyntaxhighlight lang="latex">
\[
\sqrt{4} = 2
\]
</syntaxhighlight>
</source>
3乗根や5乗根を表現したいときは、コマンド名の直後に角括弧([と])で数字を囲みます。
<sourcesyntaxhighlight lang="latex">
\[
\sqrt[3]{8} = 2
\]
</syntaxhighlight>
</source>
==== べき乗 ====
'''^'''を用います。
<sourcesyntaxhighlight lang="latex">
\begin{eqnarray*}
2^{3} &=& 2 \times 2 \times 2 \\
&=& 8
\end{eqnarray*}
</syntaxhighlight>
</source>
^の後が一文字だけであれば{}で囲む必要はありませんが、複数文字で表現したいときに忘れることがあるので、出来る限り{}で囲むようにしましょう。
 
==== 数列 ====
数列の添え字は'''_'''を用います。これも{}を付けない場合、続く1文字だけが添字だと解釈されます。
<sourcesyntaxhighlight lang="latex">
\begin{eqnarray*}
a_{n + 1} = a_{n} + 4
\end{eqnarray*}
</syntaxhighlight>
</source>
==== 和(シグマ)、極限、積分 ====
和は'''\sumコマンド'''、極限は'''\limコマンド'''、積分は'''\intコマンド'''を用います。
<sourcesyntaxhighlight lang="latex">
\begin{eqnarray*}
\sum_{k = 0}^{10} k \\
\int^{b}_{a} f(x) dx
\end{eqnarray*}
</syntaxhighlight>
</source>
それぞれ記号の上下に範囲を印刷しますが、べき乗と数列で扱った'''^'''と'''_'''を用いて表現します。
 
数学にはsinやcosなど、名前のついた関数がありますが、これらをそのまま<code>sin x</code>のように書いてしまうと、s×i×n×xのように解釈されてしまうため文字が斜体となりきれいに表示されません。有名な関数は'''<code>\sin</code>'''のように、コマンドになっています。
 
<sourcesyntaxhighlight lang="latex">
\sin^2 x + \cos^2 x = 1
</syntaxhighlight>
</source>
 
また、modについては、二項演算子として使う'''<code>\bmod</code>'''と、カッコつきの'''<code>\pmod</code>'''があります。
 
<sourcesyntaxhighlight lang="latex">
\begin{eqnarray*}
a \bmod b = 2 \\
a \equiv b \pmod{3}
\end{eqnarray*}
</syntaxhighlight>
</source>
 
ただし一部の関数はコマンドになっておらず、そう言った場合は<code>\mathrm</code>を用いて斜体を解除する必要があります。[[w:Sinc 関数|Sinc 関数]]を例にすると<code>\mathrm{sinc}(n \pi)</code>とすると、<math>\mathrm{sinc}(n \pi)</math>のように表示されます。ちなみに、<code>\mathrm</code>は、数式環境用の<code>\textrm</code>です。
==Beamer==
[[w:Beamer|Beamer]](ビーマー)は LATEX に基づくプレゼンテーションソフトウェアであり、組み込みの各種スタイルや各種色使いが用意されている。documentclassは<code>\documentclass[dvipdfmx,10pt]{beamer}</code>のようになる。CTAN上で配布されている'''beamerposter.sty'''と組み合わせることでポスターの作成にも使える。印刷に適した「配布資料」作成機能も持つ。例えば、Beamerで作成したpresentation.pdfの配布資料(縦2枚、横2枚)を作りたい場合は、
<sourcesyntaxhighlight lang="latex">
\documentclass[a4paper,landscape]{article}
\usepackage{pdfpages}
\includepdf[pages=1-last,nup=2x2]{presentation.pdf}
\end{document}
</syntaxhighlight>
</source>
とする。コンパイルオプションはpdflatexにする。
 
=== 他のファイルを読み込む ===
例えば大きな文書を作成しているときや、共通する部分を持つ文書を作成するとき、一つのLaTeX文書を複数に分割することで編集作業や再利用が容易になります。
<sourcesyntaxhighlight lang="latex">
% --- article.tex ---
\documentclass{ujarticle}
\section{はじめに}
ファイルを分割してみました!
</syntaxhighlight>
</source>
'''include{}コマンド'''を利用することで、指定したファイルをその位置に読み込みます。従って、読み込まれるファイルでは\documentclassコマンドなどを記述する必要はありません。
 
==== 解説 ====
例えば\sectionの出力を“第1章 はじめに”のようにしたい場合は、[[#プリアンブル]]へ以下の記述をします。
<sourcesyntaxhighlight lang="latex">
\documentclass[uplatex]{jsarticle}
\end{document}
</syntaxhighlight>
</source>
ujarticleでも以下で紹介する殆どを変更できますが、jsarticleを用いれば\sectionコマンドの出力も変更できます。
 
110

回編集