He encontrado numerosas publicaciones sobre cómo eliminar el encabezado/pie de página en las páginas en blanco entre capítulos, y funcionan bien con una gran excepción... Necesito un \pagestyle{plain}
(es decir, número de página centrado en un solo) en todas las páginas en blanco antes de que comience el capítulo en el documento.exceptonecesito un \pagestyle{empty}
para la paginajusto después deel \titlepage
. Todos los métodos que he visto y probado me dejan con páginas completamente vacías para todo el documento o \pagestyle{plain}
para todos ellos.
Estoy usando book
la clase de documento [twosided,openright]
, fancyhdr
y he incluido el código para redefinir \cleardoublepage
de la siguiente manera:
\makeatletter
\def
\cleardoublepage{%
\clearpage
\ifodd\c@page
\else
\hbox{}
\thispagestyle{plain}
\newpage
\fi
}%
\makeatother
...como se recomienda en varias publicaciones. Desafortunadamente, eso me deja con la página en blanco después de titlepage
un número de página (lo que está volviendo loco al cliente). El código parece anular cualquier intento en línea de llevar esa página a {empty}
.
¿Existe algún tipo de \if@titlepage
condicional paralelo que \if@mainmatter
pueda usar para borrar solo esa sección y dejar el resto ( \frontmatter, \mainmatter, \appendix, \backmatter
) como \pagestyle{plain}
para esas páginas en blanco intermedias? ¿Hay alguna manera de capturar eso como condicional?
Una aproximación (muy) aproximada 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}
Todo es un trabajo de varios volúmenes, con cada sección dibujada por \include{file}
... no es una buena manera de hacer gran parte de un MWE (no sé cómo hacer uno que tenga \input
o \include
).
Respuesta1
Aquí hay una soluciónEditar: más explicación
El estilo de página es elegante, las páginas entre capítulos se configuran plain
mediante redefinición \cleardoublepage
(este último comando lo utilizan \part
y \chapter
)
la página después de la página parcial se establece plain
redefiniendo\@endpart
la página después de la página de título está configurada empty
por este estilo de página {empty} justo después titlepage
del entorno
\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}
Editar: código para este particular
\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}
Respuesta2
Probablemente necesites redefinir tu titlepage
entorno. La mía es así, y la primera página después del título está vacía y las siguientes están numeradas correctamente.
\newenvironment{titlepage}
{%
\if@openright
\cleardoublepage
\else
\clearpage
\fi%
\newpage
\thispagestyle{empty}%
\setcounter{page}\@ne
}%
{\newpage
\thispagestyle{empty}
}%%
Además, si usa \maketitle
el comando, debe agregar un \clearpage
al final de la definición del comando:
\if@titlepage
\newcommand\maketitle{%
\begin{titlepage}
...
\end{titlepage}%
\clearpage%
\setcounter{footnote}{0}%
...
}%
\fi
Espero que ayude.
Respuesta3
Puedes cargar el paquete.scrextend
con la opción cleardoublepage=plain
. Para obtener una página vacía justo después de la página de título, utilícela \cleardoubleoddemptypage
después del titlepage
entorno o como último comando dentro de este entorno.
\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}
Otra posibilidad es el uso adicional deetoolbox
:
\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}