math EqNumber - yarakos95/LaTeX-for-math GitHub Wiki

数式を相互参照させたい

\ref ってすればいいと思ってない?! amsmath では,\eqref にすると丸括弧() 付きで式番号が相互参照で出てくる.どうせなら頭に "Eq." を常に付けたいので,プリアンブルで以下のようにしておくと楽かもしれない.

\newcommand{\eref}[1]{Eq.\eqref{#1}}

ちなみに,mathtools のshowonlyrefs オプションは\eqref でないと対応してくれない.筆者はこれに手間取らせられた記憶が大いにあるので,読んだ皆さんは注意してね.[^showonlyrefs]

[^showonlyrefs]: 逆に,括弧を付けてほしくないけれど,showonlyrefs を使いたい場合にはどうするのだろう.

式番号を節でリセットしたい

再定義することによるリセット方法 (折りたたみ)

通常$\rm\LaTeX$ では,数式番号を(節番号.式の通し番号)として出力される.これを節ごとの式の通し番号にする場合には\theequation をプリアンブルで再定義することによって可能にする.

\renewcommand{\theequation}{\thesection.\arabic{equation}}

しかし,この場合では,数式番号のカウンタをいちいち\setconter で指定しない限りには新しい節や章の開始ではゼロにリセットされない.

\numberwithin コマンドをプリアンブルで設定することで,数式の式番号を節番号に結び付けて,自動的にカウンタをリセットすることが出来る.

\numberwithin{equation}{section}  % <-- これを置くだけ!!
LaTeX レベルでの修正 (折りたたみ)

筆者はどこかで見た以下のようなことをしていたが,\numberwithin コマンドの方が断然簡単に設定できて良い.実はこの方法であってもsection で式番号がリセットされるので,これでも良い.[^texonlatex]

[^texonlatex]: $\rm\TeX$ on $\rm\LaTeX$ でしか使用していないので,実は良くない挙動をしている可能性もある.筆者が使っていた分には異常はなかった.

\makeatletter
\renewcommand{\theequation}{\thesection.\arabic{equation}}
\@addtoreset{equation}{section}  % ここでsection ごとに式番号をリセットしている
\makeatother

式番号のスタイルを変更したい

cf. The mathtools Package, §3.2.1 The appearance of tags

mathtools を活用しよう.[^ntheorem]

[^ntheorem]: ntheorem パッケージを使用している場合には,ntheorem を読み込んであから\newtagfom を設定する方が良いようだ.使っていないのでよく分からない.

\newtagform{<name>}[<inner_format>]{<left>}{<right>}
\renewtagform{<name>}[<inner_format>]{<left>}{<right>}
\usetagform{<name>}
  • <name> : デフォルトは "default" ,その他任意に名前を定義可能
  • <inner_format> : 式番号のスタイルを指定
  • <left>, <right> : ひだり括弧,みぎ括弧のスタイルの指定

例 : "[<式番号>]" にしたい

プリアンブルで以下のようにすれば良い.

\newtagform{bracket}{[}{]}
\usetagform{bracket}

本文中の途中で式番号のスタイルを変更したい場合は,\usetagform を途中で挿入すればよい.このとき,式番号は連続することに注意しておきたい.

usetagform.png

このときに\usetagform{default} を挿入しないと,これ以降の\eqrefbracketBf を反映することになる.

オイオイ,\eqref にも式番号のスタイルを反映しないのか...... 単一のスタイルを使用するのであれば問題なのだろう.^usetagformfix

⚠️ **GitHub.com Fallback** ⚠️