Simboli di valore assoluto
Su Gennaio 29, 2021 da adminQuali sono le “migliori pratiche LaTeX” per scrivere simboli di valore assoluto? Esistono pacchetti che forniscono buoni metodi?
Alcune opzioni includono |x|
e \mid x \mid
, ma io “no certo qual è il migliore …
Commenti
Risposta
Ho utilizzato il codice seguente utilizzando \DeclarePairedDelimiter
dal mathtools
pacchetto .
Dal momento che non credo di avere un caso in cui non voglio che questo venga ridimensionato in base a il parametro, utilizzo Scambia la definizione del comando con stella e senza stella in modo che il normale utilizzo venga ridimensionato automaticamente e la versione con stella non “t:
Se vuoi viceversa, commenta il codice tra \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}
Commenti
- @egreg: daccordo. Ma non lho ancora riscontrato con
\abs
. A proposito, mi piace che il tuo ” sempre sia generalmente sbagliato ” 🙂 - @jamaicanworm: in questo caso ho usato
\dfrac
per creare una frazione più grande in modalità inline. Questo non è normalmente consigliato in modalità inline poiché interrompe la spaziatura tra i paragrafi. Aggiornerò la soluzione per rimuoverlo. - Cè ‘ un motivo per cui ‘ è preferibile utilizzare il
*
-versione per la macro di ridimensionamento automatico: sempre utilizzando\left
e\right
è sbagliato, in generale. - +1, anche se devo dire che questa risposta non è molto facile da leggere con lenorme ” limmagine ” / ” non contrassegnata da Speciali ” e il commento da qualche parte nel testo ” A proposito, il comportamento normale è il contrario di “. La domanda OTOH è quella che rende tutto in questo thread molto incline alla lettura rapida.
- un netto vantaggio dellutilizzo di comandi come
\abs
e\norm
che nessuno sembra aver menzionato: poiché il simbolo|
ha un significato speciale nel contestomakeidx
, il tentativo di inserire la terminologia utilizzando un|
allinterno di\index{...}
comporterà errori (ritardati) e molte tirate di capelli per qualcuno che non ha molta familiarità con quelluso. comandi come quelli mostrati qui (o anche solo\vert
,\Vert
o\mid
) è molto più sicuro e vale la pena familiarizzare con.
Risposta
Nota se devi solo utilizzare |
per ottenere la spaziatura mathord, che è diversa dalla spaziatura “d ottenere dai delimitatori mathopen / mathclose accoppiati o da \left/\right
anche se \left/\right
non allunga il simbolo. Personalmente preferisco la spaziatura sinistra / destra da mathinner qui (anche se @egreg dice che “generalmente sbaglio 🙂
\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}
Risposta
Si può anche utilizzare commath
pacchetto.
\documentclass{article} \usepackage{commath} \begin{document} \[ \norm{a \vec{u}} = \abs{a} \, \norm{\vec{v}} \] \end{document}
Commenti
- +1 per questo, poiché include la semantica e ha una sintassi relativamente breve.
- La spaziatura è in qualche modo pessima se usata come pedice. div id = “6e31f2ab16”>
di physics
è la scelta migliore a mio parere.
Risposta
physics
Il pacchetto LaTeX implementa anche abs
e norm
:
\documentclass{article} \usepackage{physics} \begin{document} \[ c = \abs{-c} \] \[ \vu{a} = \frac{\vb{a}}{\norm{\vb{a}}} \] \end{document}
Commenti
- Penso che questa sia la soluzione più semplice!
Risposta
Un modo semplice e nativo LaTeX per eseguire questa operazione consiste nellutilizzare il delimitatore \|
, con lo standard \left
e \right
modificatori ( sorgente ).
Ad esempio:
\left\| \sum_{i=1}^{n} x^2 \right\|
fornisce
Commenti
- Inoltre: utilizzando il delimitatore
|
(senza la barra rovesciata precedente) inser è una singola barra verticale. - Per divertimento prova
\|+a\|
, come puoi vedere questo è sbagliato, e quindi generalmente gli utenti non dovrebbero utilizza solo|...|
o\|...\|
perché potrebbero accidentalmente trovarsi in situazioni in cui ciò è sbagliato. ‘ lo lascio come esercizio per spiegare perché questo accade. Inoltre, nel tuo esempio, le recinzioni non devono essere così alte. - Con
\|+a\|
la spaziatura sembra essere sbagliata, ma con\left\|+a\right\|
sembra che vada bene. - Corretto perché uno è a sinistra e laltro a destra. Tuttavia,
\left
e\right
dovrebbero essere aggiunti solo quando effettivamente necessario (cosa che in realtà non è frequente). Il mio reclamo alla tua risposta è che non è buona in generale, per ragioni che sono spiegate nei commenti ad altre risposte in questo thread.
Risposta
\documentclass{article} \usepackage{amsmath} \begin{document} \[ %begin equation \lVert w \rVert %end equation \] \end{document}
Risposta
Per gli utenti LyX: forse ho appena trascurato come farlo correttamente, ma non potevo “t trova un modo per farlo in modo nativo.
Ho quindi utilizzato un ambiente 1×1-Matrix e ho impostato il tipo su determinante. Potrebbe essere solo un hack, ma funziona bene nel mio caso duso.
Commenti
- Almeno nel caso di Lyx 2.1.4, trovo che posso semplicemente digitare \ lvert e \ rvert nella mia formula di visualizzazione e Lyx ” fa la cosa giusta. ” Nel mio caso specifico voglio barre del valore assoluto intorno a una frazione, quindi ho usato \ bigg \ lvert su un lato e \ bigg \ rvert sullaltro lato.
Risposta
Se non vuoi utilizzare alcun pacchetto, utilizza \mid
.
Commenti
-
\vert
‘ non richiedono qualsiasi pacchetto e la spaziatura non è ‘ così orribile come con\mid
.
\usepackage{amsmath}...\(\lvert x\rvert\)
;\mid
denota un simbolo di relazione ed è sbagliato per il valore assoluto.$\usepackage{mathtools}...\DeclarePairedDelimiter{\vert}{\lvert}{\rvert}
secondo la tua risposta a una domanda precedente? tex.stackexchange.com/a/42274/9757\vert
non è una buona scelta , poiché ‘ è già definito.|
?|
, ma in alcune situazioni è necessaria una certa attenzione. Per istan ce\(|{-1}|=1\)
senza le parentesi graffe risulterebbe sbagliato, mentre\(\lvert-1\rvert=1\)
fornisce sicuramente un output corretto.