以下では
\documentclass{memoir}
\usepackage{amssymb,amsmath}
\usepackage[fixamsmath]{mathtools}
\mathtoolsset{showonlyrefs,showmanualtags,mathic,centercolon}
\renewcommand{\u}{\textbf{u}}
\renewcommand{\v}{\textbf{v}}
\newcommand{\R}{\mathbb{R}}
\begin{document}
\begin{align}
\langle \u,\v \rangle_{\text {euc}} := \sum_{i=1}^n u_i v_i \quad \forall \u,\v \in \R^n
\end{align}
\end{document}
方程式の番号付けがうまくいきませんが、数式は正常に表示されます。コードに問題があるのでしょうか?
答え1
'showonlyrefs' オプションにより、mathtools
方程式のラベルが消えます。これをキャンセルすると、要求どおりに方程式番号が戻ります。
\documentclass{memoir}
\usepackage{amssymb,amsmath}
\usepackage[fixamsmath]{mathtools}
\mathtoolsset{showmanualtags,mathic,centercolon}
\newcommand{\uvec}{\mathbf{u}}
\newcommand{\vvec}{\mathbf{v}}
\newcommand{\R}{\mathbb{R}}
\begin{document}
\begin{align}
\langle \uvec,\vvec \rangle_{\textup{euc}} := \sum_{i=1}^n u_i v_i \quad \forall \uvec,\vvec \in \R^n
\end{align}
\end{document}
\u
注意すべき点は、(1)と を再定義していない\v
(\uvec
とに名前を変更した\vvec
)、(2)との定義で の\mathbf
代わりに を使用し、(3)の代わりに を使用したことです。\textbf
\uvec
\vvec
\textup
\text
答え2
あなたのコードは問題ありません。Ruben と Mico のコメントで提案されているように、少し変更し、プリアンブルに方程式番号を押し込むことを妨げるものは何もないという仮定のもと、結果は次のようになります。
コード:
\documentclass[12pt,border=1mm,preview]{standalone}
\usepackage{amssymb,amsmath}
\renewcommand\u{\mathbf{u}}
\renewcommand\v{\mathbf{v}}
\newcommand\R{\mathbb{R}}
\begin{document}
\begin{equation}
\langle \u,\v \rangle_{\textup{euc}} :=
\sum_{i=1}^n u_i v_i \quad \forall\ \u,\v \in \R^n
\end{equation}
\end{document}
align
数学環境でも、 と同じ結果が得られますgather
。ベクトルの名前は方程式の番号付けに影響しないため変更しませんでしたが、このような短い名前を使用するのは良くありません。たとえば、\u
はすでにどこかで定義されているため、 を使用します。より適切な名前は (コメントで提案されているように) 、\renewcommand
です。同様に、@daleif のコメントを考慮するのも良いでしょう。\uvec
\vvec