
Indiese FrageIch habe gefragt, wie man das Argument einer neuen Abschnittsebene verwendet, die mit dem titlesec
Paket als Header definiert wurde. Jetzt wiederhole ich denselben Code und möchte fragen, wie ich das Argument des \part
Befehls als Header verwenden kann. Es schien einfacher, und ich habe in der Dokumentation nachgesehen titlesec
und dort gab es einen Hinweis, aber ich konnte nicht verstehen, wie man ihn verwendet.
\documentclass[b5paper,twoside]{book}
\usepackage{geometry}
\usepackage{titletoc}
\usepackage[rm,small,center,compact,newparttoc,clearempty,pagestyles]{titlesec}
\usepackage{kantlipsum}
\titleclass{\subpart}{page}[\part]
\newcounter{subpart}
\renewcommand{\thesubpart}{\Alph{subpart}}
\newcommand{\subpartname}{Subpart}
\titleformat{\subpart}[display]{\centering\normalfont\Large\bfseries}%
{\subpartname~\thesubpart}{1pc}{\Huge\bfseries}
\titlespacing{\subpart}{0pt}{0pt}{0pt}
\titlecontents{subpart}[0pt]{\addvspace{1pc}\normalfont\bfseries}%
{\thecontentslabel\enspace ---\enspace\large}%
{\normalfont\large\bfseries}{\hspace{2em plus 1fill}\large\contentspage}
\setcounter{secnumdepth}{-2}
\newpagestyle{main}{
\sethead[][\chaptertitle][]
{}{\parttitle}{} % Problem: Here I want to have part title.
\setfoot[][\thepage][]
{}{\thepage}{}}
\pagestyle{main}
\newpagestyle{preface}{
\sethead[][\chaptertitle][]
{}{\parttitle}{}
\setfoot[][\thepage][]
{}{\thepage}{}}
\pagestyle{empty}
\assignpagestyle{\part}{empty}
\assignpagestyle{\subpart}{empty}
\assignpagestyle{\chapter}{empty}
\settitlemarks{part,chapter}
\begin{document}\frontmatter
\pagestyle{empty}
\chapter[Preface]{PREFACE}
\pagestyle{preface}
\kant[1-20]
\part{History}
\subpart{Primitive Historians}
\pagestyle{main}
\chapter{The Formation of the Concept of History}
\kant[1-20]
\end{document}
Antwort1
Ich hätte mehr suchen und mehr Aufmerksamkeit schenken sollen, als einfach nur die Frage zu stellen. Durch das Mischen von Teilen der AntwortHierund das hierHier, ich könnte das \part
Argument als Header verwenden. Die erste Antwort ändert den Teilstil mit Hilfe des Titlesec-Pakets, was möglicherweise die Erkennung dieses Befehls durch titlesec
das Paket erleichtert, und die zweite Antwort, insbesondere sein letzter Kommentar zu seiner Antwort, ermöglichte die Verwendung als Header.
Ich habe das Minimalbeispiel der zweiten Antwort verwendet. Jetzt hat die Datei den Kapiteltitel als Kopfzeile für gerade Seiten und den Teiltitel als Kopfzeile für ungerade Seiten.
Hinweis: Durch die Änderung \part
verschiebt sich die Position des Arguments im Vergleich zur ursprünglichen Ausgabe des Teilbefehls geringfügig nach oben, um den Bruchteil eines Millimeters.
\documentclass{book}
\usepackage[a6paper]{geometry}% just for the example
\usepackage[pagestyles]{titlesec}
\assignpagestyle{\part}{empty} % Works[removes the page number from the part page]
\assignpagestyle{\chapter}{empty} % Works[removes the page number from the starting page of the chapter]
\titleformat{\part}[display]
{\normalfont\huge\bfseries\filcenter}{\partname\ \ \thepart}{22pt}{\Huge}
\newpagestyle{main}{
\sethead[][\chaptertitle][] % even header
{}{\parttitle}{} % odd header
\setfoot[][\thepage][] % even footer: making the page number on th bottom of the page and center
{}{\thepage}{} % odd footer
\settitlemarks{part,chapter}}
\pagestyle{main}
\usepackage{kantlipsum}
\begin{document}
\part{Bar}
\chapter{Foo}
\kant[1-20]
\end{document}