Entfernen Sie den vertikalen Abstand um Theoreme

Entfernen Sie den vertikalen Abstand um Theoreme

Ich habe noch keine Erfahrung mit LaTeX (vor ein paar Tagen wusste ich noch nicht, wie man es benutzt \newtheorem) und hoffe, dass mir jemand bei folgendem Problem helfen kann.

Wenn ich verwende \usepackage{amsthm}, wie erhalte ich dann die Kontrolle über die vertikale Lücke zwischen Theoremen, Propositionen usw. und ihren jeweiligen Beweisen? Insbesondere suche ich nach einem Beweis, der wie eine normale Linie verläuft. Dies ist das Beste, was mir bisher eingefallen ist:

\usepackage{amthm}

\newtheoremstyle{newstyle}      
{} %Aboveskip 
{-.25pt} %Below skip
{\mdseries} %Body font e.g.\mdseries,\bfseries,\scshape,\itshape
{} %Indent
{\bfseries} %Head font e.g.\bfseries,\scshape,\itshape
{.} %Punctuation afer theorem header
{ } %Space after theorem header
{} %Heading

\theoremstyle{newstyle}
\newtheorem{thm}{Theorem}[section]
\newtheorem{prop}{Proposition}[thm]
\newtheorem{lem}{Lemma}
\newtheorem{cor}{Corollary}

\newenvironment{pf}
{\n\textit{Proof.}\begin{mdseries}}
{\end{mdseries}}\

Ich habe damit jedoch zwei Hauptprobleme. Erstens %Below skipscheint es mir nicht viel Kontrolle zu geben - es gibt einen ziemlich großen Sprung zwischen und , wenn ich einen negativen Wert eingebe. Zweitens ist die Nummerierung durcheinander, d. h. wenn ich und dann (sagen wir in Abschnitt 1) {}​​eingeben würde, würde ich als Ausgabe erhalten:\begin{thm}...\end{thm}\begin{prop}...\end{prop}

Satz 1.1
Proposition 1.1.1

Vielen Dank für jede Hilfe.

Antwort1

Erstens sollte der folgende Abstand positiv sein, negative Werte werden ignoriert. Sie können den standardmäßig bereitgestellten Abstand löschen, indem Sie schreiben

\makeatletter
\def\thm@space@setup{\thm@preskip=0pt
\thm@postskip=0pt}
\makeatother

vor Ihrem \newtheoremstyle. Sie können dies anpassen, indem Sie die Werte ändern 0ptoder die Parameter im verwenden \newtheoremstyle.

Versuchen

\newenvironment{pf}{\noindent\textit{Proof.}\begin{mdseries}}{\end{mdseries}}

für Ihre Proof-Umgebung. Wenn Ihnen das zu einfach ist, z. B. wenn Sie die Funktionen der AMS-Umgebung haben möchten \qed, können Sie die folgende Anpassung des AMS-Proof-Codes verwenden

\makeatletter
\newenvironment{pf}[1][\proofname]{\par
  \pushQED{\qed}%
  \normalfont \topsep0\p@\relax
  \trivlist
  \item[\hskip\labelsep\itshape
  #1\@addpunct{.}]\ignorespaces
}{%
  \popQED\endtrivlist\@endpefalse
}
\makeatother

Der wichtige Punkt ist, den Wert \topsepauf Null zu setzen.

Schließlich ist die Propositionsnummer falsch, da Sie darum gebeten haben, sie innerhalb von thms zu nummerieren! Sie sollten schreiben

\newtheorem{prop}[thm]{Proposition}

wird [thm]zwischen den anderen Argumenten platziert, nicht am Ende.

Hier ist alles in einem Beispieldokument zusammengefasst.

\documentclass{article}

\usepackage{amsthm}

\makeatletter
\def\thm@space@setup{\thm@preskip=0pt
\thm@postskip=0pt}
\makeatother
\newtheoremstyle{newstyle}      
{} %Aboveskip 
{} %Below skip
{\mdseries} %Body font e.g.\mdseries,\bfseries,\scshape,\itshape
{} %Indent
{\bfseries} %Head font e.g.\bfseries,\scshape,\itshape
{.} %Punctuation afer theorem header
{ } %Space after theorem header
{} %Heading

\theoremstyle{newstyle}
\newtheorem{thm}{Theorem}[section]
\newtheorem{prop}[thm]{Proposition}
\newtheorem{lem}{Lemma}
\newtheorem{cor}{Corollary}

\makeatletter
\newenvironment{pf}[1][\proofname]{\par
  \pushQED{\qed}%
  \normalfont \topsep0\p@\relax
  \trivlist
  \item[\hskip\labelsep\itshape
  #1\@addpunct{.}]\ignorespaces
}{%
  \popQED\endtrivlist\@endpefalse
}
\makeatother

\begin{document}
Some text to indicate the spacing.

\begin{thm}
  First theorem, with sufficiently long text so that it spills on to a
  second line.
\end{thm}

Some text to indicate the spacing.  Fill-up text make this spill on to
an extra line.  Fill-up text make this spill on to an extra line.

More text.

\begin{prop}
  A proposition, with sufficiently long text so that it spills on to a
  second line.
\end{prop}

\begin{pf}
  Proof of the proposition with \verb+pf+ environment and sufficiently
  long text so that it spills on to a second line.
\end{pf}

\begin{prop}
  Another proposition, with sufficiently long text so that it spills
  on to a second line.
\end{prop}

\begin{proof}
  The original proof environment and sufficiently long text so that it
  spills on to a second line.
\end{proof}

\end{document}

Beispielausgabe

verwandte Informationen