Wie kann ich eine benutzerdefinierte Umgebung erstellen?

Wie kann ich eine benutzerdefinierte Umgebung erstellen?

Ich möchte einige Theoreme wie folgt aufschreiben:

\begin{theorem}
    \begin{preconditions}
        $A := \begin{pmatrix} 1 & 2 \\ 3 & 4 \end{pmatrix}$\\
        $B := \begin{pmatrix} 2 & 2 \\ 3 & 4 \end{pmatrix}$\\
        $n \in \mathbb{N}$
    \end{preconditions}

    \begin{claim}
        $\sqrt{2} \notin \mathbb{Q}$
    \end{claim}

    \begin{proof}{directly}
        [... the proof ...]
    \end{proof}

\end{theorem}

Es sollte so aussehen:

**Theorem 123**
    **Preconditions**:
        $A := \begin{pmatrix} 1 & 2 \\ 3 & 4 \end{pmatrix}$\\
        $B := \begin{pmatrix} 2 & 2 \\ 3 & 4 \end{pmatrix}$\\
        $n \in \mathbb{N}$

    **Claim**: √2 ∉ Q

    **Proof**: directly

        [... the proof ...]
        [.. the end]                 ■

( Theorem 123, Preconditions, Claimund Proofsollten fett sein)

Logik hinter der Umgebung:

  • Die Theoreme sollten automatisch eine Nummer erhalten, die bei eins beginnt und für jeden Theorem um eins hochzählt
  • Innerhalb der Theoremumgebung sind nur die Umgebungen preconditions, claimund proofzulässig
  • Innerhalb der Theoremumgebung müssen die claimund die Umgebung genau einmal vorhanden sein.proof
  • Der Inhalt des Beweises und der Inhalt der Voraussetzungen sollten die gleiche Absicht haben.

Was ich bisher gefunden habe:

ich dachte\neue Umgebungkönnte sein, was ich suche:

\newenvironment{name}[num]{before}{after}

aber ich konnte nicht herausfinden, wie ich interne Umgebungen als erforderlich markieren kann.


Das amsthm-Paket scheint Umgebungen für den Beweis zu haben (Quelle), aber ich sehe keine Möglichkeit, die verschiedenen Umgebungen zu verschachteln und sie so aussehen zu lassen, wie ich es möchte


Satzscheint viele Möglichkeiten zu bieten. Ich habe 4 neue Theoremumgebungen erstellt:

\newtheorem{theorem}{Theorem}
\newtheorem{preconditions}{Preconditions}
\newtheorem{proof}{Proof}
\newtheorem{claim}{Claim}

Ich habe den Latex-Code von oben verwendet und Folgendes erhalten: Bildbeschreibung hier eingeben

Dieser hat keine Absicht der inneren Umgebungen, die inneren Umgebungen sind nummeriert, obwohl sie nicht nummeriert sein sollten und keineGrabsteinist am Ende

Antwort1

Ich benutzte diethmtoolsPaket als Frontend für , amsthmum eine neue ProofUmgebung zu definieren; die anderen beiden Umgebungen wurden mit erstellt \newenvironment. Die Umgebungen Proof, claimund preconditionverwenden adjustwidthaus demchangepagePaket, um den linken Rand zu vergrößern. Natürlich können Sie die erforderlichen Anpassungen entsprechend Ihren Anforderungen vornehmen:

\documentclass{article}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{amsthm}
\usepackage{thmtools}
\usepackage{changepage}
\usepackage[nopar]{lipsum}% just to generate some text

\newlength\Thmindent
\setlength\Thmindent{20pt}

\newenvironment{precondition}
  {\par\medskip\adjustwidth{\Thmindent}{}\normalfont\textbf{Preconditions:}\par\nobreak}
  {\endadjustwidth}
\newenvironment{claim}
  {\par\medskip\adjustwidth{\Thmindent}{}\normalfont\textbf{Claim:}}
  {\endadjustwidth}

\declaretheoremstyle[
  spaceabove=0pt,spacebelow=0pt,
  preheadhook=\adjustwidth{\Thmindent}{},
  prefoothook=\endadjustwidth,
  headpunct=:,
  numbered=no,
  qed=\qedsymbol
]{proof}
\declaretheorem[style=proof]{Proof}

\theoremstyle{plain}
\newtheorem{theorem}{Theorem}

\begin{document}

\begin{theorem}
\lipsum[2]
\begin{precondition}
\begin{itemize}
\item $A := \begin{pmatrix} 1 & 2 \\ 3 & 4 \end{pmatrix}$
\item $B := \begin{pmatrix} 2 & 2 \\ 3 & 4 \end{pmatrix}$
\item $n \in \mathbb{N}$
\end{itemize}
\end{precondition}
\begin{claim}
$\sqrt{2}\notin\mathbb{Q}$
\end{claim}
\begin{Proof}
\lipsum[2]
\end{Proof}
\end{theorem}

\end{document}

Bildbeschreibung hier eingeben

verwandte Informationen