有沒有簡單的方法可以在頁面末尾添加一些內容\AtEndDocument
(例如類似\AtThisPageEnd
)?
我查看了everyhook
和everypage
,但看起來不可能用這些包來做到這一點。
有人有主意嗎?
編輯:更準確地說,我嘗試使用幾何套件更改某些頁面的佈局。當文字寬度恆定時,我設法使其工作。當它不存在時,問題就來了,請參閱此範例
\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}
解決方法(不是很好)是\clearpage\noindent
在第一頁的末尾添加(請參閱範例註釋)。 (注意:我想僅使用geometry
此處的套件設定佈局)
答案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]
如果你不想關心精確的位置,但知道分頁符號之前有一定的行數,您可以使用
\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]
在上面的兩個實例中,實作了以下輸出: