这是我的论文封面的代码:
\documentclass[a4paper]{report}
\usepackage[top=3cm, bottom=3.5cm, outer=4cm, inner=4cm, marginparsep=0.7cm, marginparwidth=1.5cm]{geometry}
\usepackage{changepage,xparse}
\NewDocumentEnvironment{indented}{mo}
{\IfValueTF{#2}
{\begin{adjustwidth}{#1}{#2}}
{\begin{adjustwidth}{#1}{#1}}
}
{\end{adjustwidth}}
\begin{document}
{\makeatletter\def\Gm@Dvratio{1:1}\makeatother
\begin{center}
\rule{2.5cm}{2cm} \\
{\fontsize{16pt}{2em}\selectfont
Università degli Studi di Milano-Bicocca \\[-.5em]
\hrulefill\par\noindent
Corso di Laurea in Matematica \\
}
\vskip0pt plus .75fil
{\fontsize{16pt}{2em}\selectfont Tesi di Laurea} \\
\vskip0pt plus 2fil
{\fontsize{30pt}{1em}\selectfont
Orbite periodiche \\[.5em]
di flussi Hamiltoniani \\[.5em]
su ipersuperfici convesse
}
\end{center}
\vskip0pt plus 2fil
{\fontsize{16pt}{1.5em}\selectfont
Candidato \\
MickG \\
Number \\
\setbox3\vbox{\fontsize{16pt}{1em}\selectfont A}
\setbox1\vbox{\fontsize{16pt}{1.5em}\selectfont Candidato \\
MickG \\
Number \\[-2.5\ht3]}
\vspace{-\ht1}
\dimen3=\textwidth
\advance\dimen3-5cm
\begin{indented}{\dimen3}[0cm]
Relatore \\
Prof. RP
\end{indented}
\vfil
\begin{center}
\hrulefill\par\noindent
\fontsize{12pt}{1em}\selectfont
Anno Accademico 2014-2015
\end{center}
\thispagestyle{empty}
} \hspace{0cm}\\\clearpage
}
\addtocounter{page}{-1}
\hspace{0cm}\\\clearpage
\end{document}
好的,使用表格可以更好地对齐 Relatore 和 Candidato,但在实际论文中效果很好,我真的不想更改代码。无论如何,这不是重点。我无法做的是让底部边距与顶部边距相同。如您所见,底部的空白比顶部多得多。我怎样才能让 Anno Accademico 进一步下降?以为是因为,geometry
我打开代码,发现\Gm@Dvratio
,所以我尝试1:1
在封面上将其设置为,并2:3
在其他页面上保持正常。但无济于事,正如您在此处看到的。那么正确的方法是什么?
编辑
哎呀!这是排版代码的图片:
更新
看来该参数完全没用:尝试将其设为\def
全局参数(即删除它和页面周围的括号)但没有结果。
答案1
假设您无法将参数更改为geometry
,您可以简单地添加
\enlargethispage{<length>}
在页面发出之前。图片已使用6cm
代替制作<dimen>
:
\begin{center}
\rule{2.5cm}{2cm} \\
{\fontsize{16pt}{2em}\selectfont
Universit\`a degli Studi di Milano-Bicocca \\[-.5em]
[...]
Anno Accademico 2014-2015
\end{center}
\thispagestyle{empty}
\enlargethispage{6cm}
} \hspace{0cm}\\\clearpage
\addtocounter{page}{-1}
\hspace{0cm}\\\clearpage
对这些值进行实验,也许可以将其与一些\vspace*{-2cm}
或您认为最好的值配对\begin{center}
。
删除所有修改geometry
内部结构的尝试。
当然,我跳过了代码分析,我觉得这太糟糕了。你能看到标题的行间距不同吗?我知道为什么。因为我写了一个易于使用的包,它产生的输出类似于你想要的输出,但没有错误,所以我就不详细讲了。
以下是一个例子frontespizio
:
% arara: frontespizio
\documentclass[a4paper]{report}
\usepackage[top=3cm, bottom=3.5cm, outer=4cm, inner=4cm, marginparsep=0.7cm, marginparwidth=1.5cm]{geometry}
\usepackage{frontespizio}
\begin{document}
\begin{frontespizio}
\Margini{4cm}{2cm}{4cm}{2cm}
\Logo[2.5cm]{duck}
\Universita{Milano-Bicocca}
\Divisione{\mbox{}}
\Corso[Laurea]{Matematica}
\Titoletto{Tesi di Laurea}
\Titolo{Orbite periodiche \\ di flussi Hamiltoniani \\ su ipersuperfici convesse}
\Candidato[numero]{MickG}
\Relatore{Prof. RP}
\Annoaccademico{2014-2015}
\end{frontespizio}
% il resto della tesi
\end{document}
答案2
\documentclass[a4paper]{report}
\usepackage{lmodern}
\usepackage[top=3cm, bottom=3.5cm, outer=4cm, inner=4cm, marginparsep=0.7cm, marginparwidth=1.5cm]{geometry}
\usepackage{changepage,xparse}
\NewDocumentEnvironment{indented}{mo}
{\IfValueTF{#2}
{\begin{adjustwidth}{#1}{#2}}
{\begin{adjustwidth}{#1}{#1}}
}
{\end{adjustwidth}}
\begin{document}
\thispagestyle{empty}
\begin{center}
\rule{2.5cm}{2cm} \par
{\fontsize{16pt}{2em}\selectfont
Università degli Studi di Milano-Bicocca \\[-.5em]
\hrulefill\par\noindent
Corso di Laurea in Matematica \par
}
\vspace{2\baselineskip}
{\fontsize{16pt}{2em}\selectfont Tesi di Laurea\par}
\vfill
{\fontsize{30pt}{1em}\selectfont
Orbite periodiche \\[.5em]
di flussi Hamiltoniani \\[.5em]
su ipersuperfici convesse
}
\end{center}
\vfill
{\fontsize{16pt}{1.5em}\selectfont
\begin{tabular}{@{}l@{\rule{5.5cm}{0pt}}l}
Candidato & \\
MickG & Relatore\\
Number & Prof. RP
\end{tabular}
}
\vspace{2\baselineskip}
\hrule
\begin{center}
\fontsize{12pt}{1em}\selectfont
Anno Accademico 2014-2015
\end{center}
\clearpage
\addtocounter{page}{-1}
\clearpage
\end{document}
好吧,如果这是一个模板,那很抱歉,它太乱了。我没有时间详细说明,但以上就是您目前需要的。我\vfill
在适当的位置添加了两个 s,并将一些过多的\\
s 替换为\par
s,除了tabular
在最后一部分添加了一个。
但主要的问题是使用像\vskip0pt plus .75fil
which 这样的间距表达式当然会干扰\vfill
你想要的结果。我将它们替换为普通\vspace
表达式。