Seite 1 von 1

Seiten- / Spaltenumbruch nach minisec verhindern

Verfasst: So 22. Mär 2020, 15:10
von IRM
Ich brauche Eure Hilfe. Wie kann ich verhindern, dass nach minisec ein Seitenumbruch bzw. ein Spaltenumbruch geschieht? Ich habe schon versucht das in eine mbox zu packen aber das führt zu vielen Fehlern.
Aus optischen Gründen sollte nie Prüfer oder Antwort alleine stehen. Wie kann man das machen.
Hier mein Minimalbeispiel:
\documentclass[paper = 170mm:220mm, DIV=17, headinclude, twoside, fontsize=8pt, BCOR=19mm, headsepline, parskip=half, headings=small, toc=flat, toc=numberline, twocolumn]{scrbook} 

\usepackage{blindtext}
\usepackage{tikz}

\setlength{\columnsep}{20pt}

\usepackage{xspace} %fügt Leerzeichen nach Befehle ein

\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[ngerman]{minitoc}%Für Partinhaltsverzeichnisse

\usepackage{pxfonts}
\usepackage{microtype} %verbessert wohl den Blocksatz

\pagestyle{headings}

\definecolor{shadecolor}{gray}{.9}
\colorlet{shadecolor}{gray!25}

%Schriften ändern in Komascript
\addtokomafont{minisec}{\color[gray]{.5}}{\small}

\begin{document} 
	\newcommand{\smallminisec}[1]{\minisec{\small #1}}
	\newcommand{\Antwort}[1]{\minisec{\small{Antwort:}}\vskip-\parskip #1\par}
	\newcommand{\Generalprobe}[2]{
		%\mbox{%
			\IfArgIsEmpty{#1}{\smallminisec{Prüfer:}}{\smallminisec{Prüfer #1{:}}}
			\vskip-\parskip%
			\color{black}
			#2\par
		%	}
		\Antwort{\color[gray]{.5}\vspace{0.7cm}\hrule\vspace{0.7cm}\hrule\vspace{0.7cm}\hrule\vspace{0.7cm}\hrule\vspace{0.7cm}\hrule\vspace{0.7cm}}
		\color{black}
	}
	\newcommand{\fett}[1]{\textbf{#1}}
	\blindtext
	\Generalprobe{2}{Wie klären Sie die \fett{EBV-Infektion} weiter ab?}
	\Generalprobe{2}{Was würden Sie denn bei einer \fett{ganz frischen EBV-Infektion} erwarten?}
	\Generalprobe{2}{Und wenn das jetzt keine Erstinfektion ist, sondern eine Reaktivierung?}
	\Generalprobe{2}{Wann werden die denn positiv?}
	\Generalprobe{2}{Die Patientin hat Fieber, fühlt sich zunehmend abgeschlagen und hat eine angeschwollene Milz.}
	\Generalprobe{2}{Wie klären Sie die \fett{EBV-Infektion} weiter ab?}
	\Generalprobe{2}{Was würden Sie denn bei einer \fett{ganz frischen EBV-Infektion} erwarten?}
	\Generalprobe{2}{Und wenn das jetzt keine Erstinfektion ist, sondern eine Reaktivierung?}
	\Generalprobe{2}{Wann werden die denn positiv?}
\end{document}

Verfasst: So 22. Mär 2020, 15:29
von Gast
Nach \minisec ist kein Umbruch erlaubt. Den erlaubst du erst durch die zusätzlichen \vskip und \color. Da muss du dann schon an den entsprechenden Stellen mit \nopagebreak den Umbruch wieder verhindern. Außerdem solltest du lernen Inhalt und Form zu trennen. Form gehört in die Dokumentpräambel. Desweiteren sollten LaTeX-Anfänger, die den Unterschied zwischen \vskip und \vspace nicht kennen, in der Regel eher die LaTeX-Anweisung \vspace statt dem TeX-Primitiv \vskip verwenden.

Und
\addtokomafont{minisec}{\color[gray]{.5}}{\small}
ist komplett falsch. Du verwendest hier \addtokomafont mit drei Argumenten. Es hat aber nur zwei.

Übrigens kann man sich bei KOMA-Script mit \DeclareNewSectionCommand auch neue, echte Gliederungsbefehle definieren, bei denen man dann auch die Abstände und Farbe und Schrift direkt einstellen kann.

Verfasst: So 22. Mär 2020, 15:45
von IRM
Danke für Deine Rückmeldung. Ja, tatsächlich finde ich Latex nach wie vor schwierig. Auch die Anleitungen zu den Paketen finde ich schwierig. Kannst Du mir netterweise zeigen, wie ich mit
\DeclareNewSectionCommand
einen passenden Gliederungsbefehl in der gewünschten Optik (ohne Seitenumbruch) für Prüfer / Antworten hinbekommen kann? Vielen Dank!!

EDIT: Bei \addtokomafont{minisec}{\color[gray]{.5}}{\small}
hat meiner Ansicht nur ZWEI Argumente. {0.5} ist doch eine Option für \color. Aber ich verbessere gerne Dinge. Wie soll ich es anders lösen?

Warum funktioniert hierr eigentlich kleine \mbox?
Ich habe jetzt einfach ein \nopagebreak eingefügt, das funktioniert so lange bis ich eine bessere Lösung habe.
\documentclass[paper = 170mm:220mm, DIV=17, headinclude, twoside, fontsize=8pt, BCOR=19mm, headsepline, parskip=half, headings=small, toc=flat, toc=numberline, twocolumn]{scrbook} 

\usepackage{blindtext}
\usepackage{tikz}

\setlength{\columnsep}{20pt}

\usepackage{xspace} %fügt Leerzeichen nach Befehle ein

\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[ngerman]{minitoc}%Für Partinhaltsverzeichnisse

\usepackage{pxfonts}
\usepackage{microtype} %verbessert wohl den Blocksatz

\pagestyle{headings}

\definecolor{shadecolor}{gray}{.9}
\colorlet{shadecolor}{gray!25}

%Schriften ändern in Komascript
\addtokomafont{minisec}{\color[gray]{.5}}{\small}

\begin{document} 
	\newcommand{\smallminisec}[1]{\minisec{\small #1}}
	\newcommand{\Antwort}[1]{\minisec{\small{Antwort:}}\vskip-\parskip #1\par}
	\newcommand{\Generalprobe}[2]{
		%\mbox{%
			\IfArgIsEmpty{#1}{\smallminisec{Prüfer:}}{\smallminisec{Prüfer #1{:}}}
			\vskip-\parskip%
			\color{black}
			\nopagebreak
			#2\par
		%	}
		\Antwort{\color[gray]{.5}\vspace{0.7cm}\hrule\vspace{0.7cm}\hrule\vspace{0.7cm}\hrule\vspace{0.7cm}\hrule\vspace{0.7cm}\hrule\vspace{0.7cm}}
		\color{black}
	}
	\newcommand{\fett}[1]{\textbf{#1}}
	\blindtext
	\Generalprobe{2}{Wie klären Sie die \fett{EBV-Infektion} weiter ab?}
	\Generalprobe{2}{Was würden Sie denn bei einer \fett{ganz frischen EBV-Infektion} erwarten?}
	\Generalprobe{2}{Und wenn das jetzt keine Erstinfektion ist, sondern eine Reaktivierung?}
	\Generalprobe{2}{Wann werden die denn positiv?}
	\Generalprobe{2}{Die Patientin hat Fieber, fühlt sich zunehmend abgeschlagen und hat eine angeschwollene Milz.}
	\Generalprobe{2}{Wie klären Sie die \fett{EBV-Infektion} weiter ab?}
	\Generalprobe{2}{Was würden Sie denn bei einer \fett{ganz frischen EBV-Infektion} erwarten?}
	\Generalprobe{2}{Und wenn das jetzt keine Erstinfektion ist, sondern eine Reaktivierung?}
	\Generalprobe{2}{Wann werden die denn positiv?}
\end{document}

Verfasst: Mo 23. Mär 2020, 13:58
von Gast
IRM hat geschrieben:EDIT: Bei \addtokomafont{minisec}{\color[gray]{.5}}{\small}
hat meiner Ansicht nur ZWEI Argumente. {0.5} ist doch eine Option für \color.
Das erste Argument ist {minisec}. Das zweite Argument ist {\color[gray]{.5}}. Der Versuch eines dritten Arguments, der aber ins Leere geht ist: {\small}. Wenn das \small funktionieren soll, muss es mit in das zweite Argument.
IRM hat geschrieben:Warum funktioniert hierr eigentlich kleine \mbox?
Eine \mbox ist eine horizontale Box. Für vertikales Material braucht es dann schon eine \parbox.

Sorry, dass ich mich gestern nicht mehr gemeldet habe. Ich bin durch Covid-19 etwas mitgenommen. Wenn das jetzt so erst einmal bei dir funktioniert, ist das ja auch die Hauptsache.