![A alteração do estilo de numeração de páginas ocorre uma página antes do esperado?](https://rvso.com/image/286979/A%20altera%C3%A7%C3%A3o%20do%20estilo%20de%20numera%C3%A7%C3%A3o%20de%20p%C3%A1ginas%20ocorre%20uma%20p%C3%A1gina%20antes%20do%20esperado%3F.png)
Quero que meu relatório tenha as primeiras seções com numeração romana (i, ii, iii...) e o corpo do relatório com numeração arábica (1, 2, 3...) para os números das páginas.
O problema é que a mudança parece estar ocorrendo uma página antes do que eu esperaria do meu código:
\documentclass{report}
\begin{document}
% === Abstract etc ===
\pagenumbering{roman}
\section*{first section}
Want this to be page i
\pagebreak
\section*{second section}
Want this to be page ii, but it appears as 1 instead
\pagebreak
% === Body of report ===
\pagenumbering{arabic} %change to arabic for final page
\section*{third section}
Want this to be page 1, but it appears as 2 instead
\section*{fourth section}
\end{document}
Posso ver que se eu colocar o \pagenumbering{arabic}
comando na linha abaixo da terceira seção, o problema será resolvido, mas isso é inconveniente porque se eu tiver um documento modular e comentar uma seção, terei que continuar mudando a posição de \pagenumbering{arabic}
.
Além disso, se eu colocar uma quebra de linha antes, % === Body of report ===
isso resolverá o problema no meu MWE (mas não no meu relatório real por algum motivo). Muito confuso com esse comportamento.
Isso é um inseto? e existe uma solução em torno disso?
Responder1
O \pagebreak
comando funciona de maneira diferente quando fornecido dentro de um parágrafo ou entre parágrafos (ou seja, com uma linha em branco antes dele).
No seu caso, o segundo \pagebreak
pertence ao parágrafo que contém o texto
Want this to be page ii, but it appears as 1 instead
e terá efeito somente após o parágrafo ter sido dividido em linhas, o que acontece quando o LaTeX faz a varredura \section*{third section}
e já alterou a numeração das páginas para arabic
.
Não tenha medo de deixar linhas em branco, mas utilize \clearpage
em situações como essas; tal comando encerra o parágrafo atual, se não for precedido por uma linha em branco, resolvendo o problema.
\documentclass{report}
\begin{document}
% === Abstract etc ===
\pagenumbering{roman}
\section*{first section}
This is page i
\clearpage
\section*{second section}
This is page ii
\clearpage
% === Body of report ===
\pagenumbering{arabic} %change to arabic for final page
\section*{third section}
This is page 1
\section*{fourth section}
\end{document}
Há outra diferença entre \pagebreak
e \clearpage
: se \flushbottom
estiver em vigor (o que está na book
turma), \pagebreak
tentará preencher a página com o texto disponível, enquanto \clearpage
a preenche com espaço em branco.
So \pagebreak
é melhor usado para ajustar as quebras de página, enquanto \clearpage
ou \cleardoublepage
deve ser usado ao solicitar “terminar a página aqui”.