显示的单行方程式,量词左对齐

显示的单行方程式,量词左对齐

是否存在一个环境(或标准框架)来排版一个(单行)显示方程式并带有“短”量化以得出以下结果? enter image description here 也就是说,等式的“主要”部分居中(好像没有其他内容),量词部分向左对齐并略有缩进。我认为这不适用于较长的字符串,我也不寻求可以解决此问题的解决方案。

我在这里发现了类似的问题(例如方程中心,量词右推),但像

\begin{flalign}
 \forall x \in X  &&&  P(x)  &&
\end{flalign}

不是我想要的,因为 $P(x)$ 不在页面中央,并且 $\forall x\in X$ 没有缩进。添加

\begin{flalign}
\qquad \forall x \in X  &&&  P(x)  &&
\end{flalign}

似乎确实得到了所需的缩进,但是 $P(x)$ 现在更加不居中了。

答案1

这是一项建议,在可行的情况下进行居中,否则采用标准居中。(感谢 Mico 的编码。)

\documentclass{book}
\usepackage{amsmath,amssymb,amsthm}
\usepackage{environ}

\theoremstyle{definition}
\newtheorem{defn}{Definition}[section]

\newcommand\bff{\mathbf{f}}
\newcommand\bfg{\mathbf{g}}

\makeatletter
\NewEnviron{quantifiedequation}[1]{% #1 is the quantifiers
  \begin{equation}
  \expandafter\make@quantifiedequation\expandafter{\BODY}{#1}
  \end{equation}
}
\NewEnviron{quantifiedequation*}[1]{% #1 is the quantifiers
  \begin{equation*}
  \expandafter\make@quantifiedequation\expandafter{\BODY}{#1}
  \end{equation*}
}
\newcommand{\make@quantifiedequation}[2]{%
  \m@th % remove mathsurround
  \sbox\z@{$\displaystyle#2$}% measure the quantifiers
  \sbox\tw@{\let\label\@gobble$\displaystyle#1$}
  \ifdim\dimexpr 1em+\wd\z@+0.5\wd\tw@+2em>0.5\displaywidth
    % centering is not possible
    #2\qquad#1
  \else
    \makebox[0pt][r]{%
      \makebox[\dimexpr0.5\displaywidth-0.5\wd\tw@][l]{\quad\box\z@}%
    }#1
  \fi
}
\makeatother

\begin{document}
\setcounter{chapter}{1}
\setcounter{section}{1}
\setcounter{defn}{12}

\begin{defn}
Let $M$ be a manifold. A \emph{derivation} at a point $p\in M$ 
is an $\mathbb{R}$-linear map $X\colon C^\infty(p)\to\mathbb{R}$ 
which satisfies the \emph{Leibniz rule}
\begin{quantifiedequation*}{\forall\,\bff,\bfg\in C^\infty(p)}
    X(\bff\bfg)=\bff(p)X(\bfg)+\bfg(p)X(\bff)
\end{quantifiedequation*}
\end{defn}

\begin{defn}
Let $M$ be a manifold. A \emph{derivation} at a point $p\in M$ 
is an $\mathbb{R}$-linear map $X\colon C^\infty(p)\to\mathbb{R}$ 
which satisfies the \emph{Leibniz rule}
\begin{quantifiedequation}{\forall\,\bff,\bfg\in C^\infty(p)}
    X(\bff\bfg)=\bff(p)X(\bfg)+\bfg(p)X(\bff)
    \label{qeq}
\end{quantifiedequation}
\end{defn}

Here's the reference \eqref{qeq}.

\begin{defn}
Let $M$ be a manifold. A \emph{derivation} at a point $p\in M$ 
is an $\mathbb{R}$-linear map $X\colon C^\infty(p)\to\mathbb{R}$ 
which satisfies the \emph{Leibniz rule}
\begin{quantifiedequation*}{\forall\,\bff,\bfg\in C^\infty(p)}
    X(\bff\bfg)=\bff(p)X(\bfg)+\bfg(p)X(\bff)
    +\bff(p)X(\bfg)+\bfg(p)X(\bff)
\end{quantifiedequation*}
\end{defn}
\end{document}

enter image description here

答案2

我不知道有现成的环境或“标准框架”可以完全满足您的要求。不过,创建一个自定义宏来完成这项工作并不需要太多工作。

enter image description here

请注意,宏\quant(您显然可以自由选择此宏的不同名称)采用 2 个参数:量词(从\quad文本块的左侧边缘缩进;可以随意更改缩进量)和实际方程。请注意,由于方程正好位于行的中心,因此其左侧和右侧的空白不会等长(因为左侧的空白由于量词的存在而减少)。

注意到方程编号不是一种选择,但后来我感觉自动方程编号不是必需的。如果是的话请告知。

还要注意,如果量词和/或方程很长,它们可能会以非常难看的方式重叠。不过,我认为这不太可能成为问题。

\documentclass{report}
\usepackage[T1]{fontenc}
\usepackage{amsmath,amssymb,amsthm}
\theoremstyle{definition}
\newtheorem{defn}{Definition}
\counterwithin{defn}{section}

%% Set up a macro called "\quant":
\newcommand{\quant}[2]{\par%
   \vspace{\abovedisplayskip}%
   \noindent%
   \parbox{0pt}{\mbox{\quad$\displaystyle #1$}}
   \hfil $\displaystyle #2$ \hfill\par
   \vspace{\belowdisplayskip}}

\newcommand\bff{\mathbf{f}}
\newcommand\bfg{\mathbf{g}}

\begin{document}
\setcounter{chapter}{1}
\setcounter{section}{1}
\setcounter{defn}{12}

\begin{defn}
Let $M$ be a manifold. A \emph{derivation} at a point $p\in M$ 
is an $\mathbb{R}$-linear map $X\colon C^\infty(p)\to\mathbb{R}$ 
which satisfies the \emph{Leibniz rule}
\quant{\forall\,\bff,\bfg\in C^\infty(p)}{%
    X(\bff\bfg)=\bff(p)X(\bfg)+\bfg(p)X(\bff)}
\end{defn}
\end{document}

答案3

这个怎么样?

\documentclass{article}
\usepackage{showframe}
\renewcommand{\ShowFrameLinethickness}{0.3pt}
 \usepackage{mathtools}

\begin{document}

\begin{flalign}
\quad \mathrlap{\forall x \in X} &&& P(x) &&
\end{flalign}

\end{document} 

enter image description here

相关内容