在我的文档中,我有 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}