2010-06-29 10 views
30

Próbuję wyśrodkować tytuł w pionie na stronie o niestandardowym rozmiarze z lateksem. Napisałem poniższy kod, ale z jakiegoś powodu nie centrum. Czy ktoś mógłby mi wskazać, co jest z nim nie tak?Poziomo centrowanie strony tytułowej

Dzięki!

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

Odpowiedz

40

Istnieją dwa małe błędy w kodzie.

Po pierwsze, jeśli chcesz, aby \vspace działało na początku lub na końcu strony, powinieneś użyć wersji oznaczonej gwiazdką (\vspace*).

To zadziała, ale \maketitle jest dość skomplikowanym makrem, a jeśli jest używane tak, jak w twoim przykładzie, po prostu umieszcza tytuł na drugiej stronie. Możesz korzystać ze środowiska titlepage, które zapewnia znacznie więcej instrukcji na temat wyglądu strony tytułowej - w tym odstępów. Na przykład, można użyć następującego kodu:

\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

Idealne, dzięki! –

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

To jest doskonała. Stworzyłem około 50 dokumentów (które były stosunkowo ważne) i wykorzystałem ten kod; pracował za każdym razem. – alexy13

1

Jeśli chcesz, aby wszystko działa nawet z \maketitle umieścić \vspace*{\fill} wewnątrz pierwszego i ostatniego atrybutu, Exp:

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

\date{[[date]]} 

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

\begin{document} 

    \maketitle 

    \newpage 

    [[text]] 

\end{document}