
Na primeira página de um artigo quero criar um cabeçalho muito mais alto do que no resto das páginas. O problema é que a primeira página transborda na parte inferior se eu usar a solução abaixo. Como posso resolver esse problema?
\documentclass[11pt,a4paper]{article}
\usepackage{fancyhdr}
\usepackage{lipsum}
\pagestyle{fancy}
\fancypagestyle{plain}{%
\renewcommand{\headrulewidth}{3pt}%
\fancyhf{}%
\setlength{\headheight}{190pt}
\fancyhead[C]{
\hrule\hspace{0pt}\\
\vspace{3cm}
\hrule\hspace{0pt}\\
\vspace{3cm}
\hrule\hspace{0pt}\\
}
}
\begin{document}
\title{Lipsum ...}
\author{Me, Myself}
\date{}
\maketitle
\thispagestyle{plain}
\lipsum
\lipsum
\lipsum
\lipsum
\end{document}
Responder1
Eu usaria uma caixa de altura zero (aqui representada por uma imagem) para o cabeçalho da primeira página e do titling
pacote para mover o título para baixo.
\documentclass[11pt,a4paper]{article}
\usepackage{fancyhdr,graphicx}
\usepackage{titling}
\usepackage{lipsum}
\setlength{\headheight}{13.6pt}
\pagestyle{fancy}
\fancypagestyle{firstpage}{%
\renewcommand{\headrulewidth}{0pt}%
\fancyhf{}%
\fancyhead[C]{%
\raisebox{-\height}[0pt][0pt]{\includegraphics[width=\textwidth,height=6cm]{example-image}}%
}%
}
\pretitle{\vspace*{5cm}\begin{center}\LARGE}
\begin{document}
\title{Lipsum ...}
\author{Me, Myself}
\date{}
\maketitle
\thispagestyle{firstpage}
\lipsum
\lipsum
\lipsum
\lipsum
\end{document}
Responder2
Eu sugiro definir o estilo da sua página para cobrir a maior parte do seu documento (páginas 2+) e definir o cabeçalho da primeira página como parte do documento principal, movendo-o conforme necessário. Dessa forma, o texto ainda fluirá naturalmente da página 1-2.
\documentclass{article}
\usepackage{fancyhdr,graphicx}
\usepackage{lipsum}
\pagestyle{fancy}% Main document page style
\title{A title}
\author{An author}
\date{}
\begin{document}
\thispagestyle{plain}% Page style of first page only
\vspace*{\dimexpr-\headheight-\headsep}%
\noindent
\includegraphics[width=\linewidth,height=7cm]{example-image}% Your first page header
{\let\newpage\relax % Avoid page break due to \maketitle
\maketitle}
\sloppy\lipsum[1-50]
\end{document}
O "cabeçalho" da primeira página é movido para cima \headsep+\headheight
, mas pode ser ajustado para se alinhar com os cabeçalhos das páginas subsequentes, dependendo da aparência real do "cabeçalho" da primeira página. Claro, você também pode definir um rodapé diferente para a primeira página.
Como \maketitle
geralmente coloca o título no topo de uma página, ele emite \newpage
. Para evitar isso (e, portanto, conectar o "cabeçalho" da primeira página ao título), definimos momentaneamente \newpage
como \relax
- um ambiente autônomo...
Responder3
Você pode usar o geometry
pacote para modificar \textheight
a primeira página. geometry
possui um \newgeometry
comando que permite modificar a geometria (margens, altura e largura do texto, etc.) desde o ponto onde o \newgeometry
comando é utilizado até que um \restoregeometry
comando seja utilizado. Observe que o \restoregeometry
comando aciona uma quebra de página, portanto deve ser usado no final da última página onde \newgeometry
se destina.
Além disso, não tenho certeza se é relevante redefinir o plain
estilo da página aqui, pois outro estilo de página pode ser definido. Aqui defini um firstpage
estilo e usei para a primeira página, onde também redefini \textheight
para 320pt usando \newgeometry
. O 320pt pode não ser o melhor valor, provavelmente poderia ser ajustado com mais precisão.
\documentclass[11pt,a4paper]{article}
\usepackage{fancyhdr}
\usepackage{lipsum}
\usepackage{geometry}
\pagestyle{fancy}
\setlength{\headheight}{13.6pt}
\fancypagestyle{firstpage}{%
\fancyhf{}%
\renewcommand{\headrulewidth}{3pt}%
\renewcommand{\headheight}{190pt}%
\fancyhead[C]{%
\hrule\hspace{0pt}\\[3cm]
\hrule\hspace{0pt}\\[3cm]
\hrule\hspace{0pt}\\
}
\fancyfoot[C]{\thepage}
}
\title{Lipsum ...}
\author{Me, Myself}
\date{}
\begin{document}
\newgeometry{textheight=320pt}
\maketitle
\thispagestyle{firstpage}
\lipsum*[13]
\lipsum*[2]
\restoregeometry
\lipsum*[3]
\lipsum*[4]
\end{document}