ベクトルのノルムを表す太い縦線記号

ベクトルのノルムを表す太い縦線記号

\lvert古い教科書の中には、ベクトルのノルムを書くのに 1 本の太い縦線を使用するものがあります。およびのように動作するが、より太い線を持つ 1 組の区切り文字を定義したいと思います。新しい区切り文字は、 およびと\rvert同様に、もちろん式のサイズに適応する必要があります。これは可能ですか?\lvert\rvert

答え1

と呼ばれる拡張可能な区切り文字があります\bracevertが、少し工夫が必要です。

\documentclass{article}
\usepackage{mathtools,xparse}

\DeclarePairedDelimiter{\oldnormaux}{\bracevert}{\bracevert}

\NewDocumentCommand{\oldnorm}{som}{%
  \IfBooleanTF{#1}
    {\oldnormaux*{#3}}
    {\IfNoValueTF{#2}
       {\oldnormaux*{\vphantom{dq}#3}}
       {\oldnormaux[#2]{#3}}%
    }%
}

\begin{document}

$\oldnorm{v}\oldnorm[\big]{v}\oldnorm[\Big]{v}\oldnorm*{\dfrac{1}{2}v}$

\end{document}

構文に関しては、mathtoolsforのドキュメントを参照してください。コマンドは同じように動作します。\DeclarePairedDelimiter\oldnorm

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

間隔も考慮したより複雑なソリューション。例では、標準の\Vertシンボルとの比較も行います。

\documentclass{article}
\usepackage{amsmath,xparse}

\NewDocumentCommand{\oldnorm}{sO{}m}{%
  {\IfBooleanTF{#1}
    {\oldnormaux{\left|}{\right|}{#3}}
    {\oldnormaux{#2|}{#2|}{#3}}}
}
\makeatletter
\newcommand{\oldnormaux}[3]{\mathpalette\oldnormaux@i{{#1}{#2}{#3}}}
\newcommand{\oldnormaux@i}[2]{\oldnormaux@ii#1#2}
\newcommand{\oldnormaux@ii}[4]{%
  \sbox\z@{$\m@th#1#2#4#3$}%
  \sbox\tw@{$\m@th\|$}%
  \mathopen{\hbox to\wd\tw@{\hss\vrule height \ht\z@ depth \dp\z@ width .3\wd\tw@\hss}}%
  #4
  \mathclose{\hbox to\wd\tw@{\hss\vrule height \ht\z@ depth \dp\z@ width .3\wd\tw@\hss}}%
}
\makeatother
\begin{document}

$\oldnorm{v}\oldnorm[\big]{v}\oldnorm[\Big]{v}\oldnorm*{\dfrac{1}{2}v}^2$

$|\oldnorm{x}|$

$|\lVert x\rVert|$

$\oldnorm*{\dfrac{1}{2}v}^2 \left\lVert\dfrac{1}{2}v\right\rVert^2$

$x_{\oldnorm{v}}$ $x_{\lVert v\rVert}$
\end{document}

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

関連情報