[[LaTeX入門]] /
最初の例 /
[[簡単な数式 (1)>LaTeX入門/簡単な数式(1)]] /
[[簡単な数式 (2)>LaTeX入門/簡単な数式(2)]] /
[[各種パッケージの利用>LaTeX入門/各種パッケージの利用]] /
[[レポート>LaTeX入門/レポート]] /
[[HTML と LaTeX の比較>LaTeX入門/HTMLとLaTeXの比較]] /
[[複雑な数式>LaTeX入門/複雑な数式]] /
[[図表>LaTeX入門/図表]] /
[[図表の配置>LaTeX入門/図表の配置]] /
[[相互参照とリンク>LaTeX入門/相互参照とリンク]] /
[[文献引用]] /
[[索引作成]] /
[[LaTeX マクロの作成>LaTeX入門/LaTeXマクロの作成]] /
[[スライドの作り方(jsarticle 編)>LaTeX入門/スライドの作り方(jsarticle編)]] /
[[応用的な使い方>LaTeX入門/応用的な使い方]] /
[[発展編>LaTeX入門/発展編]]

----


* 最初の例 [#cb71c504]

まずはうんと簡単な例からやってみましょう。
// 以下では,日本で現在主に使われているあらゆる TeX 環境で利用可能な「pLaTeX2e」を使って日本語の LaTeX 文書を作成できるようになることを目的に説明します。
// この方法は既に確立されていて,新たに TeX をインストールした場合だけでなく少々(5 年ほど)古い TeX 環境を使っている場合にも対応しています。

// 2015-08-31 現在,Cloud LaTeX には
// - TeX Live 2013 の pLaTeX / XeLaTeX / pdfLaTeX
// - TeX Live 2014 の pdfLaTeX
// が入っています。また,[[IPSJ]] のような主要な日本語ジャーナルも未だ pLaTeX ベースです。
// よって,upLaTeX を「入門」で示してしまうのはまだ時期尚早です。
// ちなみに upmendex はまだ TeX Live 2015 にも入っておらず,
// W32TeX [2015/01/27] 以降しか入っていないのでこれまた急進的すぎます。
// この「LaTeX 入門」の想定読者は大学で LaTeX を使わないといけなくなったばかりの人も含むので
// - 新規に TeX をインストールしたばかり(よって最新環境を使える)
// - 大学の PC 室で数年前に導入された TeX を使い始めた(TL2011 とかもまだ現役)
// - 最近の潮流であるクラウドを使っている(Cloud LaTeX など)
// - 最新の TeX 環境を使っているが,学会スタイルの指定で pLaTeX を使わざるを得ない
// などいろいろ考慮する必要があります。[[forum:1645]] も参照してください。
// よって当面の間 pLaTeX から変更する予定はありません。 -- アセトアミノフェン (2015-08-31)

#contents

// ここではあえて統合環境を用いない場合の例を示すことで
// LaTeX とはどういうものかを意識してもらうことにします。
// また,最近は upLaTeX を推奨する動きもありますが,ここでは
// あくまで入門ですので「古い TeX 環境」をお使いの方にも共通する内容を示します。
// ↑ということなので,platexでコンパイルするように直します.

**ファイルの作成 [#a37eebd1]

次のファイルを作ってみましょう。

 \documentclass[dvipdfmx]{jsarticle}
 \begin{document}
 
 吾輩は猫である。名前はまだ無い。
 
 どこで生れたかとんと見当がつかぬ。
 何でも薄暗いじめじめした所で
 ニャーニャー泣いていた事だけは記憶している。
 吾輩はここで始めて人間というものを見た。
 
 \end{document}

この文章をテキストエディタ((Windows ではメモ帳のほかに [[Emacs]],[[Vim]],[[Visual Studio Code]],[[Atom]],[[Notepad++]],[[サクラエディタ]]など。macOS, Linux では [[Emacs]],[[Vim]],[[Visual Studio Code]],[[Atom]] などがあります。))に記述します。
コピー&ペーストしても OK です。
ファイルに ex1.tex という名前を付けて文字コードを UTF-8 にして保存します。
(どのディレクトリ(フォルダー)に保存すべきか迷った場合は,取りあえずデスクトップにしてください。)

**pLaTeX の実行 [#a6b25776]

作成した TeX ファイルを pLaTeX で処理してみましょう。

-Windows PowerShell またはコマンド プロンプト(Windows の場合)
-ターミナル(macOS, Linux の場合)

を開き(以下「コマンドラインから…を実行します」と書いたら,これらの画面から実行することを意味します),次のようにしてさきほど ex1.tex を保存したディレクトリ(フォルダー)に移動しましょう。

コマンドラインからプログラムを実行するとき,カレントディレクトリすなわち「今どのディレクトリ(フォルダー)で作業しているか」を意識する必要があります。
通常は,コマンドラインを起動すると以下のようなホームディレクトリがカレントディレクトリになっています:

-C:\Users\ユーザ名 (Windows の場合)
-/Users/ユーザ名 (macOS, Linux の場合;単に ~ とも表記する)

ファイルをデスクトップに保存した場合は,cd というコマンドでカレントディレクトリを変更します。

 cd Desktop

これでカレントディレクトリがデスクトップすなわち

-C:\Users\ユーザ名\Desktop (Windows の場合)
-/Users/ユーザ名/Desktop (macOS, Linux の場合)

に変更されました。
これで,デスクトップに置かれたファイルに対して処理できるようになります。

この状態から ex1.tex を pLaTeX で処理するには,次のように打ち込みます。

 platex ex1

すると,たとえば次のような表示がコマンドラインに出ます。
表示は TeX ディストリビューションによって微妙に異なります。

 This is e-pTeX, Version 3.14159265-p3.8.3-191112-2.6 (utf8.sjis) (TeX Live 2020/W32TeX) (preloaded format=platex)
  restricted \write18 enabled.
 entering extended mode
 (./ex1.tex(guessed encoding: UTF-8 = utf8)
 pLaTeX2e <2020-02-02>+3 (based on LaTeX2e <2020-02-02> patch level 5)
 L3 programming layer <2020-03-06>
 pLaTeX2e <2020-04-12> (based on LaTeX2e <2020-02-02> patch level 5)
 L3 programming layer <2020-04-06>
 (c:/texlive/2020/texmf-dist/tex/platex/jsclasses/jsarticle.cls(guessed encoding: UTF-8 = utf8)
 Document Class: jsarticle 2020/02/02 jsclasses (okumura, texjporg)
 (c:/texlive/2020/texmf-dist/tex/platex/jsclasses/jslogo.sty))
 (c:/texlive/2020/texmf-dist/tex/latex/l3backend/l3backend-dvipdfmx.def)
 No file ex1.aux.
 [1] (./ex1.aux) )
 Output written on ex1.dvi (1 page, 548 bytes).
 Transcript written on ex1.log.

これで ex1.dvi という組版結果のファイルが生成されます。
// DVIファイルについての注釈は後ろに移動
もしエラーが起こった場合はエラーメッセージが表示されているはずですので,ex1.tex
の内容が間違っていないか,再度確認してください。

また,以下のファイルも生成されているはずです。

-処理の様子を書き込んだログファイル ex1.log
-補助ファイル ex1.aux (上の例の場合は特に意味のないファイルですが,のちのち相互参照で重要な役割を果たすファイルです)

**dvipdfmx の実行 [#r1e1daab]

つぎに,DVI ファイルを PDF ファイルに変換しましょう。
先ほど生成した ex1.dvi を dvipdfmx で処理します。

 dvipdfmx ex1

ex1.pdf というファイルができていることを確かめてください。
ex1.pdf を

-[[Microsoft Edge]], [[Adobe Acrobat Reader DC]], [[SumatraPDF]] (Windows の場合)
-Preview, [[Adobe Acrobat Reader DC]], [[Skim]] (macOS の場合)
-[[Evince]], [[Okular]], [[zathura]], [[qpdfview]] (Linux の場合)

で開くと,きれいに組版された文章が画面に現れます。
// 通常「TeX 用のエディタ付き統合環境」として紹介されるものは,ここでは排除しました。
もちろん PDF ファイルは印刷することができます。

**ptex2pdf の実行 [#k492ffcb]

上では pLaTeX と dvipdfmx を別々に実行しましたが,これを一発で行うために便利なのが [[ptex2pdf]] です。

 ptex2pdf -l ex1

とすれば,pLaTeX と dvipdfmx が順に実行されて ex1.pdf が得られます。

**統合環境の利用 [#o7fa03d8]

上の例では

>
「テキストエディタで LaTeX ソースファイルを作成」し,その後「コマンドを入力して pLaTeX と dvipdfmx で処理」
<

という作業を行いました。
もしあなたがコマンド操作に慣れていない場合は,いちいち手動で処理を行うのが面倒だと感じるかもしれません。
このような場合に役に立つのが,''[[TeX 用の統合環境やエディタ>TeX用エディタ]]''です。

TeX 用の統合環境の多くは「ソースを編集するエディタ」と「その後の処理をボタン一発で行う機能」を持っています。
また,LaTeX の命令をハイライトしたり,入力を補完するなどして支援してくれる統合環境もあります。
もちろん LaTeX ソース編集にはどんなテキストエディタでも用いることができますので,すでにお気に入りのエディタがある場合は,LaTeX 用のマクロがあるか探してみるとよいでしょう。

特にエディタにこだわりのない方は,初めてなら [[TeXworks]] がお勧めです。
macOS をお使いの場合は [[TeXShop]] も人気があります。

TeXworks を使用する場合,[[最初の例>LaTeX入門/最初の例#cb71c504]]に示したのと同じ処理を以下のようにして簡単に行うことができます。

+エディタ画面に上の例のソースを入力します。
+タイプセットメニューで pLaTeX (ptex2pdf) を指定してタイプセットします。

これで pLaTeX と dvipdfmx が実行され,ex1.pdf が出力されます。

統合環境を利用すると手軽に LaTeX 文書を作成できる反面,何か問題が生じたときに原因がどこにあるのか分かりにくくなることがあります。
原因の分からない問題が発生した場合は,一度''統合環境を離れてコマンドを実行''してみてください。
統合環境の不具合または設定の誤りが原因なのか,はたまた
TeX の不具合やインストール失敗が原因なのか,問題を分離できるかもしれません。


* LaTeX ソースと出力ファイルの解説 [#md8c2330]

ここで,上で示した ex1.tex という LaTeX ソースファイルの中身を解説しましょう。
LaTeX ソースファイルは,この例のように「地の文」と「LaTeX に対する命令」(コントロールシークエンスともいう)からなっています。
「LaTeX に対する命令」は \ から始まります。

-\documentclass[dvipdfmx]{jsarticle} とは「jsarticle というドキュメントクラスに従って組版する」ことを指図する命令です。ドキュメントクラスとは,その文書の見た目などを指定するもので,HTML のスタイルシートに対応します。

-\begin{document} は「文書の開始」を指示する命令です。同様に \end{document} は「文書の終わり」を指示します。この文書に対する設定など(例えばドキュメントクラスの指定)は \begin{document} の前に書かれます。文書自身の中身は \begin{document} から \end{document} の間に書きます。

-原則として(和文のみの場合は)改行を好きな場所で入れることができます。ただし,空の行は段落の切れ目を表します。(段落の先頭には全角分の空きが自動的に入ります。)また,欧文の場合は単語の切れ目でのみ改行を入れることができます。

組版結果は出力装置(%%%''d''%%%e%%%''v''%%%ice)に依存しない(%%%''i''%%%ndependent)ことから DVI ファイルと呼ばれます((DVI ファイルは [[dviout]](Windows の場合)や [[xdvi]](macOS, Linux の場合)でプレビューすることができます。しかし,通常は最終的に PDF ファイルを得たい場合が多いので,dvipdfmx の実行まで行ってから PDF をプレビューした方が確実でしょう。))。
DVI ファイルは [[dvipdfmx]] を実行すると PDF ファイルに変換されます。
[[PDF]] ファイルは異なった環境でも同じように閲覧できる文書形式 (%%%''P''%%%ortable %%%''D''%%%ocument %%%''F''%%%ormat) です。


* 間違いやすいこと [#o075508f]

**拡張子 [#ka2ad20a]

Windows のメモ帳で保存すると,ex1.tex としたつもりでも ex1.tex.txt というファイル名にされてしまうことがあります(メモ帳のおせっかい)。
この場合は,保存してから名前を変えてください。

あらかじめ Windows で拡張子を常に表示するように設定を変更しておくと,このような間違いに気づきやすくなります。
設定方法は[[Microsoft Windows/基礎知識#拡張子の表示>Microsoft Windows/基礎知識#extension]]を参照してください。

**入力モード(半角/全角) [#m0f2be64]

\ 印で始まる英語のような単語は TeX へのいろいろな指示を表すコマンドです。
すべて半角文字(Windows では直接入力)で入力してください。
// “オマジナイ”という語は,事情に通じている人の間のしゃれですよね。
// 初学者を相手にするときは使わないべきと考えます。


* エラーメッセージが出たら [#z764b56f]

コマンドのつづりを間違えていたりすると,エラーメッセージが出ます。
たとえば,上記のファイルの2行目にある \begin というところを誤って \bigin と打ち込んでしまった場合なら,次のようなエラーメッセージが出ます。

 This is e-pTeX, Version 3.14159265-p3.8.3-191112-2.6 (utf8.sjis) (TeX Live 2020/W32TeX) (preloaded format=platex)
  restricted \write18 enabled.
 entering extended mode
 (./ex1.tex(guessed encoding: UTF-8 = utf8)
 pLaTeX2e <2020-02-02>+3 (based on LaTeX2e <2020-02-02> patch level 5)
 L3 programming layer <2020-03-06>
 pLaTeX2e <2020-04-12> (based on LaTeX2e <2020-02-02> patch level 5)
 L3 programming layer <2020-04-06>
 (c:/texlive/2020/texmf-dist/tex/platex/jsclasses/jsarticle.cls(guessed encoding: UTF-8 = utf8)
 Document Class: jsarticle 2020/02/02 jsclasses (okumura, texjporg)
 (c:/texlive/2020/texmf-dist/tex/platex/jsclasses/jslogo.sty))
 ! Undefined control sequence.
 <recently read> \bigin
 
 l.2 \bigin
           {document}
 ?

エラーメッセージの下の方に“l.2 \bigin”という行があります。
これは入力ファイル2行目の \bigin という部分を読み込んだところでエラーが発生したことを示しています。

“l.2 \bigin”のそのすぐ上のところにある“! Undefined control sequence.”という行が発生したエラーの種類を示しています。
この場合は“定義されていないコントロールシークエンスである(=こんなコマンドはないですよ)”というエラーです。

エラーが発生すると TeX は処理を一時停止して待機します。
エラーメッセージを見てもどこが悪かったのかわからない場合には,この待機中に“h”を入力するともう少し詳しい状況説明と対処方法が表示されることもあります。

 ? h
 The control sequence at the end of the top line
 of your error message was never \def'ed. If you have
 misspelled it (e.g., `\hobx'), type `I' and the correct
 spelling (e.g., `I\hbox'). Otherwise just continue,
 and I'll forget about whatever was undefined.
 
 ?

上記のエラーの場合は“I\begin”を入力すると ex1.dvi が作成されます。

 ? I\begin
 (./ex1.aux) [1] (./ex1.aux) )
 Output written on ex1.dvi (1 page, 548 bytes).
 Transcript written on ex1.log.

“I\begin”を入力せずに“x”を入力すると TeX はここで処理を終了します。

 ? x
 No pages of output.
 Transcript written on ex1.log.

エラーメッセージからどこを直すべきかわかった場合にはその箇所を修正してやり直してください。
どこを直すべきかわからなかった場合には,エラーが起きた箇所の近辺を精査して間違った箇所を探し出したうえで,入力ファイルを修正してやり直してください。
// このようになってしまったときは,Enter キーを押すと,そのエラーを無視して処理を続行します。
// // ↑
// // 初心者には使いこなせない機能です。
// エラーメッセージが表示されなくても,いつまでも TeX の処理が終わらないような場合は, Ctrl キーを押さえながら C キーをたたいてみてください。
// //↑
// // ほとんど起こりません。

各種エラーメッセージについては,[[LaTeX のエラーメッセージ]],[[TeX のエラーメッセージ]]も参照してください。

// ↓とりあえず全てコメントアウトしておきます.
// // なんか最初に書いたときと違ってちぐはぐな改変がされていて
// // 使い物にならないので,消しておきます。 -- アセトアミノフェン
// // …とはいったものの,一部だけ「pLaTeX で jarticle」の話だけ置いておきます。

//* 注意:もっと古い TeX システムの場合 [#m304e480]
//
//古いシステムの場合,[[奥村先生による jsarticle ドキュメントクラス>jsclasses]]がインストールされていない場合があります。
//この場合は \documentclass{jsarticle} を \documentclass{jarticle} に変えると,jarticle という古いドキュメントクラスに従って pLaTeX で組版できます。
//ただし,jarticle ドキュメントクラスには JIS の組版規則に従っていない不都合な点があります。
//新しい jsarticle ドキュメントクラスがインストールされている場合は,''JIS の規則に従った jsarticle'' を使用したほうが好まれる場合が多いようです。