对齐大小写方程式,同时文本在左边……啊!

对齐大小写方程式,同时文本在左边……啊!

我正在努力解决一个我通常不使用的对齐情况。请参阅下面的 MWE 及其预览:

\documentclass[11pt,letterpaper,twoside]{book}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[total={6in,10in},left=1.5in,top=0.5in,includehead,includefoot]{geometry}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{mathtools}

\begin{document}

Blabla:
\begin{align}
    &\text{For $x = 1$ :}
    & y &= A.
    \\[1em]
    &\text{For $x = 0$ :}
    \left\{
    \begin{aligned}
        y &= B, \\[1ex]
        z &= C.
    \end{aligned}
    \right.
\end{align}

\end{document}

预览问题以红色显示:

在此处输入图片描述

该代码至少有两个问题:

  1. 红色标记的空间?太紧,文本部分应该更靠近左边距。

  2. 所有等号都应对齐。

我想我需要使用 asplit或 analignat环境,但我不知道如何正确使用。左边的 brice 给我带来了最大的麻烦。我需要一个建议!

答案1

喵?

\documentclass[11pt,letterpaper,twoside]{book}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[total={6in,10in},left=1.5in,top=0.5in,includehead,includefoot]{geometry}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{mathtools}

\begin{document}

Blabla:
\begin{align}
    \text{For $x = 1$}\colon
    &\hphantom{\left\{
    \begin{aligned}
       {\,}\\
        {\,}
    \end{aligned}
    \right.}y = A. &&
    \\[1em]
    \text{For $x = 0$}\colon&
    \left\{
    \begin{aligned}
        y &= B, \\[1ex]
        z &= C.
    \end{aligned} 
    \right. &&
\end{align}
\end{document}

在此处输入图片描述

我个人fleqn在我的所有文件中都使用它。

\documentclass[11pt,letterpaper,twoside,fleqn]{book}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[total={6in,10in},left=1.5in,top=0.5in,includehead,includefoot]{geometry}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{mathtools}

\begin{document}

Blabla:
\begin{align}
    \text{For $x = 1$}\colon
    &\hphantom{\left\{
    \begin{aligned}
       {\,}\\
        {\,}
    \end{aligned}
    \right.}y = A. 
    \\[1em]
    \text{For $x = 0$}\colon&
    \left\{
    \begin{aligned}
        y &= B, \\[1ex]
        z &= C.
    \end{aligned} 
    \right. 
\end{align}
\end{document}

在此处输入图片描述

答案2

在此处输入图片描述

\documentclass[11pt,letterpaper,twoside]{book}
\usepackage[total={6in,10in},left=1.5in,top=0.5in,includehead,includefoot]{geometry}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{mathtools, amssymb}

\begin{document}

Blabla:
\begin{align}
\text{For } x & = 1: \ \hphantom{\biggl\{}  y  = A.    \\
\text{For } x & = 0: \ \left\{
                        \begin{aligned}
                            y &= B, \\[1ex]
                            z &= C.
                        \end{aligned}
                        \right.
\end{align}

\end{document}

答案3

这是一个带有框的选项(重叠和\phantoms):

\documentclass{article}

\usepackage{mathtools}

\begin{document}

Blabla:
\begin{alignat}{2}
  \text{For $x = 1$ :} &&
    y = \mathrlap{\text{long right-hand side}.}\phantom{\text{longest right-hand side,}} \\
  \text{For $x = 0$ :} &&
    ~\left\{\begin{aligned}
      & \text{long LHS} = \text{longest right-hand side,} \\
      & \phantom{\text{long LHS}}\mathllap{z} = C.
    \end{aligned}\right.\kern-\nulldelimiterspace
\end{alignat}

\end{document}

然后是类似的使用eqparbox自动收集最大箱子宽度:

\documentclass{article}

\usepackage{mathtools,eqparbox}

\begin{document}

Blabla:
\begin{alignat}{2}
  \text{For $x = 1$ :} &&
    y = \eqmakebox[RHS][l]{long right-hand side.} \\
  \text{For $x = 0$ :} &&
    ~\left\{\begin{aligned}
      & \eqmakebox[LHS][r]{long LHS} = \eqmakebox[RHS][l]{longest right-hand side,} \\
      & \eqmakebox[LHS][r]{z} = C.
    \end{aligned}\right.\kern-\nulldelimiterspace
\end{alignat}

\end{document}

两者都产生相同的输出:

在此处输入图片描述

在这两种情况下,目的都是识别对齐周围最宽的元素并使用它们来调整较短的项目。

相关内容