Simboluri cu valoare absolută
On ianuarie 29, 2021 by adminCare sunt „cele mai bune practici LaTeX” pentru scrierea simbolurilor cu valoare absolută? Există pachete care oferă metode bune?
Unele opțiuni includ |x|
și \mid x \mid
, dar eu nu sunt sigur care este cel mai bun …
Comentarii
Răspuns
Am folosit codul de mai jos folosind \DeclarePairedDelimiter
din mathtools
pachet .
Din moment ce nu cred că am un caz în care nu vreau ca acest lucru să se scala pe baza parametrul, folosesc Schimbați definiția comenzii cu stea și fără stea , astfel încât utilizarea normală să se scaleze automat, iar versiunea cu stea să câștige „t:
Dacă doriți invers, comentați codul dintre \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}
Comentarii
- @egreg: De acord. Dar nu am întâlnit asta cu
\abs
încă. BTW, îmi place ” întotdeauna este în general greșit ” 🙂 - @jamaicanworm: Am folosit
\dfrac
în acest caz pentru a face o fracțiune mai mare în modul inline. Acest lucru nu este recomandat în mod normal în modul inline, deoarece întrerupe distanța dintre paragrafe. Voi actualiza soluția pentru a elimina acest lucru. - Există ‘ motiv pentru care este ‘ preferabil să utilizați
*
-versiune pentru macro-ul de redimensionare automată: întotdeauna folosind\left
și\right
este greșit, în general. - +1, chiar dacă trebuie să spun că acest răspuns nu este foarte ușor de citit cu imensul ” stea ” / ” imagine fără stea ” și remarca undeva în text ” BTW, comportamentul normal este invers „. Întrebarea OTOH este una care face ca totul din acest fir să fie foarte predispus la citirea scrumată.
- un avantaj clar al utilizării comenzilor precum
\abs
și\norm
pe care nimeni nu pare să-l menționeze: deoarece simbolul|
are o semnificație specială în contextulmakeidx
, încercarea de a introduce terminologia utilizând un|
gol în\index{...}
va duce la erori (întârziate) și o mulțime de păr pentru cineva care nu este foarte familiar cu această utilizare. comenzi precum cele afișate aici (sau chiar doar goale\vert
,\Vert
sau\mid
) este mult mai sigur și merită să vă familiarizați.
Răspuns
Rețineți dacă pur și simplu folosiți |
obțineți spațierea mathord, care este diferită de spațiul pe care l-ați obține din delimitatorii matematici mathopen / mathclose sau din \left/\right
chiar dacă \left/\right
nu întinde simbolul. Personal prefer spațiunea stânga / dreapta de la mathinner aici (chiar dacă @egreg spune că „în general greșesc 🙂
\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}
Răspuns
Se poate folosi și commath
pachet.
\documentclass{article} \usepackage{commath} \begin{document} \[ \norm{a \vec{u}} = \abs{a} \, \norm{\vec{v}} \] \end{document}
Comentarii
- +1 pentru aceasta, deoarece include semantica și are o sintaxă relativ scurtă.
- Spațierea este oarecum rea când este utilizată ca indice. div id = „6e31f2ab16”>
din physics
este cea mai bună alegere în opinia mea.
Răspuns
physics
pachetul LaTeX implementează și abs
și norm
:
\documentclass{article} \usepackage{physics} \begin{document} \[ c = \abs{-c} \] \[ \vu{a} = \frac{\vb{a}}{\norm{\vb{a}}} \] \end{document}
Comentarii
- Cred că aceasta este cea mai ușoară soluție!
Răspuns
O modalitate simplă, nativă LaTeX de a face acest lucru este folosind delimitatorul \|
, cu standardul \left
și \right
modificatori ( sursă ).
De exemplu:
\left\| \sum_{i=1}^{n} x^2 \right\|
oferă
Comentarii
- De asemenea: folosind delimitatorul
|
(fără backslash-ul precedent) inser este o bară verticală simplă . - Pentru distracție, încercați
\|+a\|
, deoarece puteți vedea că acest lucru este greșit și, prin urmare, utilizatorii nu ar trebui să pur și simplu utilizați|...|
sau\|...\|
deoarece acestea pot intra accidental în situații în care acest lucru este greșit. ‘ îl voi lăsa ca exercițiu de ce se întâmplă acest lucru. În plus, în exemplul dvs. gardurile nu trebuie să fie atât de înalte. - Cu
\|+a\|
spațiul pare a fi greșit, dar cu\left\|+a\right\|
pare a fi în regulă. - Corect, deoarece unul este stâng și celălalt este drept. Dar
\left
și\right
trebuie adăugate numai atunci când este efectiv necesar (ceea ce de fapt nu este adesea). Reclamația mea la răspunsul dvs. este că nu este bună în general, din motive care sunt explicate în comentariile la alte răspunsuri din acest fir.
Răspuns
\documentclass{article} \usepackage{amsmath} \begin{document} \[ %begin equation \lVert w \rVert %end equation \] \end{document}
Răspuns
Pentru utilizatorii LyX: poate tocmai am trecut cu vederea cum să o fac corect, dar nu aș putea să găsiți o modalitate de a face acest lucru în mod nativ.
Astfel am folosit un mediu 1×1-Matrix și am stabilit tipul la determinant. S-ar putea să fie doar un hack, dar funcționează bine în caseta mea de utilizare.
Comentarii
- Cel puțin în cazul Lyx 2.1.4, constat că pot tasta pur și simplu \ lvert și \ rvert în formula mea de afișare și Lyx ” face ceea ce trebuie. ” În cazul meu specific doresc bare de valoare absolută în jurul unei fracții, așa că am folosit \ bigg \ lvert pe o parte și \ bigg \ rvert pe cealaltă parte.
Răspuns
Dacă nu doriți să utilizați niciun pachet, utilizați \mid
.
Comentarii
-
\vert
nu necesită ‘ fie orice pachet, iar spațiul nu este ‘ atât de îngrozitor ca și cu\mid
.
\usepackage{amsmath}...\(\lvert x\rvert\)
;\mid
denotă un simbol de relație și este greșit pentru valoarea absolută.$\usepackage{mathtools}...\DeclarePairedDelimiter{\vert}{\lvert}{\rvert}
conform răspunsului dvs. la o întrebare anterioară? tex.stackexchange.com/a/42274/9757\vert
nu este o alegere bună , deoarece ‘ este deja definit.|
?|
, dar în unele situații este necesară o anumită grijă. ce\(|{-1}|=1\)
fără bretele ar ieși greșit, în timp ce\(\lvert-1\rvert=1\)
oferă cu siguranță o ieșire corectă.