existe uma maneira simples de adicionar algum conteúdo no final das páginas de forma semelhante a \AtEndDocument
(por exemplo, algo como \AtThisPageEnd
)?
Eu olhei everyhook
e everypage
, mas não parece possível fazer isso com esses pacotes.
Alguém tem uma ideia?
Editar: para ser mais preciso, tento alterar o layout de alguma página usando o pacote de geometria. Consigo fazer funcionar quando a largura do texto é constante. O problema surge quando não é, veja este exemplo
\documentclass [a4paper]{article}
\usepackage [showframe]{geometry}
\usepackage {atbegshi}
\usepackage {lipsum}
\title{The Title}
\author{Me}
\date{\today}
\geometry{
paperwidth=18cm,
paperheight=18cm,
textwidth=9cm,
}
\makeatletter
\gdef\setGeometryPage
{
\ifnum\thepage=2
\global\let\setGeometryPage =\relax
\expandafter \@gobble % gobble clearpage
\newgeometry
{
textwidth=12cm,
}%
\fi
\aftergroup\setGeometryPage
}
\AtBeginShipout{
\AtBeginShipoutUpperLeft{
\setGeometryPage
}
}
\makeatother
\begin{document}
\maketitle
\section{First section}
\lipsum[1]
This part is the transition with the next page.
This part is the transition with the next page.
This part is the
%\clearpage\noindent
transition
\lipsum[1-2]
\end{document}
Uma solução alternativa (não muito legal) é adicionar \clearpage\noindent
no final da primeira página (veja o exemplo de comentário). (NB: gostaria de definir o layout apenas com o geometry
pacote aqui)
Responder1
O que você está procurando é umproblema aberto, então você terá que recorrer a alguma intervenção manual. Aqui estão duas opções:
Desde que vocêsaberonde a quebra está localizada, você pode inserir uma quebra de parágrafo forçada e garantir que a última linha preencha a largura da linha. A duração em jogo aqui é
\parfillskip
. Depois disso, você pode inserir seu\clearpage\noindent
like antes:\lipsum[1] {\setlength{\parfillskip}{0pt}% Make last line in paragraph fill the line This part is the transition with the next page. This part is the transition with the next page. This part is the\par% } \clearpage\noindent transition \lipsum[1-2]
Se você não quer se preocupar com oexatoposição, mas saiba que você tem um certo número de linhas antes da quebra de página, você pode usar
\parshape
para ajustar o fluxo do parágrafo:\lipsum[1] \parshape 3 % Shape of 3+ lines in the paragraph have to be adjusted 0pt \linewidth % Line 1 = A regular line (no additional indent, and full \linewidth) 0pt \linewidth % Line 2 = A regular line (no additional indent, and full \linewidth) 0pt \dimexpr\linewidth+3cm % Line 3+ = Adjusted (no additional indent, width of \linewidth+3cm) This part is the transition with the next page. This part is the transition with the next page. This part is the transition \lipsum[1-2]
Em ambos os casos acima, o seguinte resultado é alcançado: