PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Text in \newtheorem beidseitig einrücken



neuling1
14-03-2010, 15:48
Hey Ihr,
ich möchte eine Bemerkungsumgebung so definieren, dass nach "Bemerkung:" eine neue Zeile angefangen wird und der eigentliche Test dann wie bei der \quotation Umgebung beidseitig eingerückt wird.
Im Prinzip so wie bei
\newenvironment{bemerkung}{{\em Bemerkung:} \vspace{-.4em}\begin{quote}}{\end{quote}}

Bei einem Seitenumbruch tritt dabei dann mein Problem auf: "Bemerkung" steht auf der einen Seite und der Text beginnt/steht erst auf der Anderen.
--> Beispiel.

Mit \newtheorem + \newenvironment (und bemerkung2) lässt sich das beheben. Allerdings bekomme ich damit keinen Zeilenumbruch nach "Bemerkung".

Hat von euch jemand eine Idee wie ich die Vorteile beider Bemerkungen verbinden kann?

Danke im Vorraus.


\documentclass[ a4paper, twoside, 12pt , headsepline, openright]{scrreprt}
\usepackage[latin1]{inputenc}
\usepackage[ngerman]{babel}
%\usepackage{amsmath,amsfonts,amssymb, amsthm}
\usepackage{amsmath, amsthm}

\parindent = 0pt

\newenvironment{bemerkung}{{\em Bemerkung:} \vspace{-.4em}\begin{quote}}{\end{quote}}

%LÖSUNGSANSATZ
\newtheoremstyle{bemerkungsstil} %name
{} % Space above
{} % Space below
{} % Body font
{} % Indent amount
{\em}% Theorem head font %{\itshape}% Theorem head font
{:} % Punctuation after theorem head
{\newline} % Space after theorem head
{Bemerkung}% Theorem head spec (can be left empty, meaning `normal')

\theoremstyle{bemerkungsstil}
\newtheorem{BEMERKUNG}{BEMERKUNG}
\newenvironment{bemerkung2}{\begin{BEMERKUNG}\begi n{quote}}{\end{quote}\end{BEMERKUNG}}


\begin{document}

\begin{bemerkung}
{\bf So soll's aussehen} \\
Das schrittweise Arbeiten erfordert vordergründig im Vergleich zu kömmlichen Textverarbeitungen einerseits eine längere Einarbeitungszeit, andererseits kann das Aussehen des Resultats genau festgelegt werden. Die längere Einarbeitungszeit kann sich jedoch, insbesondere bei Folgeprojekten mit vergleichbarem Umfang oder ähnlichen Erfordernissen, lohnen.[2] Inzwischen gibt es auch grafische Editoren, die mit LaTeX arbeiten können und WYSIWYG oder WYGIWYM bieten. Ein Beispiel hierfür ist LyX, welches ungeübten Usern den Einstieg deutlich erleichtert.
\end{bemerkung}

\vspace{15cm}
\begin{bemerkung}
{\bf Problem.}
\\
Das schrittweise Arbeiten erfordert vordergründig im Vergleich zu kömmlichen Textverarbeitungen einerseits eine längere Einarbeitungszeit, andererseits kann das Aussehen des Resultats genau festgelegt werden. Die längere Einarbeitungszeit kann sich jedoch, insbesondere bei Folgeprojekten mit vergleichbarem Umfang oder ähnlichen Erfordernissen, lohnen.[2] Inzwischen gibt es auch grafische Editoren, die mit LaTeX arbeiten können und WYSIWYG oder WYGIWYM bieten. Ein Beispiel hierfür ist LyX, welches ungeübten Usern den Einstieg deutlich erleichtert.

\end{bemerkung}


\begin{bemerkung2}
{\bf so klappt es -fast-, bis auf die fehlende neue Zeile am Anfang}
\\
Das schrittweise Arbeiten erfordert vordergründig im Vergleich zu kömmlichen Textverarbeitungen einerseits eine längere Einarbeitungszeit, andererseits kann das Aussehen des Resultats genau festgelegt werden. Die längere Einarbeitungszeit kann sich jedoch, insbesondere bei Folgeprojekten mit vergleichbarem Umfang oder ähnlichen Erfordernissen, lohnen.[2] Inzwischen gibt es auch grafische Editoren, die mit LaTeX arbeiten können und WYSIWYG oder WYGIWYM bieten. Ein Beispiel hierfür ist LyX, welches ungeübten Usern den Einstieg deutlich erleichtert.
\end{bemerkung2}


\end{document}

neuling1
15-03-2010, 12:00
Habe es jetzt mit einer Minipage gemacht. Das scheint zu funktionieren:

\newenvironment{bemerkung}{\begin{BEMERKUNG} \hspace{0.05\linewidth}\begin{minipage}{0.9\linewi dth}}{\end{minipage} \end{BEMERKUNG}}

neuling1
15-03-2010, 12:48
Okay, das ist auch nicht das Gelbe vom Ei.

Die Minipage lässt keinen Seitenumbruch zu. Wenn also der Text zu lang wird habe ich wieder das Ursprungsproblem, nur dass zusätzlich auch kein Seitenumburch möglich ist.

Hat vielleicht jemand eine Idee?
Kann man eventuell eine "nicht so starke" Box verwenden?

So von der Idee her:

\newenvironment{bemerkung}{\begin{BEMERKUNG} \parbox{4cm}{} {}\end{BEMERKUNG}}

In der amsthm.sty müsste doch eingentlich so eine Konstruktion zu finden sein. Nur ich find sie nicht.

bischi
15-03-2010, 13:08
http://www.personal.ceu.hu/tex/breaking.htm

\nopagebreak ?

MfG Bischi

neuling1
15-03-2010, 21:53
Das hat leider nichts gebracht.

rais
15-03-2010, 22:57
Moin moin,


Die Minipage lässt keinen Seitenumbruch zu. Wenn also der Text zu lang wird habe ich wieder das Ursprungsproblem,

dann ist mir Dein Ursprungsproblem wohl nicht klargeworden ... wolltest Du nicht gerade einen Seitenumbruch verhindern (was eine minipage/\parbox ja tut)?


nur dass zusätzlich auch kein Seitenumburch möglich ist.

Hmm. Erst willst Du einen Seitenumbruch verhindern und nun doch zulassen? Wo denn genau?
Evtl hilft ja auch schon ein manueller Eingriff


\newtheorem{BEMERKUNG}{BEMERKUNG}
\newif\ifremarkmpdone
\newenvironment{bemerkungii}{%
\remarkmpdonefalse
\providecommand*\abhierumbrucherlaubt{%
\endminipage
\remarkmpdonetrue
}
\begin{BEMERKUNG}%
\minipage{\linewidth}%
}{%
\ifremarkmpdone\relax\else
\endminipage
\fi
\end{BEMERKUNG}%
}

und dann entsprechend


\begin{bemerkungii}
{\bfseries so klappt es -fast-, bis auf die fehlende neue Zeile am Anfang}
\\
Das schrittweise Arbeiten erfordert vordergründig im Vergleich zu kömmlichen Textverarbeitungen einerseits eine längere Einarbeitungszeit, andererseits kann das Aussehen des Resultats genau festgelegt werden. Die längere Einarbeitungszeit kann sich jedoch, insbesondere bei Folgeprojekten mit vergleichbarem Umfang oder ähnlichen Erfordernissen, lohnen.[2]
\abhierumbrucherlaubt{} Inzwischen gibt es auch grafische Editoren, die mit LaTeX arbeiten können und WYSIWYG oder WYGIWYM bieten. Ein Beispiel hierfür ist LyX, welches ungeübten Usern den Einstieg deutlich erleichtert.
\end{bemerkungii}

BTW: ich würde von Ziffern innerhalb von Befehls-/Umgebungsnamen abraten, generell sind hier nur a--z, A--Z möglich ... und \bf solltest Du möglichst durch \bfseries (bzw. \textbf{..}) ersetzen, siehe dazu auch l2tabu.

MfG

lockstep
16-03-2010, 07:50
Hmm. Erst willst Du einen Seitenumbruch verhindern und nun doch zulassen? Wo denn genau?

Wenn ich den Originalposter richtig verstehe, soll beim Zeilenumbruch nach dem Wort "Bemerkung" kein Seitenumbruch möglich sein (ähnlich wie bei einer Überschrift), im Text danach schon.

lockstep

lockstep
16-03-2010, 11:35
Nachdem die neue Umgebung keine Nummerierung benötigt, hier ein Ansatz mit minisec und addmargin:



\documentclass{scrartcl}

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

\usepackage{blindtext}

\newenvironment{bemerkung}{%
\setkomafont{minisec}{\normalfont\itshape}%
\begin{addmargin}{2.5em}%
\minisec{\hspace*{-2.5em}Bemerkung:}% "Bemerkung" nicht eingerückt
% \minisec{Bemerkung:}% "Bemerkung" eingerückt
}{%
\end{addmargin}%
\vspace{1.5ex}%
}

\begin{document}

\vspace*{30\baselineskip}
% \vspace*{31\baselineskip}

\blindtext

\begin{bemerkung}
\blindtext
\end{bemerkung}

\blindtext

\end{document}


lockstep

neuling1
16-03-2010, 12:51
@lockstep
perfekt, genau das habe ich gesucht.

Eine Umgebung, die den Seitenumbruch wie bei \newtheorem ("Bemerkung" + ca. 4 Zeilen auf der einen Seite und dann erst einen Seitenumbruch) hat und zusätzlich beidseitig eingerückt ist.

Danke

lockstep
16-03-2010, 17:57
Eine Umgebung, die den Seitenumbruch wie bei \newtheorem ("Bemerkung" + ca. 4 Zeilen auf der einen Seite und dann erst einen Seitenumbruch) hat

Anmerkung: Wie bei anderen Überschriften ist auch bei minisec nach der zweiten Zeile des folgenden Textes ein Seitenumbruch erlaubt. Dies ist auch in meinem Minimalbeispiel erkennbar.

lockstep