如何更改页边距但保留页标的位置?

如何更改页边距但保留页标的位置?

我使用该包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}

相关内容