goLaTeX - Mein LaTeX-Forum

Mein LaTeX-Forum


Login  | Registrieren
Direktlinks:
Zuletzt aktive Beiträge
Unbeantwortete Beiträge
[Erweitert]

Forenstatistik:
Beiträge: 97235
Top-Poster: Johannes_B (5048)

Wir begrüßen unseren neuesten Benutzer Tethys.

Links:


Mit Unterstützung von DANTE e.V.: Deutschsprachige Anwendervereinigung TeX. Danke den Mitgliedern!





Forum
      Option
[Erweitert]
  • Diese Seite weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Kapitelüberschrift mit Hintergrund mit KOMA-Skript

 

Seneca
Forum-Newbie
Forum-Newbie

Beiträge: 2
Anmeldedatum: 05.02.19
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 05.02.2019, 11:35     Titel: Kapitelüberschrift mit Hintergrund mit KOMA-Skript
  Antworten mit Zitat      
Liebe Forums-Mitglieder,

mein Ziel ist es, mit den Mitteln von KOMA-Skript hinter Kapitelüberschriften eine Hintergrundfarbe anzeigen zu lassen, die den gesamten oberen Teil der Seite einnimmt.
In diesem Bereich soll die Kapitelüberschrift erscheinen, und zwar so, dass die erste Zeile der Kapitelüberschrift immer auf derselben Höhe erscheint. Das heißt insbesondere, dass bei mehrzeiligen Kapitelüberschriften die nachfolgende Abschnittsüberschrift ihre Höhe im Vergleich zu einzeiligen Kapitelüberschriften nicht verändern soll.

Der folgende Code (das vollständige Minimalbeispiel, das das Problem veranschaulicht, habe ich als LaTeX-Datei angehängt) führt noch dazu, dass die Abschnittsüberschrift bei mehrzeiligen Kapitelüberschriften nach unten verschoben wird.

Code • Öffne in Overleaf
%
\documentclass{scrbook}

\usepackage{scrlayer-scrpage}
\usepackage{tikz}

% Definiere den Hintergrund für Kapitelseiten
\DeclareNewLayer[background,
   contents={
       \tikz{%
         \fill[color=yellow]
            (0,\textheight+2cm) rectangle(\paperwidth,\paperheight);
       }%
    }%
]{chapterbackground.bg}

% Definiere den Seitenstil für Kapitelseiten
\DeclareNewPageStyleByLayers{chapterbackground}{chapterbackground.bg}

% Weise ihn den Kapitelseiten zu
\renewcommand\chapterpagestyle{chapterbackground}

% Passe die Abstände vor und nach Kapitelüberschriften an
\renewcommand*\chapterformat{\normalfont\fontsize{100pt}{20pt}\selectfont\thechapter\hspace{.07em}}
\renewcommand*{\chapterheadstartvskip}{\vspace*{-3\baselineskip}}
\renewcommand*{\chapterheadendvskip}{\vspace*{7\baselineskip}}
\renewcommand*{\chapterheadmidvskip}{\hspace{1em}}
 


Mein Versuch, das Problem zu lösen, ist durch den folgenden Code gegeben:

Code • Öffne in Overleaf
%
\makeatletter
\renewcommand{\chapterlinesformat}[3]{%
   \smash{\parbox{\dimexpr\linewidth-2\fboxrule-2\fboxsep}{%
      \raggedchapter
      \@hangfrom{#2}#3%
   }}%
}
\makeatother
 


Leider wird dann die Kapitelüberschrift im Falle mehrerer Zeilen nach oben verschoben. Die Abschnittsüberschrift bleibt dann aber auf der beabsichtigten Höhe. (Man muss dazu lediglich \chapterheadendvskip im Vergleich zum ersten Code oben auf 9\baselineskip erhöhen).

Es könnte eine Lösung sein, eine minipage um die Kapitel zu packen und dann die Position der Kapitelüberschrift innerhalb der minipage geeignet festzulegen. Leider konnte ich nicht herausfinden, wie das gehen könnte, weil mir nicht klar ist, wie ich den Kapitelbefehl \chapter so direkt beeinflussen kann, dass es mir möglich wäre, eine minipage oder eine box um den gesamten Befehl zu legen.

Vielleicht gibt es aber auch eine einfachere Lösung. Leider konnte ich trotz längeren Herumprobierens und Durchstöberns der KOMA-Skript-Anleitung keine Lösung für mein Problem finden. Daher wende ich mich jetzt an das Forum.

Zusätzliche wäre es wünschenswert, die Kapitelüberschriften unabhängig von der gewählten Seitengröße so definieren zu können, dass das das Layout sich an die geänderte Seitengröße automatisch anpasst (und man nicht \chapterheadstartvskip und \chapterheadendvskip für die einzelnen Seitengrößen einzeln zu definieren braucht).

Vielen Dank im Voraus und viele Grüße!

chaptertest.tex
 Beschreibung:

Download
 Dateiname:  chaptertest.tex
 Dateigröße:  2.15 KB
 Heruntergeladen:  14 mal
Private Nachricht senden Benutzer-Profile anzeigen

esdd
Forum-Meister
Forum-Meister

Beiträge: 2389
Anmeldedatum: 07.02.10
Wohnort: Stutensee
Version: MiKTeX 2.9
     Beitrag Verfasst am: 06.02.2019, 14:55     Titel:
  Antworten mit Zitat      
Mir ist jetzt nicht ganz klar, wie das gewünschte Ergebnis aussehen soll. Hier ist trotzdem ein Vorschlag:

Code • Öffne in Overleaf
\documentclass{scrbook}
\usepackage{lmodern}% skalierbare Schrift verwenden (wegen der Kapitelnummer)
\usepackage{scrlayer-scrpage}
\usepackage{xcolor}% für einen farbigen Balken reicht das
%\usepackage{showframe}% zur Anzeige des Seitenlayouts

\usepackage[ngerman]{babel}

\DeclareNewLayer[
  background,
  topmargin,
  addheight=\headheight+\headsep+\topskip+8\baselineskip,
  contents={\textcolor{yellow}{\rule{\layerwidth}{\layerheight}}}
]{chapterbackground.bg}
\DeclareNewPageStyleByLayers{chapterbackground}{chapterbackground.bg}
\renewcommand\chapterpagestyle{chapterbackground}

\renewcommand*\chapterformat{\smash{% Verstecken der Höhe der Kapitelnummer
  {\normalfont\fontsize{100pt}{20pt}\selectfont\thechapter}~%
}}
\RedeclareSectionCommand[
  afterindent=false,% erst ab KOMA-Script Version 3.26 definiert
  beforeskip=\topskip,% für ältere KOMA-Script Versionen ohne afterindent=false: beforeskip=-\topskip
  innerskip=1em,% eigentlich unnötig, da keine Präfixzeile genutzt wird
  afterskip=7\baselineskip
]{chapter}

\makeatletter
\renewcommand{\chapterlinesformat}[3]{%
  \parbox[b][\ht\strutbox][t]{\dimexpr\linewidth-2\fboxrule-2\fboxsep}
    {\raggedchapter\@hangfrom{#2}#3}%
}
\makeatother

\begin{document}
\tableofcontents
\chapter{Ein kurzer Kapiteltitel}
\section{Erster Abschnitt im Kapitel}
Die Höhe, auf der die Überschrift dieses Abschnitts erscheint, soll sich bei längeren Kapitelüberschriften nicht ändern.
Außerdem soll die Kapitelnummer und die erste Zeile der Kapitelüberschrift auch bei mehrzeiligen Kapitelüberschriften auf derselben Höhe erscheinen wie die bei einzeiligen Kapitelüberschriften.
\chapter{Ein langer Kapiteltitel, der zeigt, was passiert, wenn die Kapitelüberschrift drei Zeilen umspannt}
\section{Erster Abschnitt im Kapitel}
Dieser Abschnitt sollte auf derselben Höhe erscheinen wie der erste Abschnitt im Kapitel davor.
Dabei soll aber die Position der Kapitelüberschrift nicht geändert werden.
\chapter{Kapitel ohne Abschnitt}
Erster Absatz nach der Kapitelüberschrift ohne Absatzeinzug.
\end{document}


Beachte beim Testen, dass die Eigenschaft afterindent=false für \RedeclareSectionCommand erst ab KOMA-Script Version 3.26 zur Verfügung steht. Falls Du noch eine ältere Version hast, musst Du diese entfernen und den Abstand vor der Kapitelüberschrift mit einem Minus versehen: beforeskip=-\topskip. Das ist jeweils auch in der zu Deiner Version gehörigen Doku erklärt.
Private Nachricht senden Benutzer-Profile anzeigen

Seneca
Forum-Newbie
Forum-Newbie

Beiträge: 2
Anmeldedatum: 05.02.19
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.02.2019, 15:29     Titel:
  Antworten mit Zitat      
Hallo esdd,

vielen Dank! Das ist genau das, was ich wollte! Der Text der Überschrift sollte in dem farblich abgesetzten Bereich etwa in der Mitte stehen und bei längeren Überschriften von da aus nach unten erweitert werten. Und die Position des eigentlichen Kapiteltitels sollte auch bei Kapiteln ohne Kapitelnummer (wie etwa beim Inhaltsverzeichnis) auf derselben Höhe erscheinen (sodass die Nummer keinen Einfluss hat). Das hatte ich bislang noch gar nicht dazu gesagt.

All das leistet Dein Vorschlag. Du hast die Intention also richtig verstanden und perfekt umgesetzt. Genial!

Ich verwende die aktuelle Version von KOMA-Skript, daher funktioniert alles sofort mit den Einstellungen, wie Du sie vorgenommen hast.

Vielen Dank nochmal für die schnelle und kompetente Hilfe!
Private Nachricht senden Benutzer-Profile anzeigen

Neues Thema eröffnen Neue Antwort erstellen



Options and Permissions
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen
.

goLaTeX ist Teil der goForen
goForen.de goMATLAB.de goLaTeX.de


  Datenschutzerklärung | Impressum | FAQ | goLaTeX RSS Button RSS-Feed

Copyright © 2008 - 2019 goLaTeX.de