pagestyle auf erste Seite des Verzeichnisses aus parttoc

Inhalt, Abbildungen, Tabellen, Quellcodes und andere Verzeichnisse


Phil100%Vol
Forum-Newbie
Forum-Newbie
Beiträge: 9
Registriert: Mi 21. Jun 2017, 06:50

pagestyle auf erste Seite des Verzeichnisses aus parttoc

Beitrag von Phil100%Vol »

Hi,

da ich mittlerweile wirklich nicht mehr weiter weis und auch vergeblich mehrere Ansätze ausprobiert habe, wende ich mich an euch und hoffe ihr könnt mir bei meinem Problem helfen:

Das Grundproblem ist, dass mein definiertes pagestyle nicht auf der ersten Seite des Anlagenverzeichnisses verwendet wird. Ich erhalte weder die Seitenangabe noch den definierten Seitenkopf.
Zweites Problem ist, dass die Seite und Kopf zwar auf der zweiten Seite des Verzeichnisses auftaucht (pdf Seite 7), aber der Kopf komplett groß geschrieben ist ("ANLAGENVERZEICHNIS" anstatt "Anlagenverzeichnis").
Auf der pdf Seite 3 und 4 könnt ihr sehen, wie ich es eigentlich haben möchte. Seite 3 erste Seite des chapters ohne chapter-Bezeichnung im Kopf und alle nachfolgenden Seite mit Bezeichnung im Kopf.
\documentclass[]{scrreprt}	

\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{appendix} 
\usepackage{tocloft}
\usepackage{blindtext}

%%%	Layout ab zweiter Seite eines chapters %%%
\usepackage{scrpage2}						
		\pagestyle{scrheadings}
		\automark{chapter}					
		\chead{}		
		\ohead{\headmark}
		\cfoot{\pagemark}
		\setheadsepline{0.1mm}				
		\renewcommand{\headfont}{\normalfont}			

%%% Layout der ersten Seite eines chapters %%%
\defpagestyle{ownchapterpagestyle}{
(0pt ,0pt)	{} {} {}(\textwidth ,0.1mm)}
{(0pt ,0pt){\hfill\pagemark\hfill} {\hfill\pagemark\hfill} {\hfill\pagemark\hfill}(0pt,0pt)}
	
\usepackage[nohints]{minitoc} 			
\renewcommand{\ptctitle}{Anlagenverzeichnis}	
\noptcrule

\AtEndDocument{
  \addtocontents{toc}{\protect\setcounter{tocdepth}{1}}
}

\begin{document}
\doparttoc

\pagestyle{scrheadings}	
\tocloftpagestyle{ownchapterpagestyle}
\addstarredchapter{Inhaltsverzeichnis}
\tableofcontents
\chapter{Erstes Kapitel}
\thispagestyle{ownchapterpagestyle}

\chapter{Zweites Kapitel}
\thispagestyle{ownchapterpagestyle}
\newpage
\blindtext

\appendix
\renewcommand*{\partpagestyle}{ownchapterpagestyle}
\part*{Anhang}

\mtcaddpart[Anhang]
\adjustptc[-2] 

\tocloftpagestyle{ownchapterpagestyle}
\parttoc
\markboth{Anhang}{Anhang}

\addtocontents{toc}{\protect\setcounter{tocdepth}{0}}
\setcounter{tocdepth}{0}

\section{Anlage 1}
\blindtext
\section{Anlage 2}
\section{Anlage 3}
\section{Anlage 4}
\section{Anlage 5}
\section{Anlage 6}
\section{Anlage 7}
\section{Anlage 8}
\section{Anlage 9}
\section{Anlage 10}
\section{Anlage 11}
\section{Anlage 12}
\section{Anlage 13}
\section{Anlage 14}
\section{Anlage 15}
\section{Anlage 16}
\section{Anlage 17}
\section{Anlage 18}
\section{Anlage 19}
\section{Anlage 20}
\section{Anlage 21}\blindtext
\section{Anlage 22}
\section{Anlage 23}
\section{Anlage 24}
\section{Anlage 25}
\section{Anlage 26}
\section{Anlage 27}

\end{document}
Ich habe auch schon einen Verweis auf das Paket "etoc" gesehen, wollte es aber noch versuchen mit dem parttoc hinzubekommen, bevor ich ein neues Paket verwenden muss.
Minitoc musste ich schon zur Erzeugung des Anlangenverzeichnisses sein lassen, da es bei meinem großen Dokument Probleme mit "hyperref und den bookmarks" gab - was nun mit parttoc wieder funktioniert.

Vielen Dank schon Mal für die Hilfe!

Gruß

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

Beitrag von esdd »

Dein Code scheint schon etwas älter zu sein, da scrpage2 schon 2013 von scrlayer-scrpage abgelöst wurde. Das Paket tocloft sollte man nicht mit einer KOMA-Script Klasse verwenden.

Das Anhangsverzeichnis kannst Du eigentlich direkt mit KOMA-Script Mitteln erstellen:
\documentclass[]{scrreprt}
\usepackage{blindtext}% nur für Fülltext
\usepackage[ngerman]{babel} 
\usepackage[utf8]{inputenc} 
\usepackage[T1]{fontenc} 

\usepackage[
  headsepline=.1mm,
  plainheadsepline
]{scrlayer-scrpage}% scrlayer-scrpage ist der Nachfolger von scrpage2
  \automark{chapter}
  \automark*{part}
  \clearpairofpagestyles
  \ohead{\headmark}
  \cfoot*{\pagemark}
  \addtokomafont{pageheadfoot}{\normalfont}

% Anhangsverzeichnis, basiert auf https://komascript.de/comment/5578#comment-5578
\DeclareNewTOC[%
  owner=\jobname,
  listname={Anlagenverzeichnis},% Titel des Verzeichnisses
]{atoc}% Dateierweiterung (a=appendix, toc=table of contents)

\makeatletter
%%% damit das auch mit Versionen vor 3.23 klappt
\ifundefinedorrelax{ext@toc}{%
  \newcommand*{\ext@toc}{toc}
  \renewcommand{\addtocentrydefault}[3]{%
    \expandafter\tocbasic@addxcontentsline\expandafter{\ext@toc}{#1}{#2}{#3}%
  }
}{}
%%%
\newcommand*{\useappendixtocs}{%
  \renewcommand*{\ext@toc}{atoc}%
  \scr@ifundefinedorrelax{hypersetup}{}{% damit es auch ohne hyperref funktioniert
    \hypersetup{bookmarkstype=atoc}%
  }%
}
\makeatother

\usepackage{xpatch}
\xapptocmd\appendix{%
  \setcounter{secnumdepth}{0}
  \addpart{\appendixname}
  \useappendixtocs
  \listofatocs
}{}{}

\begin{document} 
\tableofcontents 
\chapter{Erstes Kapitel} 
\Blindtext
\blinddocument

\appendix 

\section{Anlage 1} \blindtext 
\section{Anlage 2} 
\section{Anlage 3} 
\section{Anlage 4} 
\section{Anlage 5} 
\section{Anlage 6} \blindtext
\section{Anlage 7} 
\section{Anlage 8} 
\section{Anlage 9} 
\section{Anlage 10} 
\section{Anlage 11} 
\section{Anlage 12} 
\section{Anlage 13} \blindtext
\section{Anlage 14} 
\section{Anlage 15} 
\section{Anlage 16} 
\section{Anlage 17} 
\section{Anlage 18} 
\section{Anlage 19} 
\section{Anlage 20} 
\section{Anlage 21}\blindtext 
\section{Anlage 22} 
\section{Anlage 23} 
\section{Anlage 24} 
\section{Anlage 25} 
\section{Anlage 26} 
\section{Anlage 27} 
\end{document} 

Phil100%Vol
Forum-Newbie
Forum-Newbie
Beiträge: 9
Registriert: Mi 21. Jun 2017, 06:50

Beitrag von Phil100%Vol »

Erst ein Mal vielen Dank für die schnelle Hilfe. Das Beispiel macht genau das, was ich mir vorgestellt habe.
Wenn ich es nun übertrage auf mein komplettes Dokument kommt, sobald ich
\usepackage[
headsepline=.1mm,
plainheadsepline
]{scrlayer-scrpage}% scrlayer-scrpage ist der Nachfolger von scrpage2
\automark{chapter}
\automark*{part}
\clearpairofpagestyles
\ohead{\headmark}
\cfoot*{\pagemark}
\addtokomafont{pageheadfoot}{\normalfont}
verwende die Fehlermeldung "!Undefinded control sequence.<argument> \undefindedpagestyle ***"
*** \chapter
*** \tableofcontents
*** \listoffigures
und alle weiteren verwendeten Verzeichnisse.

Mir ist schon klar, dass es irgendwo in meinem kompletten Code den Fehler verursacht (das Beispiel hier funktioniert ja).
Dennoch eine Idee woran es liegen könnte?
Zudem kann es sein, dass der Code suffixe vor den Anhangs \sections unterbindet?
Wollte vor Anlage 1 ... Anlage 2 ... etc. gerne A Anlage 1 ... B Anlage 2 ... AA Anlage x setzten.
Dazu habe ich bisher
 \renewcommand*{\thesection}{Anlage~\AlphAlph{\value{section}}}
verwendet.

Vielen Dank und Gruß

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

Beitrag von esdd »

Hast Du eventuell noch irgendwo eine Umdefinition von \chapterpagestyle im Code stehen? Also beispielsweise
\renewcommand\chapterpagestyle{ownstyle}
Dann entferne das. Auf den Kapitelanfangsseiten wird in der Voreinstellung plain verwendet und dieser Seitenstil ist in meinem Beispiel schon so formatiert, dass die Seitenzahl in der Mitte des Fußes steht und auch die Kopfzeilenlinie eingefügt wird, die ich selbst aber weglassen würde.

Die Nummerierung der Abschnitte im Anhang habe ich tatsächlich mit \setcounter{secnumdepth}{0} abgeschaltet, weil mir dieses 0.1 etc. komisch vorkam. Hier ist ein geänderter Code für das Stück in dem \appendix gepatcht wird:
\usepackage{xpatch}
\xapptocmd\appendix{%
  \renewcommand*{\thesection}{\AlphAlph{\value{section}}}
  \renewcommand*{\sectionformat}{Anlage~\thesection\autodot\enskip}
  \addpart{\appendixname}
  \useappendixtocs
  \listofatocs
}{}{\PatchFailed}
Wenn Du den Prefix "Anlage" auch im Anhangsverzeichnis brauchst sind noch ein paar weitere Änderungen nötig.

Warum verwendest Du im Anhang \section und nicht \chapter?

Phil100%Vol
Forum-Newbie
Forum-Newbie
Beiträge: 9
Registriert: Mi 21. Jun 2017, 06:50

Beitrag von Phil100%Vol »

Du hattest recht ich hatte in den Vordefinition noch genau den Befehl drinnen.

Deinen zweiten Code habe ich bereits so angepasst, dass er auf meine Vorstellungen passt - mit den Präfixen.

Auf deine letzte Frage - ich hatte irgendwann das Anhangsverzeichnis als Bsp. aus einem Forum gezogen und da wurde es auch mit \section realisiert und nicht mit \chapter.
Wenn ich im Beispiel die \sections durch \chapters ersetzte, dann schmeißt der mir wieder die Bezeichnung "Anhang" raus und ersetzt dies durch die jeweilige Anlagenbezeichnung. So soll es ja auch nach deinem Code sein - Wollte aber über allen Anlagen "Anhang" stehen haben.
Die Überführung von \section -> \chapter wird denke ich eine erneute Codeanpassung nach sich ziehen?!


Mit den \sections ist jedoch nun alles so wie ich es haben wollte.
Großes Danke für die Hilfe :!:

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

Beitrag von esdd »

Phil100%Vol hat geschrieben: Wenn ich im Beispiel die \sections durch \chapters ersetzte, dann schmeißt der mir wieder die Bezeichnung "Anhang" raus und ersetzt dies durch die jeweilige Anlagenbezeichnung. So soll es ja auch nach deinem Code sein - Wollte aber über allen Anlagen "Anhang" stehen haben.
Du meinst "Anhang" in der Kopfzeile? Dann ergänze einfach nach dem \addpart{\appendixname} ein \manualmark. Damit wird dann die automatische Änderung des Kopfzeileneintrags unterbunden.

Wenn alle Anlagen Abschnitte sind, dann sollte es deren Verzeichnis vermutlich auch sein:
\usepackage{xpatch}
\xapptocmd\appendix{%
  \renewcommand*{\thesection}{\AlphAlph{\value{section}}}
  \renewcommand*\sectionformat{Anlage~\thesection\autodot\enskip}
  \setuptoc{atoc}{leveldown}% Anlagenverzeichnis als \section einfügen
  \addpart{\appendixname}
  \manualmark% verhindert automatische Änderung der Kopfzeile
  \useappendixtocs
  \listofatocs
}{}{\PatchFailed}
Phil100%Vol hat geschrieben: Die Überführung von \section -> \chapter wird denke ich eine erneute Codeanpassung nach sich ziehen?
\usepackage{xpatch}
\xapptocmd\appendix{%
  \renewcommand*{\thechapter}{\AlphAlph{\value{chapter}}}
  \renewcommand*\chapterformat{Anlage~\thechapter\autodot\enskip}
  \addpart{\appendixname}
  \manualmark
  \AfterTOCHead[atoc]{% mehr Platz für Anlagennummer im Anlagenverzeichnis
    \RedeclareSectionCommand[tocnumwidth=2em]{chapter}%
  }% 
  \ohead*{\headmark}% falls "Anlage" auch in Kopfzeile von Kapitelanfangsseiten
  \useappendixtocs
  \listofatocs
}{}{\PatchFailed}
und dann natürlich noch \section durch \chapter ersetzen. Einer der Unterschiede ist, dass für jede Anlage eine neue Seite begonnen wird und die Überschriften wie die Kapitel im Dokument formatiert sind.

Phil100%Vol
Forum-Newbie
Forum-Newbie
Beiträge: 9
Registriert: Mi 21. Jun 2017, 06:50

Beitrag von Phil100%Vol »

So jetzt wieder da ....

habe mir deine Codeänderungen (section in chapter Überführung) angewendet und angeschaut. Hat auch alles funktioniert, aber die Formatierung finde ich persönlich nicht ansprechend. Daher werde ich es bei sections belassen. Alle Vorstellungen mit dem Anhang / Anlangenverzeichnis und die Formatierung funktionieren so wie ich es haben wollte.

Gruß

Antworten