2019年6月10日月曜日

array環境と角括弧(ブラケット)

 もうarrayは行列の中に線を引くとか例外的なときにだけ使い、基本 matrix (amsmathパッケージ)にしたい、という話。

 行列の記述方法としての是非はちょっと置いておくとして、例えばこんな行列を組版しようとしました。  ところがこれはエラーになり、組版できません。  面白い? ことに、これはエラーになりません。  2 行目以降の 1 列目の要素、が、[ で始まっている場合、 エラーとなるようです。なにかのオプション記述と勘違いしているのでしょうか。

 対処方法は、\hspace*{0pt}[0] のように、 ゼロ幅スペースや空白文字を頭に置く、か、 \left[ 0 \right] などとすることです。
大きくならないことが分かっているのに \left[ - \right]を書くのもなあ、と思っちゃいますね。空白文字なら ~ で1文字ですが当然謎の空間が生まれてしまいます。\hspace*{0pt}もちょい長いですね。複数行あったとき投げ出したくなるでしょう。

 ちなみに amsmath パッケージの matrix 系の環境を使えば、これだけで済みます。
とても、楽。

 array環境は行列の中に縦横線を引くときにだけ使い、基本的には amsmath の matrix 系で済ませていいと思います。

余談:もしかしてtabularもダメかな? と思って試してみたらやっぱりダメでした。 ゼロ幅スペースを入れてエラーを回避していますが、お試しの際は \hspace*{0mm}を省いてみてください。 array のときと同様に、 Missing number, treated as zero.などと、 何かのオプションと勘違いしたエラーを出してきます。

0 件のコメント: