2010-06-29 26 views
30

Estoy tratando de centrar verticalmente un título en una página de tamaño personalizado con látex. He escrito el siguiente código, pero por alguna razón no se centra. ¿Podría alguien señalarme qué es lo que está mal con eso?Centrar verticalmente una página de título

Gracias!

\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} 

Respuesta

40

Hay dos pequeños errores en su código.

En primer lugar, si desea que el \vspace funcione al principio o al final de una página, debe usar la versión con estrella (\vspace*).

Esto funcionaría, pero \maketitle es una macro bastante complicada, y si se usa como en su ejemplo, simplemente coloca el título en la segunda página. Puede usar el entorno titlepage, que le da mucho más control sobre el aspecto de la página de título, incluido el espaciado. Por ejemplo, podría utilizar el siguiente código:

\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} 
+0

Perfecto, gracias! –

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

Esto es excelente. Creé aproximadamente 50 documentos (que eran relativamente importantes) y usé este código; trabajado todo el tiempo – alexy13

1

Si desea hacer que todo funcione incluso con \maketitle poner su \vspace*{\fill} dentro del primero y el último atributo, exp:

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

\date{[[date]]} 

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

\begin{document} 

    \maketitle 

    \newpage 

    [[text]] 

\end{document} 
Cuestiones relacionadas