killing_buddha” post=92536La fine di un ambiente proof solitamente disegna un \qedsymbol. Ho provato a definire dei simboli alla fine di altri ambienti, usando etoolbox e \AtEndEnvironment, con questo metodo rupestre ma funzionante
` \documentclass[11pt, a4paper]{amsart}
\usepackage{amsmath, amsthm}\theoremstyle{definition}
\newtheorem{thm}{Theorem}[section]
\newtheorem{prop}{Proposition}[section]
\newtheorem{df}{Definition}[section]\usepackage{etoolbox}
\def\defsymbol{$\diamond$}
\def\propsymbol{$\triangle$}
\AtEndEnvironment{df}{\null\hfill\defsymbol}
\AtEndEnvironment{prop}{\null\hfill\propsymbol}\begin{document}
\begin{df}
Foo
\end{df}
\begin{prop}
Bar
\end{prop}
\begin{proof}
Trivial.
\end{proof}
\end{document}`
…funzionante almeno fino a quando uno non deve finire una defiinzione con un “itemize”: come faccio a creare un comando \prophere, \defhere o altro, che piazzi il diamante o il triangolo “nel posto giusto”?
Il metodo che usi è sicuramente sbagliato. Se l’ultima riga finisce troppo vicino al margine destro, il simbolo sarà stampato al margine sinistro, perché [tt]\hfill[/tt] crea un punto buono per spezzare la riga e sparisce, nel caso questo punto finisca per essere usato.
A che serva un simbolo distintivo per la fine di una definizione o un teorema mi risulta oscuro: la spaziatura verticale è più che sufficiente. Diverso è il caso delle dimostrazioni, che spesso sono seguite da testo normale; per questo Halmos introdusse la pratica della “pietra tombale”.
Il pacchetto ntheorem fornisce già la funzionalità che desideri, anche se in genere lo sconsiglio.
Ciao
Enrico