是否可以缩短 \left 和 \right 的使用时间?

是否可以缩短 \left 和 \right 的使用时间?

因此,我正在编写一个包含以下代码的乳胶文档

\begin{align*}
    n! - k &= n! - \sum_{i=1}^{\left\lfloor\frac{n}{r}\right\rfloor}(-1)^{i+1}\binom{n}{r,\dots,n-ir} ((r-1)!)^i(n-ir)!\frac{1}{i!}\\[1em]
    &= n! - \sum_{i=1}^{\left\lfloor\frac{n}{r}\right\rfloor}(-1)^{i+1} \frac{n!}{(r!)^i(n-ir)!}((r-1)!)^i(n-ir)!\frac{1}{i!}\\[1em]
    &= n! - \sum_{i=1}^{\left\lfloor\frac{n}{r}\right\rfloor}(-1)^{i+1} \frac{n!}{r^i(n-ir)!}(n-ir)!\frac{1}{i!}\\[1em]
    &= n! - \sum_{i=1}^{\left\lfloor\frac{n}{r}\right\rfloor}(-1)^{i+1}\frac{n!}{r^i*i!}\\[1em]
    &= n!\left(1-\sum_{i=1}^{\left\lfloor\frac{n}{r}\right\rfloor}(-1)^{i+1}\frac{1}{r^i*i!}\right)\\[1em]
    &= n!\left((-1)^0\frac{1}{r^0*0!}-\sum_{i=1}^{\left\lfloor\frac{n}{r}\right\rfloor}(-1)^{i+1}\frac{1}{r^i*i!}\right)\\[1em]
    &= n!\sum_{i=0}^{\left\lfloor\frac{n}{r}\right\rfloor}(-1)^{i}\frac{1}{r^i*i!}
\end{align*}

我想你会同意我的观点,它看起来很恶心。一般是因为它看起来充斥着太多的\left\lfloor <...> \right\rfloor字符串。

是否可以定义一个命令,在一般情况下为我写入\left和?我在这里读过这篇文章\right是否可以在一个命令中写入 `\left(` `\right)`?但它只涵盖了我想使用圆括号的情况。如果我想使用方括号、竖线或天花板支架怎么办?

答案1

您可以加载该mathtools包并使用其\DeclarePairedDelimiter宏来创建一个名为的宏,\floor如下所示:

\DeclarePairedDelimiter\floor\lfloor\rfloor

\left\lfloor\frac{n}{r}\right\rfloor并将的所有实例替换为\floor{\frac{n}{r}}。 (有关 用法的更多信息\DeclarePairedDelimiter,请参阅第 3.6 节“成对分隔符”,在用户指南包裹mathtools

而且,由于有相当多的实例\floor{\frac{n}{r}},为它们创建一个简写宏很有用,例如,

\newcommand\flnr{\floor{\frac{n}{r}}}

此外,我会用 替换所有乘法,*\,,thinspace。此外,使用\biggl(和表示第 5 行和第 6 行的大括号,因为和\biggr)产生的括号从纯粹的印刷/美学角度来看太大了。\left(\right)

在此处输入图片描述

\documentclass{article}
\usepackage{mathtools} % for '\DeclarePairedDelimiter' macro
\DeclarePairedDelimiter\floor\lfloor\rfloor
\newcommand\flnr{\floor{\frac{n}{r}}} % handy shortcut macro

\begin{document}
\begin{align*}
n!-k 
    &= n! - \sum_{i=1}^{\flnr} (-1)^{i+1} \binom{n}{r,\dots,n-ir} ((r-1)!)^i(n-ir)!\,\frac{1}{i!}\\[1ex]
    &= n! - \sum_{i=1}^{\flnr} (-1)^{i+1} \frac{n!}{(r!)^i(n-ir)!}((r-1)!)^i(n-ir)!\,\frac{1}{i!}\\[1ex]
    &= n! - \sum_{i=1}^{\flnr} (-1)^{i+1} \frac{n!}{r^i(n-ir)!}(n-ir)!\,\frac{1}{i!}\\[1ex]
    &= n! - \sum_{i=1}^{\flnr} (-1)^{i+1}\frac{n!}{r^i\,i!}\\[1ex]
    &= n!\biggl(1-\sum_{i=1}^{\flnr} (-1)^{i+1}\frac{1}{r^i\,i!}\biggr)\\[1ex]
    &= n!\biggl((-1)^0\frac{1}{r^0\,0!}-\sum_{i=1}^{\flnr} (-1)^{i+1}\frac{1}{r^i\,i!}\biggr)\\[1ex]
    &= n!\sum_{i=0}^{\flnr} (-1)^{i}\frac{1}{r^i\,i!}
\end{align*}
\end{document}

答案2

我的建议与 Mico 的几乎相同,但也存在一些显著差异:

  1. n/r代替\frac{n}{r}
  2. \,当阶乘后跟另一个要相乘的对象时,进行添加(如果该对象本身不产生空间,如最后一行所示);
  3. \bigl使用和处理两个嵌套括号的实例\bigr
  4. 不需要额外的垂直空间(由于n/r总和的上限)。

*我赞同避免乘法并用分母代替的建议\,;这通常不是必要的,但这些情况似乎需要它,主要是因为指数和以下符号中的字母相同。

\documentclass{article}
\usepackage{amsmath,mathtools}

\DeclarePairedDelimiter{\floor}{\lfloor}{\rfloor}

\begin{document}

\begin{align*}
n! - k 
&= n! - \sum_{i=1}^{\floor{n/r}}(-1)^{i+1}\binom{n}{r,\dots,n-ir} 
          \bigl((r-1)!\bigr)^i(n-ir)!\,\frac{1}{i!}
\\
&= n! - \sum_{i=1}^{\floor{n/r}}(-1)^{i+1} 
          \frac{n!}{(r!)^i(n-ir)!}\bigl((r-1)!\bigr)^i(n-ir)!\,\frac{1}{i!}
\\
&= n! - \sum_{i=1}^{\floor{n/r}}(-1)^{i+1} \frac{n!}{r^i(n-ir)!}(n-ir)!\,\frac{1}{i!}
\\
&= n! - \sum_{i=1}^{\floor{n/r}}(-1)^{i+1}\frac{n!}{r^i\,i!}
\\
&= n!\,\biggl(1-\sum_{i=1}^{\floor{n/r}}(-1)^{i+1}\frac{1}{r^i\,i!}\biggr)
\\
&= n!\,\biggl((-1)^0\frac{1}{r^0\,0!}-
            \sum_{i=1}^{\floor{n/r}}(-1)^{i+1}\frac{1}{r^i\,i!}\biggr)
\\
&= n!\sum_{i=0}^{\floor{n/r}}(-1)^{i}\frac{1}{r^i\,i!}
\end{align*}

\end{document}

在此处输入图片描述

答案3

您可以使用\qtyfromphysics\binomfrom amsmath,它们的工作方式如下:

\documentclass{article}
\usepackage{physics, amsmath}

\begin{document}

\begin{align*}
    S &= \qty(\sum_{k=0}^n \binom{n}{k} x^k y^{n-k})\\
    S &= \qty{\sum_{k=0}^n \binom{n}{k} x^k y^{n-k}}\\
    S &= \qty[\sum_{k=0}^n \binom{n}{k} x^k y^{n-k}]
\end{align*}

\end{document}

在此处输入图片描述

physics软件包还可以帮助您更轻松地使用 来编写矩阵\mqty。您只需编写\mqty,然后使用您想要的分隔符()[]{},然后编写任何您喜欢的分隔符。用 分隔每列&,用 分隔每行,\\就像在通常的数组中一样。

相关内容