使用答案包时将 \qed 符号放在正确的位置

使用答案包时将 \qed 符号放在正确的位置

在以下文档中,我使用了“answer”包,当我结束解决方案时,我会在解决方案末尾放置一个 \qed 符号。这很有效,除非解决方案以方程式结尾,并且 \qed 转到下一行,这是不受欢迎的。

如何将 \qed 放在正确的位置。有相关问题如何将证明的 QED 符号放在对齐内的正确位置?在显示的公式中将 \qed 推到右侧但都没有解决我的问题。

\documentclass{article}
\usepackage{answers, amsthm}
\renewcommand{\solutionstyle}[1]{\bfseries Answer to Exercise #1 }
\Newassociation{sol}{Solution}{ans}
\newtheorem{ex}{Exercise}
\newcommand\postSolution{\hfill\qedsymbol}
\begin{document}
\Opensolutionfile{ans}[ans1]


\begin{ex}
   First exercise
\end{ex}

\begin{sol}
First solution
\[A=B.\]
\end{sol}

\Closesolutionfile{ans}
\input{ans1}
\end{document}

答案1

您可以按照如下方式Solution进行修补:proofamsthm

\documentclass{article}
\usepackage{answers, amsthm, xpatch}

\renewcommand{\solutionstyle}[1]{\bfseries Answer to Exercise #1 }
\Newassociation{sol}{Solution}{ans}
\newtheorem{ex}{Exercise}

\xpretocmd{\Solution}{\pushQED{\qed}}{}{\ddt}
\xpatchcmd{\endSolution}{\endtrivlist}{\popQED\endtrivlist}{}{\ddt}

\begin{document}

\Opensolutionfile{ans}[ans1]

\begin{ex}
   First exercise
\end{ex}

\begin{sol}
First solution
\[A=B.\qedhere\]
\end{sol}

\begin{ex}
   Second exercise
\end{ex}

\begin{sol}
Second solution
\[A=B.\]
Some words follow.
\end{sol}

\Closesolutionfile{ans}
\input{ans1}
\end{document}

在此处输入图片描述

相关内容