我正在尝试以某种方式排版下面的公式,使m_j=m_i
和z_j=z_i
具有相同的脚本大小,=
对齐,并且j:
在两者之前,较大,并且在行之间具有垂直位置。如何做到这一点?
\documentclass[a4paper,12pt]{book}
\usepackage{amsmath,amssymb}
\begin{document}
\begin{align}
y&=\sum_i\frac{\left(1-\frac{1}{\sum_{j:_{m_j=m_i}^{z_j=z_i}}
{f(m(j),z(j),s(j))}}\right)^2}{1}\\
y&=\sum_i\frac{\left(1-\frac{1}{\sum_{j:\substack{m_j=m_i\\z_j=z_i}}
{f(m(j),z(j),s(j))}}\right)^2}{1}\\
y&=\sum_i\frac{\left(1-\frac{1}{\sum_{j:\stackrel{m_j=m_i}{z_j=z_i}}
{f(m(j),z(j),s(j))}}\right)^2}{1}
\end{align}
\end{document}
答案1
您可能还想考虑使用包subarray
提供的环境amsmath
。
在下面的 MWE 中,第一个方程使用此环境来排版示例的“内部”公式。第二个方程将此内部公式放入完整表达式中,看起来很拥挤,因为根据 TeX 的规则,内部公式的内容都是在 scriptscriptstyle/scriptstyle 中设置的。同时,围绕分子的括号过大,因为它们使用了\left
和\right
指令。相对于第二个方程,第三个方程使用 (i) 命令\dfrac
来恢复内部公式的整体外观,(ii) 一对\bigl(
和\bigr)
括号来帮助在视觉上区分过多的括号,(iii) 一对\Biggl(
和\Biggr)
指令来围绕分子,以及 (iv)\mathlarger
命令(由包提供relsize
)来增加外部求和符号的大小。
\documentclass{article}
\usepackage{amsmath,relsize}
\begin{document}
\begin{gather*}
\sum\nolimits_{j:\,
\begin{subarray}{c}
m_j=m_i \\ z_j=z_i
\end{subarray}}
f(m(j),z(j),s(j)) \\
y = \sum_i \frac{\left( 1-\frac{1}{
\sum\nolimits_{j:\,
\begin{subarray}{c}
m_j=m_i \\ z_j=z_i
\end{subarray}}
f(m(j),z(j),s(j))}\right)^2}{i}\\
y = \mathlarger{\sum}_i \frac{\Biggl( 1-\dfrac{1}{
\sum\nolimits_{j: \,
\begin{subarray}{c}
m_j=m_i \\ z_j=z_i
\end{subarray}}
f\bigl(m(j),z(j),s(j)\bigr)}\Biggr)^2}{i}
\end{gather*}
\end{document}
答案2
使用标准 LaTeX 方法也可以实现这一点,但在这种情况下,直接使用 TeX 基元的方法更为方便
\documentclass{article}
\usepackage{amsmath}
\newcommand\mycomplicatedsubscript{
j\colon
\vcenter{
\offinterlineskip
\halign{
\hfil$\scriptscriptstyle##$&$\scriptscriptstyle##$\hfil\cr
\mathstrut m_j&=m_i\cr\noalign{\kern1pt}
z_j&=z_i\cr
}}
}
\begin{document}
\[
y=\sum_i\frac{\biggl(1-\dfrac{1}{\sum_{\mycomplicatedsubscript}f(m(j),z(j),s(j))}\biggr)^2}{1}
\]
\end{document}
请注意使用\dfrac
和而不是\biggl
和,这会使括号不平衡,因为分母比分子高得多。
\biggr
\left
\right