是否存在一个环境(或标准框架)来排版一个(单行)显示方程式并带有“短”量化以得出以下结果? 也就是说,等式的“主要”部分居中(好像没有其他内容),量词部分向左对齐并略有缩进。我认为这不适用于较长的字符串,我也不寻求可以解决此问题的解决方案。
我在这里发现了类似的问题(例如方程中心,量词右推),但像
\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}
答案2
我不知道有现成的环境或“标准框架”可以完全满足您的要求。不过,创建一个自定义宏来完成这项工作并不需要太多工作。
请注意,宏\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}