我正在尝试为第一页(不是标题页)建立一个几何图形,并为文档的其余部分使用另一个几何图形。但是,因为我正在尝试制作一个模板,因此不想依赖用户在文档文本中输入 \newgeometry 或 \restoregeometry,所以我想在序言中建立这些几何图形。有什么办法吗?
最小工作示例
\documentclass{article}
\usepackage{lecturenotes}
\usepackage{afterpage}
\thispagestyle{plain}
\begin{lecture}{01}{Sample Lecture Notes}{John Sam}{01/01/2000}{Mark John}{PHYSICS 124: Physics of Energy}
\afterpage{\newgeometry{top=2cm, bottom=2.5cm, outer=5.5cm, inner=2cm, heightrounded, marginparwidth=3.5cm, marginparsep=0.4cm, includeheadfoot}}
\end{lecture}
\theend
“讲义”风格
\def\fileversion{1.0}
\def\filedate{2014/02/05}
\NeedsTeXFormat{LaTeX2e}
\usepackage{graphicx}
\usepackage{amsmath,amssymb,amsthm,amsfonts}
\usepackage[top=0.5cm, bottom=2.5cm, outer=5.5cm, inner=2cm, heightrounded, marginparwidth=3.5cm, marginparsep=0.4cm, includeheadfoot]{geometry}
\usepackage{fancyhdr}
\pagestyle{fancy}
\newcommand{\handout}{
\noindent
\begin{center}
\framebox{ \vbox{ \hbox to 13.5cm { {\bf {\course}} \hfill {Lecture \lecturenum\ -- \lecturedate} }
\vspace{4mm}
\hbox to 13.5cm { {\Large \hfill {\lecturetitle} \hfill} }
\vspace{2mm}
\hbox to 13.5cm { {\it {Lecturer: \lecturer} \hfill {Notes by: \lecturescribe}} }
}
}
\end{center}
\vspace*{4mm}
}
\newenvironment{lecture}[6]{
\begin{document}
\global \def \lecturenum {#1}
\global \def \lecturetitle {#2}
\global \def \lecturescribe {#3}
\global \def \lecturedate {#4}
\global \def \lecturer {#5}
\global \def \course {#6}
\handout
}
\lhead{\lecturedate}
\chead{\lecturetitle}
\rhead{Lecture \lecturenum}
\lfoot{}
\cfoot{\thepage}
\rfoot{}
\newcommand{\theend}{\end{document}}
答案1
如果您只想更改第一页的顶部边距,那么您的方法就很困难。只需使用负片将文本移动到您想要的任何位置即可。和的\vspace
使用让我怀疑这是否是更复杂的设置的一部分,但原则上,您可以执行如下操作:handout
lecture
\newlength\toplen
\newlength\fplen
\newlength\fpgap
\setlength{\fplen}{0.5cm}
\setlength{\toplen}{\dimexpr2cm + \fplen\relax}
\setlength{\fpgap}{\dimexpr\fplen - \toplen - \headheight - \headsep - \topsep
- \partopsep\relax}
然后插入\toplen
并geometry
插入\vspace*{\fpgap}
您的\handout
命令。注意:这实际上是为了在物理页面顶部和顶部之间留出 0.5 厘米的空间而设计的framebox
。您的原始geometry
命令将留下更多空间。
这是一个完整的示例,与上面的示例略有不同。(主要是关于不建议隐藏\begin{document}
和\end{document}
;但我还\lecture
从环境中发出了[命令] lecture
。)
\documentclass{article}
\usepackage{filecontents}
% --------------------------------------------------------------------
\begin{filecontents*}{lecturenotes.sty}
\def\fileversion{1.0}
\def\filedate{2014/02/05}
\NeedsTeXFormat{LaTeX2e}
\RequirePackage{graphicx}
\RequirePackage{amsmath,amssymb,amsthm,amsfonts}
% Some lengths
\newlength\toplen
\newlength\fplen
\newlength\fpgap
\setlength{\fplen}{0.5cm}
\setlength{\toplen}{\dimexpr2cm + \fplen\relax}
\setlength{\fpgap}{\dimexpr\fplen - \toplen - \headheight - \headsep - \topsep - \partopsep\relax}
\RequirePackage[showframe, top=\toplen, %
bottom=2.5cm, outer=5.5cm, inner=2cm, heightrounded,
marginparwidth=3.5cm, marginparsep=0.4cm, includeheadfoot]{geometry}
\RequirePackage{fancyhdr}
\pagestyle{fancy}
\lhead{\lecturedate}
\chead{\lecturetitle}
\rhead{Lecture \lecturenum}
\lfoot{}
\cfoot{\thepage}
\rfoot{}
\newcommand{\handout}{%
\noindent
\vspace*{\fpgap}%
\begingroup
\par
\centering
\framebox{ \vbox{ \hbox to 13.5cm { {\bf {\course}}
\hfill {Lecture \lecturenum\ -- \lecturedate} }
\vspace{4mm}
\hbox to 13.5cm { {\Large \hfill {\lecturetitle} \hfill} }
\vspace{2mm}
\hbox to 13.5cm { {\it {Lecturer: \lecturer} \hfill
{Notes by: \lecturescribe}} }
}
}
\par
\endgroup
\vspace*{4mm}%
\par\ignorespacesafterend
}
\newcommand{\lecture}[6]{%
% \begin{document} <-- why ?
\thispagestyle{plain}
\global \def \lecturenum {#1}
\global \def \lecturetitle {#2}
\global \def \lecturescribe {#3}
\global \def \lecturedate {#4}
\global \def \lecturer {#5}
\global \def \course {#6}
\handout
}
\newcommand{\theend}{\end{document}}% <-- why?
\end{filecontents*}
% --------------------------------------------------------------------
\usepackage{lecturenotes}
\usepackage{lipsum}
\begin{document}
\lecture{01}{Sample Lecture Notes}{John Sam}{01/01/2000}{Mark
John}{PHYSICS 124: Physics of Energy}
\lipsum[1]
\newpage
\lipsum[1-10]
\theend % <-- why?
\end{document}