Angepasster Headline-Style auf Chapter-Seite

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


Esteltraut
Forum-Anfänger
Forum-Anfänger
Beiträge: 30
Registriert: Di 11. Mär 2014, 16:30

Angepasster Headline-Style auf Chapter-Seite

Beitrag von Esteltraut »

Hallo Leute,

Ich habe für meine anstehende Dissertation mein LaTeX-Dokument so grob auf einem Stand, der mich optisch anspricht und funktional ist. Allerdings hab ich ein kleines Problem: Der über die Pakete tikz und titleps definierte style für die Kopfzeile wird auf den Chapter-Seiten nicht komplett korrekt übernommen.
\documentclass[a4paper,12pt, twoside=true, DIV=10,bibliography=totoc]{scrbook} 
\usepackage[english]{babel} 
\usepackage{amsmath} 
\usepackage{geometry} 
\geometry{a4paper, top=40mm, right=35mm, left=25mm, bottom=35mm,headsep=10mm,footskip=12mm} 
\usepackage{blindtext} 
\usepackage{fontspec,lipsum} 
\usepackage{titleps} 
\usepackage{tikz} 
\usetikzlibrary{fadings} 
\setkomafont{disposition}{\normalcolor} 
\renewcommand{\familydefault}{\sfdefault} 
\setkomafont{pageheadfoot}{} 
\renewcommand*{\sectionmarkformat}{} 
\renewcommand*{\subsectionmarkformat}{} 
\defaultfontfeatures{Ligatures=TeX} 
\setsansfont{Linux Libertine} 
%Kapitelformat 
\renewcommand*\chaptermarkformat{} 
\setkomafont{chapter}{\Huge} 
\setkomafont{chapterprefix}{\sffamily\large\slshape} 
\newkomafont{chapternumber}{\sffamily \fontsize{120}{100}\itshape} 

\renewcommand\chapterformat{% 
  \usekomafont{chapter} 
  \raisebox{1.25\baselineskip}{\makebox[0pt][r]{\usekomafont{chapterprefix}\chapapp\enskip}}% 
  \raisebox{-.5\baselineskip}{\usekomafont{chapternumber}\thechapter}% 
} 

\RedeclareSectionCommand[ 
  innerskip=1ex 
]{chapter} 

\newbox\chapternumberbox 
\makeatletter 
\renewcommand\chapterlinesformat[3]{% 
  \ifstr{#1}{chapter}{% 
    \ifstr{#2}{}{#3}{% 
      \savebox\chapternumberbox{\chapterformat}% 
      \parbox[tt]{\dimexpr\textwidth-\wd\chapternumberbox-1em\relax}{\raggedchapter#3}% 
       \quad#2% 
    } 
    }{\@hangfrom{#2}{#3}}% 
} 
\makeatother 

\renewcommand\raggedchapter{\raggedleft} 
%\automark{chapter} 

%Kopfzeilenformat 
\newpagestyle{main}% 
  {\sethead 
   [\textit{\thepage}\hspace*{0.75cm}\sectiontitle]% even left 
   []% even centre 
   []% even right 
   {}% odd left 
   {}% odd centre 
   {{\chaptertitle}\hspace*{0.75cm}\textit{\thepage} }% odd right 
  } 

  \pagestyle{main} 
  
\renewcommand\makeheadrule 
  {\raisebox{-.45\baselineskip}% 
    {\ifodd\count0% 
       \makebox[\textwidth][r]% 
         {\tikz\fill[darkgray,path fading=west, fading angle=-1] (-8,-0.1) rectangle (5.5,0.002);}% 
     \else 
       \makebox[\textwidth][l]% 
         {\tikz\fill[darkgray,path fading=east, fading angle=1] (-8,-0.1) rectangle (5.5,0.002);}% 
     \fi 
    }% 
  } 
\renewcommand*{\chapterpagestyle}{main} 
\begin{document} 
\pagenumbering{roman} 
Hier könnten Danksagungen stehen. 
\newpage 
Hier auch. 
\tableofcontents 
\chapter{Introduction} 
\section{Section} 
\pagenumbering{arabic} 
\Blindtext[20] 
\end{document} 
Durch das
\renewcommand*{\chapterpagestyle}{main}
übernimmt er zwar offensichtlich die grundsätzliche Formatierung, jedoch fehlt die ausfadende Linie. Da er den Rest übernimmt bin ich gerade etwas überfragt was da gerade passiert bzw. nicht passiert.

Hat hier jemand eine Idee wie man das angehen kann?[/b]
Zuletzt geändert von Esteltraut am Do 1. Aug 2019, 08:40, insgesamt 7-mal geändert.

Benutzeravatar
u_fischer
Forum-Meister
Forum-Meister
Beiträge: 4266
Registriert: Do 22. Nov 2012, 11:09
Kontaktdaten:

Beitrag von u_fischer »

Räum zuerst mal deine Präambel auf.

Esteltraut
Forum-Anfänger
Forum-Anfänger
Beiträge: 30
Registriert: Di 11. Mär 2014, 16:30

Beitrag von Esteltraut »

Ist es jetzt besser? War mir nicht sicher ob ich die Präambel allzusehr beschneiden sollte um aussagekräftig das Problem zu zeigen.

Gast

Beitrag von Gast »

Nö. U. a. lädst du Pakete teilweise mehrfach. Außerdem lädst du unterschiedliche Pakete, die an derselben Stelle ansetzen. Und die Warnungen in der log-Datei hast du dir offenbar auch noch nie angesehen. Außerdem sollte inzwischen hinlänglich bekannt sein, dass man hyperref von wenigen dokumentierten Paketen abgesehen, als letztes Paket laden sollte. Wer fontspec lädt, sollte in der Regel auch auf inputenc verzichten. Er verwendet dann (hoffentlich) ohnehin eine TeX-Engine, die utf8 nativ unterstützt. fontenc zusätzlich zu fontspec zu laden, ist fast immer überflüssig (und manchmal sogar falsch). scrpage2 ist veraltet und informiert darüber auch. Um nur ein paar Dinge zu nennen, die mir schon nach einem kurzen Blick auffallen.

Esteltraut
Forum-Anfänger
Forum-Anfänger
Beiträge: 30
Registriert: Di 11. Mär 2014, 16:30

Beitrag von Esteltraut »

Anonymous hat geschrieben:Nö. U. a. lädst du Pakete teilweise mehrfach. Außerdem lädst du unterschiedliche Pakete, die an derselben Stelle ansetzen. Und die Warnungen in der log-Datei hast du dir offenbar auch noch nie angesehen. Außerdem sollte inzwischen hinlänglich bekannt sein, dass man hyperref von wenigen dokumentierten Paketen abgesehen, als letztes Paket laden sollte. Wer fontspec lädt, sollte in der Regel auch auf inputenc verzichten. Er verwendet dann (hoffentlich) ohnehin eine TeX-Engine, die utf8 nativ unterstützt. fontenc zusätzlich zu fontspec zu laden, ist fast immer überflüssig (und manchmal sogar falsch). scrpage2 ist veraltet und informiert darüber auch. Um nur ein paar Dinge zu nennen, die mir schon nach einem kurzen Blick auffallen.
Dass meine Präambel über etliche Jahre hinweg zusammengestöpselt wurde und dementsprechend furchtbar aussehen muss für versierte LaTeX-User ist mir bewusst. Sofern das nicht relevant für mein oben angebrachtes Anliegen ist hilft diese Feststellung jetzt allerdings auch nicht wirklich.

Gast

Beitrag von Gast »

Wenn du glaubst, dass es nicht relevant ist, dass du mehrere Pakete beispielsweise für den Seitenstil lädst und diverse Dingen tust, die Warnungen provozieren, dann wird es schwer dir zu helfen. Wenn du außerdem glaubst, wir hätten nichts besseres zu tun, als uns durch eine vollgemüllte Dokumentpräambel zu wühlen, dann habe ich auch keine Lust, dir weiter zu helfen, denn aufräumen ist nun einmal eindeutig nicht meine, sondern deine Aufgabe.

Gast

Beitrag von Gast »

Neben den ganzen Warnungen und dem Problem Linux Libertine als Sans-Serif-Font(!) zu laden, bekomme ich mit dem Beispiel und aktuellen TeX Live die Fehlermeldungen:
chapter 1.
./test.tex:96: Missing number, treated as zero.
<to be read again> 
                   }
l.96 \section{Section}
                      
./test.tex:96: Illegal unit of measure (pt inserted).
<to be read again> 
                   }
l.96 \section{Section}
                      
./test.tex:96: Missing number, treated as zero.
<to be read again> 
                   }
l.96 \section{Section}
                      
./test.tex:96: Illegal unit of measure (pt inserted).
<to be read again> 
                   }
l.96 \section{Section}
Es ist also derzeit überhaupt nicht lauffähig. Vermutlich kommt der Fehler durch das Laden von titlesec, was auch (seit Jahren) diverse Warnungen nach sich zieht. Da die Überschriften anschließend außerdem dann doch nicht mit dem Paket, sondern mit KOMA-Script-Befehlen konfiguriert werden, sollte man das Paket besser weglassen (Achtung! Wird ungeschickter Weise mehrfach geladen, muss also mehrfach entfernt werden!).

Außerdem definieren sowohl scrpage2 als auch titleps Anweisungen wie \newpagestyle. Dass das ein Problem sein könnte, merkt man nicht, weil titleps dafür nicht \newcommand, sondern \def nimmt.

Anscheinend versucht du dann teilweise Befehle von scrpage2 und teilweise Befehle von titleps zu verwenden. Solche Mixturen sind immer problematisch. Das Paket titleps patcht dann außerdem noch an \chapter etc. herum. Was davon letztlich dafür verantwortlich ist, dass dann die Linie auf den Kapitelanfangsseiten nicht gezeigt wird ist schwer zu sagen.

In der Tat habe ich das an der Stelle dann auch abgebrochen und würde mich den Vorrednern anschließen wollen: Räum das bitte erst einmal auf, damit es etwas übersichtlicher wird. Versuche auch unbedingt die Warnungen aus der log-Datei zu beachten.

BTW: Ich halte es für etwas unsauber in LaTeX \count0 zu verwenden. Zwar ist es so angelegt, dass der LaTeX-Zähler page in der Tat \count0 ist, aber das ist schon sehr low-level. Es wäre IMHO sauberer wenigsten \c@page zu verwenden. Persönlich würde ich sogar \value{page} bevorzugen.

Esteltraut
Forum-Anfänger
Forum-Anfänger
Beiträge: 30
Registriert: Di 11. Mär 2014, 16:30

Beitrag von Esteltraut »

Anonymous hat geschrieben:[...].
Okay. Hab die genannten Pakete rausgehauen; außer einem Murren über titleps in ver Bindung mit scrbook kriege ich jetzt keine Fehlermeldungen mehr damit und ich hoffe dass es nun ausreichend entschlackt ist.

Gast

Beitrag von Gast »

Auch wenn du die Warnung als Murren verharmlosen willst, solltest du sie doch ernst nehmen, denn mit scrlayer-scrpage statt titleps tritt das Problem nicht auf:
\documentclass[12pt,DIV=10,bibliography=totoc,egregdoesnotlikesansseriftitles]{scrbook}
\usepackage[english]{babel}
\usepackage{blindtext}
\usepackage{fontspec}
\usepackage{tikz}
\usetikzlibrary{fadings}
\setkomafont{pageheadfoot}{}
\setkomafont{pagenumber}{\slshape}
\usepackage{libertine}
%Kapitelformat
\setkomafont{disposition}{}
\setkomafont{chapter}{\Huge}
\setkomafont{chapterprefix}{\large\slshape}% Wirklich schräg mit 
\newkomafont{chapternumber}{\fontsize{120}{100}\itshape}% italic gemischt!?!

\renewcommand\chapterformat{%
  \usekomafont{chapter}
  \raisebox{1.25\baselineskip}{\makebox[0pt][r]{\usekomafont{chapterprefix}\chapapp\enskip}}%
  \raisebox{-.5\baselineskip}{\usekomafont{chapternumber}\thechapter}%
}

\newbox\chapternumberbox
\makeatletter
\renewcommand\chapterlinesformat[3]{%
  \ifstr{#1}{chapter}{%
    \ifstr{#2}{}{#3}{%
      \savebox\chapternumberbox{\chapterformat}%
      \parbox[tt]{\dimexpr\textwidth-\wd\chapternumberbox-1em\relax}{\raggedchapter#3}%
       \quad#2%
    }
    }{\@hangfrom{#2}{#3}}%
}
\makeatother

\renewcommand\raggedchapter{\raggedleft}

%\automark{chapter}

%Kopfzeilenformat
\usepackage[automark]{scrlayer-scrpage}
\rohead{\leftmark\hspace{.75cm}\pagemark}% usual would be \rightmark
\lehead{\pagemark\hspace{.75cm}\rightmark}% usual would be \leftmark
\renewcommand*{\chapterpagestyle}{headings}
\renewcommand*{\chaptermarkformat}{}
\renewcommand*{\sectionmarkformat}{}
\DeclareNewLayer[%
  background,
  oddpage,
  head,
  addvoffset=.45\baselineskip,
  contents={%
       \makebox[\textwidth][r]%
         {\tikz\fill[darkgray,path fading=west, fading angle=-1] (-8,-0.1) rectangle (5.5,0.002);}%
  }%
]{oddheadrule}
\DeclareNewLayer[%
  background,
  evenpage,
  head,
  addvoffset=.45\baselineskip,
  contents={%
       \makebox[\textwidth][l]%
         {\tikz\fill[darkgray,path fading=east, fading angle=1] (-8,-0.1) rectangle (5.5,0.002);}%
  }%
]{evenheadrule}
\AddLayersToPageStyle{scrheadings}{oddheadrule,evenheadrule}  
\AddLayersToPageStyle{plain.scrheadings}{oddheadrule,evenheadrule}

\begin{document}
\pagenumbering{roman}
Hier könnten Danksagungen stehen.
\newpage
Hier auch.
\tableofcontents
\chapter{Introduction}
\section{Section}
\pagenumbering{arabic}
\Blindtext[20]
\end{document}
Das ist jetzt sicher noch nicht die optimale Lösung, aber ich wollte dann auch nicht alles ändern. Den Unfug, erst die Standardschrift auf serifenlos zu ändern, um dann die serifenlose Schrift mit einer serifenbehafteten zu belegen, habe ich dann aber doch geändert.

Esteltraut
Forum-Anfänger
Forum-Anfänger
Beiträge: 30
Registriert: Di 11. Mär 2014, 16:30

Beitrag von Esteltraut »

Vielen Dank. :) Ich gelobe Besserung für meinen generellen Umgang mit LaTeX (auch wenn dies vermutlich die letzte Arbeit wird die ich damit verfasse).

Antworten