垂直居中标题页

时间:2010-06-29 14:36:27

标签: latex vertical-alignment

我正在尝试使用乳胶在自定义大小的页面上垂直居中标题。我写了下面的代码,但由于某种原因它不是中心。有人可以指出我有什么问题吗?

谢谢!

\documentclass{article}
\setlength{\pdfpagewidth}{88.184mm}
\setlength{\pdfpageheight}{113.854mm}

\usepackage[margin=0.5cm, paperwidth=88.184mm, paperheight=113.854mm]{geometry}

\title{[[title]]}
\date{[[date]]}
\author{[[author]]}

\begin{document}
    \vspace{\fill}
    \maketitle
    \vspace{\fill}

    \newpage

    [[text]]
\end{document}

4 个答案:

答案 0 :(得分:41)

您的代码中有两个小错误。

首先,如果您希望\vspace在页面的开头或结尾处起作用,则应使用加星标的版本(\vspace*)。

这样可行,但是\maketitle是一个相当复杂的宏,如果在你的例子中使用它,它只是将标题放在第二页。您可以使用titlepage环境,它可以让您更好地了解标题页的外观 - 包括间距。例如,您可以使用以下代码:

\documentclass{article}
\setlength{\pdfpagewidth}{88.184mm}
\setlength{\pdfpageheight}{113.854mm}

\usepackage[margin=0.5cm, paperwidth=88.184mm, paperheight=113.854mm]{geometry}

\begin{document}
  \begin{titlepage}
    \vspace*{\fill}
    \begin{center}
      {Huge [[title]]}\\[0.5cm]
      {Large [[author}\\[0.4cm]
      [[date]]
    \end{center}
    \vspace*{\fill}
  \end{titlepage}

  [[text]]
\end{document}

答案 1 :(得分:14)

\null  % Empty line
\nointerlineskip  % No skip for prev line
\vfill
\let\snewpage \newpage
\let\newpage \relax
\maketitle
\let \newpage \snewpage
\vfill 
\break % page break

答案 2 :(得分:1)

如果你想让所有内容都工作,即使\maketitle将你的\vspace*{\fill}放在第一个和最后一个属性中,exp:

 \title{**\vspace*{\fill}**[[title]]}

 \date{[[date]]}

 \author{[[author]]**\vspace*{\fill}**[[}

 \begin{document}

    \maketitle

    \newpage

   [[text]]

\end{document}

答案 3 :(得分:1)

就像finrod的答案一样,apply plugin: 'com.android.application' ext { supportVersion='27.1.1' } android { compileSdkVersion 28 defaultConfig { applicationId "com.eassycars.www.dlservices" minSdkVersion 17 targetSdkVersion 28 versionCode 1 versionName "1.0" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } buildscript { repositories { jcenter() } configure(':app') { dependencies { classpath 'com.android.tools.build.gradle:4.8.1' compile fileTree(include: ['*.jar'], dir: 'libs') compile testCompile 'junit:junit:4.12' // google & support implementation "com.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler :$supportVersion" implementation "com.android.support:appcompat-v7:$supportVersion" implementation "com.android.support:cardview-v7:$supportVersion" implementation "com.android.support:recyclerview-v7:$supportVersion" implementation "com.android.support:design:$supportVersion" implementation "com.android.support:palette-v7:$supportVersion" implementation "com.android.support:customtabs:$supportVersion" implementation "com.android.support:support-v4:$supportVersion" implementation 'com.google.android.exoplayer:exoplayer:r2.0.4' // utils implementation 'com.github.bumptech.glide:glide:4.0.0' annotationProcessor 'com.github.bumptech.glide:compiler:4.0.0' implementation 'com.koushikdutta.ion:ion:2.1.7' implementation 'com.github.Commit451:bypasses:1.0.4' implementation 'com.jakewharton:butterknife:8.8.0' annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.0' implementation 'com.drewnoakes:metadata-extractor:2.9.1' implementation 'com.orhanobut:hawk:2.0.1' classpath 'com.google.gms:google-services:3.1.1' compile 'com.android.support:support-annotations:27.1.1' }} } } 是一个非常复杂的宏,这就是为什么我不想自己覆盖它(\maketitle ...) 。不过,复制,粘贴和编辑article.cls documentclass的第170-201行,我可以添加一个新的行来进行自定义(\renewcommand\maketitle{ ...),如下所示:

\newcommand\mymaketitle{

输出:

screenshot of output