问题 1

问题 1

我把问题分成了两个问题,并决定将它们同时发布,以避免半重复,因为它们密切相关。第一个是将分数的所有部分(包括线)都呈现为不可见的,除了分子(或分母),保留该分子的位置。第二个是使用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}

enter image description here

如果你还想让“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}

enter image description here

是什么\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它提供了generic fraction 原语:

\genfrac{<ldelim>}{<rdelim>}{<rule thickness>}{<math style>}{<numerator>}{<denominator>}

如果您希望隐藏规则(设置<rule thickness>0pt)和\phantom分母(下面的公式 (1)),这种方法很有效:

enter image description here

但是,以同样的方式隐藏分子会使分母向上移动,移动量为默认规则厚度(上面的公式 (2))。相反,使用\phantoms(用于隐藏内容)和 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}

答案3

这就是你要找的东西吗?

\documentclass{standalone}
\usepackage[alignedleftspaceno]{amsmath}
\begin{document}
    $
    \begin{array}{c@{\;=\;}l}
    \displaystyle\frac{a}{\left(\frac{b}{c}\right)}&x\\
    a &x\cdot\frac{b}{c}
    \end{array}
    $
\end{document}

enter image description here

相关内容