Theorem mit Box eingeschlossen UND langem Titel Thema ist als GELÖST markiert

Formelsatz für Mathematik, Naturwissenschaften und Technik


fjung

Theorem mit Box eingeschlossen UND langem Titel

Beitrag von fjung »

Hallo,
ich schreibe gerade meine Masterarbeit und ich möchte gerne meine Sätze, Definitionen,... mit dem Befehl \newtheorem definieren. Ich hätte dabei gerne eine Abgrenzung vom restlichen Fließtext. Das ist ja mit dem Packet theorem kein Problem:
\documentclass[12pt,a4paper,fleqn,twoside]{report}

\usepackage[ngerman]{babel}

%\usepackage{amsthm} % Für längeren Titel bei theorem
\usepackage{theorem}
\usepackage{thmbox}

\newtheorem[M]{dfn}{Definition}[chapter]


\begin{document}

\begin{dfn}[Dieser Titel ist sehr lang, sodass er nur mit amsthm auf der nachsten Zeile weiter geht.]
Hier soll dann die Definition drin stehen.
\end{dfn}
\end{document}
Wie man aber sieht, geht der Titel jetzt über den Seitenrand.
Das wiederum kann man mit dem Packet amsthm gut verhindern.
\documentclass[12pt,a4paper,fleqn,twoside]{report}

\usepackage[ngerman]{babel}


\usepackage{amsthm} % Für längeren Titel bei theorem
%\usepackage{theorem}
%\usepackage{thmbox}

\newtheorem{dfn}{Definition}[chapter]


\begin{document}

\begin{dfn}[Dieser Titel ist sehr lang, sodass er nur mit amsthm auf der nachsten Zeile weiter geht.]
Hier soll dann die Definition drin stehen. (eigentlich aber unter dem Titel)
\end{dfn}
\end{document}
Ich bekomme es aber nicht hin, diese beiden Wünsche zu vereinen. Die beiden Packete kann ich nicht gleichzeitig einbinden und ich habe keine Idee, wie ich es sonst machen könnte.

Kann mir da vielleicht irgendjemand helfen??

CollmDante
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 80
Registriert: So 9. Jan 2011, 10:00
Wohnort: Wermsdorf

Beitrag von CollmDante »

Die Definition eines Zeilenumbruchs nach dem Kopf des Theorems bei langen umgebrochenen Notizen zum Theorem läßt sich mit den Paketen amsthm und thmtools erreichen:
\documentclass[12pt,a4paper,fleqn,twoside]{report}
\usepackage[ngerman]{babel}
\usepackage{amsthm,thmtools} % Für längeren Titel bei theorem

\declaretheoremstyle[
name=Definition,
spaceabove=3pt, spacebelow=3pt,
headfont=\normalfont\bfseries,
notebraces={}{},
notefont=\mdseries, 
bodyfont=\normalfont,
headpunct={\\}, %Zeilenumbruch nach Head
]{mystyle}
\declaretheorem[style=mystyle,parent=chapter,shaded={rulewidth=10pt}]{dfn} 
\begin{document}
\begin{dfn}[Dieser Titel ist sehr lang, sodass er nur mit amsthm auf der nachsten Zeile weiter geht. ]
Hier soll dann die Definition drin stehen. (eigentlich aber unter dem Titel)
\end{dfn}
\end{document} 
Bei Verwendung der Option thmbox in der Defintion des Theoremstils wäre kein Zeilenumbruch mehr vorhanden. (Konnte hierfür zumindest keine Lösung finden. Wahrscheinlich weil die Breite der Box sich aus der Breite des Kopfes ableitet.) Im beispiel habe ich daher das Theorem mit einer Farbe hinterlegt.

Gruß Jens
Die Kugel ist der vollendete Kompromiss, sie kann nirgendwo anecken.
Paul Leip

fjung

Beitrag von fjung »

Vielen Dank für die schnelle Antwort.

Eigentlich hätte ich die Box gerne beibehalten, aber das scheint ja nicht wirklich machbar zu sein.
Vermutlich werde ich jetzt auf die farbliche Hinterlegung zurückgreifen.
Oder ich denke mir doch noch kürzerer Titel aus ;-)

CollmDante
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 80
Registriert: So 9. Jan 2011, 10:00
Wohnort: Wermsdorf

Beitrag von CollmDante »

Eine Box habe ich noch in dem ich alles mit einer Tabelle (Packet tabu) in dem Befehl \dfn verwurstelt habe. Da lässt sich sicherlich bei etwas Zeit noch mehr rausholen.
\documentclass[12pt,a4paper,fleqn,twoside]{report}
\usepackage[ngerman]{babel}
\usepackage{tabu,amsthm,thmtools} % Für längeren Titel bei theorem
\declaretheoremstyle[
name=Definition,
spaceabove=6pt, spacebelow=6pt,
headfont=\normalfont\bfseries,
notebraces={}{},
notefont=\mdseries, 
bodyfont=\normalfont,
headpunct={\\}, %Zeilenumbruch nach Head
]{mystyle}
\declaretheorem[style=mystyle,parent=chapter]{defdfn}
\newcommand\dfn[2]{\begin{defdfn}[#1] %
\begin{tabu} to \textwidth {X|X[99.95]}
 \tabucline[2pt]{-}&#2\\\tabucline{2}
 \end{tabu}
\end{defdfn}}
\begin{document}
\dfn{Dieser Titel ist sehr lang, sodass er nur mit amsthm auf der nachsten Zeile weiter geht.}{Hier soll dann die Definition drin stehen. (eigentlich aber unter dem Titel)Hier soll dann die Definition drin stehen. (eigentlich aber unter dem Titel)Hier soll dann die Definition drin stehen. (eigentlich aber unter dem Titel)}

\renewcommand\dfn[2]{\begin{defdfn}[#1] %
\begin{tabu} to \textwidth {X|X[99.95]|}
 \tabucline[2pt]{-}&#2\\\tabucline{2}
 \end{tabu}
\end{defdfn}}

\dfn{Dieser Titel ist sehr lang, sodass er nur mit amsthm auf der nachsten Zeile weiter geht.}{Hier soll dann die Definition drin stehen. (eigentlich aber unter dem Titel)Hier soll dann die Definition drin stehen. (eigentlich aber unter dem Titel)Hier soll dann die Definition drin stehen. (eigentlich aber unter dem Titel)}

\renewcommand\dfn[2]{\begin{defdfn}[#1] %
\begin{tabu} to \textwidth {X|X[99.95]}
 \tabucline[2pt]{-}&#2
 \end{tabu}
\end{defdfn}}

\dfn{Dieser Titel ist sehr lang, sodass er nur mit amsthm auf der nachsten Zeile weiter geht.}{Hier soll dann die Definition drin stehen. (eigentlich aber unter dem Titel)Hier soll dann die Definition drin stehen. (eigentlich aber unter dem Titel)Hier soll dann die Definition drin stehen. (eigentlich aber unter dem Titel)}

\end{document} 
Die Kugel ist der vollendete Kompromiss, sie kann nirgendwo anecken.
Paul Leip

fjung

Beitrag von fjung »

Super, mit dieser Hilfe habe ich jetzt eine fast perfekte Lösung gefunden. Auch wenn es ziemlich zusammengebastelt ist.
Ich habe tabu durch tabular ersetzt, weil ich mich damit besser auskenne.
\documentclass[12pt,a4paper,fleqn,twoside]{report}
\usepackage[ngerman]{babel}
\usepackage{tabu,amsthm,thmtools} % Für längeren Titel bei theorem
\usepackage{booktabs}



\declaretheoremstyle[
name=Definition,
spaceabove=6pt, spacebelow=6pt,
headfont=\normalfont\bfseries,
notebraces={}{},
notefont=\mdseries,
bodyfont=\normalfont,
headpunct={\\}, %Zeilenumbruch nach Head
numbered=yes,
]{mystyle}
\declaretheorem[style=mystyle,parent=chapter]{defdfn}


\declaretheoremstyle[
name=Bemerkung,
spaceabove=6pt, spacebelow=6pt,
headfont=\normalfont\bfseries,
notebraces={}{},
notefont=\mdseries,
bodyfont=\normalfont,
headpunct={\\}, %Zeilenumbruch nach Head
]{mystyle2}
\declaretheorem[style=mystyle2,parent=chapter]{defbem}



\begin{document}

\newcommand\dfn[2]{\begin{defdfn}[(\textit{#1})] %

 \begin{tabular}{p{0.5cm}|p{2cm}c}
 \toprule[2pt]\\
            & \multicolumn{2}{c}{\begin{minipage}{0.9\textwidth}#2\end{minipage}}\\
            &&\\
          \cline{2-2}
      \end{tabular} 
\end{defdfn}}

\newcommand\bem[2]{\begin{defbem}[(\textit{#1})] %

 \begin{tabular}{p{0.5cm}|p{2cm}c}
 \toprule[2pt]\\
            & \multicolumn{2}{c}{\begin{minipage}{0.9\textwidth}#2\end{minipage}}\\
            &&\\
          \cline{2-2}
      \end{tabular} 
\end{defbem}}


\dfn{Dieser Titel ist sehr lang, sodass er nur mit amsthm auf der nachsten Zeile weiter geht.}{Hier soll dann die Definition drin stehen. (eigentlich aber unter dem Titel)Hier soll dann die Definition drin stehen. (eigentlich aber unter dem Titel)Hier soll dann die Definition drin stehen. (eigentlich aber unter dem Titel)}


\bem{sdkflskfdlsfldjl}{skajslfj}
\end{document} 

Hat vielleicht noch jemand eine Idee, wie ich es hinbekomme, dass die vertikale Linie die obere Linie berührt?

Ich habe bisher nur mit dem Package theorem gearbeitet. Wie kann ich es denn hier so einstellen, dass die Bemerkungen und die Definitionen gleichzeitig hochgezählt werden?

Schöne Grüße!

Epllus
Forum-Guru
Forum-Guru
Beiträge: 470
Registriert: So 23. Sep 2012, 17:31

Beitrag von Epllus »

Benutze \bottomrule statt \toprule

Grüße
Epllus

fjung

noch eine Nachfrage

Beitrag von fjung »

Hallo,

ich hab noch mal eine Nachfrage.
Mein aktueller Stand ist jetzt wie in dem obigen Eintrag.

1. Kann mir jemand sagen, wie ich die Nummerierung für beispielsweise Satz, Definition und Algorithmus gleichzeitig hochzähle?

2. Kriegt man es hin, dass eine Definintion auch einen Seitenumbruch enthalten kann? Ich habe es mit supertabular versucht, indem ich einfach 'tabular' durch 'supertabular' ersetzt habe. So einfach funktioniert es aber leider nicht.

Schöne Grüße
Francesca

Antworten