我正在使用\documentclass
选项[fleqn]
(我认为与相同\usepackage[fleqn]{amsmath}
)。这似乎工作正常,除了在环境align*
中使用时varwidth
:
笔记:
align
在(非星号) 环境中不会发生问题。
代码
\documentclass[fleqn]{article}
\usepackage{showframe}
\usepackage{varwidth}
\usepackage{mathtools}
\newcommand*{\MyContent}{%
Using align*:
\begin{align*}
E &= mc^2
\shortintertext{and}
F &= ma
\end{align*}%
Using align
\begin{align}
y = x + b
\end{align}%
}%
\begin{document}
\noindent
Outside of \verb|varwidth|:
\MyContent
\noindent
Inside \verb|varwidth|:
\noindent
\begin{varwidth}{\linewidth}
\MyContent
\end{varwidth}
\end{document}
答案1
您只需要在记录的高级 varwidth 接口中设置标志。
\documentclass[fleqn]{article}
\usepackage{showframe}
\usepackage{varwidth}
\usepackage{mathtools}
\newcommand*{\MyContent}{%
Using align*:
\begin{align*}
E &= mc^2
\shortintertext{and}
F &= ma
\end{align*}%
Using align
\begin{align}
y = x + b
\end{align}%
}%
\makeatletter\let\@vwid@eqmodetrue\@vwid@eqmodefalse\makeatother
\begin{document}
\noindent
Outside of \verb|varwidth|:
\MyContent
\noindent
Inside \verb|varwidth|:
\noindent vw\\
\begin{varwidth}{\linewidth}
\MyContent
\end{varwidth}
\noindent mp\\
\begin{minipage}{\linewidth}
\MyContent
\end{minipage}
\end{document}