Wat is de "best LaTeX practice" voor het schrijven van absolute-waardesymbolen? Zijn er pakketten die goede methoden bieden?
Enkele opties zijn |x|
en `mid x \mid
, maar ik'weet niet zeker welke de beste is...
Ik heb de onderstaande code gebruikt met DeclarePairedDelimiter
uit het mathtools
pakket.
Omdat ik denk dat ik geen geval heb waarin ik niet wil dat dit schaalt op basis van de parameter, maak ik gebruik van https://tex.stackexchange.com/questions/23178/swap-definition-of-starred-and-non-starred-command zodat het normale gebruik automatisch schaalt, en de versie met sterretjes niet:
Als je het andersom wilt hebben comment de code tussen Makeatother...\makeatletter
uit.
\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}
Merk op dat als je alleen |
gebruikt je mathord spatiëring krijgt, wat anders is dan de spatiëring die je krijgt van gepaarde mathopen/mathclose begrenzers of van left/right
zelfs als left/right
het symbool niet uitrekt. Persoonlijk geef ik de voorkeur aan de links/rechts spatiëring van mathinner hier (ook al zegt @egreg dat ik het meestal mis heb:-)
\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}