tikz und Seiten Header/Footer

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


paule32
Forum-Newbie
Forum-Newbie
Beiträge: 8
Registriert: Sa 17. Mär 2018, 11:10

tikz und Seiten Header/Footer

Beitrag von paule32 »

Hallo Forum,

ich bin so gut wie neu in LaTeX und habe mittels pdflatex eine Datei rendern lassen,
die Ihr hier einsehen könnt:

https://github.com/paule32/books/blob/m ... otizen.pdf

Es sind alle Dateien auf diesen GIT accout.
Das eigentliche Problem ist jedoch die Formatierung der Header- und Footer.

zum Beispiel: Seite 4, dort steht "Inhaltsverzeichnis" auf weisen Grund.
Das sollte aber hier, und den folgeseiten blau hinterlegt werden.
so ähnlich wie Seite 13, wo oben das Hauptchapter steht - "MATHEMATIK"
drunter "Kapitel" und dort drunter soll dann die Kapitelnummer stehen

Die Sektionen, die jetzt überhaupt nicht Formatiert sind, sollen in erster Ebene
so wie oben beschrieben aussehen - nur halt etwas kleiner in der Höhe, damit
man Kapitel-Seiten mit Sektionen unterscheiden kann.

Dann sollten die Footer, die momentan nur auf ungeraden Seiten gerendert
werden genauso ausschauen wie die ungeraden - mit links rechts unterscheidung
der Seitenzahl
Auch hier sollte die Sektion auch auf blau gerendert werden.

Ich hoffe, dass war jetzt einigermassen verständlich.

Könnte sich jemand daran wagen?
Vielen Danke schonmal

paule32

MfG
paule32

Benutzeravatar
Johannes_B
Moderator
Moderator
Beiträge: 5079
Registriert: Do 1. Nov 2012, 14:55
Kontaktdaten:

Beitrag von Johannes_B »

Ich bezweifle, dass sich das überhaupt jemand anschaut. Mach ein Minimalbeispiel und poste es hier.
TeXwelt - Fragen und Antworten Schaut vorbei und stellt Fragen.
LaTeX-Vorlagen?

Der Weg zum Ziel: Ruhe bewahren und durchatmen, Beiträge und unterstützende Links aufmerksam lesen, Lösungsansätze verstehen und ggf. nachfragen.

paule32
Forum-Newbie
Forum-Newbie
Beiträge: 8
Registriert: Sa 17. Mär 2018, 11:10

Beitrag von paule32 »

Hallo Johannes,

mir geht es ja nicht drum, das es jemand für mich machen soll.
Ich habe nur Probleme, zu unterscheiden, wenn chapter section oder leerseite vorliegt.
das mit den rendern ist eher nebenläufig.

Auf den Punkt gebracht:

Wann erhalte ich odd/even Seiten,
wie kann man dann zusätzlich unterscheiden ob chapter oder section.

und: wenn möglich automatisiet.

Gruiß
paule32

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

Beitrag von esdd »

Ich habe nur kurz einen Blick in den Code geworfen und würde Dir u.a. Wie setze ich einen Absatz typographisch korrekt? empfehlen.

In der Präambel hat \include nichts verloren. Ersetze das durch \input. Überhaupt räume die Präambel auf. Du lädst etliche Pakete mehrfach. Außerdem lädt pgfplots sowieso tikz und das wiederum graphicx und xcolor. Die aktuelle pgfplots Version ist 1.15, d.h. 1.9 wäre schon sehr alt. Das Paket ngerman ist schon lange veraltet. Ersetze das durch babel mit der Option ngerman. Verwende nicht die Pakete titlesec und sectsty in einem Dokument.

Nach meinem Eindruck geht in Deiner Frage auch die Formatierung von Überschriften und die Formatierung von Kopf- und Fußzeilen durcheinander. Kann auch sein, ich verstehe Dich oder Deinen Code nicht.

Wie Johannes würde ich Dir deshalb empfehlen hier ein kleines, aber lauffähiges MWE reinzustellen und Dich dabei auf eine Frage zu konzentrieren.

paule32
Forum-Newbie
Forum-Newbie
Beiträge: 8
Registriert: Sa 17. Mär 2018, 11:10

Beitrag von paule32 »

hier der auf meinen system funktionierender quellcode.
Wenn man diesen Code hier rendern läßt,
dann haben gerade Seiten, kein header und kein footer
siehe Seiten 2 und 4 ....
\documentclass[10pt]{book}
\usepackage[utf8]{inputenc}
\usepackage{geometry}
\usepackage{ngerman}
\usepackage[right]{eurosym}
\usepackage{titlesec}
\usepackage{graphicx}
\usepackage{caption}
\usepackage{flowfram}
\usepackage{tikz}
\usepackage{textpos}
\usepackage{calc}
\usepackage{amsmath, amssymb}
\usepackage{lastpage}
\usepackage{float}
\usepackage{ifthen}
\usepackage{changepage}
\usepackage{pgfplots}
\usepackage{sectsty}
\usepackage{tikz,xcolor,mwe}
\usepackage{booktabs,xcolor,siunitx}

\usetikzlibrary{arrows,
		calc,
		shadows,
		decorations.markings}

\definecolor{cvgreen}{HTML}{92D14F}
\definecolor{cvgray}{HTML}{D8E4BE}
\definecolor{cvtext}{HTML}{000000}
\definecolor{cvtabt}{HTML}{e5e2cc}

\definecolor{lightgray}{gray}{0.9}

\pgfplotsset{compat=1.9}

\setlength{\parindent}{0em} 
\begin{document}
\titleformat{name=\chapter}[display]{\Huge\bfseries\sffamily\color{white}}{%
\thispagestyle{empty}
\begin{tikzpicture}[overlay, remember picture]
        \path let \p1 = (current page.west), \p2 = (current page.east) in
        node[minimum width=\x2-1.5pt, minimum height=4cm,
        rectangle, fill=cyan, anchor=north west, align=left, text width=\x2-\x1] at ($(current page.north west)$) {
        \begin{textblock*}{5in}(\dimexpr\x2-4.0in,\dimexpr0.25\headheight-1in)
          \tikz \node [white,text width=2in, align=right, font=\sffamily] {{\normalsize MATHEMATIK }\\[10pt]
          \raisebox{20pt}{{\large \chaptertitlename}} \raisebox{-12pt}{\chapternumberfont \thechapter}};
        \end{textblock*}};
        \path let \p1 = (current page.west), \p2 = (current page.east) in
              node[minimum width=\x2-\x1, minimum height=-2.8in, rectangle, fill=cyan!50, anchor=south west, align=left, text width=\x2-\x1] at ($(current page.south west)$) {\textcolor{black}{\Large{\thepage . \: \: de.sci.mathematik}}};
\end{tikzpicture}}{-1.75in}{}[\vspace*{0.25in}]


\titleformat{name=\chapter,numberless}[display]{\Huge{\bfseries\sffamily\color{yellow}}}{%
   \thispagestyle{empty}
  \begin{tikzpicture}[overlay, remember picture]
     \path let \p1 = (current page.west), \p2 = (current page.east) in
     node[minimum width=\x2-1.5pt, minimum height=4cm,
     rectangle, fill=cyan, anchor=north west, align=left, text width=\x2-\x1] at ($(current page.north west)$) {
        \begin{textblock*}{5in}(\dimexpr\x2-4.0in,\dimexpr0.25\headheight-1in)
           \tikz \node [white,text width=2in, align=right, font=\sffamily] {{\normalsize MATHEMATIK }\\[10pt]
           \raisebox{20pt}{{\large \chaptertitlename}} \raisebox{-12pt}{\chapternumberfont \thechapter}};
     \end{textblock*}
  };
     \fill[cyan](current page.south west) rectangle ($(current page.south east) - (0,-1.5cm)$);
\end{tikzpicture}}{-1.75in}{}[\vspace*{0.25in}]
 
\titleformat{name=\section}[display]{\Huge{\bfseries\sffamily\color{yellow}}}{%
   \thispagestyle{empty}
  \begin{tikzpicture}[overlay, remember picture]
     \path let \p1 = (current page.west), \p2 = (current page.east) in
     node[minimum width=\x2-1.5pt, minimum height=4cm,
     rectangle, fill=cyan, anchor=north west, align=left, text width=\x2-\x1] at ($(current page.north west)$) {
        \begin{textblock*}{5in}(\dimexpr\x2-4.0in,\dimexpr0.25\headheight-1in)
           \tikz \node [white,text width=2in, align=right, font=\sffamily]
           {\normalsize MATHEMATIK }\\[10pt];
        \end{textblock*}
  };
     \fill[cyan](current page.south west) rectangle ($(current page.south east) - (0,-1.5cm)$);
\end{tikzpicture}}{-1.75in}{}[\vspace*{0.25in}]
 
\titleformat{name=\subsection}{\Huge{\bfseries\sffamily\color{yellow}}}{%
   \thispagestyle{empty}
  \begin{tikzpicture}[overlay, remember picture]
     \path let \p1 = (current page.west), \p2 = (current page.east) in
     node[minimum width=\x2-1.5pt, minimum height=4cm,
     rectangle, fill=cyan, anchor=north west, align=left, text width=\x2-\x1] at ($(current page.north west)$) {
        \begin{textblock*}{5in}(\dimexpr\x2-4.0in,\dimexpr0.25\headheight-1in)
           \tikz \node [white,text width=2in, align=right, font=\sffamily] {{\normalsize MATHEMATIK }\\[10pt]
           \raisebox{20pt}{{\large \chaptertitlename}} \raisebox{-12pt}{\chapternumberfont \thechapter}};
     \end{textblock*}};
     \fill[cyan](current page.south west) rectangle ($(current page.south east) - (0,-1.5cm)$);
\end{tikzpicture}}{-1.75in}{}[\vspace*{0.25in}]
 
\titleformat{name=\subsubsection}[display]{\Huge{\bfseries\sffamily\color{yellow}}}{%
   \thispagestyle{empty}
  \begin{tikzpicture}[overlay, remember picture]
     \path let \p1 = (current page.west), \p2 = (current page.east) in
     node[minimum width=\x2-1.5pt, minimum height=4cm,
     rectangle, fill=cyan, anchor=north west, align=left, text width=\x2-\x1] at ($(current page.north west)$) {
        \begin{textblock*}{5in}(\dimexpr\x2-4.0in,\dimexpr0.25\headheight-1in)
           \tikz \node [white,text width=2in, align=right, font=\sffamily] {{\normalsize MATHEMATIK }\\[10pt]
           \raisebox{20pt}{{\large \chaptertitlename}} \raisebox{-12pt}{\chapternumberfont \thechapter}};
     \end{textblock*}};
     \fill[cyan](current page.south west) rectangle ($(current page.south east) - (0,-1.5cm)$);
\end{tikzpicture}}{-1.75in}{}[\vspace*{0.25in}]


\chapter{chap 1}
\section{section 1}
sqdddsqsdqsdqsdqsdqsd
\newpage
xacac asdsd
a
sd
asdds

\subsection{subsection 1}
xacacacacac

\chapter{chap 2}
\section{section 2}
accaasaasddasas
\newpage
xacac asdsd
a
sd
asdds
\subsection{subsection 2}
<caaascas

\end{document}

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

Beitrag von esdd »

Sorry, aber es gilt immer noch, was ich oben bezüglich der Pakete geschrieben habe. Außerdem gehören sämtliche Formatierungen in die Präambel, also vor \begin{document}. Und nach Deinem Code bin ich mir jetzt sicher, dass Du Überschriften und Kopf- und Fußzeile durcheinander wirfst oder alternativ hast Du nicht verstanden, was der Code eigentlich macht bzw. machen sollte - der ursprüngliche Code ist vermutlich nicht von Dir.

In dem Codel wird die Umdefinition von Überschriften missbraucht um Kopf- und Fußbereich mit einem speziellen Aussehen zu versehen. Das was Du auf den Kapitelanfangsseiten oben und unten siehst, sind deshalb nicht Kopf- und Fußzeile, sondern die jeweilige sehr speziell formatierte Überschrift. Dann verwendest Du noch gleichzeitig titlesec und sectsty, d.h. es rühren zwei Köche in dem Brei herum ... Die Umformatierung von \section etc. verpufft deshalb - zu Deinem Glück. Lediglich die Kapitelüberschriften erzeugen die Balken oben und unten. Dass man innerhalb von Nodes keine weiteren TikZ-Abbildungen verschachteln sollte, ist fast schon nebensächlich.

Auf den Nicht-Kapitelanfangsseiten werden dagegen die für die book Klasse üblichen Kopf- und Fußzeilen ausgegeben. Letztere ist wie in der Voreinstellung leer, aber die Kopfzeile enthält außen die Seitenzahlen und innen auf geraden Seiten das Kapitel und auf ungeraden den Abschnitt. Bei Dir folgt nur auf der nächsten ungeraden Seite schon wieder ein Kapitel. Da Du sowieso mwe lädst, könntest Du einfach mal nach der Abschnittsüberschrift \Blindtext[20] einfügen, um eine ordentliche Menge an Fülltext zu haben.

paule32
Forum-Newbie
Forum-Newbie
Beiträge: 8
Registriert: Sa 17. Mär 2018, 11:10

Beitrag von paule32 »

ok, Du hast recht,
Der viele Code da oben stammt im Original nicht vonb mir und ist aber von mir verwurstete worden.
Ich habe jetzt vor alles nochmal kleiner und mit mehr Eigeninitiative zu bewerkstelligen,
Dazu habe ich mir das tikz Package ausgesucht, da fancyhdr irgendwie so stino ist.

Nun meine Frage:
Wie können Header/Footer so gestaltet werden, dass man sich das Eigene Layout
aussuchen kann, und: wie bekomme ich heraus, ob eine Seite gerade/nicht gerade
ist, ohne dazu dicke fette Packages zu laden?
Und zweite Frage: kann das automatisiert werden - also das TeX sich selbst formatierrt
- also den Text.
Es ist nicht gerade Sinnvoll alle Seiten manuell zu Setzen.

Danke für Antwort
paule32

paule32
Forum-Newbie
Forum-Newbie
Beiträge: 8
Registriert: Sa 17. Mär 2018, 11:10

Beitrag von paule32 »

so, habe wieder was neues gefunden siehe unten...
jetzt müsste man also noch automatisieren können sowie prüfen können,
ob es sich bei der Seite um die erste - also TitelPage, Verzeichniss, TOF, Anahang ...
handelt.
\documentclass[10pt]{book}
\usepackage[utf8]{inputenc}
\usepackage{geometry}
\usepackage{scrextend}
\usepackage{ngerman}
\usepackage{caption}
\usepackage{changepage}

\begin{document}
\pagenumbering{roman}
\ifthispageodd{I'm odd}{I'm even}% I'm odd
\newpage
\ifthispageodd{I'm odd}{I'm even}% I'm even
\newpage
\pagenumbering{arabic}
\ifthispageodd{I'm odd}{I'm even}% I'm odd
\newpage
\ifthispageodd{I'm odd}{I'm even}% I'm even

\end{document}

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

Beitrag von u_fischer »

paule32 hat geschrieben: Dazu habe ich mir das tikz Package ausgesucht, da fancyhdr irgendwie so stino ist.
tikz ist zum Malen, fancyhdr für Kopf- und Fußzeilen. Das eine durch das andere zu ersetzen, ist so als würde man die Waschmaschine durch den Toaster ersetzen.

wie bekomme ich heraus, ob eine Seite gerade/nicht gerade
ist, ohne dazu dicke fette Packages zu laden?
Für Kopf- und Fußzeilen brauchst du nichts. Die werden während des Shipout gesetzt, dort ist die Seitenzahl bekannt und kann einfach mit \ifodd abgefragt werden. Abgesehen davon, haben sowohl fancyhdr als auch scrlayer-scrpage eingebaute Optionen für gerade und ungerade Seiten.

paule32
Forum-Newbie
Forum-Newbie
Beiträge: 8
Registriert: Sa 17. Mär 2018, 11:10

Beitrag von paule32 »

Hallo,
erhalte leider Fehlermeldung:

(/usr/share/texlive/texmf-dist/tex/latex/titlesec/titlesec.sty)

! LaTeX Error: \raggedchapter undefined.

See the LaTeX manual or LaTeX Companion for explanation.
Type H <return> for immediate help.
...

l.10 \renewcommand{\raggedchapter}
{\centering}
? x
No pages of output.
Transcript written on test4.log.


was mache ich hier falsch?
\documentclass[10pt]{scrbook}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[english,german]{babel}
\usepackage{scrextend}
\usepackage{titlesec}

\setkomafont{chapter}{\normalcolor\bfseries\Large}
\setkomafont{chapterprefix}{\Huge}
\renewcommand{\raggedchapter}{\centering}
\renewcommand{\chapterformat}{
  \thechapter\\\rule[\ht\strutbox]{\textwidth}{1pt}\\[-\baselineskip]
}

\begin{document}
\begin{titlepage}
Eine Titelseite
\end{titlepage}

\pagenumbering{roman}
\ifthispageodd{I'm odd}{I'm even}% I'm odd
\newpage
\ifthispageodd{I'm odd}{I'm even}% I'm even
\newpage
\pagenumbering{arabic}
\ifthispageodd{I'm odd}{I'm even}% I'm odd
\newpage
\ifthispageodd{I'm odd}{I'm even}% I'm even

\end{document}

Antworten