Articles
' Piano ' e ' soffitto ' funzioni
Su Dicembre 1, 2020 da admin Esiste un modo conveniente per comporre il pavimento o il soffitto di un numero, senza dover codificare separatamente le parti sinistra e destra? Ad esempio, esiste un modo per eseguire $\ceil{x}$
invece di $\lceil x \rceil$
?
Commenti
Risposta
\usepackage{mathtools} \DeclarePairedDelimiter{\ceil}{\lceil}{\rceil}
Il comando \ceil
funzionerà; se chiamato come \ceil*{x}
aggiungerà \left
e \right
; puoi anche chiamarlo come
\ceil[\big]{x} \ceil[\Big]{x} \ceil[\bigg]{x} \ceil[\Bigg]{x}
per indicare esplicitamente la dimensione dei delimitatori.
Commenti
- Anche dopo più di 10 anni di LaTeX si impara ancora qualche nuovo trucco!
- Non ' me lo dica! Imparo nuovi trucchi anche dopo 25 anni!
- @jamaicanworm Cè, credo anche su questo sito. Ma non ho ' dirtelo: usa
\left
e\right
solo quando sono davvero necessario. - @jamaicanworm Scambia la definizione del comando speciale e non speciale discute il passaggio da Speciali a non speciali versione speciale.
- Per comporre la funzione floor, è sufficiente sostituire " ceil " con " piano ". Questo può essere ovvio, ma potrebbe farti risparmiare la fatica di consultare la documentazione.
Risposta
Ecco un semplice xparse
implementazione di \ceil
, simile a quella fornita da 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}
Largomento facoltativo viene ignorato nella versione speciale di \ceil*[..]{..}
.
Commenti
- Potresti eliminare
\IfNoValueTF {\lceil#3\rceil}
se usassi{s O{} m}
. Quindi il secondo arg#2
sarà definito quindi è necessario solo#2\lceil#3#2\rceil
.
\lceil
e\rceil
sono i markup appropriati.$\lceil x \rceil$
era già la soluzione che stavo cercando;)