Extender la aplicabilidad de \qedhere a elementos de clase de teorema

Extender la aplicabilidad de \qedhere a elementos de clase de teorema

Meta:Quiero poder marcar el final de los ejemplos y ejercicios usando algún tipo de símbolo, de la misma manera que $\qedsymbol$ marca el final de las pruebas. En particular, quiero un comando que actúe como \qedhere para mi símbolo de elección.

Fondo:De hecho, esta es una de las posibles modificaciones enumeradas en eldocumentación del paquete amsthm: para "extender la aplicabilidad de \qedhere a elementos de clase de teorema así como a demostraciones". Dicen que si bien esto tiene mérito, requiere más trabajo y esencialmente está en un segundo plano.

Mi intento:

La forma en que intenté implementar un entorno de ejercicio con su propio símbolo final es la siguiente:

\documentclass{memoir}

\usepackage{amsthm}
\usepackage[varg,bigdelims]{newpxmath}
\usepackage{ifthen}

\newcounter{madesymbol}

\newtheorem{exc}{Exercise}
\newcounter{exc-counter}
\newenvironment{exercise}[1][]
{
    \begin{exc}[#1]~
    \def\mysymbol{$\lozenge$}
    \setcounter{madesymbol}{0}
    \def\tagsymbol{\stepcounter{madesymbol}\tag*{\mysymbol}}
}
{
    \ifthenelse{\equal{\value{madesymbol}}{0}}{\hspace*{\fill}\mysymbol}{}
    \end{exc}
    \stepcounter{exc-counter}
}

\begin{document}

\begin{exercise}
A function $f$...
\end{exercise}

\end{document}

Esto parece voluminoso y estoy buscando una solución mejor.

Problemas con el nteorema: Una sugerencia que he visto es el paquete de nteoremas. Probé ntheorem, pero parece cambiar "todo", por ejemplo, no actuar en absoluto como amsthm (incluso con la opción [amsthm] cargada). Si alguien sugiere que use este paquete, proporcione un código explícito para que se parezca lo más posible a amsthm.

Respuesta1

Prueba esto:

\documentclass{article}
\usepackage{amsthm}
\begin{document}

\newtheorem{ex-inner}{Exercise}
\newenvironment{ex}{%
  %\def\qedsymbol{$\lozenge$}% Set the QED symbol. 
  \pushQED{\qed}%
  \begin{ex-inner}%
}{%
  \popQED
  \end{ex-inner}%
}


\begin{ex}
Here is an exercise.
\end{ex}

\begin{ex}
Hi!
\[x=y\qedhere\]
\end{ex}

\begin{proof}
Hi!
\[x=y\qedhere\]
\end{proof}
\end{document} 

Respuesta2

Aquí hay una demostración de cómo se puede hacer con ntheorem. Una característica distintiva es que la colocación es automática, incluso con elementos que terminan en una visualización de varias líneas (puede requerir dos compilaciones y no debe haber ninguna línea en blanco al final del entorno. El símbolo QED es bastante fácil de personalizar:

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{fourier}
\usepackage[svgnames, table]{xcolor}
\usepackage{mathtools, nccmath}

\usepackage[thmmarks, thref, amsmath]{ntheorem}
\theoremheaderfont{\itshape\bfseries}% default is \upshape\bfseries
\theoremseparator{. \textemdash}
\newtheorem{thm}{Theorem}[section]
\newtheorem{prop}{Proposition}[section]

\theoremseparator{.}
\theoremheaderfont{\upshape\bfseries}%
\theorembodyfont{\upshape\mdseries}% default is \itshape
\newtheorem{dfn}{Definition}[section]
\theoremsymbol{\raisebox{-0.1\height}{\color{IndianRed}$ \boldsymbol\diamondsuit $}}
\newtheorem{ex}{Exercise}

\theoremstyle{nonumberplain}
\theoremheaderfont{\scshape}
\theoremseparator{:}
\theoremsymbol{\ensuremath{\color{Gainsboro}\blacksquare}}

\newtheorem{proof}{Proof}
\begin{document}
\setcounter{section}{2}

\begin{thm}
Clangle-Wangles’ habits of life are domestic and superfluous, and their general demeanour pensive and pellucid.
\end{thm}

\begin{dfn}
  A \textbf{Snark} is a Boojum.
\end{dfn}

\begin{ex}
Here is an exercise.
\end{ex}

\begin{ex}
Hi!
\[ x=y \]
\end{ex}

\begin{proof}
There are two cases: \useshortskip
\begin{align*}
x & =y \\ u & =v
\end{align*}
\end{proof}

\end{document} 

ingrese la descripción de la imagen aquí

información relacionada