2013年8月17日土曜日

array環境でのエラー


これまで全く気がつかなかったのですが,次のような数式をLaTeXでタイプセットすると
"missing number, treated as zero."というエラーメッセージがでてしまいます.

\begin{equation}
\begin{array}{l}
  [a_1, b_1]\times \dotsb \times [a_{i-1}, b_{i-1}]\times
 \{a_i\}\times[a_{i+1}, b_{i+1}]\times \dotsb \times [a_n, b_n]\\
  [a_1, b_1]\times \dotsb \times [a_{i-1}, b_{i-1}]\times
 \{b_i\}\times[a_{i+1}, b_{i+1}]\times \dotsb \times [a_n, b_n]
\end{array}
\end{equation}

これは1行目で\\を用いて改行した直後に[]で囲まれた文字列を持ってくると,改行後のスペースと勘違いしてエラーを起こすようです(例えば\\[3pt]と記述すると3pt行間が空く).エラーの回避方法としては,\\の直後に括弧を入れて\\{}とし,区切りを明確にしてやることだそうです.

これまでこういう数式を打ったことが無いことに軽く衝撃を受けました.