Symbolen met absolute waarde
Geplaatst op januari 29, 2021 door adminWat zijn de “beste LaTeX-praktijken” voor het schrijven van symbolen met absolute waarde? Zijn er pakketten die goede methoden bieden?
Sommige opties zijn onder meer |x|
en \mid x \mid
, maar ik “niet zeker wat het beste is …
Reacties
Antwoord
Ik gebruik de onderstaande code met \DeclarePairedDelimiter
van de mathtools
pakket .
Aangezien ik denk dat ik geen geval heb waarbij ik niet wil dat dit wordt geschaald op basis van de parameter, maak ik gebruik van Wissel de definitie van de opdracht met en zonder ster om zodat het normale gebruik automatisch wordt geschaald en de versie met ster “t:
Als je het andersom wilt, geef de code tussen \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}
Reacties
- @egreg: Akkoord. Maar dat ben ik nog niet tegengekomen bij
\abs
. Trouwens, ik vind dat je ” altijd over het algemeen verkeerd is ” 🙂 - @jamaicanworm: ik heb in dit geval
\dfrac
gebruikt om een grotere breuk te maken in inline-modus. Dit wordt normaal gesproken niet aanbevolen in de inline-modus, omdat hierdoor de alinea-afstand wordt verbroken. Ik zal de oplossing bijwerken om dat te verwijderen. - Daar ‘ is een reden waarom het ‘ s de voorkeur verdient om de
*
-versie voor de macro voor automatische formaatwijziging: altijd met\left
en\right
is in het algemeen verkeerd. - +1, hoewel ik moet zeggen dat dit antwoord niet erg leesvriendelijk is met de enorme ” ” / ” ” afbeelding met ster en de opmerking ergens in de tekst ” Trouwens, normaal gedrag is andersom “. De vraag OTOH is er een die ervoor zorgt dat alles in deze thread erg gevoelig is voor skim-read.
- een duidelijk voordeel van het gebruik van commandos zoals
\abs
en\norm
die niemand lijkt te hebben genoemd: aangezien het|
-symbool een speciale betekenis heeft in demakeidx
-context, proberen terminologie in te voeren met een kale|
binnen\index{...}
zal resulteren in (vertraagde) fouten en veel haren trekken voor iemand die niet echt bekend is met dat gebruik. commandos zoals degene die hier worden weergegeven (of zelfs gewoon\vert
,\Vert
of\mid
) is veel veiliger en de moeite waard om vertrouwd mee te raken.
Answer
Let op of je gebruikt gewoon |
je krijgt mathord-spatiëring, die verschilt van de spatiëring die je “zou krijgen van gepaarde mathopen / mathclose-scheidingstekens of van \left/\right
zelfs als \left/\right
het symbool niet “uitrekt. Persoonlijk geef ik hier de voorkeur aan de afstand tussen links en rechts van mathinner (zelfs als @egreg zegt dat ik “over het algemeen fout ben 🙂
\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}
Antwoord
Men kan ook commath
pakket.
\documentclass{article} \usepackage{commath} \begin{document} \[ \norm{a \vec{u}} = \abs{a} \, \norm{\vec{v}} \] \end{document}
Reacties
- +1 voor deze, omdat het de semantiek bevat en een relatief korte syntaxis heeft.
- De spatiëring is op de een of andere manier slecht bij gebruik als subscript. De
\abs{}
ofphysics
is naar mijn mening de betere keuze.
Antwoord
De physics
LaTeX-pakket implementeert ook abs
en norm
:
\documentclass{article} \usepackage{physics} \begin{document} \[ c = \abs{-c} \] \[ \vu{a} = \frac{\vb{a}}{\norm{\vb{a}}} \] \end{document}
Reacties
- Ik denk dat dit de gemakkelijkste oplossing is!
Antwoord
Een eenvoudige LaTeX-native manier om dit te doen is door het \|
scheidingsteken te gebruiken, met de standaard \left
en \right
modificatoren ( source ).
Bijvoorbeeld:
\left\| \sum_{i=1}^{n} x^2 \right\|
geeft
Reacties
- Ook: gebruik het
|
scheidingsteken (zonder de voorafgaande backslash) inser ts een enkele verticale balk. - Probeer voor de lol
\|+a\|
, aangezien u kunt zien dat dit verkeerd is, en daarom zouden gebruikers dit over het algemeen niet moeten doen gebruik gewoon|...|
of\|...\|
omdat ze per ongeluk in situaties terecht kunnen komen waarin dit niet klopt. Ik ‘ laat het als een oefening achter waarom dit gebeurt. Bovendien hoeven in uw voorbeeld de hekken niet zo hoog te zijn. - Met
\|+a\|
lijkt de afstand niet te kloppen, maar met\left\|+a\right\|
het lijkt in orde te zijn. - Correct omdat de ene links is en de andere gelijk. Maar
\left
en\right
mogen alleen worden toegevoegd wanneer het echt nodig is (wat eigenlijk niet vaak gebeurt). Mijn klacht over uw antwoord is dat het in het algemeen niet goed is, om redenen die worden uitgelegd in opmerkingen bij andere antwoorden in deze thread.
Antwoord
\documentclass{article} \usepackage{amsmath} \begin{document} \[ %begin equation \lVert w \rVert %end equation \] \end{document}
Answer
Voor LyX-gebruikers: misschien heb ik net over het hoofd gezien hoe ik het correct moest doen, maar ik kon het niet vind een manier om dit native te doen.
Ik heb dus een 1×1-Matrix-omgeving gebruikt en de soort ingesteld op determinant. Het is misschien gewoon een hack, maar het werkt prima in mijn gebruik.
Opmerkingen
- Tenminste in het geval van Lyx 2.1.4 merk ik dat ik gewoon \ lvert en \ rvert in mijn weergaveformule kan typen en Lyx ” doet het juiste. ” In mijn specifieke geval wil ik balken met absolute waarde rond een breuk, dus ik heb \ bigg \ lvert aan de ene kant gebruikt en \ bigg \ rvert aan de andere kant.
Antwoord
Als je geen enkel pakket wilt gebruiken, gebruik dan \mid
.
Opmerkingen
-
\vert
niet ‘ vereist elk pakket ook, en de spatiëring is niet ‘ t zo vreselijk als bij\mid
.
\usepackage{amsmath}...\(\lvert x\rvert\)
;\mid
duidt een relatiesymbool aan en is onjuist voor de absolute waarde.$\usepackage{mathtools}...\DeclarePairedDelimiter{\vert}{\lvert}{\rvert}
doen volgens je antwoord op een eerdere vraag? tex.stackexchange.com/a/42274/9757\vert
is geen goede keuze , omdat het ‘ al is gedefinieerd.|
-symbool?|
gebruiken, maar in sommige situaties is enige zorg nodig. ce\(|{-1}|=1\)
zonder de accolades zou er verkeerd uitkomen, terwijl\(\lvert-1\rvert=1\)
zeker de juiste uitvoer geeft.