我想更改乳胶文档中第一页的页边距。或多或少,这已经解决了。但是,底部边距却带来了问题。如果我更改第一页的底部边距,则不会产生任何效果。但是,更改第二页的底部边距也会更改第一页的底部边距。
\documentclass{article}
\usepackage[a4paper]{geometry}
\usepackage{graphicx}
\usepackage{fancyhdr}
\usepackage{lastpage}
\usepackage{lipsum}
\fancypagestyle{firstpage}{%
\renewcommand{\headrulewidth}{1pt}
\renewcommand{\footrulewidth}{1pt}
\newgeometry{%
paper = a4paper,%
top = 75pt,%
hmargin = 58pt,%
bottom = 75pt,% <---- Changing this has no effect
headsep = 50pt,%
}%
%\lhead{\includegraphics[width=0.15\linewidth]{logo}}
\chead{\textbf{The 1st line}\\
The 2nd line,\\
The 3rd line,\\
The 4th line,\\
The 5th line}
\lfoot{\today}
\cfoot{}
\rfoot{\thepage/\pageref{LastPage}}
}
\fancypagestyle{normalpage}{%
\newgeometry{paper=a4paper,%
top=20pt,%
hmargin=58pt,%
bottom=100pt% <---- Changing this changes the bottom margin of 1st page too.
}%
\renewcommand{\headrulewidth}{1pt}
\renewcommand{\footrulewidth}{1pt}
\lfoot{\today}
\cfoot{}
\rfoot{\thepage/\pageref{LastPage}}
}
\begin{document}
\thispagestyle{firstpage}
\pagestyle{normalpage}
%\vspace*{1cm}
\lipsum[1-20]
\end{document}
所以我的问题是如何更改第一页的底部边距?任何帮助都将不胜感激。
答案1
如何仅更改第一页的底部边距?
您可能对该命令感兴趣\enlargethispage
,它接受 1 个参数——一个长度变量。顾名思义,它每次只对一页进行操作。该命令不会更改文本块的侧边距或上边距。
例如,如果您想要减少文本块的底部边距,以便放置一行额外的文本,则可以插入指令
\enlargethispage{1\baselineskip}
到达页面底部之前的某个地方。
这种方法会增加(如果长度变量的值为负,则减少)文本块的深度。但是,它不会影响页面的其他结构部分,例如页脚(可能包含页码)。
答案2
\newgeometry
无法以您尝试的方式在页面样式中使用。它旨在用于文档流本身并强制使用新页面,以便可以更改新页面和所有后续页面的页面尺寸。让第一页比其他页面运行时间更长的最简单但可能不太可接受的方法是将
\newgeometry{%
paper = a4paper,%
top = 75pt,%
hmargin = 58pt,%
bottom = 75pt,% <---- Changing this has no effect
headsep = 50pt,%
}
之后\begin{document}
,使用命令在序言中定义默认几何形状\geometry
,然后在
\restoregeometry
第一页末尾设置手动分页符。
如果你希望第一页是更短比其他的要简单得多:你可以在第一页简单地做类似的事情
\begin{figure}[b]
\vspace*{25pt}
\end{figure}
保留额外的 25pt 空间。但是没有真正等同于扩展页面的方法。将空间设为负数会产生一些奇怪的效果,我现在不想深入研究,因为今天快结束了,我要出去散步然后睡觉。也许在我睡觉的时候其他人会来看一看。