
Estoy usando el amsthm
paquete para definir un definition
entorno 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
Elamsthm
no es el mejor por sí solo; sin embargo,thmtools
proporciona una 'interfaz' realmente ordenada para amsthm
y otros paquetes de teoremas.
En particular, thmtools
incluye un prefoothook
y postfoothook
que puede usarse según sus necesidades. A continuación se muestra un pequeño caso de uso de thmtools
junto con amsthm
el 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 eltcolorbox
para 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:
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 qed
opció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:
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}
Simplemente asumo que no tienes pruebas en medio de las definiciones.
Respuesta3
Elthmbox
paqueteproporciona una buena manera de mostrar theorem
entornos 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}
Por favor tenga en cuenta que:
- Configuré la fuente
normalfont
(es decir, no inclinada) solo para el primer ejemplo (entornodefiS
), - La numeración es 1.1 en los tres casos porque utilicé tres entornos diferentes (es decir
defiS
,defiM
ydefiL
), 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 proof
medio 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