Absoliučiosios vertės simboliai

Kokia yra "geriausia LaTeX praktika" rašant absoliutinės vertės simbolius? Ar yra paketų, kuriuose pateikiami geri metodai?

Kai kurie variantai yra |x| ir \mid x \mid, bet nesu tikras, kuris iš jų geriausias...

Sprendimas

Naudojau toliau pateiktą kodą, naudodamas \DeclarePairedDelimitermathtools paketo.

Kadangi nemanau, kad turiu atvejį, kai nenoriu, kad tai būtų keičiama pagal parametrą, naudoju https://tex.stackexchange.com/questions/23178/swap-definition-of-starred-and-non-starred-command, kad įprastas naudojimas būtų automatiškai keičiamas, o žvaigždute pažymėta versija - ne:

Jei norite, kad būtų atvirkščiai, išmeskite kodą tarp \makeatother...\makeatletter.

\documentclass{article}
\usepackage{mathtools}

\DeclarePairedDelimiter\abs{\lvert}{\rvert}%
\DeclarePairedDelimiter\norm{\lVert}{\rVert}%

% Swap the definition of \abs* and \norm*, so that \abs
% and \norm resizes the size of the brackets, and the 
% starred version does not.
\makeatletter
\let\oldabs\abs
\def\abs{\@ifstar{\oldabs}{\oldabs*}}
%
\let\oldnorm\norm
\def\norm{\@ifstar{\oldnorm}{\oldnorm*}}
\makeatother

\newcommand*{\Value}{\frac{1}{2}x^2}%
\begin{document}
    \[\abs{\Value}  \quad \norm{\Value}  \qquad\text{non-starred}  \]
    \[\abs*{\Value} \quad \norm*{\Value} \qquad\text{starred}\qquad\]
\end{document}
Komentarai (9)

Atkreipkite dėmesį, kad jei naudojate tik |, gaunamas mathord intervalas, kuris skiriasi nuo intervalo, kurį gautumėte iš suporuotų mathopen/mathclose riboženklių arba iš \left/\right, net jei \left/\right neištempia simbolio. Asmeniškai man labiau patinka mathinner kairės/dešinės pusės atstumas (net jei @egreg sako, kad aš apskritai klystu:-)

\documentclass{amsart}

\begin{document}

$  \log|x||y|b $

$  \log\left|x\right|\left|y\right|b $

$  \log\mathopen|x\mathclose|\mathopen|y\mathclose|b $

\end{document}

Komentarai (0)

Taip pat galima naudoti commath paketą.

\documentclass{article}

\usepackage{commath}

\begin{document}
\[ \norm{a \vec{u}} = \abs{a} \, \norm{\vec{v}} \]
\end{document}

Komentarai (2)