Symbole wartości bezwzględnych
On 29 stycznia, 2021 by adminJakie są „najlepsze praktyki LaTeX-a” dotyczące pisania symboli wartości bezwzględnych? Czy są jakieś pakiety, które zapewniają dobre metody?
Niektóre opcje to |x|
i \mid x \mid
, ale ja nie pewnie, który jest najlepszy …
Komentarze
Odpowiedź
Używałem poniższego kodu przy użyciu \DeclarePairedDelimiter
z mathtools
pakiet .
Ponieważ nie sądzę, żebym miał przypadek, w którym nie chcę skalować tego na podstawie parametr, używam Zamień definicję polecenia oznaczonego gwiazdką i bez niego , aby normalne użycie było skalowane automatycznie, a wersja oznaczona gwiazdką wygrała „t:
Jeśli chcesz, aby to było na odwrót, zakomentuj kod między \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}
Komentarze
- @egreg: Zgoda. Ale nie spotkałem się z tym jeszcze w przypadku
\abs
. Przy okazji, podoba mi się twój ” zawsze jest ogólnie zły ” 🙂 - @jamaicanworm: W tym przypadku użyłem
\dfrac
, aby utworzyć większy ułamek w trybie wbudowanym. Zwykle nie jest to zalecane w trybie wbudowanym, ponieważ przerywa odstępy między akapitami. Zaktualizuję rozwiązanie, aby to usunąć. - Istnieje ' powód, dla którego ' lepiej jest używać
*
– wersja makra automatycznej zmiany rozmiaru: zawsze przy użyciu\left
i\right
jest ogólnie błędny. - +1, chociaż muszę powiedzieć, że ta odpowiedź nie jest zbyt przyjazna dla przejrzenia, z ogromnym ” oznaczony gwiazdką ” / ” nieoznaczony gwiazdką ” obraz i uwaga gdzieś w tekście ” Nawiasem mówiąc, normalne zachowanie jest odwrotne „. Pytanie OTOH sprawia, że wszystko w tym wątku jest bardzo podatne na przejrzenie.
- Zdecydowana zaleta używania poleceń takich jak
\abs
i , o którym chyba nikt nie wspomniał: ponieważ symbol|
ma specjalne znaczenie w kontekściemakeidx
, próba wprowadzenia terminologii za pomocą czystego|
w ciągu\index{...}
spowoduje (opóźnione) błędy i dużo wyrywania włosów dla kogoś niezbyt dobrze z tym użyciem. polecenia takie jak te pokazane tutaj (lub nawet same\vert
,\Vert
lub\mid
) jest dużo bezpieczniejsze i warto się z nim zapoznać.
Odpowiedź
Uwaga, jeśli po prostu używasz |
, otrzymujesz odstępy matematyczne, które różnią się od odstępów, które „d otrzymujesz ze sparowanych separatorów matematycznych / mathclose lub \left/\right
nawet jeśli \left/\right
nie „rozciąga” symbolu. Osobiście wolę tutaj odstępy lewy / prawy od matematyki (nawet jeśli @egreg mówi, że ogólnie się mylę 🙂
\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}
Odpowiedź
Można również użyć commath
pakiet.
\documentclass{article} \usepackage{commath} \begin{document} \[ \norm{a \vec{u}} = \abs{a} \, \norm{\vec{v}} \] \end{document}
Komentarze
- +1 dla tego, ponieważ zawiera semantykę i ma stosunkowo krótką składnię.
- Odstępy są w jakiś sposób złe, gdy są używane jako indeks dolny.
\abs{}
zphysics
jest moim zdaniem lepszym wyborem.
Odpowiedź
physics
Pakiet LaTeX obsługuje również abs
i norm
:
\documentclass{article} \usepackage{physics} \begin{document} \[ c = \abs{-c} \] \[ \vu{a} = \frac{\vb{a}}{\norm{\vb{a}}} \] \end{document}
Komentarze
- Myślę, że to najłatwiejsze rozwiązanie!
Odpowiedź
Prostym, natywnym sposobem LaTeX-a jest użycie separatora \|
ze standardowym \left
i \right
( źródło ).
Na przykład:
\left\| \sum_{i=1}^{n} x^2 \right\|
daje
Komentarze
- Ponadto: używając separatora
|
(bez poprzedzającego odwrotnego ukośnika) to pojedynczy pionowy pasek. - Dla zabawy spróbuj
\|+a\|
, ponieważ widzisz, że jest to błędne i dlatego użytkownicy nie powinni po prostu użyj|...|
lub\|...\|
, ponieważ mogą przypadkowo znaleźć się w sytuacjach, w których jest źle. ' zostawię to jako ćwiczenie, dlaczego tak się dzieje. Poza tym w Twoim przykładzie ogrodzenia nie muszą być tak wysokie. - W przypadku
\|+a\|
odstęp wydaje się być nieprawidłowy, ale z\left\|+a\right\|
wydaje się być w porządku. - Poprawnie, ponieważ jeden jest po lewej, a drugi po prawej. Ale
\left
i\right
powinny być dodawane tylko wtedy, gdy są rzeczywiście potrzebne (co w rzeczywistości nie jest częste). Narzekam na twoją odpowiedź, że generalnie nie jest dobra, z powodów wyjaśnionych w komentarzach do innych odpowiedzi w tym wątku.
Odpowiedź
\documentclass{article} \usepackage{amsmath} \begin{document} \[ %begin equation \lVert w \rVert %end equation \] \end{document}
Odpowiedź
Dla użytkowników LyX: może właśnie przeoczyłem, jak to zrobić poprawnie, ale nie mogłem znaleźć sposób na zrobienie tego natywnie.
W ten sposób użyłem środowiska 1×1-Matrix i ustawiłem rodzaj na determinantę. Może to być tylko hack, ale działa dobrze w moim przypadku.
Komentarze
- Przynajmniej w przypadku Lyxa 2.1.4 stwierdzam, że mogę po prostu wpisać \ lvert i \ rvert do mojej formuły wyświetlania, a Lyx ” robi właściwą rzecz. ” W moim konkretnym przypadku chcę, aby słupki wartości bezwzględnej otaczały ułamek, więc użyłem \ bigg \ lvert po jednej stronie i \ bigg \ rvert po drugiej stronie.
Odpowiedź
Jeśli nie chcesz używać żadnego pakietu, użyj \mid
.
Komentarze
-
\vert
nie ' nie wymaga dowolny pakiet, a odstępy nie są ' tak okropne, jak w przypadku\mid
.
\usepackage{amsmath}...\(\lvert x\rvert\)
;\mid
oznacza symbol relacji i jest błędny dla wartości bezwzględnej.$\usepackage{mathtools}...\DeclarePairedDelimiter{\vert}{\lvert}{\rvert}
zgodnie z Twoją odpowiedzią na poprzednie pytanie? tex.stackexchange.com/a/42274/9757\vert
nie jest dobrym wyborem , ponieważ ' jest już zdefiniowane.|
?|
, ale w niektórych sytuacjach trzeba zachować ostrożność. ce\(|{-1}|=1\)
bez nawiasów klamrowych wyszedłby nieprawidłowo, podczas gdy\(\lvert-1\rvert=1\)
z pewnością daje prawidłowe wyjście.