1行に複数の数式を書いた場合の数式番号(改善求む)

短い数式を複数行にわたって書くのを避ける場合には,1行にまとめて書く必要があるでしょう(特に枚数制限がある論文).数式番号の付け方について自分なりに考えて書いたので,まとめておきます.ただし,タイトルにある通り,未解決の部分があるので策があればコメントなり追記なりしてください.

例えば,3行にわたる数式

y&=Ax+B\\
A&=a^2\\
B&=b^2

の2行目と3行目をまとめて2行にすることを考える.何も考えずにただ数式だけをまとめる,つまり

y&=Ax+B\\
A&=a^2,\,B=b^2

としてしまうと,当然ダメで

と2行目に2つの数式があるにも関わらず,番号は1つしかつかない状態になってしまう.

そこで,どうするかといえば少々荒っぽいが,任意の数式番号を表示する\tag{}とカウンタ変数を表示する\thecounterまたは\arabic{counter}(どっちもcounter部にカウンタ変数名),変数の値を変える\addtocounter{counter}{#}を組み合わせる.つまり,

y&=Ax+B\\
A&=a^2,\,B=b^2
\stepcounter{equation}
\tag{\theequation-\addtocounter{equation}{1}\arabic{equation}}

とする.そうすれば,

のように数式番号をつけることができる.

注意すべき点は,

  • まず初めに\stepcounter{equation}でカウンタを1つ増やすこと.番号が表示されて初めてカウンタが増えるので,これをしないと前の数式と番号がかぶってしまう.
  • 数式番号に章番号を含む場合には前半の表示には\theequation,後半の表示には\arabic{equation}を使う必要があること.ちゃんと調べてないが,前者のコマンドは章番号も併せて表示することになっていると思われる.

問題点と改善点は,

  • 1行に1つのラベルしか付けられないので,参照がうまくできないこと.
  • やはり1行に1つの番号しか付けられないので,(2),(3)や(2)-(3)のように括弧を並べるような表示ができないこと.