[ quoted from ] 情報演習 課題L-A-1(※)一部抜粋・改変

問1

以下のLaTeX スクリプトは何ヶ所か誤っているため、正しくコンパイルできなかったり表示がおかしくなる。誤りを訂正せよ。

小問1の誤りを含むLaTeXスクリプト
※長くなるので省略しました。上記ファイルを直接閲覧してください。
問2

次の数式をLaTeX で書け。

∫[x=-∞〜∞](dx/(a+x^2))=π/√a (1) [[1,1],[0,1]]=[[k,0],[0,1]]^-1[[1,k],[0,1]][[k,0],[0,1]]  (2)

ヒント:番号つきの数式を表示するには、eqnarray 環境を使います。

LATEXについては、指定の教科書に確かに簡単に説明がありますが、内容があまりにも薄くて調べたい内容が載っていないということも多いです。LATEXについて解説しているWebサイトはたくさんあるので、適当にWebから情報収集もしながら進めるといいでしょう。

また、スクリプトをコンパイルしたときに出力される英文が長かったりと、どこでエラーが出ているのか分かりにくいことが多いです。慣れないうちは、とにかく基本に立ち返ってミスを探すようにしましょう。いきなり数式全部を書いたりせずに、5行程度のLaTeXスクリプトにしてちゃんとコンパイルが通るか、あるいは表示が崩れていないか確かめる、という風に問題を細分化して考えましょう。

問1は間違い探しです。C課題の解説でも述べているのですが、基本的に自分のミスを直すという作業がとても重要です。この課題でしっかり修正力をつけましょう。

この課題で与えられたLaTeXスクリプトには、およそ5種類8箇所の間違いがあります。課題をする際の参考にしてください。

基本

LaTeXスクリプトで作成する文書の基本形は以下のようになります。ここからここまで日本語の文書を書きます、という意味ですが、特に考えずにコピペでOKです。

\documentclass{jarticle}
\begin{document}

\end{document}

使用する記号

以下に示す半角記号は、LaTeXスクリプトにおいては特別な意味を持っています。これらの記号はそのままでは表示できず、不用意にスクリプト中に出現させるとエラーになります。他にもいくつかありますが、ここでは代表的なもの・課題で特に使うと思われるものを取り上げています。

{ }
中カッコ、波カッコ
記述の曖昧さを排除するために用いる
\
円記号、バックスラッシュ
LATEXの命令はとにかくこれを頭につける
$
ドル記号
数式を記述するために用いる
^
ハット
数式などで、上付き文字(superscript)を表すために用いる
_
アンダーライン
数式などで、下付き文字(subscript)を表すために用いる
%
パーセント
コメント(注釈)をつけるために用いる
&
アンド、アンパサンド
位置制御・レイアウトに用いる

例えば&はeqnarray環境などの一部の環境で必要になる記号ですが、全ての環境で使用するわけではありませんが。重要なのは、これらの記号を文章中に出現させたい場合に、環境にかかわらず\でエスケープしてやる必要があると言うことです。例えば&ならば、文章中で使うためにはわざわざ\&と記述しなければいけません。

あるいは、verbatim環境で記述したり、半角記号の代わりに全角記号を用いることでこれらの記号を表示することもできます。ただ、特殊な意味をもつ記号を\でエスケープするというのは、LATEXに限らず使われることなので、覚えておいて損はないですし、できるだけこちらを使って下さい。

他にもそのままでは使えない記号として、# ~ < > | があります。

命令

LATEXの命令は全て\から書き始めますが、コンピュータにきちんとどこからどこまでが命令なのかを把握させるために、書き方に注意を払わないといけません。

例えば次のLaTeXスクリプトは、「LATEXで命令を書く時は…」と表示させることを意図したものですが、\LaTeX命令の区切りが明示されていないためにエラーとなります。つまりコンピュータは、\LaTeXで命令を書く時…という一つの命令だと解釈するのですが、そんな命令なんて知らない、というわけです。

\LaTeXで命令を書く時は、命令の頭に\記号をつけます。

このエラーを回避するためには、次のような方法で\LaTeXで一つの命令だと明示しなければいけません。

  1. \LaTeX で命令を… (直後に半角スペースを挿入)
  2. \LaTeX
    で命令を… (直後に改行を挿入)
  3. \LaTeX{}で命令を…
  4. {\LaTeX}で命令を…

1.が単純で分かりやすいと思うかもしれませんが、半角スペースがそこにあるかどうかは見た目ですぐに分かりづらいです。冗長かもしれませんが、3.及び4.の方法を推奨します。前述のように、{中カッコ}は曖昧さ排除のための記号なので、困ったらとにかく中カッコで括ってみるのもいいかもしれません。

環境

基本形の所で\begin{document}〜\end{document}というのが出てきました。これが環境(environment)です。例えば、descriptioneqnarrayarray環境などがあります。

\begin{環境名}
  ここが環境になる
\end{環境名}

環境は入れ子構造にすることもできます。逆に言えば、入れ子構造になっていないものはNGです。例えば、1行目から5行目がAという環境で、2行目から4行目がBという環境ならば、AがBを含む形で問題ありませんが、Aが1〜4行、Bが2〜5行のように跨るものはエラーになります。

相互参照

学術論文などでは、例えば「図1より」のように、きちんと引用元・参照元を示すことが非常に重要です。「図1より」の例では、同じ文書のどこかに必ず「図1」が存在していて、それを参照しているはずです。

この相互参照には、\label命令と\ref命令を使います。

\begin{equation}
  \label{eq:Einstein}
  E=mc^2
\end{equation}
式(\ref{eq:Einstein})より、

これで自動的に式に番号が振られ、参照側にはその式番号を表示させることができます。式の前に別の式を挿入して式番号が変更された場合などを想定すれば、このような相互参照の形をとることの意義も分かると思います。

問2は数式作成です。代表的な数学的表記の書き方を示しておきます。

べき乗 x^2
x^2
添え字 a_n
a_n
積分 ∫[x=a~b]f(x)dx
\int_a^bf(x){{\rm d}x}
分数 5/6
\frac{5}{6}
ルート √2
\sqrt{2}
パイ π
\pi
行列 [[a,b],[c,d]]
\left( \begin{array}{cc}
  a & b \\ c & d
\end{array} \right)

と言うか、これでほとんど問2の答えですがf(^^;。

eqnarray環境の改行の挟み方や、イコールの位置揃えなども注意してください。