Das Ende einer Definition markieren

Das Ende einer Definition markieren

Ich verwende das amsthmPaket, um eine definitionUmgebung wie folgt zu definieren:

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

Zu meiner Überraschung gibt dies kaum einen typografischen Hinweis darauf, wo die Definition endet und der folgende Text beginnt (es gibt einen neuen Absatz, aber das ist offensichtlich nicht genug, insbesondere wenn die Definition mit einer Gleichung endet).

Was kann ich tun, um das deutlicher zu machen? Ich möchte nicht, dass der Definitionstext in einer anderen Schriftart als normaler Text ist. Vielleicht sollte eine Definition, wie ein Beweis, mit einem enden \qedsymbol– wie kann ich das hinzufügen?

Antwort1

Deramsthmist nicht das Beste für sich allein; aberthmtoolsbietet ein wirklich hübsches „Frontend“ für amsthmund andere Theorempakete.

Insbesondere thmtoolsenthält ein prefoothookund postfoothookdas für Ihren Bedarf verwendet werden kann. Unten sehen Sie einen kleinen Anwendungsfall von thmtoolsin Verbindung mit amsthmdas Beispiele mit einer einfachen horizontalen Linie abschließt. Sie können dies leicht an Ihren Bedarf anpassen. Sie könnten dies beispielsweise mit dem kombinierentcolorboxfür wirklich ausgefallene Kästchen, oder Sie könnten den Text „Ende des Beispiels“ rechts daneben einfügen.

\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}

und die Ausgabe:

Ausgabe

Nachtrag

Wie von Caramdir erwähnt und von Barbara Beeton in den Kommentaren angefordert, ist hier ein Beispiel, das mit Gleichungen arbeitet und die qedOption verwendet:

\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}

was ergibt:

Ausgabe2

Antwort2

Ich sehe wirklich keine Notwendigkeit dafür. Aber da Sie fragen,

\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}

Bildbeschreibung hier eingeben

Ich gehe einfach davon aus, dass Sie keine Beweise inmitten von Definitionen haben.

Antwort3

DerthmboxPakettheorembietet eine schöne Möglichkeit , -ähnliche Umgebungen anzuzeigen .

Mit den drei vordefinierten Stilen können Sie beispielsweise Folgendes erreichen:

\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}

Bildbeschreibung hier eingeben

Bitte beachten Sie:

  • Ich habe die Schriftart normalfontnur für das erste Beispiel (Umgebung) auf (also nicht schräg) eingestellt defiS,
  • Die Nummerierung ist in den drei Fällen 1,1, da ich drei unterschiedliche Umgebungen verwendet habe (d. h. defiS, defiMund defiL), aber wenn Sie bei einer Umgebung bleiben, sind die Nummern korrekt (d. h. 1,1, 1,2, 1,3 usw.).
  • Ich habe einfach den vordefinierten Stil verwendet, aber Sie können ihn umfassend anpassen.

Antwort4

Eine Lösung besteht darin, den gesamten Beweis um einen bestimmten Betrag einzurücken und ein wenig mit der Schriftgröße zu spielen. Sie können die folgende Neudefinition der proofUmgebung in Betracht ziehen:

\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

verwandte Informationen