
Estou usando o amsthm
pacote para definir um definition
ambiente da seguinte forma:
\theoremstyle{definition}
\newtheorem{definition}{Definition}
Para minha surpresa, isso quase não fornece nenhuma indicação tipográfica de onde termina a definição e começa o texto seguinte (há um novo parágrafo, mas isso claramente não é suficiente, especialmente quando a definição termina com uma equação).
O que posso fazer para deixar isso mais claro? Não quero que o texto de definição tenha uma fonte diferente do texto normal. Talvez uma definição, como uma prova, deva terminar com \qedsymbol
- como posso acrescentar isso?
Responder1
Oamsthm
não é o melhor por si só; no entanto,thmtools
fornece um 'front-end' realmente interessante para amsthm
outros pacotes de teoremas.
Em particular, thmtools
inclui um prefoothook
e postfoothook
que pode ser usado conforme sua necessidade. Abaixo está um pequeno caso de uso thmtools
em conjunto com amsthm
o qual finaliza os exemplos com uma linha horizontal simples. Você pode facilmente adaptar isso às suas necessidades. Por exemplo, você pode combinar isso com otcolorbox
para caixas realmente sofisticadas, ou você pode alinhar o texto "Fim do exemplo".
\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}
e a saída:
Termo aditivo
Conforme mencionado por Caramdir e solicitado por Barbara Beeton nos comentários, aqui está um exemplo que trabalha com equações e utiliza a qed
opção:
\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 produz:
Responder2
Eu realmente não consigo ver a necessidade disso. Mas já que você está perguntando,
\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}
Presumo que você não tenha provas no meio das definições.
Responder3
Othmbox
pacotefornece uma ótima maneira de exibir theorem
ambientes semelhantes.
Por exemplo, usando os três estilos predefinidos, você pode ter:
\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, observe que:
- Defino a fonte como
normalfont
(ou seja, não inclinada) apenas para o primeiro exemplo (ambientedefiS
), - A numeração é 1,1 nos três casos porque usei três ambientes diferentes (ou seja
defiS
, ,defiM
edefiL
), mas se você se limitar a um ambiente, os números estarão corretos (ou seja, 1,1, 1,2, 1,3, etc.). - Acabei de usar o estilo predefinido, mas você pode personalizá-los bastante.
Responder4
Uma solução é recuar (em um determinado valor) toda a prova e brincar um pouco com o tamanho da fonte. Você pode considerar a seguinte redefinição do proof
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