我把问题分成了两个问题,并决定将它们同时发布,以避免半重复,因为它们密切相关。第一个是将分数的所有部分(包括线)都呈现为不可见的,除了分子(或分母),保留该分子的位置。第二个是使用aligned
环境将方程的变量与另一个方程的分数的分子对齐(我没有用&
字符做到这一点)。
原始代码:
\documentclass{standalone}
\usepackage[alignedleftspaceno]{amsmath}
\begin{document}
$%
\begin{aligned}
&\frac{a}{\left(\frac{b}{c}\right)}=x\\
&a=x\cdot\frac{b}{c}
\end{aligned}
$
\end{document}
问题 1
a
将除分子 ( )之外的整个分数括入会\phantom
导致分子 ( a
) 本身与分数一起消失,并扭曲对齐
&\frac{a}{\left(\frac{b}{c}\right)}=x\\
&\phantom{\frac{}a\phantom{}{\left(\frac{b}{c}\right)}}=x\cdot\frac{b}{c}
将分母括入\phantom
保留不需要的分数线:
&\frac{a}{\left(\frac{b}{c}\right)}=x\\
&\frac{a}{\phantom{\left(\frac{b}{c}\right)}}=x\cdot\frac{b}{c}
问题 2
在分子处对齐&
无法编译:
\frac{&a}{\left(\frac{b}{c}\right)}=x\\
&a=x\cdot\frac{b}{c}
最后一段代码不仅需要将第二个方程式“a”在水平方向上与第一个方程式的分子“a”对齐(如上图所示),还需要将其相对于“等号”在垂直方向上正确定位。
答案1
不要告诉任何人,这是一个秘密的诀窍。
\documentclass[border=4]{standalone}
\usepackage{amsmath}
\newcommand{\latehfil}{\aftergroup\aftergroup\aftergroup\hfil}
\begin{document}
$\begin{aligned}
\frac{a}{\left(\frac{b}{c}\right)} &= x \\
a\latehfil &= x\cdot\frac{b}{c}
\end{aligned}$
\end{document}
如果你还想让“a”保持相同的高度,但我看不出有什么理由这样做,
\documentclass[border=4]{standalone}
\usepackage{amsmath}
\newcommand{\latehfil}{\aftergroup\aftergroup\aftergroup\hfil}
\newcommand{\fraconlynumerator}[2]{%
\begingroup
\sbox0{$\displaystyle\frac{#1}{#2}$}%
\raisebox{\dimexpr\ht0-\height}{$\displaystyle#1$}%
\endgroup
}
\begin{document}
$\begin{aligned}
\frac{a}{\left(\frac{b}{c}\right)} &= x \\
\fraconlynumerator{a}{\left(\frac{b}{c}\right)}\latehfil &=x\cdot\frac{b}{c}
\end{aligned}$
\end{document}
是什么\latehfil
?奇数列的单元格最终aligned
进入一个包含
\hfil$\displaystyle{<cell>}$
并且我们想添加另一个\hfil
。如果我们只发出a\hfil
, 最终\hfil
会进入括号子公式中,并且不会产生任何效果。但是,a\aftergroup\hfil
会保存\hfil
在 之后}
。使用\aftergroup\aftergroup\aftergroup\hfil
,步骤类似于
\hfil$\displaystyle{a\aftergroup\aftergroup\aftergroup\hfil}$
\hfil$\displaystyle{a}\aftergroup\hfil$
\hfil$\displaystyle{a}$\hfil
因为后面的 token\aftergroup
会在组结束后重新出现。单个\aftergroup
可能就够了,但对称更好。
第二个技巧是:测量整分数的高度。然后只排版分子,将其增加整分数的高度减去其实际高度。
答案2
您可以\genfrac
使用amsmath
它提供了gen
eric frac
tion 原语:
\genfrac{<ldelim>}{<rdelim>}{<rule thickness>}{<math style>}{<numerator>}{<denominator>}
如果您希望隐藏规则(设置<rule thickness>
为0pt
)和\phantom
分母(下面的公式 (1)),这种方法很有效:
但是,以同样的方式隐藏分子会使分母向上移动,移动量为默认规则厚度(上面的公式 (2))。相反,使用\phantom
s(用于隐藏内容)和 colour(用于隐藏规则)的组合几乎更简单(上面的公式 (3)):
\documentclass{article}
\usepackage{amsmath,xcolor}
\begin{document}
\begin{align}
% \frac{a}{\left(\frac{b}{c}\right)} &= x \\
% \frac{a}{\phantom{\left(\frac{b}{c}\right)}} &= x \\
% \genfrac{}{}{0pt}{}{a}{\phantom{\left(\frac{b}{c}\right)}} &= x \\
\frac{a}{\left(\frac{b}{c}\right)} =
\frac{a}{\phantom{\left(\frac{b}{c}\right)}} =
\genfrac{}{}{0pt}{}{a}{\phantom{\left(\frac{b}{c}\right)}} &= x \\
\frac{a}{\left(\frac{b}{c}\right)} =
\frac{\phantom{a}}{\left(\frac{b}{c}\right)} =
\genfrac{}{}{0pt}{}{\phantom{a}}{\left(\frac{b}{c}\right)} &= x \\
\frac{a}{\left(\frac{b}{c}\right)} =
\frac{\phantom{a}}{\left(\frac{b}{c}\right)} =
{\color{white}\frac{\phantom{a}}{\color{black}\left(\frac{b}{c}\right)}} &= x
\end{align}
\end{document}