我使用该包geometry
来根据需要调整页边距。但是,第一页应该有所不同。为此,我使用了\newgeometry
,
\restoregeometry
效果很好,只是页码和页边距之间的距离也发生了变化(当然)。我怎样才能将第一页的页边距调整得与其余页不同,但页码的位置完全相同(因此第 1 页上的页码标记应该与第 3 页上的页码标记一样放置)?
\documentclass[paper=8.5in:11in,twoside]{scrartcl}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[american]{babel}
\usepackage[nouppercase]{scrpage2}
\usepackage[bottom=1.1in, left=2in, top=0.6in, right=0.9in]{geometry}
\begin{document}
\newgeometry{bottom=1.1in, left=0.8in, top=0.6in, right=0.6in}% change default geometry settings
Dummy text\dots
\restoregeometry% restore geometry settings
\clearpage
More dummy text\dots
\clearpage
More dummy text\dots
\end{document}
请注意,A.Ellett 建议的解决方案适用于此示例。但是,页脚中的内容不仅仅是页码。这是一个示例(我应该首先提供它)。我在此示例中的目标是移动页边距中的页码,但让页脚的其余部分与文本对齐。我希望保持与其他页面(第 3 页)完全相同,但只更改第一页上其余内容的页边距。
\documentclass[paper=8.5in:11in,twoside]{scrartcl}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[american]{babel}
\usepackage[nouppercase]{scrpage2}
\usepackage[bottom=1.1in, left=2in, top=0.6in, right=0.9in]{geometry}
\pagestyle{scrheadings}% activates pagestyle from scrpage2
\rofoot{\texttt{tex.stackexchange.com}\ \ \textbullet\ \ This is just an
example\xpageno{o}}
% the following definition is from http://tex.stackexchange.com/questions/84404/page-number-in-outer-margin-affects-vertical-ruler
\def\xpageno#1{\leavevmode
\vbox to 0pt{
\vss
\hbox to 0pt{%
\if#1o\kern 2em\else\hss\fi\thepage
\if#1o\hss\else\kern2em\fi}}}
\begin{document}
\newgeometry{bottom=1.1in, left=0.8in, top=0.6in, right=0.6in}% change default geometry settings
Dummy text\dots
\restoregeometry% restore geometry settings
\clearpage
More dummy text\dots
\clearpage
More dummy text\dots
\end{document}
好吧,我意识到我应该首先放一个不那么简单的例子。它就是:
\documentclass[paper=8.5in:11in,twoside]{scrartcl}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[american]{babel}
\usepackage{blindtext}
\usepackage[nouppercase]{scrpage2}
\usepackage[bottom=1.1in, left=2in, top=0.6in, right=0.9in]{geometry}
\pagestyle{scrheadings}% activates pagestyle from scrpage2
\rofoot{\texttt{tex.stackexchange.com}\ \ \textbullet\ \ This is just an
example\xpageno{o}}% right odd
\lefoot{\xpageno{e}Just another text}% left even
% the following definition is from http://tex.stackexchange.com/questions/84404/page-number-in-outer-margin-affects-vertical-ruler
\def\xpageno#1{\leavevmode
\vbox to 0pt{
\vss
\hbox to 0pt{%
\if#1o\kern 2em\else\hss\fi\thepage
\if#1o\hss\else\kern2em\fi}}}
\usepackage{changepage}
\begin{document}
% create "title page" but with same footer as other pages
%\newgeometry{bottom=1.1in, left=0.8in, top=0.6in, right=0.6in}% change default geometry settings
\begin{adjustwidth}{0in}{-1in}
% content of the "title page"
\vspace*{74pt}
\noindent
\begin{minipage}[t]{0.3\textwidth}
\vspace{-\baselineskip}
\framebox[\textwidth]{\rule{0pt}{\textwidth}Logo}%
\end{minipage}
\hfill
\begin{minipage}[t]{0.618034\textwidth}
\vspace{-\baselineskip}
{\bfseries\LARGE This is just a title to see what's it all about\par}
\bigskip\bigskip
{\large\bfseries M.\ Mustermann\par}
\medskip
{\footnotesize Fool's Street 42\par}
\bigskip\smallskip
{\large\bfseries M.\ Musterfrau\par}
\medskip
{\footnotesize Fool's University, Fool's City\par}
\end{minipage}
% left/right content
\par\vspace*{248pt}
\begin{minipage}[t]{0.3\textwidth}
\vspace{-\baselineskip}
\footnotesize\noindent
\blindtext[1]
\end{minipage}
\hfill
\begin{minipage}[t]{0.618034\textwidth}
\vspace{-\baselineskip}
\noindent{\bfseries Keywords\par}
{\footnotesize\medskip
Fool's Garden, Fool's proof.
\par\bigskip}
\noindent{\bfseries Abstract\par}
{\footnotesize\medskip\blindtext[1]}
\end{minipage}
\end{adjustwidth}
%\restoregeometry% restore geometry settings
\clearpage
% first page
\blindtext[6]
\clearpage
% second page
\blindtext[6]
\end{document}
如果您使用\newgeometry
--\restoregeometry
方法,您会看到第一页的内容应该如何显示。但是,正如您所看到的,页脚的边距与第 3 页的边距并不相同。现在,如果您使用方法changepage
(如此处所示),您会看到整个页面设置似乎变得混乱。此外,会出现一个新页面,因此“标题页”不再是第一页。
答案1
我认为最简单的解决方案是使用changepage
包来改变文本块的尺寸,而不是整个页面的尺寸。
我注意到,第一页的“特殊设置”仅影响左右边距,而不影响顶部和底部边距。具体来说,您需要将左边距扩展 1.2 英寸,将右边距扩展 0.3 英寸。这可以通过 来实现\begin{adjustwidth}{-1.2in}{-0.3in}
。
编辑但是,adjustwidth
不会更新 的值\textwidth
,因此如果您在调整后的环境中依赖它,则必须“手动”更新自己。在本例中,宽度增加的总量为 1.5 英寸,因此您可以在\addtolength{\textwidth}{1.5in}
之后放置\begin{adjustwidth}
。
在一个最小的例子中它将是:
\documentclass[paper=8.5in:11in,twoside]{scrartcl}
\usepackage{changepage} % <----
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[american]{babel}
\usepackage[nouppercase]{scrpage2}
\usepackage[bottom=1.1in, left=2in, top=0.6in, right=0.9in]{geometry}
\begin{document}
\begin{adjustwidth}{-1.2in}{-0.3in} % <----
\addtolength{\textwidth}{1.5in} % <----
Dummy text\dots
\end{adjustwidth} % <----
\clearpage
More dummy text\dots
\clearpage
More dummy text\dots
\end{document}
当应用于您的“不那么最小”的示例时,结果看起来如预期的那样:
答案2
跟随页码位置
尝试将以下代码放入您的序言中:
\makeatletter
\newcommand*{\ps@myfirstpage}{%
\let\@mkboth\@gobbletwo%
\let\@oddhead\@empty%
\def\@oddfoot{%
\reset@font%
\hfil%
\thepage%
\hspace*{0.3in}% the difference of the two right margins!
}%
\let\@evenhead\@empty%
\let\@evenfoot\@oddfoot%
}
\makeatother
然后在第一个页面调用\thispagestyle{myfirstpage}