Keine Kopfzeile wenn nur Bilder auf einer Seite seind

Layout von Seiten, Rändern, Fusszeilen, usw, modifizieren


monchi
Forum-Anfänger
Forum-Anfänger
Beiträge: 23
Registriert: Fr 21. Dez 2012, 13:24

Keine Kopfzeile wenn nur Bilder auf einer Seite seind

Beitrag von monchi »

Hi,

ich hab 6 Bilder die ich zwecks Vergleichbarkeit alle auf eine Seite packen muss. Das Problem dabei ist das der Platz meines normalen Seitenlayouts nicht ausreichend ist. Ich würde gerne auf der Seite auf der die Bilder gesetzt werden die Kopfzeile komplett entfernen und den gesamten Platz für die Bilder verwenden. Mein erster Versuch mit \thispagestyle{empty} war leider nicht so erfolgreich.

Der "leere" Seitenstil wird auf der Seite auf welcher der Blindtext erscheint angezeigt. Auf der Seite mit den Bildern hingegen ist die Kopfzeile und die Seitenzahl nach wie vor vorhanden.
\documentclass[
12pt,                		% font size 12pt
a4paper,	             	% layout for DIN A4
BCOR12mm,   	         	% correction for fixation
DIV16,              	 	% DIV-value for creating the print space, (see scrguien.pdf)
parskip=half,         		% spacing between paragraphs
numbers=noenddot,    		% chapter numbers without full stop
captions=tableheading,		% use table headings with correct spacing
1.1headlines,     			% Zeilenanzahl der Kopfzeilen
headinclude,     			% Kopf einbeziehen
footinclude=false,    		% Fuss nicht einbeziehen
mpinclude=false,       	   	% Margin nicht einbeziehen
pagesize,         			% Schreibt die Papiergroesse in die Datei.
twoside,         			% Seitenraender für zweiseitiges Layout
cleardoublepage=empty,    	% leere, linke Seite mit Seitenstil 'plain' (mit
headsepline,      			% Linie unter Kolumnentitel
chapterprefix=false, 		% keine Ausgabe von 'Kapitel:'
listof=totocnumbered,      	% Tabellen & Abbildungsverzeichnis ins TOC
bibliography=totocnumbered, % Bibliographie ins TOC
toc=graduated,        		% eingereuckte Gliederung
]{scrbook}				  	% scrbook-Version min. v2.98 from 2007/12/24

\usepackage{blindtext}
\usepackage{todonotes}
\usepackage{subcaption}

\begin{document}
	\blindtext
	\begin{figure}
		\captionsetup[subfigure]{labelformat=empty}
		\centering
		\begin{subfigure}[b]{0.43\textwidth}
			\missingfigure[figwidth=\textwidth, figheight=\textwidth]{}
			\caption{blabla}
		\end{subfigure}%
		~ 
		\begin{subfigure}[b]{0.43\textwidth}
			\missingfigure[figwidth=\textwidth, figheight=\textwidth]{}
			\caption{blabla}
		\end{subfigure}
		\\\vspace{2pt}
		\begin{subfigure}[b]{0.43\textwidth}
			\missingfigure[figwidth=\textwidth, figheight=\textwidth]{}
			\caption{blabla}
		\end{subfigure}%
		~ 
		\begin{subfigure}[b]{0.43\textwidth}
			\missingfigure[figwidth=\textwidth, figheight=\textwidth]{}
			\caption{blabla}
		\end{subfigure}
		\\\vspace{2pt}
		\begin{subfigure}[b]{0.43\textwidth}
			\missingfigure[figwidth=\textwidth, figheight=\textwidth]{}
			\caption{blabla}
		\end{subfigure}%
		~ 
		\begin{subfigure}[b]{0.43\textwidth}
			\missingfigure[figwidth=\textwidth, figheight=\textwidth]{}
			\caption{blabla}
		\end{subfigure}
		\caption{Hier kommt eine rechte lange Beschreibung hin die sich leider auch nicht kürzen läßt. Daher muss die Kopfzeile weg! Hier kommt eine rechte lange Beschreibung hin die sich leider auch nicht kürzen läßt. Daher muss die Kopfzeile weg!Hier kommt eine rechte lange Beschreibung hin die sich leider auch nicht kürzen läßt. Daher muss die Kopfzeile weg!}
		\thispagestyle{empty}
	\end{figure}
	
	\blindtext

\end{document}
Hat jemand eine Idee?

esdd
Forum-Meister
Forum-Meister
Beiträge: 2561
Registriert: So 7. Feb 2010, 16:36

Beitrag von esdd »

Wenn die Kopfzeile auf allen Gleitseiten entfallen kann und Du ein halbwegs aktuelles KOMA-Script hast, dann ginge
\usepackage[automark]{scrlayer-scrpage}
%\ModifyLayer[nonfloatpage]{scrheadings.head.aboveline}% bei headtopline
\ModifyLayer[nonfloatpage]{scrheadings.head.odd}
\ModifyLayer[nonfloatpage]{scrheadings.head.even}
%\ModifyLayer[nonfloatpage]{scrheadings.head.onepage}% bei einseitigem Satz
\ModifyLayer[nonfloatpage]{scrheadings.head.below.line}
Allerdings musst Du die Bilder dann noch nach oben schieben und sie sind im Beispiel auch zu breit.
\documentclass[ 
 12pt,                      % font size 12pt 
 %a4paper,                   % layout for DIN A4 
 BCOR=12mm,                  % correction for fixation 
 DIV=16,                     % DIV-value for creating the print space, (see scrguien.pdf) 
 parskip=half,               % spacing between paragraphs 
 numbers=noenddot,          % chapter numbers without full stop 
 captions=tableheading,      % use table headings with correct spacing 
 headlines=1.1,              % Zeilenanzahl der Kopfzeilen 
 headinclude,              % Kopf einbeziehen
 %footinclude=false,          % Fuss nicht einbeziehen 
 %mpinclude=false,                % Margin nicht einbeziehen 
 pagesize,                  % Schreibt die Papiergroesse in die Datei. 
 %twoside,                  % Seitenraender für zweiseitiges Layout 
 %cleardoublepage=empty,       % leere, linke Seite mit Seitenstil 'empty' 
 headsepline,               % Linie unter Kolumnentitel 
 chapterprefix=false,       % keine Ausgabe von 'Kapitel:' 
 listof=totocnumbered,         % Tabellen & Abbildungsverzeichnis ins TOC 
 bibliography=totocnumbered, % Bibliographie ins TOC 
 toc=graduated,              % eingereuckte Gliederung 
]{scrbook}[2015/02/07]                 % scrbook-Version min. v3.16 from 2015/02/07 

\usepackage{blindtext} 
\usepackage{todonotes} 
\usepackage{subcaption} 

\usepackage[automark]{scrlayer-scrpage}
%\ModifyLayer[nonfloatpage]{scrheadings.head.aboveline}% bei headtopline
\ModifyLayer[nonfloatpage]{scrheadings.head.odd}
\ModifyLayer[nonfloatpage]{scrheadings.head.even}
%\ModifyLayer[nonfloatpage]{scrheadings.head.onepage}% bei einseitigem Satz
\ModifyLayer[nonfloatpage]{scrheadings.head.below.line}

\begin{document} 
\blinddocument
   \begin{figure}[p]
       \captionsetup[subfigure]{labelformat=empty} 
       \centering 
       \begin{subfigure}[b]{0.43\textwidth} 
          \raisebox{0pt}[\dimexpr\height-4\normalbaselineskip\relax]{\missingfigure[figwidth=\dimexpr\textwidth-2pt\relax, figheight=\textwidth]{}} 
          \caption{blabla} 
       \end{subfigure}% 
       ~
       \begin{subfigure}[b]{0.43\textwidth} 
          \raisebox{0pt}[\dimexpr\height-4\normalbaselineskip\relax]{\missingfigure[figwidth=\dimexpr\textwidth-2pt\relax, figheight=\textwidth]{}} 
          \caption{blabla} 
       \end{subfigure} 
       \\\vspace{2pt} 
       \begin{subfigure}[b]{0.43\textwidth} 
          \missingfigure[figwidth=\dimexpr\textwidth-2pt\relax, figheight=\textwidth]{} 
          \caption{blabla} 
       \end{subfigure}% 
       ~ 
       \begin{subfigure}[b]{0.43\textwidth} 
          \missingfigure[figwidth=\dimexpr\textwidth-2pt\relax, figheight=\textwidth]{} 
          \caption{blabla} 
       \end{subfigure} 
       \\\vspace{2pt} 
       \begin{subfigure}[b]{0.43\textwidth} 
          \missingfigure[figwidth=\dimexpr\textwidth-2pt\relax, figheight=\textwidth]{} 
          \caption{blabla} 
       \end{subfigure}% 
       ~ 
       \begin{subfigure}[b]{0.43\textwidth} 
          \missingfigure[figwidth=\dimexpr\textwidth-2pt\relax, figheight=\textwidth]{} 
          \caption{blabla} 
       \end{subfigure} 
       \caption{Hier kommt eine rechte lange Beschreibung hin die sich leider auch nicht kürzen läßt. Daher muss die Kopfzeile weg! Hier kommt eine rechte lange Beschreibung hin die sich leider auch nicht kürzen läßt. Daher muss die Kopfzeile weg!Hier kommt eine rechte lange Beschreibung hin die sich leider auch nicht kürzen läßt. Daher muss die Kopfzeile weg!} 
    \end{figure}

Weiterer Text: \blindtext
\end{document}
Gruß
Elke

monchi
Forum-Anfänger
Forum-Anfänger
Beiträge: 23
Registriert: Fr 21. Dez 2012, 13:24

Beitrag von monchi »

Hallo Elke,

danke für den Tip. Das Minimalbeispiel läuft bei mir ohne Probleme durch. In meinem eigentlichen Dokument bekomme ich dann:
Command \manualmark already defined. }
Command \automark already defined. }
Package scrlayer Error: cannot define `\setheadwidth'. }
Package scrlayer Error: cannot define `\setfootwidth'. }
Package scrlayer Error: cannot define `\setheadtopline'. }
Package scrlayer Error: cannot define `\setheadsepline'. }
Package scrlayer Error: cannot define `\setfootsepline'. }
Package scrlayer Error: cannot define `\setfootbotline'. }
Package scrlayer Error: cannot define `\defpagestyle'. }
Package scrlayer Error: cannot define `\newpagestyle'. }
Package scrlayer Error: cannot define `\renewpagestyle'. }
Package scrlayer Error: cannot define `\providepagestyle'. }
Package scrlayer Error: cannot define `\deftripstyle'. }
Gibt es Pakete mit denen die Einstellungen bekannter maßen kollidieren?

esdd
Forum-Meister
Forum-Meister
Beiträge: 2561
Registriert: So 7. Feb 2010, 16:36

Beitrag von esdd »

Das sieht ganz danach aus, als hättest Du bisher das Paket scrpage2 für Deine Kopf- und Fußzeilen genutzt. Das ist der Vorgänger von scrlayer-scrpage und der definiert die ganzen Befehle ebenfalls. Die Info hätte eigentlich in Dein Beispiel gehört.

Jedenfalls müsstest Du auf das Laden von scrpage2 verzichten und dafür die Kopf- und Fußzeileneinstellungen mit scrlayer-scrpage vornehmen. Infos findest Du in der Paketdoku. Falls Du Hilfe brauchst, zeige wie Du bisher die Kopf- und Fußzeilen erstellt hast.

Gruß
Elke

monchi
Forum-Anfänger
Forum-Anfänger
Beiträge: 23
Registriert: Fr 21. Dez 2012, 13:24

Beitrag von monchi »

Ist wohl beim "Minimieren" verloren gegegangen ;-)

Jetzt funktioniert es. Zwei kleine Fragen habe ich noch:

1) Wieso die Reduktion der Breite um 2pt?

2) kann ich jetzt noch die Seitenzahl auf der Seite ausblenden?


Vielen Herzlichen Dank

esdd
Forum-Meister
Forum-Meister
Beiträge: 2561
Registriert: So 7. Feb 2010, 16:36

Beitrag von esdd »

1) Weil für jedes Bild die Warnung kam, dass es 2pt zu breit ist. Ich habe jetzt nicht darüber nachgedacht, wo die 2pt herkommen. Die zu vollen Boxen hatten jedenfalls die Nebenwirkung, dass sich der vertikale Abstand zwischen den Bildreihen um \baselineskip vergrößert hat.

2) In dem Du die Layer, die für die Fußzeile zuständig sind, genauso modifizierst wie die, die für die Kopfzeile verantwortlich sind ;-) Da Du keine Linien im Fuß hast und zweiseitig arbeitest, wären das mindestens scrheadings.foot.odd und scrheadings.foot.even.

Gruß
Elke

Besserwisser

Beitrag von Besserwisser »

Wenn man schlicht alle Ebenen eines Seitenstils um eine Eigenschaft erweitern will, kann man auch mittels \ForEachLayerOfPageStyle eine Schleife über alle Ebenen verwenden, beispielsweise:
\ForEachLayerOfPageStyle{scrheadings}{%
  \ModifyLayer[nonfloatpage]{#1}%
}
Näheres zu der Anweisung ist der KOMA-Script-Anleitung oder dem KOMA-Script-Buch zu entnehmen. Die Anleitung dürfte sich auch auf deinem Rechner finden.

esdd
Forum-Meister
Forum-Meister
Beiträge: 2561
Registriert: So 7. Feb 2010, 16:36

Beitrag von esdd »

@Besserwisser: Das habe ich ursprünglich auch versucht. Nur hat das bei mir nicht funktioniert, d.h. Kopf- und Fußzeile waren auf der Seite immer noch da.

Besserwisser

Beitrag von Besserwisser »

Wer lesen kann, ist klar im Vorteil:
Markus Kohm in scrguide hat geschrieben:Die Verwendung von \gdef an Stelle von \def ist im Beispiel notwendig, weil Code innerhalb
einer Gruppe ausgeführt wird
, um unerwünschte Seiteneffekte zu minimieren.
Deshalb müsste man also so etwas mache:
\documentclass{scrbook}
\usepackage[automark]{scrlayer-scrpage}
\usepackage{etoolbox}
\newcommand*{\allnonfloat}{}
\ForEachLayerOfPageStyle{scrheadings}{%
  \gappto\allnonfloat{\ModifyLayer[nonfloatpage]{#1}}%
}
\allnonfloat
\usepackage{mwe}
\begin{document}
Test
\begin{figure}[p]
\caption{Test}
\end{figure}
\blinddocument
\end{document}
Sorry, dass ich vorher solchen Mist erzählt hatte.

esdd
Forum-Meister
Forum-Meister
Beiträge: 2561
Registriert: So 7. Feb 2010, 16:36

Beitrag von esdd »

@Besserwisser: Danke! Aber ich bin beruhigt, dass nicht nur ich das überlesen habe ;-)

Antworten