Absolutte verdisymboler
On januar 29, 2021 by adminHva er de «beste LaTeX-metodene» for å skrive absoluttverdisymboler? Er det noen pakker som gir gode metoder?
Noen alternativer inkluderer |x|
og \mid x \mid
, men jeg er ikke klar sikker på hva som er best …
Kommentarer
Svar
Jeg har brukt koden nedenfor ved å bruke \DeclarePairedDelimiter
fra mathtools
pakke .
Siden jeg ikke tror jeg har et tilfelle der jeg ikke vil at dette skaleres basert på parameteren, jeg bruker Bytt definisjon av stjernemerket og ikke-stjernemerket kommando slik at normal bruk automatisk skaleres, og den stjernemerkede versjonen vant «t:
Hvis du vil ha det omvendt, kommenter koden mellom \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}
Kommentarer
- @egreg: Avtalt. Men jeg har ikke opplevd det med
\abs
ennå. BTW, jeg liker at » alltid generelt er feil » 🙂 - @jamaicanworm: Jeg brukte
\dfrac
i dette tilfellet for å lage en større brøkdel i inline-modus. Dette anbefales normalt ikke i innebygd modus, da det bryter avstanden mellom avsnitt. Jeg vil oppdatere løsningen for å fjerne den. - Det ‘ er en grunn til at det ‘ er å foretrekke å bruke
*
-versjon for automatisk endringsstørrelsesmakro: alltid ved hjelp av\left
og\right
er generelt feil. - +1, selv om jeg må si at dette svaret ikke er veldig skumlesende vennlig med den enorme » stjernemerket » / » ikke-stjernemerket » bilde og bemerkningen et sted i teksten » BTW, normal oppførsel er omvendt «. Spørsmålet OTOH er et som gjør alt i denne tråden veldig utsatt for å bli skumleset.
- en klar fordel ved å bruke kommandoer som
\abs
og\norm
som ingen ser ut til å ha nevnt: siden|
-symbolet har spesiell betydning imakeidx
-konteksten, prøver å gå inn i terminologien ved å bruke bare|
i\index{...}
vil føre til (forsinkede) feil og mye hår å trekke for noen som ikke er kjent med den bruken. kommandoer som de som er vist her (eller til og med bare\vert
,\Vert
eller\mid
) er et mye tryggere og verdt å bli kjent med.
Svar
Merk om du bruker bare |
du får matematikkavstand, som er forskjellig fra avstanden du vil få fra sammenkoblede mathopen / mathclose avgrensninger eller fra \left/\right
selv om \left/\right
ikke strekker symbolet. Personlig foretrekker jeg venstre / høyre avstand fra matematiker her (selv om @egreg sier at jeg generelt er feil 🙂
\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}
Svar
Man kan også bruke commath
pakke.
\documentclass{article} \usepackage{commath} \begin{document} \[ \norm{a \vec{u}} = \abs{a} \, \norm{\vec{v}} \] \end{document}
Kommentarer
- +1 for denne, da den inkluderer semantikk og har en relativt kort syntaks.
- Avstanden er på en eller annen måte dårlig når den brukes som abonnement.
\abs{}
avphysics
er det bedre valget etter min mening.
Svar
physics
LaTeX-pakken implementerer også abs
og norm
:
\documentclass{article} \usepackage{physics} \begin{document} \[ c = \abs{-c} \] \[ \vu{a} = \frac{\vb{a}}{\norm{\vb{a}}} \] \end{document}
Kommentarer
- Jeg tror dette er den enkleste løsningen!
Svar
En enkel, opprinnelig LaTeX måte å gjøre dette på er ved å bruke \|
skilletegn, med standard \left
og \right
modifikatorer ( kilde ).
For eksempel:
\left\| \sum_{i=1}^{n} x^2 \right\|
gir
Kommentarer
- Også: ved hjelp av
|
skilletegn (uten forrige tilbakeslag) ts en enkelt vertikal stolpe. - For moro skyld kan du prøve
\|+a\|
, da du kan se at dette er galt, og dermed bør generelt ikke brukere ikke bare bruk|...|
eller\|...\|
da de ved et uhell kan komme i situasjoner der dette er galt. Jeg ‘ la det være som en øvelse hvorfor dette skjer. Pluss i ditt eksempel trenger ikke gjerdene være så høye. - Med
\|+a\|
ser det ut til at avstanden er feil, men med\left\|+a\right\|
det ser ut til å være greit. - Korrekt fordi den ene er igjen og den andre har rett. Men
\left
og\right
bør bare legges til når det faktisk er behov for det (noe som faktisk ikke er ofte). Min klage på svaret ditt er at det ikke er bra generelt, av grunner som er forklart i kommentarer til andre svar i denne tråden.
Svar
\documentclass{article} \usepackage{amsmath} \begin{document} \[ %begin equation \lVert w \rVert %end equation \] \end{document}
Svar
For LyX-brukere: kanskje jeg bare har oversett hvordan jeg gjør det riktig, men jeg kunne ikke finne en måte å gjøre dette innfødt.
Jeg brukte dermed et 1×1-Matrix-miljø og satte typen til determinant. Det kan bare være et hack, men det fungerer bra i min bruk.
Kommentarer
- I det minste når det gjelder Lyx 2.1.4, finner jeg ut at jeg bare kan skrive \ lvert og \ rvert i skjermformelen min og Lyx » gjør det rette. » I mitt spesifikke tilfelle vil jeg ha absolutte verdistenger rundt en brøkdel, så jeg brukte \ bigg \ lvert på den ene siden og \ bigg \ rvert på den andre siden.
Svar
Hvis du ikke vil bruke noen pakke, bruk \mid
.
Kommentarer
-
\vert
krever ikke ‘ t hvilken som helst pakke heller, og avstanden er ikke ‘ t så forferdelig som med\mid
.
\usepackage{amsmath}...\(\lvert x\rvert\)
;\mid
betegner et relasjonssymbol og er galt for den absolutte verdien.$\usepackage{mathtools}...\DeclarePairedDelimiter{\vert}{\lvert}{\rvert}
i henhold til svaret ditt på et tidligere spørsmål? tex.stackexchange.com/a/42274/9757\vert
er ikke et godt valg , som det ‘ allerede er definert.|
symbol?|
, men i noen situasjoner er det nødvendig med en viss pleie. ce\(|{-1}|=1\)
uten tannregulering ville komme feil ut, mens\(\lvert-1\rvert=1\)
helt sikkert gir riktig utgang.