垂直居中标题页
Posted
技术标签:
【中文标题】垂直居中标题页【英文标题】:Vertically centering a title page 【发布时间】:2011-03-09 16:11:28 【问题描述】:我正在尝试使用乳胶在自定义大小的页面上垂直居中标题。我编写了以下代码,但由于某种原因它没有居中。有人可以指出我有什么问题吗?
谢谢!
\documentclassarticle
\setlength\pdfpagewidth88.184mm
\setlength\pdfpageheight113.854mm
\usepackage[margin=0.5cm, paperwidth=88.184mm, paperheight=113.854mm]geometry
\title[[title]]
\date[[date]]
\author[[author]]
\begindocument
\vspace\fill
\maketitle
\vspace\fill
\newpage
[[text]]
\enddocument
【问题讨论】:
【参考方案1】:您的代码中有两个小错误。
首先,如果您希望 \vspace
在页面的开头或结尾起作用,您应该使用加星标的版本 (\vspace*
)。
这可行,但\maketitle
是一个非常复杂的宏,如果像在您的示例中那样使用,它只会将标题放在第二页。您可以使用titlepage
环境,它可以让您更好地控制标题页的外观——包括间距。例如,您可以使用以下代码:
\documentclassarticle
\setlength\pdfpagewidth88.184mm
\setlength\pdfpageheight113.854mm
\usepackage[margin=0.5cm, paperwidth=88.184mm, paperheight=113.854mm]geometry
\begindocument
\begintitlepage
\vspace*\fill
\begincenter
Huge [[title]]\\[0.5cm]
Large [[author\\[0.4cm]
[[date]]
\endcenter
\vspace*\fill
\endtitlepage
[[text]]
\enddocument
【讨论】:
【参考方案2】:\null % Empty line
\nointerlineskip % No skip for prev line
\vfill
\let\snewpage \newpage
\let\newpage \relax
\maketitle
\let \newpage \snewpage
\vfill
\break % page break
【讨论】:
这太棒了。我创建了大约 50 个文档(这些文档相对重要)并使用了此代码;每次都工作。【参考方案3】:如果你想让所有的东西都工作,即使\maketitle
把你的\vspace*\fill
放在第一个和最后一个属性中,exp:
\title**\vspace*\fill**[[title]]
\date[[date]]
\author[[author]]**\vspace*\fill**[[
\begindocument
\maketitle
\newpage
[[text]]
\enddocument
【讨论】:
【参考方案4】:正如 finrod 的回答,\maketitle
是一个非常复杂的宏,这就是我不想自己重写它的原因 (\renewcommand\maketitle
...)。不过,复制、粘贴和编辑article.cls documentclass 的第 170-201 行,我可以添加一个新的自定义 (\newcommand\mymaketitle
...),如下所示:
\documentclassarticle
\setlength\pdfpagewidth88.184mm
\setlength\pdfpageheight113.854mm
\usepackage[margin=0.5cm, paperwidth=88.184mm, paperheight=113.854mm]geometry
\titleTitle
\dateDate
\authorAuthor
\makeatletter
\newcommand\mymaketitle%
\begintitlepage
\null\vfil\vskip 40\p@
\begincenter
\LARGE \@title \par
\vskip 2.5em
\large \lineskip .75em \@author \par
\vskip 1.5em
\large \@date \par
\endcenter\par
\@thanks
\vfil\null
\endtitlepage
\makeatother
\begindocument
\mymaketitle
Text
\enddocument
输出:
【讨论】:
以上是关于垂直居中标题页的主要内容,如果未能解决你的问题,请参考以下文章