左对齐方程

左对齐方程

在我的文档中,我有 3 个方程式需要在符号上对齐=。这是代码:

 \documentclass[a4paper, 11pt]{book}
 \usepackage{amsmath}
 \begin{document}

    \begin{alignat}{2}
      &\text{xxxxxxx1}       &&= 1/y  \\
      &\text{x2} &&=y      \\
      &\text{x3}       &&=y^2+x2
   \end{alignat}

\end{document}

但是,我还希望这个方程式块左对齐。但使用该代码,它位于页面中央。

在一篇相关文章中,有人建议将其用作fleqn文档类。然而,我无法使用它,因为我的文档中的一些公式必须居中,而并非所有公式都必须左对齐。

答案1

我不太清楚您想获得什么,因此我想到以下两个选项:

  • 首先使用包flalign中的数学环境amsmath
  • 其次,gather环境(也来自amsmat)包含在 fleqn由包提供的环境中nccmath

在此处输入图片描述

(红线表示文本边框)

     \documentclass[a4paper, 11pt]{book}
    \usepackage{amsmath}
    \usepackage{nccmath}

    %---------------- show page layout. don't use in a real document!
    \usepackage{showframe}
    \renewcommand\ShowFrameLinethickness{0.15pt}
    \renewcommand*\ShowFrameColor{\color{red}}
    %---------------------------------------------------------------%

     \begin{document}

        \begin{flalign}
    \text{xxxxxxx1}  &= 1/y     &\\
    \text{x2}        &= y       &\\
    \text{x3}        &= y^2+x2  &
       \end{flalign}

    or

        \begin{fleqn}
        \begin{gather}
    \text{xxxxxxx1}  = 1/y      \\
    \text{x2}        = y        \\
    \text{x3}        = y^2+x2
        \end{gather}
       \end{fleqn}

    \end{document}

编辑: 从你的评论可以看出你喜欢这样的东西:

在此处输入图片描述

\documentclass[a4paper, 11pt]{book}
\usepackage{amsmath}
\usepackage{nccmath}

%---------------- show page layout. don't use in a real document!
\usepackage{showframe}
\renewcommand\ShowFrameLinethickness{0.15pt}
\renewcommand*\ShowFrameColor{\color{red}}
%---------------------------------------------------------------%

\begin{document}

\begin{fleqn}
\begin{alignat}{2}
&\text{xxxxxxx1} &&= 1/y      \\
&\text{x2}       &&= y        \\
&\text{x3}       &&= y^2+x2
\end{alignat}
\end{fleqn}

\end{document}

答案2

该解决方案并非真正完全自动化,但您可以完成您的工作,直到找到一个完全自动化的方法:

\documentclass[a4paper, 11pt]{book}
\usepackage{amsmath}
\usepackage{lipsum}

\newsavebox{\mylongbox}
\newsavebox{\mybox} 
\newcommand{\longer}[1]{\savebox\mylongbox{\hbox{$#1$}}}
\newcommand{\forceLeft}[1]{\savebox{\mybox{$#1$}}\usebox{\mybox}\hspace{\dimexpr\wd\mylongbox-\wd\mybox}}

\begin{document}
\lipsum[2]

%Store the longer item
\longer{\text{xxxxxxx1}}
        \begin{flalign}
    \text{xxxxxxx1}  &= 1/y     &\\
%Use \forceleft command for the others
    \forceLeft{\text{x2}}      &= y       &\\
    \forceLeft{\frac{1}{3}\cdot x_2}        &= y^2+x2  &
       \end{flalign}


\end{document}

在此处输入图片描述

相关内容