\begin{alignat}{3}
\cos \sum_j \alpha_j
& = \sum_{k=0}^\infty (-1)^k
&& \sum_{|A|=2k} & \prod_{j\in A} \sin\alpha_j \prod_{j\notin A} \cos\alpha_j \\
\sin \sum_j \alpha_j
& = \sum_{k=0}^\infty (-1)^k
&& \sum_{|A|=2k+1} & \prod_{j\in A} \sin\alpha_j \prod_{j\notin A} \cos\alpha_j
\end{alignat}
看起来“alignat”可以将所有内容对齐到右侧或左侧。但是,为了形成一种诗意的节奏,我认为这实际上可能有助于理解并减少干扰,将两个带有下标的巨型 Sigma 对齐似乎是一个好主意,|A|=2k
并且|A|=2k+1
应该彼此对齐,但由于下标的不同,它们并没有对齐。
那么应该如何做呢?
此外,下标2k+1
与后面的下标距离太近,这让人感到不舒服j\in A
。该如何处理?
针对以下回答和评论的后记:我刚刚对下面引用的整个文档运行了 TeXworks。我仍然收到这样的信息:“抱歉,但“C:\Program Files (x86)\MiKTeX 2.9\miktex\bin\texify.exe”未成功。”
\documentclass{article}
\usepackage{mathtools}
\usepackage{eqparbox}
\newcommand\eqmathbox[2][M]{\eqmakebox[M#1 {$\scriptstyle#2$}}
\begin{document}
trigonometric identities
\end{document}
答案1
两次比对即可。您可以使用 eqparbox
包和\smashoperator
来自的命令mathtools
。需要进行两次编译。
\documentclass{article}
\usepackage{mathtools}
\usepackage{eqparbox}
\newcommand\eqmathbox[2][M]{\eqmakebox[M#1]{$\scriptstyle#2$}}
\begin{document}
\begin{alignat}{2}
\cos \sum_j \alpha_j
& = \sum_{k=0}^\infty (-1)^k
&& \smashoperator[l]{\sum_{\eqmathbox[i]{|A|=2k}}} \prod_{j\in A} \sin\alpha_j \prod_{j\notin A} \cos\alpha_j \\
\sin \sum_j \alpha_j
& = \sum_{k=0}^\infty (-1)^k
&&\smashoperator[l]{ \sum_{\eqmathbox[i]{|A|=2k+1}}} \prod_{j\in A} \sin\alpha_j \prod_{j\notin A} \cos\alpha_j
\end{alignat}
\end{document}
答案2
需要微调水平的和与积符号的对齐和这垂直的在求和/乘法的极限中放置符号。对于后者,我建议您\mathstrut
在所有下标位置插入指令。对于前者,我建议结合\mathclap
(在所有下标项上)和选定的\mkern
(“数学字距”)语句。
\documentclass{article}
\usepackage{mathtools} % for \mathclap and \DeclarePairedDelimiter macros
\DeclarePairedDelimiter\abs\lvert\rvert
\begin{document}
\begin{align}
\cos\sum_{\mathstrut j}\alpha_j
&= \sum_{\mathstrut\mathclap{k=0}}^\infty (-1)^k
\sum_{\mathstrut\mathclap{\smash{\abs{A}=2k}}} \mkern21mu
\prod_{\mathstrut\mathclap{j\in A}} \sin\alpha_j
\prod_{\mathstrut\mathclap{j\notin A}} \cos\alpha_j \\
\sin\sum_{\mathstrut j}\alpha_j
&= \sum_{\mathstrut\mathclap{k=0}}^\infty (-1)^k
\sum_{\mathstrut\mathclap{\abs{A}=2k+1}} \mkern21mu
\prod_{\mathstrut\mathclap{j\in A}} \sin\alpha_j
\prod_{\mathstrut\mathclap{j\notin A}} \cos\alpha_j
\end{align}
\end{document}
答案3
这是为了向那些没有耐心为更复杂的解决方案做额外工作的人提供一个简单的答案。OP不喜欢 的结果\phantom{+1}
,但可以简单地将其分布在下标的两侧以获得更好的结果。请注意 的使用\enspace
,利用间距功能(这就是为什么它只需要在第一行),在和\alignat
之间留出一点空间。|A| = 2k + 1
j \in A
\documentclass{article}
\usepackage[a6paper,landscape]{geometry}
\usepackage{amsmath}
\begin{document}
\begin{alignat}{3}
\cos \sum_j \alpha_j
& = \sum_{k=0}^\infty (-1)^k
&& \sum_{\phantom{+}|A|=2k\phantom{1}} &\enspace \prod_{j\in A} \sin\alpha_j \prod_{j\notin A} \cos\alpha_j \\
\sin \sum_j \alpha_j
& = \sum_{k=0}^\infty (-1)^k
&& \sum_{|A|=2k+1} &\ \prod_{j\in A} \sin\alpha_j \prod_{j\notin A} \cos\alpha_j
\end{alignat}
\end{document}
如果您不喜欢后两个和之间的空格,那只是个人喜好问题,有两种简单的解决方案。第一种是重新排列&
原始代码中的使用,这样问题和就位于对齐之前&
而不是之后。这会让事情稍微紧凑一些。
\cos \sum_j \alpha_j
& = \sum_{k=0}^\infty (-1)^k
& \sum_{\phantom{+}|A|=2k\phantom{1}} & &\enspace \prod_{j\in A} \sin\alpha_j \prod_{j\notin A} \cos\alpha_j \\
\sin \sum_j \alpha_j
& = \sum_{k=0}^\infty (-1)^k
& \sum_{|A|=2k+1} & & \prod_{j\in A} \sin\alpha_j \prod_{j\notin A} \cos\alpha_j
如果这还不够,第二种解决方案是\hskip
在两行的最后一个和前面使用负数。但这只在原始排列中有效,即在对齐之后,&
而不是在间距之后&
。
\cos \sum_j \alpha_j
& = \sum_{k=0}^\infty (-1)^k
&&\hskip-0.5em \sum_{\phantom{+}|A|=2k\phantom{1}} &\enspace \prod_{j\in A} \sin\alpha_j \prod_{j\notin A} \cos\alpha_j \\
\sin \sum_j \alpha_j
& = \sum_{k=0}^\infty (-1)^k
&&\hskip-0.5em \sum_{|A|=2k+1} & \prod_{j\in A} \sin\alpha_j \prod_{j\notin A} \cos\alpha_j