Adicione conteúdo ao final da página

Adicione conteúdo ao final da página

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 everyhooke 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}

Mudança de geometria na página 2, mas margem manteve-se igual à da primeira página até o final do bloco [1]

Uma solução alternativa (não muito legal) é adicionar \clearpage\noindentno final da primeira página (veja o exemplo de comentário). (NB: gostaria de definir o layout apenas com o geometrypacote 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:

  1. 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\noindentlike 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]
    
  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 \parshapepara 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:

insira a descrição da imagem aqui

informação relacionada