Добавить содержимое в конец страницы

Добавить содержимое в конец страницы

есть ли простой способ добавить какой-либо контент в конец страниц \AtEndDocument, например, как \AtThisPageEnd?

Я посмотрел everyhookи everypage, но не похоже, что это возможно сделать с этими пакетами.

Есть у кого-нибудь идея?

Редактировать: Если быть точнее, я пытаюсь изменить макет для некоторой страницы с помощью пакета геометрии. Мне удается заставить его работать, когда textwidth постоянен. Проблема возникает, когда это не так, см. этот пример

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

Изменение геометрии на странице 2, но поля остаются такими же, как на первой странице до конца блока [1]

Обходной путь (не очень хороший) — добавить \clearpage\noindentв конце первой страницы (см. пример комментария). (Примечание: я хотел бы задать макет только с помощью пакета geometryздесь)

решение1

То, что вы ищете, этооткрытая проблема, поэтому вам придется прибегнуть к ручному вмешательству. Вот два варианта:

  1. Так как тызнатьтам, где находится разрыв, вы можете вставить принудительный разрыв абзаца и убедиться, что последняя строка заполняет ширину строки. Длина здесь равна \parfillskip. После этого вы можете вставить свой \clearpage\noindentаналогичный предыдущий:

    \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. Если вы не хотите заботиться оточныйположение, но знайте, что у вас есть определенное количество строк до разрыва страницы, вы можете использовать его \parshapeдля регулировки потока абзаца:

    \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]
    

В обоих приведенных выше случаях достигается следующий результат:

введите описание изображения здесь

Связанный контент