Estou usando a classe do livro. Quero suprimir estilos de página (número de página, cabeçalho, rodapé) na primeira página de cada capítulo do meu assunto principal, masnãoin \frontmatter
- onde quero ter números romanos no rodapé (canto direito).
Posso suprimir o estilo da página na primeira página de cada capítulo em todo o documento com:
\renewcommand\chapter{\if@openright\cleardoublepage\else\clearpage\fi
\thispagestyle{empty}% original style: plain
\global\@topnum\z@
\@afterindentfalse
\secdef\@chapter\@schapter}
\makeatother
mas isso \pagestyle{empty}
também impõe um na primeira página de cada "capítulo" no frontmatter, para que as páginas do sumário não sejam numeradas. Quero que as páginas do sumário sejam numeradas, mas não sei como fazer isso.
MWE:
\documentclass[a4paper,11pt,titlepage,oneside,openany]{book}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{kantlipsum}
% empty style for the first page of every chapter
\makeatletter
\renewcommand\chapter{\if@openright\cleardoublepage\else\clearpage\fi
\thispagestyle{empty}% original style: plain
\global\@topnum\z@
\@afterindentfalse
\secdef\@chapter\@schapter}
\makeatother
\usepackage{makeidx}
\usepackage[titles]{tocloft}
\usepackage{fancyhdr}
\fancyhead{} % clear default layout
\fancyfoot{} % clear default layout
\fancypagestyle{mainmatter}{%
\fancyhead[L]{\sffamily \small \color{darkgray}\MakeUppercase{\bfseries \leftmark}}
\fancyhead[R]{\nouppercase \scshape \small \thepage}
}
\fancypagestyle{frontmatter}{%
\fancyhead[L]{}
\fancyhead[R]{}
\fancyfoot[R]{\thepage}
}
\begin{document}
\frontmatter
\pagestyle{frontmatter}% frontmatter page style
\clearpage
\tableofcontents
\clearpage % with tocloft we need this
\listoffigures
\clearpage % with tocloft we need this
\listoftables
\clearpage
\mainmatter
\pagestyle{mainmatter}
\chapter{A}
\kant
\chapter{B}
\kant
\chapter{C}
\kant
\end{document}
Responder1
memoir
fornece a condição \if@mainmatter
que você pode usar para condicionar se você está ou não na \mainmatter
seção do seu documento:
\documentclass[a4paper,11pt,titlepage,oneside,openany]{book}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{kantlipsum}
% empty style for the first page of every chapter, except in \frontmatter
\makeatletter
\renewcommand\chapter{\if@openright\cleardoublepage\else\clearpage\fi
\if@mainmatter
\thispagestyle{empty}% plain page style in mainmatter
\else
\thispagestyle{plain}% empty page style outside of mainmatter
\fi%
\global\@topnum\z@
\@afterindentfalse
\secdef\@chapter\@schapter}
\makeatother
\usepackage{makeidx}
\usepackage[titles]{tocloft}
\usepackage{fancyhdr}
\fancyhead{} % clear default layout
\fancyfoot{} % clear default layout
\fancypagestyle{mainmatter}{%
\fancyhead[L]{\sffamily \small \color{darkgray}\MakeUppercase{\bfseries \leftmark}}
\fancyhead[R]{\nouppercase \scshape \small \thepage}
}
\fancypagestyle{frontmatter}{%
\fancyhead[L]{}
\fancyhead[R]{}
\fancyfoot[R]{\thepage}
}
\begin{document}
\frontmatter
\pagestyle{frontmatter}% frontmatter page style
\clearpage
\tableofcontents
\clearpage % with tocloft we need this
\listoffigures
\clearpage % with tocloft we need this
\listoftables
\clearpage
\mainmatter
\pagestyle{mainmatter}
\chapter{A}
\kant
\chapter{B}
\kant
\chapter{C}
\kant
\end{document}
Embora eu tenha usado empty
e plain
como estilos de página de capítulo no mainmatter e frontmatter respectivamente, você pode atualizá-los para o que quiser ou até mesmo criar seus próprios novos.
Observe também que memoir
fornece funcionalidade para criar cabeçalhos/rodapés, então você não precisafancyhdr
por esta.
Responder2
Otitlesec
package fornece o \assignpagestyle{\chapter}{<style>}
comando, que pode ser usado da mesma forma \pagestyle
, mas altera apenas a primeira página de cada capítulo. É o mesmo que você está fazendo \thispagestyle{}
, mas sem renovar explicitamente \chapter
.