这是对«我怎样才能对齐“lim”的限制?»。实现以下对齐的最佳方法是什么?也就是说,我希望两者\prod
对齐,但每行应与 (La)TeX 默认生成的行保持一致,只需水平移动以满足对齐要求。
以下是生成上述内容的代码。如您所见,我使用了临时数量的\mspace
。
\documentclass{standalone}
\usepackage{amsmath}
\begin{document}
\begin{minipage}{.75\textwidth}
\begin{align*}
& \prod_{-n\leq k\leq n-1} \left[\frac{k+1}{k}\right] = -1 \\
& \mspace{16mu} \prod_{1\leq j\leq n} j = \lim_{m\to\infty} \frac{m^{n+1} m!}{(n+1)(n+2)(n+3)\cdots(n+m+1)}
\end{align*}
\end{minipage}
\end{document}
答案1
有趣的是, \tempa 在某些时候会被设置为零,因此必须重新计算。
\documentclass{standalone}
\usepackage{mathtools}
\newlength{\tempa}
\newcommand{\aligncenter}[1]% #1=display math to be aligned
{\settowidth{\tempa}{$\displaystyle #1$}%
\hspace{0.5\tempa}&%
\settowidth{\tempa}{$\displaystyle #1$}%
\hspace{-0.5\tempa}#1}
\begin{document}
\begin{minipage}{0.75\textwidth}
\begin{align*}
\aligncenter{\prod_{-n\leq k\leq n-1}} \left[\frac{k+1}{k}\right] = -1 \\
\aligncenter{\prod_{1\leq j\leq n}} j = \lim_{m\to\infty} \frac{m^{n+1} m!}{(n+1)(n+2)(n+3)\cdots(n+m+1)}
\end{align*}
\end{minipage}
\end{document}
答案2
在这种特定情况下,次优选择是使用\smashoperator[l]
:
\documentclass{article}
\usepackage{mathtools}% Loads amsmath
\begin{document}
\begin{align*}
& \smashoperator[l]{\prod_{-n \leq k \leq n-1}}\left[\frac{k+1}{k}\right] = -1 \\
& \smashoperator[l]{\prod_{1 \leq j \leq n}} j = \lim_{m\to\infty} \frac{m^{n+1} m!}{(n+1)(n+2)(n+3)\cdots(n+m+1)}
\end{align*}
\end{document}
我提到次优,因为对齐已实现,但align
ed 方程的总水平宽度小于-n\leq
顶部宽度为零的 的宽度\prod
。可以通过一些工作来纠正这个问题。以下是一次这样的尝试:
\documentclass{article}
\usepackage{mathtools}% Loads amsmath
\DeclareMathOperator*{\dummyop}{}
\begin{document}
\begin{align*}
& \smashoperator[l]{\prod_{-n \leq k \leq n-1}}\left[\frac{k+1}{k}\right] = -1 \\
& \smashoperator[l]{\prod_{1 \leq j \leq n}} j = \lim_{m\to\infty} \frac{m^{n+1} m!}{(n+1)(n+2)(n+3)\cdots(n+m+1)}
\end{align*}
\begin{align*}
& \smashoperator[l]{\prod_{-n \leq k \leq n-1}}\left[\frac{k+1}{k}\right] = -1 \\
& \smashoperator[l]{\prod_{1 \leq j \leq n}} j = \lim_{m\to\infty} \frac{m^{n+1} m!}{(n+1)(n+2)(n+3)\cdots(n+m+1)}
\hphantom{\smashoperator[r]{\dummyop_{-n \leq k \leq n-1}}}
\end{align*}
\end{document}
\dummyop
我们创建一个具有相同、最宽限制的空运算符,并将其粉碎[r]
在第二个(最长)方程末尾的右侧。
答案3
你可以用命令来实现\mathclap
。由于我不明白minipage
这里的环境有什么用,所以我删除了它。
\documentclass{article}
\usepackage{mathtools}
\usepackage{nccmath}
\begin{document}
\begin{align*}
& \prod_{\mathclap{k = -n}}^{\mathclap{n-1}}\; \biggl[\frac{k+1}{k}\biggr] = -1 \\
& \prod_{\mathclap{j = 1}}^{n} j = \lim_{m\to\infty} \frac{m^{n+1} m!}{(n+1)(n+2)(n+3)\cdots(n+m+1)}
\end{align*}
\end{document}