LaTeX – strona tytułowa

Strona tytułowa powinna być prosta i czytelna! To zdanie twórcy LaTeX-a wzięli sobie głęboko do serca, ponieważ standardowy kod służący tworzeniu jej a przedstawiony poniżej tworzy dokładnie 3 linijki widoczne jeszcze niżej:

\documentclass[12pt,a4paper,titlepage]{report}
\author{Maciej Mucha}
\title{Badanie układu całkującego.}

\begin{document}

\maketitle

....

tyt

No delikatnie mówiąc nie rzuca na kolana to to. A przecież mogło by wyglądać na przykład o tak:

screen

Jak zmusić LaTeX-a, aby po podaniu mu w standardowy sposób autora, tytułu i daty wygenerował powyższą stronę? Wbrew pozorom – to bardzo proste.

Ogólne wprowadzenie

Jak wiemy (a przynajmniej powinniśmy) LaTeX udostępnia nam polecenie \maketitle, które generuje stronę tytułową. Tytułową czyli taką, która nie jest numerowana i nie zawiera nagłówka oraz stopki (No i jest na niej tytuł… Tak tylko przypominam). Aby móc się wkopać w to polecenie, musimy zrozumieć jak ono działa, a działa bardzo prosto. Kiedy my wykonujemy polecenie \maketitle, LaTeX zagląda (ja też zaglądnąłem – wy nie musicie) do pliku ze stylem dokumentu (report, article etc.), gdzie to polecenie jest zdefiniowane mniej więcej w taki sposób:

\newcommand\maketitle{\begin{titlepage}

 sratatata \@author sratatata \@date sratatata

 \@thanks sratatata \@title sratatata

 \end{titlepage}}

Co to oznacza? A to, że istnieje środowisko titlepage, wewnątrz którego wpisujemy po prostu na chama treść strony tytułowej, korzystając ze “zmiennych” które zamieniają się potem na autora itp… I to środowisko zapewnia nam:

  • Brak numeru strony (ściśle mówiąc strona ta ma numer 1 (niewyświetlany). Następna strona również ma nr 1)
  • Brak nagłówka i stopki
  • Przejście na następną stronę po zakończeniu generowania strony tytułowej

I dokładnie taki sposób my stworzymy własny “styl” tworzenia strony tytułowej. Za pomocą polecenie \renewcommand zredefiniujemy (zamienimy na swoje) polecenie \maketitle.

Z czego można korzystać tworząc treść strony tytułowej?

Redagowanie s.t. nie różni się niczym od normalnego redagowania dokumentu. W zasadzie można używać wszystkiego, Najczęściej jednak będziemy korzystać z:

  • Żonglerki wielkościami czcionek. Nie będę tu tłumaczył jak to działa. Jeżeli ktoś już czyta ten artykuł to chyba wie mniej-więcej na czym polega LaTeX.
  • Odstępy pionowe tworzone za pomocą polecenia \vspace
  • Linie poziome tworzone za pomocą \rule
  • Pogrubienia, kursywy
  • polecenia \@author, \@title, \@date, \@thanks – do wyświetlenia wartości pobranych przez polecenia \author, \title, \date, \thanks umieszczone przed \maketitle. Przypominam, że brak daty uzyskujemy za pomocą \date{\empty}}

Kod i wytłumaczenie niektórych aspektów

 

 

\documentclass[12pt,a4paper,notitlepage]{report}
\usepackage{polski}
\usepackage[T1]{fontenc}
\usepackage[cp1250]{inputenc}
\usepackage[top=2cm, bottom=2cm, left=3cm, right=3cm]{geometry}
\makeatletter
\newcommand{\linia}{\rule{\linewidth}{0.4mm}}
\renewcommand{\maketitle}{\begin{titlepage}
    \vspace*{1cm}
    \begin{center}\small
    Uniwersytet warszawski\\
    Wydział Fizyki\\
    Raport z pracowni elektronicznej
    \end{center}
    \vspace{3cm}
    \noindent\linia
    \begin{center}
      \LARGE \textsc{\@title}
         \end{center}
     \linia
    \vspace{0.5cm}
    \begin{flushright}
    \begin{minipage}{5cm}
    \textit{\small Autor:}\\
    \normalsize \textsc{\@author} \par
    \end{minipage}


    \vspace{5cm}

     {\small Praca wykonana pod przewodnictwem:}\\
         dr Tomasz Słupiński
     \end{flushright}
    \vspace*{\stretch{6}}
    \begin{center}
    \@date
    \end{center}
  \end{titlepage}%
}
\makeatother
\author{Maciej Mucha }
\title{Badanie układów cyfrowych}
\begin{document}
\maketitle
\end{document}
  • \makeatletter, \makeatother – Jak widać w kodzie użyliśmy paru poleceń, w których nazwie znalazła się “@”. Jest to niedozwolone, i samo użycie takiego polecenia generuje błąd. Aby temu zapobiec musimy uprzedzić LaTeX-a, że małpka to też literka. Służy do tego pierwsze z użytych poleceń. Drugie natomiast przywraca wszystko do normy
  • \vspace – odstęp pionowy. Gwiazdka oznacza, iż odstęp będzie działał nawet jeśli jest pierwszym lub ostatnim odstępem na stronie.
  • \newcommand{\linia}{\rule{\linewidth}{0.4mm}} – tworzymy sobie polecenie pomocnicze, wstawiające poziomą linię szeroką na 0.4mm a długą od prawego do lewego marginesu.
  • \noindent – W tym miejscu linia zaczyna nowy akapit, a więc tworzy się wcięcie i linia się przesuwa w prawo. Polecenie to usuwa wcięcie.
  • \minipage o szerokości 5cm – cały minipage jest wyrównany do prawej strony. Tekst w nim natomiast wyrównany jest do jego lewego brzegu a więc zaczyna się 5 cm od prawego marginesu strony. Taki Trik.
  • \vspace*{\stretch{6}} – duuży pionowy odstęp. Na tyle duży, że wystaje poza kraniec strony. Wyświetlenie daty znajduje się jeszcze dalej, ale LaTeX nie pozwala na wywalenie jednej linijki poza stronę, a więc efektem jest data wyrównana do dolnego marginesu.

Generalnie jak widać daje to wiele swobody a do tego jest bardzo proste. Zachęcam więc do oddawania raportów z ładnymi stronami tytułowymi, bo to co robi nam LaTeX własnoręcznie to gniot jednym słowem.

 

Pozdrawiam

Much

|

Komentarze (9) »

  1. vac:

    3 Oct 2009 @ 13:06

    Hej dzięki za dokładny opis, w końcu zrobiłem jakąś fajną stronę tytułową do swojej pracy mgr. Wcześniej próbowałem różnych gotowych stylów, klas, ale wszystko to dawało mizerne efekty i kupę błędów.

    Twoje rozwiązanie jest proste, ładne i jasne.

    pozdro!

  2. Mat:

    16 Feb 2010 @ 16:20

    Dzięki 🙂 Właśnie tego szukałem!

  3. Seb:

    31 May 2010 @ 16:32

    Jak zrobić aby ustawienia co do marginesów odnosiły się tylko do strony tytułowej a nie do dalszej części pracy?

  4. praca magisterska w tex na mac os x « Rofrol blog:

    3 Feb 2011 @ 13:24

    […] by default no way to put a picture on the title page or cover page that is produced by maketitle, rozwiązanie1, rozwiązanie2 17. LaTeX na morony.pl 18. Podstawy LaTeX-a 19. Wprowadzenie do tworzenia […]

  5. Maciek:

    19 Jun 2011 @ 13:36

    A jak wstawić np logo uczelni?

  6. Strona tytułowa w Latex’ie » Paweł Mazur:

    5 May 2012 @ 23:37

    […] posłuży nam niejednokrotnie. Z tych nieco ciekawszych sam doszukałem się już gotowego rozwiązania, odpowiadającego moim oczekiwaniom. Mimo wszystko nie obyło się bez drobnych […]

  7. Monika:

    24 May 2013 @ 12:09

    Bardzo dziękuję, znalazłam tu wszystko co było mi potrzebne. Pozdrawiam serdecznie!

  8. KP:

    4 Jun 2015 @ 16:07

    Nie wiem czemu, ale mi nie wyszło 🙁 Prześledziłem jednak krok po kroku wprowadzając swoje poprawki i wyszło 🙂

  9. Studentka:

    4 Dec 2015 @ 10:25

    Nie widzi mi polskich znaków…

RSS komentarzy · adres TrackBack

Odpowiedz