Marcando el final de una definición

Marcando el final de una definición

Estoy usando el amsthmpaquete para definir un definitionentorno de la siguiente manera:

\theoremstyle{definition}
\newtheorem{definition}{Definition}

Para mi sorpresa, esto apenas proporciona una indicación tipográfica de dónde termina la definición y comienza el siguiente texto (hay un nuevo párrafo, pero claramente esto no es suficiente, especialmente cuando la definición termina con una ecuación).

¿Qué puedo hacer para que esto quede más claro? No quiero que el texto de definición tenga una fuente diferente a la del texto normal. Tal vez una definición, como una prueba, debería terminar con un \qedsymbol: ¿cómo puedo agregar esto?

Respuesta1

Elamsthmno es el mejor por sí solo; sin embargo,thmtoolsproporciona una 'interfaz' realmente ordenada para amsthmy otros paquetes de teoremas.

En particular, thmtoolsincluye un prefoothooky postfoothookque puede usarse según sus necesidades. A continuación se muestra un pequeño caso de uso de thmtoolsjunto con amsthmel cual finaliza los ejemplos con una simple línea horizontal. Puede adaptar esto fácilmente a sus necesidades. Por ejemplo, podrías combinar esto con eltcolorboxpara cuadros realmente elegantes, o puede borrar a la derecha el texto "Fin del ejemplo".

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

\declaretheoremstyle[
  headfont=\normalfont\scshape,
  numbered=unless unique,
  bodyfont=\normalfont,
  spaceabove=1em plus 0.75em minus 0.25em,
  prefoothook=\newline\rule{\linewidth}{1pt},
  spacebelow=1em plus 0.75em minus 0.25em,
]{exmpstyle}

\declaretheorem[
  style=exmpstyle,
  title=Example,
  refname={example,examples},
  Refname={Example,Examples}
]{exmp}

\begin{document}
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Ut pustibulum ut,
placerat ac, adipiscing vitae, felis. Curabitur dictum uris. Nam arcu libero,
nonummy eget, consectetuer id, vulputate a, nec vehicula augue eu
neque. Pellentesque habitant morbi tristique t netus et malesuada fames ac
turpis egestas. Mauris ut leo.
\begin{exmp}
  \lipsum*[1]
\end{exmp}
\lipsum[2-3]
\begin{exmp}
  \lipsum*[4]
\end{exmp}
\end{document}

y la salida:

producción

Apéndice

Como lo mencionó Caramdir y lo solicitó Barbara Beeton en los comentarios, aquí hay un ejemplo que funciona con ecuaciones y usa la qedopción:

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

\declaretheoremstyle[
  headfont=\normalfont\bfseries\itshape,
  numbered=unless unique,
  bodyfont=\normalfont,
  spaceabove=1em plus 0.75em minus 0.25em,
  spacebelow=1em plus 0.75em minus 0.25em,
  qed={\itshape That's All Folks!},
]{exmpstyle2}

\declaretheorem[
  style=exmpstyle2,
  title=Example,
  refname={example,examples},
  Refname={Example,Examples}
]{exmp2}

\begin{document}
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Ut pustibulum ut,
placerat ac, adipiscing vitae, felis. Curabitur dictum uris. Nam arcu libero,
nonummy eget, consectetuer id, vulputate a, nec vehicula augue eu
neque. Pellentesque habitant morbi tristique t netus et malesuada fames ac
turpis egestas. Mauris ut leo.
\begin{exmp2}
  \lipsum*[1]
\end{exmp2}
\lipsum[2-3]
\begin{exmp2}
  \lipsum*[4]
  \begin{equation*}
    \mathcal{L} = \overline \psi (i \gamma \cdot \partial - m) \psi
    \qedhere
  \end{equation*}
\end{exmp2}
\end{document}

que produce:

salida2

Respuesta2

Realmente no veo la necesidad de ello. Pero ya que preguntas,

\documentclass{article}
\usepackage{amsthm}

\usepackage{lipsum}

\theoremstyle{definition}
\newtheorem{defi/}{Definition}

\newenvironment{defi}
  {\renewcommand{\qedsymbol}{$\heartsuit$}%
   \pushQED{\qed}\begin{defi/}}
  {\popQED\end{defi/}}

\begin{document}

\lipsum[2]

\begin{defi}
This is the definition of \emph{definition}.
\end{defi}

\lipsum[3]

\begin{defi}
This is the definition of recursion,
\[
x\gets x+1 \qedhere
\]
\end{defi}

\lipsum[2]

\end{document}

ingrese la descripción de la imagen aquí

Simplemente asumo que no tienes pruebas en medio de las definiciones.

Respuesta3

Elthmboxpaqueteproporciona una buena manera de mostrar theorementornos similares.

Por ejemplo, utilizando los tres estilos predefinidos, puedes tener:

\documentclass{article}
\usepackage{mathtools}
\usepackage{thmbox} % Overrides \newtheorem command! See [nothm] to disable this feature.
\usepackage{lipsum} % Useless, just for the demo.

\newtheorem[S, bodystyle=\normalfont\noindent]{defiS}{Definition}[section]
\newtheorem[M]{defiM}{Definition}[section]
\newtheorem[L]{defiL}{Definition}[section]

\begin{document}

\section{My nice demo}

\begin{defiS}[Inverse of a relation]
  Let \(R\) be a relation, \emph{the inverse of \(R\)} is
  \[R^{-1} = \{(x,y) \mid (y, x) \in R\}\]
\end{defiS}

\lipsum[2] % Just for the demo

\begin{defiM}[Union]
  Let \(R\) and \(S\) be relations, the \emph{union of \(R\) and \(S\)} is defined as
  \[
  R \cup S = \{(x, y) \mid (x,y) \in R \text{ or } (x,y) \in S\}
  \]
\end{defiM}

\lipsum[1] % Just for the demo

\begin{defiL}[Graph of a function]
  Let \(f\) be a fuction, the \emph{graph of \(f\)}  is
  \[
  \langle f \rangle = \{(x, y) \mid f x = y\}
  \]
\end{defiL}

\end{document}

ingrese la descripción de la imagen aquí

Por favor tenga en cuenta que:

  • Configuré la fuente normalfont(es decir, no inclinada) solo para el primer ejemplo (entorno defiS),
  • La numeración es 1.1 en los tres casos porque utilicé tres entornos diferentes (es decir defiS, defiMy defiL), pero si te ciñes a un entorno, los números serán correctos (es decir, 1.1, 1.2, 1.3, etc.).
  • Solo usé el estilo predefinido, pero puedes personalizarlos mucho.

Respuesta4

Una solución es sangrar (una cantidad determinada) toda la prueba y jugar un poco con el tamaño de fuente. Se puede considerar la siguiente redefinición del proofmedio ambiente:

\makeatletter
\renewenvironment{proof}[1][\proofname]{\par
\pushQED{\qed}%
\normalfont\small\topsep6\p@\@plus6\p@\relax
%\trivlist %%%% old
\list{}{\leftmargin=\parindent
   \rightmargin=0pt
   \settowidth{\itemindent}{\itshape#1}%
   \labelwidth=\itemindent}  
\item[\hskip\labelsep\itshape#1\@addpunct{.}]\ignorespaces
}{%
 \popQED
 %\endtrivlist %%OLD
 \endlist %%NEW
 \@endpefalse
}
\makeatother

información relacionada