![\qedhere 在不同环境中的行为](https://linux22.com/image/453720/%5Cqedhere%20%E5%9C%A8%E4%B8%8D%E5%90%8C%E7%8E%AF%E5%A2%83%E4%B8%AD%E7%9A%84%E8%A1%8C%E4%B8%BA.png)
我在证明环境中使用\qedhere
,以避免在证明以等式结尾时出现多余的空间。我想知道为什么它在不同环境中的行为不同。
equation
显然,当使用包中的 showonlyrefs 功能时,\qedhere 在环境中不起作用mathtools
?我收到以下错误:A <box> was supposed to be here. \end{equation}
- 当使用该
amsmath
包时,它不会在一对之间给出错误$$
,但它不会将\qed
框刷新到右侧,因此它的行为不符合预期。gather
环境也是如此。 - 它在环境中有效
align
,但只有&
使用过后才能看到在没有对齐标记 (&) 的对齐环境中,\qedhere 的奇怪行为 - 它在方括号中按预期工作
\[\]
以下是 MWE:
\documentclass{article}
\usepackage{amsmath,amsthm}
\usepackage{mathtools}
\mathtoolsset{showonlyrefs}
\begin{document}
\begin{proof}
Too much space afterwards:
\[
a=b.
\]
\end{proof}
\begin{proof}
Works fine:
\[
a=b.\qedhere
\]
\end{proof}
\begin{proof}
Not flushed right:
$$
a=b.\qedhere
$$
\end{proof}
\begin{proof}
Not flushed right:
\begin{gather}
a=b.\qedhere
\end{gather}
\end{proof}
\begin{proof}
Box completely misplaced:
\begin{align}
a=b.\qedhere
\end{align}
\end{proof}
\begin{proof}
Stuff in comments gives error.
% \begin{equation}
% a=b.\qedhere
% \end{equation}
\end{proof}
\end{document}
为什么我会出现这些不同的行为,以及首选的使用方式是什么\qedhere
?
答案1
使用$$
是不是LaTeX 中支持。所以你的第三个例子必须被解僱。
此外,\qedhere
与编号方程式不兼容,无论它们如何显示与否showonlyrefs
。毕竟,当右边距有方程式编号时,墓碑应该放在哪里?
最后,align
需要至少一个&
才能\qedhere
起作用。(切勿用于align
单个方程。)
\documentclass{article}
\usepackage{amsmath,amsthm}
\usepackage{mathtools}
%\mathtoolsset{showonlyrefs}
\begin{document}
\begin{proof}
Too much space afterwards: (expected)
\[
a=b.
\]
\end{proof}
\begin{proof}
Works fine: (OK)
\[
a=b.\qedhere
\]
\end{proof}
%\begin{proof}
%Not flushed right: (unsupported)
%$$
%a=b.\qedhere
%$$
%\end{proof}
\begin{proof}
Not flushed right: (no, if you do right)
\begin{gather*}
a=b.\qedhere
\end{gather*}
\end{proof}
\begin{proof}
Box completely misplaced: (no)
\begin{align*}
a&=b \\
a&=b.\qedhere
\end{align*}
\end{proof}
\begin{proof}
Stuff in comments gives error. (no)
% \begin{equation}
% a=b.\qedhere
% \end{equation}
\end{proof}
\end{document}
请参阅括号中的我的评论。