autonum、amsmath 和 \qedhere

autonum、amsmath 和 \qedhere

与 结合\qedhere使用时,命令的行为很奇怪。amsmathautonum

考虑下面的最小(不起作用)示例:在未引用的方程中\qedhere(定理 2),qed 符号根本没有显示。不使用该autonum包显然可以解决这个问题,但两个方程都已编号。有没有办法让它\qedhere起作用autonum

如果注释掉 - 行,则会出现另一个(可能相关的)问题\usepackage{amsmath}。现在,第二个未引用的方程式获得了正确的 qed 符号,但引用的方程式无法正确显示(菱形显示在数字“(1)”前面)。

\documentclass{article}                     
\usepackage{amsmath}            
\usepackage{amsthm}                     
\usepackage{thmtools}               
\usepackage{autonum}         

\declaretheoremstyle[qed=$\diamondsuit$]{myTheorem}
\declaretheorem[style=myTheorem]{theorem}

\begin{document}
Refer to equation \ref{eq:eq1}.
\begin{theorem}
\begin{equation}\label{eq:eq1}
a = b+c \qedhere
\end{equation}
\end{theorem}

\begin{theorem}
\begin{equation}
a = b+c \qedhere
\end{equation}
\end{theorem}

\end{document}

答案1

\documentclass{article}                     
\usepackage{amsmath}            
\usepackage{amsthm}                     
\usepackage{thmtools}               
\usepackage{autonum}         

\declaretheoremstyle[qed=$\diamondsuit$]{myTheorem}
\declaretheorem[style=myTheorem]{theorem}

\begin{document}
Refer to equation \ref{eq:eq1}.
\begin{theorem}
\begin{equation}\label{eq:eq1}
a = b+c \qedhere
\end{equation}
\end{theorem}

\begin{theorem}
\begin{equation}
\pushQED{\qed}
a = b+c \qedhere\popQED
\end{equation}
\end{theorem}

\end{document}

这并不理想。但它在一定程度上允许手动调整以方程式结尾的定理。

相关内容