Neuen Absatz nach Theoremumgebung verhindern

Neuen Absatz nach Theoremumgebung verhindern

Wenn ich den Theorem-Stil wie im Beispiel unten verwende, entsteht nach der Bemerkung ein neuer Absatz. Kann ich das verhindern (und amsthmgleichzeitig das Paket verwenden)?

\documentclass[english]{scrartcl}  

\usepackage[T1]{fontenc}
\usepackage[latin9]{inputenc}
\usepackage{babel}

 \usepackage{amsthm}

\usepackage{blindtext}

\newtheorem{rem}{Remark} 

\begin{document}


\begin{rem}
\blindtext
\end{rem}
\blindtext  % I want that the text begins aligned left, i.e. no new 
 % paragraph


\end{document} 

Beispiel des Problems

Antwort1

Ich weiß nicht genau, wonach Sie suchen, aber das könnte Ihnen helfen

\documentclass[english]{scrartcl}  

\usepackage[T1]{fontenc}
\usepackage[latin9]{inputenc}
\usepackage{babel}

 \usepackage{amsthm}

\usepackage{blindtext}


\newtheoremstyle{mystyle}
  {\topsep} % Space above
  {0pt} % Space below
  {\itshape} % Body font
  {} % Indent amount
  {\bfseries} % Theorem head font
  {.} % Punctuation after theorem head
  {.5em} % Space after theorem head
  {} % Theorem head spec (can be left empty, meaning `normal')

\theoremstyle{mystyle}
\newtheorem{rem}{Remark} 

\begin{document}


\begin{rem}
\blindtext
\end{rem}
\noindent\blindtext


\end{document}

PS: Verwendeter Theoremstil ausHier

Antwort2

Es ist nicht schwer, das zu tun, aber Sie sollten zweimal darüber nachdenken. Eine Bemerkung, die in einer remUmgebung als Beweismittel dientIstein Absatz (oder mehrere) für sich, so dass der Text danachsollenein neuer Absatz sein.

\documentclass{article}

\usepackage{amsthm}

\newtheorem{reminner}{Remark}

\makeatletter
\newenvironment{rem}
  {\reminner}
  {\endreminner\@endpetrue}
\makeatother

\begin{document}

\begin{rem}
A remarkable text.
\end{rem}
Some text that shouldn't start a new paragraph. But why not?

\begin{rem}
Another remarkable text.
\end{rem}

Some text that will start a new paragraph.

\end{document}

Bildbeschreibung hier eingeben

Antwort3

Das Verhalten tritt auf, weil in seiner Definition amsthm.styausdrücklich eingeschlossen ist : es hat . In einem Artikel vom 7. Mai 1996\@endpefalse\@endtheorem\def\@endtheorem{\endtrivlist\@endpefalse }Postauf comp.text.tex gab Mark Wooding eine Lösung,

\expandafter\let\csname @endtheorem\endcsname\endtrivlist

und schrieb dann: „Eine robustere Methode wäre zu sagen

\makeatletter
\toks@\expandafter{\@endtheorem\@endpetrue}
\edef\@endtheorem{\the\toks@}
\makeatother

für den Fall, dass [...] jemand anderes das ursprüngliche Makro weiter ändert." Diese Lösung funktioniert für mich (im Jahr 2023). Der Code sollte zwischen \usepackage{amsthm}und stehen, wie Tom Scavo später in diesem Thread unter Berufung auf Young U. Ryu (der eine Lösung \newtheorem{...}{...}angeboten hat) anmerkt .\makeatletter\def\@endtheorem{\endtrivlist}\makeatother

verwandte Informationen