Für unsere Experimentieranleitungen benötigen wir auf der ersten Seite einen größeren header. Weil das nicht so einfach umzusetzen ist, binde ich mithilfe scrlayer-scrpage den Header in den "headsepline-Layer" ein. Das Ganze wird als eigene Seitenstil für die erste Seite genutzt.

Nicht schön, aber es klappt. Nun habe ein "Problem" mit der eigentlichen headsepline. Diese schalte ich auf der ersten Seite durch \KOMAoptions{headsepline=false} aus. Das hat zur Folge, dass \GetLayerContents{scrheadings.head.below.line} nicht mehr funktioniert. Daher füge ich manuell eine headsepline mit \rule{\layerwidth}{0.4pt} hinzu. Diese Vorgehensweise finde ich weniger praktisch.

Gibt es eine Möglichkeit, die erste headsepline auszuschalten und gleichzeitig \GetLayerContents{scrheadings.head.below.line} zu nutzen? (Im MWE habe ich die erste headsepline wieder eingeschaltet.)

Hintergrund ist, dass ich ja eventuell die thickness der headsepline ändern möchte, dann muss ich es händisch in der Layer-Definition ebenfalls ändern.

Öffne in Overleaf
\documentclass[
paper=a4,
fontsize=12pt,
headings=small,
parskip=half,
draft=false,
]{scrartcl}

\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{lmodern}
\usepackage{microtype}

\usepackage{mwe}

\usepackage{geometry}
\geometry{a4paper,hmargin={2cm,1.5cm},vmargin={1.5cm,2.5cm}}

\usepackage{tabu}

\usepackage[%
headsepline,
footsepline,
]{scrlayer-scrpage}
\clearpairofpagestyles

%neue scrheadings-Definition
\ihead{Thema}
\ohead{Versuch}
\ifoot{Lehrer}
\ofoot{Schule}
\pagestyle{scrheadings}

% eigener Style für die erste Seite
\newpairofpagestyles{ersteseite}{
%
%=======================
%\KOMAoptions{headsepline=false} %keine headsepline, wird manuell im DeclareNewLayer hinzugefügt
%=======================
%
\ofoot{Lehrer}
\ifoot{Schule}
}
% eigene Ebene für den header
\DeclareNewLayer[
background,
clone=scrheadings.head.below.line, % füge header als headsepline ein, damit genüg Platz ist
contents={%
        \begin{tabu} to \layerwidth {X[1.3,l]X[0.3,c]X[1.3,r]}
            Schule  & & Mechanikpraktikum \\[1ex]
            \textbf{\large Versuch} & & \textbf{\large Versuchsname} \\[1ex]
            Name:~ & Gruppe:~ & Klasse:~~~~~~~~~~~~~~~
        \end{tabu}
        \rule{\layerwidth}{0.4pt} %manuelle headsepline
%       \GetLayerContents{scrheadings.head.below.line} % eigentliche headsepline, aber durch \KOMAoptions{headsepline=false} keine Funktion
}]{ersteseite.head}
\AddLayersToPageStyle{ersteseite}{ersteseite.head} % Layer zum Seitenstil hinzufügen
\AtBeginDocument{\vspace*{2.5\baselineskip}} % Text nach unten verschieben, damit header Platz hat

\begin{document}
\thispagestyle{ersteseite}
\blinddocument
\end{document}

gefragt 09 Jun '17, 11:52

maphy-psd's gravatar image

maphy-psd
3711917
Akzeptiert-Rate: 25%

bearbeitet 09 Jun '17, 11:53


So wie Du einen Layer zu einem Seitenstil hinzufügen kannst, kannst Du auch einen entfernen. In Deinem Beispiel wäre das

Öffne in Overleaf
\RemoveLayersFromPageStyle{ersteseite}{ersteseite.head.below.line}

nach dem Erstellen des neuen Seitenstilpaars ersteseite.

Aber eigentlich würde Dir statt einem Paar bereits ein neuer Layer-Seitenstil reichen:

Öffne in Overleaf
\DeclareNewPageStyleByLayers{ersteseite}{}

Der sollte für den Seitenfüß die gleichen Layer enthalten wie scrheadings:

Öffne in Overleaf
\ForEachLayerOfPageStyle*{scrheadings}
  {\ifstrstart{#1}{scrheadings.foot.}{\AddLayersToPageStyle{ersteseite}{#1}}}

Außerdem brauchst Du einen neuen Layer für den Kopf, der höher als der normale Kopfbereich ist und auch entsprechend nach unten verschoben ist:

Öffne in Overleaf
\DeclareNewLayer[
background,
head,
addvoffset=3.5\baselineskip,% Layer nach unten schieben
addheight=3.5\baselineskip,% und vergrößern
contents={%
        \begin{tabu} to \layerwidth {X[1.3,l]X[0.3,c]X[1.3,r]}
            Schule  & & Mechanikpraktikum \\[1ex]
            \textbf{\large Versuch} & & \textbf{\large Versuchsname} \\[1ex]
            Name:~ & Gruppe:~ & Klasse:~~~~~~~~~~~~~~~
        \end{tabu}
}]{ersteseite.head}

Jetzt wird noch ein Layer mit der nach unten verschobenen Linie gebraucht:

Öffne in Overleaf
\DeclareNewLayer[
clone=scrheadings.head.below.line,% Layer clonen
addvoffset=3.5\baselineskip% und nach unten verschieben
]{ersteseite.head.below.line}

Und diese beiden Layer müssen dem Seitenstil ersteseite hinzugefügt werden:

Öffne in Overleaf
\AddLayersToPageStyle{ersteseite}
  {ersteseite.head,ersteseite.head.below.line}% Layer zum Seitenstil hinzufügen

alt text

Code:

Öffne in Overleaf
\documentclass[
paper=a4,
fontsize=12pt,
headings=small,
parskip=half,
draft=false,
]{scrartcl}

\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{lmodern}
\usepackage{microtype}

\usepackage{mwe}

\usepackage{geometry}
\geometry{a4paper,hmargin={2cm,1.5cm},vmargin={1.5cm,2.5cm}}

\usepackage{tabu}

\usepackage[%
headsepline,
footsepline,
]{scrlayer-scrpage}
\clearpairofpagestyles

%neue scrheadings-Definition
\ihead{Thema}
\ohead{Versuch}
\ifoot{Lehrer}
\ofoot{Schule}

% eigener Style für die erste Seite
\DeclareNewPageStyleByLayers{ersteseite}{}
% Fuß von scrheadings für ersteseite übernehmen
\ForEachLayerOfPageStyle*{scrheadings}
  {\ifstrstart{#1}{scrheadings.foot.}{\AddLayersToPageStyle{ersteseite}{#1}}}

% eigene Ebene für den header von ersteseite
\DeclareNewLayer[
background,
head,
addvoffset=3.5\baselineskip,% Layer nach unten schieben
addheight=3.5\baselineskip,% und vergrößern
contents={%
        \begin{tabu} to \layerwidth {X[1.3,l]X[0.3,c]X[1.3,r]}
            Schule  & & Mechanikpraktikum \\[1ex]
            \textbf{\large Versuch} & & \textbf{\large Versuchsname} \\[1ex]
            Name:~ & Gruppe:~ & Klasse:~~~~~~~~~~~~~~~
        \end{tabu}
}]{ersteseite.head}
\DeclareNewLayer[
clone=scrheadings.head.below.line,% Layer clonen
addvoffset=3.5\baselineskip% und nach unten verschieben
]{ersteseite.head.below.line}
\AddLayersToPageStyle{ersteseite}
  {ersteseite.head,ersteseite.head.below.line}% Layer zum Seitenstil hinzufügen

\AtBeginDocument{\vspace*{2.5\baselineskip}} % Text nach unten verschieben, damit header Platz hat
\begin{document}
\thispagestyle{ersteseite}
\blinddocument
\end{document}
Permanenter link

beantwortet 09 Jun '17, 19:12

esdd's gravatar image

esdd
15.9k164055
Akzeptiert-Rate: 63%

Danke! Deine Variante ist schöner. War mein erster Versuch mit den Layers aus scrlayer-scrpage. Ein ziemlich nützliches Werkzeug.

(10 Jun '17, 15:08) maphy-psd
Deine Antwort
Vorschau umschalten

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs fügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×15

gestellte Frage: 09 Jun '17, 11:52

Frage wurde gesehen: 3,501 Mal

zuletzt geändert: 10 Jun '17, 15:08