Articles
' Piętro ' i ' sufit ' funkcje
On 1 grudnia, 2020 by admin Czy istnieje wygodny sposób składania liczby na podłogę lub sufit bez konieczności osobnego kodowania lewej i prawej części? Na przykład, czy istnieje sposób zrobienia $\ceil{x}$
zamiast $\lceil x \rceil$
?
Komentarze
Odpowiedź
\usepackage{mathtools} \DeclarePairedDelimiter{\ceil}{\lceil}{\rceil}
Polecenie \ceil
wystarczy; jeśli zostanie wywołany jako \ceil*{x}
, doda \left
i \right
; możesz również nazwać to jako
\ceil[\big]{x} \ceil[\Big]{x} \ceil[\bigg]{x} \ceil[\Bigg]{x}
, aby wyraźnie określić rozmiar separatorów.
Komentarze
- Nawet po ponad 10 latach LaTeXingu wciąż uczy się nowych sztuczek!
- Nie ' nie mów mi! Uczę się nowych sztuczek nawet po 25 latach!
- @jamaicanworm Jest, myślę, że również na tej stronie. Ale wygrałem '. Nie mówię ci: używaj
\left
i\right
tylko wtedy, gdy są naprawdę potrzebne. - @jamaicanworm Definicja zamiany polecenia oznaczonego gwiazdką i bez niej omawia zamianę polecenia oznaczonego gwiazdką na polecenie bez wersja oznaczona gwiazdką.
- Aby złożyć funkcję podłogi, po prostu zamień " ceil " na " piętro ". Może to być oczywiste, ale może zaoszczędzić Ci kłopotów z przeglądaniem dokumentacji.
Odpowiedź
Oto prosta xparse
implementacja \ceil
, podobna do tej dostarczonej przez mathtools
„\DeclarePairedDelimiter
:
\documentclass{article} \usepackage{xparse}% http://ctan.org/pkg/xparse \NewDocumentCommand{\ceil}{s O{} m}{% \IfBooleanTF{#1} % starred {\left\lceil#3\right\rceil} % \ceil*[..]{..} {#2\lceil#3#2\rceil} % \ceil[..]{..} } \begin{document} \[\ceil[\big]{x} \quad \ceil[\Big]{x} \quad \ceil[\bigg]{x} \quad \ceil[\Bigg]{x} \quad \ceil*[\big]{\frac{1}{2}}\] \end{document}
Opcjonalny argument jest ignorowany w oznaczonej gwiazdką wersji \ceil*[..]{..}
.
Komentarze
- Możesz wyeliminować
\IfNoValueTF {\lceil#3\rceil}
, jeśli użyjesz{s O{} m}
. Następnie drugi argument#2
zostanie zdefiniowany, więc wystarczy#2\lceil#3#2\rceil
.
\lceil
i\rceil
to odpowiednie znaczniki.$\lceil x \rceil$
było już rozwiązaniem, którego szukałem;)