Ich habe zahlreiche Beiträge zum Entfernen der Kopf-/Fußzeile auf den leeren Seiten zwischen den Kapiteln gefunden, und sie funktionieren gut, mit einer großen Ausnahme ... Ich brauche eine \pagestyle{plain}
(d. h. eine einzelne zentrierte Seitennummer) auf allen leeren Seiten, bevor das Kapitel im Dokument beginntaußerIch brauche ein \pagestyle{empty}
für die Seitegleich nachdie \titlepage
. Alle Methoden, die ich gesehen und ausprobiert habe, hinterlassen entweder für das gesamte Dokument oder \pagestyle{plain}
für alle Seiten komplett leere Seiten.
Ich verwende book
die Dokumentklasse [twosided,openright]
, fancyhdr
und habe den Code zur Neudefinition \cleardoublepage
wie folgt eingefügt:
\makeatletter
\def
\cleardoublepage{%
\clearpage
\ifodd\c@page
\else
\hbox{}
\thispagestyle{plain}
\newpage
\fi
}%
\makeatother
... wie in verschiedenen Beiträgen empfohlen. Leider bleibt mir dann nach dem eine leere Seite titlepage
mit einer Seitenzahl (was den Client verrückt macht). Der Code scheint alle Inline-Versuche, diese Seite zu erhalten, außer Kraft zu setzen {empty}
.
Gibt es eine Form von \if@titlepage
Bedingung, die \if@mainmatter
ich parallel dazu verwenden könnte, nur diesen Abschnitt zu löschen und den Rest ( \frontmatter, \mainmatter, \appendix, \backmatter
) \pagestyle{plain}
für die dazwischenliegenden leeren Seiten zu belassen? Gibt es eine Möglichkeit, das als Bedingung zu erfassen?
Eine (sehr) grobe Näherung MWE:
\documentclass[12pt,letterpaper,final,openright]{book}
\usepackage{fancyhdr}
\usepackage{natbib}
\pagestyle{fancy}
\setlength{\headheight}{15.2pt}
\renewcommand{\headrulewidth}{0.4pt}
\renewcommand{\footrulewidth}{0.2pt}
\makeatletter
\renewcommand{\chaptermark}[1]{%
\if@mainmatter
\markboth{\MakeUppercase{\chaptername\ \thechapter.\ #1}}{}
\else
\markboth{\MakeUppercase{#1}}{\MakeUppercase{#1}}
\fi
}%
\makeatother
\fancyhf{}
\fancyhead[LE,RO]{\small \thepage}
\fancyhead[LO]{\small \leftmark}
\fancyhead[RE]{\small \rightmark}
% Redefine \pagestyle{plain}
\fancypagestyle{plain}{%
\fancyhf{} % clear all header and footer fields
\fancyfoot[C]{\small \thepage} % except the center
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrulewidth}{0pt}
}%
% Code for creating plain on empty pages before new chapter
\makeatletter
\def
\cleardoublepage{%
\clearpage
\ifodd\c@page
\else
\hbox{}
\thispagestyle{plain}
\newpage
\fi
}%
\makeatother
\begin{document}
% TITLE PAGE
\pagestyle{empty} %Clear hdr/ftr
\titlepage
\input{./Chapter_txt/titlepageV1} %Custom title page text/layout
\frontmatter
\pagestyle{fancy} % Resume hdr/ftr
%MANAGEMENT SUMMARY
\include{Preface} %Intro/Preface chapter
%ToC and Lists
\tableofcontents
\listoftables
\listoffigures
\mainmatter
\part{PartI}
\include{Chapter1}
\include{Chapter2}
\part{PartII}
\include{Chapter3}
\include{Chapter4}
\appendix
\include{app}
\backmatter
\bibliographystyle{humannat}
\bibliography{mybib}\footnotesize
\addcontentsline{toc}{chapter}{Bibliography}
\end{document}
Das Ganze ist ein mehrbändiges Werk, wobei jeder Abschnitt von \include{file}
… eingebunden ist, keine gute Art, ein MWE zu machen (ich weiß nicht, wie man eins macht, das \input
oder hat \include
).
Antwort1
Hier ist eine LösungBearbeiten: weitere Erklärung
plain
Der Seitenstil ist schick, die Seiten zwischen den Kapiteln werden durch Neudefinieren auf gesetzt \cleardoublepage
(dieser letzte Befehl wird von \part
und verwendet \chapter
).
plain
Die Seite nach der Teilseite wird durch Neudefinition festgelegt\@endpart
empty
die Seite nach der Titelseite wird durch diesen Seitenstil {leer} direkt nach titlepage
der Umgebung gesetzt
\documentclass{book}
\usepackage{lipsum}
\usepackage{fancyhdr}
\fancyhf{}
\fancyhead[R]{\leftmark}
\fancyfoot[R]{test}
\fancyfoot[C]{\thepage}
\pagestyle{fancy}
\let\mtcleardoublepage\cleardoublepage
\renewcommand{\cleardoublepage}{\clearpage{\pagestyle{plain}\mtcleardoublepage}}
\makeatletter
\def\@endpart{\vfil\newpage
\if@twoside
\if@openright
\null
\thispagestyle{plain}%
\newpage
\fi
\fi
\if@tempswa
\twocolumn
\fi}
\makeatother
\title{Test}
\author{Me}
\begin{document}
\begin{titlepage}
\maketitle
\end{titlepage}
\thispagestyle{empty}
\lipsum[1-20]
\part{Deux}
\chapter{trois}
\lipsum[1-50]
\end{document}
Bearbeiten: Code für dieses spezielle
\documentclass[12pt]{book}
\usepackage{fancyhdr}
\usepackage{natbib}
\pagestyle{fancy}
\setlength{\headheight}{15.2pt}
\renewcommand{\headrulewidth}{0.4pt}
\renewcommand{\footrulewidth}{0.2pt}
\makeatletter
\renewcommand{\chaptermark}[1]{%
\if@mainmatter
\markboth{\MakeUppercase{\chaptername\ \thechapter.\ #1}}{}
\else
\markboth{\MakeUppercase{#1}}{\MakeUppercase{#1}}
\fi
}%
\makeatother
\fancyhf{}
\fancyhead[LE,RO]{\small \thepage}
\fancyhead[LO]{\small \leftmark}
\fancyhead[RE]{\small \rightmark}
% Redefine \pagestyle{plain}
\fancypagestyle{plain}{%
\fancyhf{} % clear all header and footer fields
\fancyfoot[C]{\small \thepage} % except the center
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrulewidth}{0pt}
}%
\let\mtcleardoublepage\cleardoublepage
\renewcommand{\cleardoublepage}{\clearpage{\pagestyle{plain}\mtcleardoublepage}}
\makeatletter
\def\@endpart{\vfil\newpage
\if@twoside
\if@openright
\null
\thispagestyle{plain}%
\newpage
\fi
\fi
\if@tempswa
\twocolumn
\fi}
\makeatother
\begin{document}
\begin{titlepage}
test
\end{titlepage}
\thispagestyle{empty}
\frontmatter
\include{Preface} %Intro/Preface chapter
%ToC and Lists
\tableofcontents
\listoftables
\listoffigures
\mainmatter
\part{PartI}
\include{Chapter1}
\include{Chapter2}
\part{PartII}
\include{Chapter3}
\include{Chapter4}
\appendix
\include{app}
\backmatter
\footnotesize
\bibliographystyle{humannat}
\bibliography{mybib}
\addcontentsline{toc}{chapter}{Bibliography}
\end{document}
Antwort2
Sie müssen Ihre titlepage
Umgebung wahrscheinlich neu definieren. Meine ist so, und die erste Seite nach dem Titelblatt ist leer und die folgenden sind korrekt nummeriert.
\newenvironment{titlepage}
{%
\if@openright
\cleardoublepage
\else
\clearpage
\fi%
\newpage
\thispagestyle{empty}%
\setcounter{page}\@ne
}%
{\newpage
\thispagestyle{empty}
}%%
Wenn Sie einen Befehl verwenden, sollten Sie außerdem am Ende der Befehlsdefinition \maketitle
eins hinzufügen :\clearpage
\if@titlepage
\newcommand\maketitle{%
\begin{titlepage}
...
\end{titlepage}%
\clearpage%
\setcounter{footnote}{0}%
...
}%
\fi
Ich hoffe, es hilft.
Antwort3
Sie können das Paket ladenscrextend
mit der Option cleardoublepage=plain
. Um eine leere Seite direkt nach der Titelseite zu erhalten, verwenden Sie sie \cleardoubleoddemptypage
nach der titlepage
Umgebung oder als letzten Befehl innerhalb dieser Umgebung.
\documentclass{book}
\usepackage[cleardoublepage=plain]{scrextend}
\usepackage{fancyhdr}
\pagestyle{fancy}
\usepackage{blindtext}% dummy text
\begin{document}
\begin{titlepage}
\Huge My Titlepage
\end{titlepage}
\cleardoubleoddemptypage
\frontmatter
\tableofcontents
\mainmatter
\blinddocument
\Blindtext
\blinddocument
\end{document}
Eine weitere Möglichkeit ist die zusätzliche Nutzung vonetoolbox
:
\documentclass{book}
%
\usepackage[cleardoublepage=plain]{scrextend}
\usepackage{etoolbox}
\AfterEndEnvironment{titlepage}{\cleardoubleoddemptypage}
%
\usepackage{fancyhdr}
\pagestyle{fancy}
\usepackage{blindtext}% dummy text
\begin{document}
\begin{titlepage}
\Huge My Titlepage
\end{titlepage}
\frontmatter
\tableofcontents
\mainmatter
\blinddocument
\Blindtext
\blinddocument
\end{document}