
Wenn ich den Theorem-Stil wie im Beispiel unten verwende, entsteht nach der Bemerkung ein neuer Absatz. Kann ich das verhindern (und amsthm
gleichzeitig 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}
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 rem
Umgebung 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}
Antwort3
Das Verhalten tritt auf, weil in seiner Definition amsthm.sty
ausdrü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