\vecのサイズ変更を無効にする

\vecのサイズ変更を無効にする

このマクロを使用したいと思います:

\newcommand{\norm}[1]{\left\lVert #1 \right\rVert}

しかし、

\norm{\vec F}
\lVert \vec F \Rvert

これに屈する

明らかに、\vec上記の 2 番目の形式を実現するために無効にしたい引数の「サイズ」を変更します。

答え1

を使用することをお勧めします。その後、区切り文字のサイズを手動で調整できます (通常は、 と を\DeclarePairedDelimiter使用する代わりにこれを行う必要があります)。\left\right

ここに画像の説明を入力してください

\documentclass{article}

\usepackage{mathtools}

\DeclarePairedDelimiter{\norm}{\Vert}{\Vert}

\begin{document}

$\norm{F} \quad \norm{\vec F} \quad \norm[\big]{\vec F} \quad \norm[\Big]{\vec F}$

\end{document}

答え2

によって生成された「フェンス」の自動サイズ設定を使用する場合は、の 2 つのユーザーレベルマクロと\normを使用することをお勧めします。\mleft\mrightm左右\leftandの代わりに package -- を\right使用します。\mleftandを使用すると\mright、式の周囲に余分な空白が作成されなくなります。

どうしても必要な場合にのみ、\smashの高さを圧縮するためにを使用することができます\vec{F}。ただし、 を使用することは万能薬ではないことに注意してください\smash。実際、 を使用すると、意図しない望ましくない結果が多数発生する可能性があります。そのような例については、クエリの下の @egreg のコメントを参照してください。まとめると、 で説明されているアプローチを使用することを検討してください。サンディGの回答は、\DeclarePairedDelimiterマクロ (パッケージによって提供されるmathtools) を使用して、 というマクロを作成します\norm

ここに画像の説明を入力してください

\documentclass{article}
\usepackage{mleftright} % https://www.ctan.org/pkg/mleftright
\usepackage{amsmath} % for '\Vert' macro
\newcommand{\norm}[1]{\mleft\Vert #1 \mright\Vert}

\begin{document}
$\norm{\vec{F}}$
$\norm{\smash{\vec{F}}}$
$\lVert \vec{F} \rVert$
\end{document}

答え3

簡潔にするために、私は Sandy G の関連するソリューションを使用しないことを好みます。 の使用に関する Mico のアドバイスを受けて\left \right、次のソリューションを思いつきました。

\documentclass{article}
\usepackage{mleftright}
\usepackage{amsmath} % for '\Vert' macro
\newcommand{\norm}[1]{\mleft\Vert #1 \mright\Vert}
\let\dvec\vec
\renewcommand\vec[1]{\smash{\dvec #1}}

\dvecまれに使用できることを念頭に置いて事例egreg によって言及されました。

\[
    \norm{\vec v} \quad  \norm{\vec V} \quad \norm{\frac{\vec F}{\lVert \dvec F \rVert}}
\]

関連情報