“地板”和“天花板”功能

“地板”和“天花板”功能

有没有一种方便的方法来排版数字的下限或上限,而不需要分别编码左右部分?例如,有没有办法$\ceil{x}$代替$\lceil x \rceil$

答案1

\usepackage{mathtools}
\DeclarePairedDelimiter{\ceil}{\lceil}{\rceil}

该命令\ceil将执行;如果调用\ceil*{x}它将添加\left\right;您也可以将其调用为

\ceil[\big]{x} \ceil[\Big]{x} \ceil[\bigg]{x} \ceil[\Bigg]{x}

明确说明定界符的大小。

答案2

这是一个简单的xparse的实现\ceil,类似于mathtools' \DeclarePairedDelimiter

\ceil 的 xparse 实现

\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}

在带星号的版本中,可选参数被忽略\ceil*[..]{..}

答案3

您可以使用简单的单行定义您的命令,如下所示:

\newcommand{\ceil}[1]{\lceil {#1} \rceil}

上面的命令定义表明你的命令接受一个输入 [1],并在预定义命令之间使用该输入\lceil,并\rceil通过{#1}

希望能帮助到你。

相关内容