Archive for category LaTeX

Tworzenie prezentacji przy użyciu LaTeX cz. 2: tworzenie struktury prezentacji

Po konfiguracji podstawowych narzędzi przyszedł czas na stworzenie prezentacji.

Proces tworzenia prezentacji można podzielić na kilka kroków:

  1. Utworzenie odpowiednich plików tekstowych i zdefiniowanie podstawowych parametrów prezentacji.
  2. Utworzenie struktury prezentacji.
  3. Utworzenie dokumentu PDF.
  4. Utworzenie poszczególnych slajdów.
  5. Dodanie dodatkowych informacji do slajdów.
  6. Utworzenie podręcznika, składającego się ze slajdów i notatek.

Wszystkie te punkty postaram się omówić w kolejnych wpisach, teraz zajmę się punktami 1, 2 i 3.

Utworzenie pliku z prezentacją

Pierwszym krokiem będzie utworzenie pliku tekstowego, w którym będziemy tworzyć prezentację. I tutaj mała uwaga. Najlepiej dla każdej prezentacji (artykułu) utworzyć osobny katalogu i w nim dopiero utworzyć plik. TeX podczas tworzenia pliku wynikowego tworzy sporo plików tymczasowych, co powoduje dosyć duży bałagan podczas pracy. Plik może mieć dowolną nazwę z rozszerzeniem tex.

W moim przypadku utworzyłem katalog o nazwie Subversion-jak-dziala oraz główny plik o nazwie main.tex.

Czas na zdefiniowanie podstawowych informacji w pliku TeX:

  • Definicja rodzaju dokumentu i klasy, która będzie odpowiedzialna za jego przetwarzanie. Tutaj definiujemy klasę Beamer, która zostanie użyta do przetwarzania dokumentu.

    Znacznik [t] zmienia domyślne ustawienie slajdu. W domyślnym ustawienie zawartość jest centrowana na środku ekranu, przy użyciu tego przełącznika wymuszamy przesunięcie slajdu do góry. Ustawienie to można zmienić potem w ramach pojedynczych slajdów (używając przełącznika [c]).

    1
    2
    % Rodzaj dokumentu
    \documentclass[t]{beamer}
  • Konfiguracja kodowania pliku i wprowadzanych znaków, włączenie UTF8.
    4
    5
    6
    % Wsparcie dla kodowania UTF
    \usepackage{ucs}
    \usepackage[utf8x]{inputenc
    }
  • Włączenie języka polskiego (czyli m.in. tłumaczenie stałych części prezentacji)
    8
    9
    10
    % Konfiguracja języka polskiego
    \usepackage[polish]{babel}
    \usepackage{polski
    }
  • Sposób kodowania czcionek
    13
    14
    % Konfiguracja kodowania czcionki
    \usepackage[T1]{fontenc}
  • Konfiguracja wyświetlania zarówno linków jak właściwości w dokumencie PDF. Jeżeli opcja unicode nie zostanie włączona, we właściwościach pliku PDF zamiast polskich znaków będą występować kwadraty. Nie ma to wpływu na samą prezentację.

    Domyślnie linki wyświetlana są przy użyciu czcionki o stałej szerokości znaków, zachowanie to można zmienić przy użyciu komendy urlstyle.

    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    % Konfiguracja sposobu wyświetlania linków w dokumencie
    \usepackage{hyperref}

    \hypersetup{
      % Włączenie tej opcji spowodowało poprawne wyświetlanie polskich literek we
      % właściwościach dokumentu PDF
      unicode=true,          % non-Latin characters in Acrobat’s bookmarks
      colorlinks=true,       % false: boxed links; true: colored links
    }
    % Wyświetlanie linków zwykłą czcionką
    \urlstyle{same}
  • Wybranie tematu, jaki ma zostać wykorzystany do tworzenia prezentacji. Nazwy tematów pochodzą od nazw rożnych miast. Lista dostępnych tematów jest dostępna na stronie Beamer Theme Matrix.
    28
    29
    % Domyślny temat używany do tworzenia prezentacji
    \usetheme{Warsaw}
  • Konfiguracja metryki dokumentu. Będzie ona później wykorzystana do tworzenia strony tytułowej.

    Definicja autora. Wartość w nawiasach kwadratowych to krótka nazwa autora (wykorzystywana w niektórych miejscach w szablonie), nazwa w nawiasach klamrowych to długa nazwa, tutaj podana łącznie z adresem mailowych. Adres mailowy jest zapisany przy użyciu czcionki o stałej szerokości znaków. We właściwościach należy zakodować odpowiednie polskie literki, jeżeli nie zrobimy tego, to w dokumencie PDF mogą pojawić się dziwne wartości (niezależnie od konfiguracji polskich liter). W tym wpisie Kodowanie polskich znaków w LaTeXu można znaleźć informacje o sposobach zapisywania polskich znaków.

    31
    32
    % Informacje o dokumencie
    \author[\L{}ukasz Stelmach]{\L{}ukasz Stelmach \\ \texttt{lstelmach@gmail.com}}

    Definicja tytułu prezentacji, również nazwy krótkiej i długiej, można także zdefiniować podtytuł:

    33
    34
    \title[Subversion]{Subversion - jak dzia\l{}a}
    \subtitle{Kr\'otka instrukcja obs\l{}ugi
    }

    Nazwa firmy (instytutu) twórcy prezentacji:

    35
    \institute{Stelmisoft}

    Data i miejsce powstania prezentacji:

    36
    \date{12/07/2010}

Tak wygląda budowa nagłówku dokumentu, definiująca zarówno podstawowe informacje o nim jak i jego wygląd.

Struktura prezentacji

Mamy już zdefiniowane podstawowe informacje o dokumencie, czas na rozpoczęcie pracy nad zawartością prezentacji. Zanim przystąpimy do tworzenia poszczególnych slajdów, należy zastanowić się nad konstrukcją samej prezentacji. Czyli po prostu trzeba zapisać to, co się chce powiedzieć.

Pierwszym elementem będzie rozpoczęcie tworzenia dokumentu za pomocą konstrukcji:

38
\begin{document}

Dokument kończymy taką komendą:

111
\end{document}

Wszystko co znajdzie się pomiędzy tymi tagami będzie traktowane jako część prezentacji (w pewnym uproszczeniu przynajmniej).

Pierwszym slajdem jaki utworzymy będzie strona tytułowa:

40
41
42
\begin{frame}
  \titlepage
\end{frame
}

Jak widać, dużo nie trzeba, a wygenerowana zostanie taka strona:

Subversion - Strona tytułowa prezentacji

Subversion - Strona tytułowa prezentacji

Jak można zauważyć, nowy slajd rozpoczynamy przy użyciu polecenia \begin{frame}. To co nastąpi po nim, mówi o wyglądzie slajdu. Polecenie \titlepage spowodowało wygenerowanie strony tytułowej opartej o podane wcześniej informacje, czyli autor, tytuł prezentacji i tak dalej.

Kolejnym elementem będzie zdefiniowanie struktury prezentacji, czyli podzielenie jej na szereg punktów i podpunktów. Pozwoli to na zaplanowanie prawidłowego przepływu informacji w prezentacji oraz umożliwi potem automatyczne generowanie spisu treści.

Do definicji podziału prezentacji na części dysponujemy trzema poleceniami: \section, \subsection oraz subsubsection. Korzystanie z ostatniego nie jest zalecenie, więc więcej się nim zajmować nie będziemy. Definicja pierwszej sekcji:

44
\section*{Spis treści}

W nawiasach klamrowych umieszczamy nazwę sekcji, która jednocześnie później pojawi się w generowanym spisie treści. Mała uwaga, umieszczenie znaku * powoduje, że ta konkretnie definicja sekcji akurat nie będzie brana pod uwagę podczas tworzenia spisu treści.

A oto jak można zdefiniować odpowiedni slajd ze automatycznym spisem treści:

46
47
48
49
\begin{frame}
    \frametitle{Spis treści}
    \tableofcontents[pausesections,hideallsubsections]
\end{frame
}

W definicji tej pojawiło się kilka nowych elementów. Polecenie \frametitle umożliwia zdefiniowanie tytułu slajdu. Istnieje także dodatkowe polecenie pozwalające na podanie podtytułu: \framesubtitle. Drugim poleceniem jest utworzenie spisu treści: \tableofcontents. Polecenie to dysponuje szeregiem opcji konfiguracyjnych, tutaj zostały wykorzystane dwie:

  • pausesections – powoduje, że każdy punkt będzie wyświetlany oddzielnie i w praktyce powoduje wygenerowanie dodatkowych stron w dokumencie PDF
  • hideallsubsections – w spisie treści nie zostaną uwzględnione podsekcje, czyli będzie zawierał tylko główne punkty prezentacji

Teraz jeszcze jeden przykład: definicja sekcji łącznie z podsekcjami oraz wyświetlenie spisu treści tylko dla danej sekcji:

61
62
63
64
65
66
67
68
\section{Modele współdzielenia plików}
\begin{frame}
    \frametitle{Spis treści}
    \tableofcontents[currentsection,hideothersubsections,sections={<2-4| handout:0>}]
\end{frame}
\subsection{Proste współdzielenie plików}
\subsection{Zablokuj - zmodyfikuj - odblokuj}
\subsection{Kopiuj - modyfikuj - scal
}

Jak widać mamy tutaj definicję sekcji, następnie slajdu ze spisem treści i kolejne podsekcje. Pojawiają się także nowe parametry polecenia cci_latex]\tableofcontents[/cci_latex]:

  • currentsection – powoduje, że wszystkie sekcje poza aktualną będę wyświetlone bardziej wyblakłym kolorem, czyli aktualna sekcja zostanie zaakcentowana
  • hideothersubsections – zostaną wyświetlone wszystkie podsekcje tylko aktualnej sekcji
  • sections={<2-4| handout:0>} – wyświetli tylko wybrane sekcje w spisie treści, pomocne gdy punktów jest dużo i nie mieszczą sie na ekranie

A tak to się będzie prezentować:

Subversion - spis treści sekcji

Subversion - spis treści sekcji

Oto pełna postać pliku: main.tex

Utworzenie pliku PDF

Ostatnim elementem w tej części będzie utworzenie pliku PDF z prezentacją, tak abyśmy mogli sprawdzić jak wygląda szkielet szablonu. Jeżeli korzystasz z jakiegoś środowiska pracy z plikami TeX, to możesz użyć jego poleceń w celu kompilacji pliku a następnie wyświetlenia go w czytniku plików.

Drugim sposobem jest wydanie polecenia:

$ pdflatex main.tex

Wygeneruje ono szereg plików tymczasowych oraz wynikowy plik PDF.

Jeszcze mała uwaga: aby poprawnie stworzyć strukturę prezentacji w pliku PDF, będzie trzeba przynajmniej dwukrotnie wykonać kompilację plików źródłowych.

Po tych krokach powinniśmy dysponować pikiem main.pdf. Można w pliku sprawdzić, jak wygląda struktura prezentacji.

Istnieje także możliwość utworzenia wszystkich plików tymczasowych w wybranym katalogu, dzięki czemu będziemy mieli trochę większy porządek w katalogu z prezentacją. Poniższe polecenie wszystkie pliki tymczasowe (łącznie z plikiem PDF utworzy w katalogu out):

$ pdflatex -output-directory=out/ main.tex

Źródła

Tags: , , , , , , ,

Tworzenie prezentacji przy użyciu LaTeX cz. 1: konfiguracja środowiska

Ostatnio stanęło przede mną takie zadanie: przygotowanie materiałów na szkolenie, które będę się składały z takich elementów jak:

  • slajdy, wg których będzie prowadzony wykład
  • podręcznik – będzie on zawierał prezentacją wraz z dodatkowymi informacjami znajdującymi się pod nimi oraz różne dodatkowe materiały (takie jak ćwiczenia, dodatkowe informacje)

Zrobienie prezentacji nie sprawia wiele problemów, istnieje wiele narzędzi które radzą sobie z tym całkiem dobrze (czyli OpenOffice Presentation, MS PowerPoint, Google Presentation). Problem jednak pojawia się, gdy chcemy rozszerzyć prezentację o dodatkowe elementy. W każdym z tych narzędzi istnieje możliwość robienia notatek, ale problemy się pojawiają gdy chcemy użyć bardziej skomplikowanego formatowania, wstawić obrazek czy też opis wraz ze slajdem przestaje się mieścić na jednej stronie.

Można oczywiście oddzielnie utrzymywać prezentację oraz podręcznik, ale nie jest to wygodne i zwiększa ilość pracy potrzebnej do utrzymania aktualności materiałów. Nie znalazłem żadnego rozwiązania opartego o aplikację do prezentacji lub też procesor tekstu pozwalającego na jednoczesne tworzenie prezentacji i towarzyszących materiałów.

Na szczęście przypomniałem sobie o czymś takim jak LaTeX :). I tutaj rozwiązanie pojawiło się od razu: LaTeX plus biblioteka Beamer – pozwala na zrobienie dokładnie tego, co chciałbym uzyskać. Oczywiście, pozostaje jeszcze jeden detal: nauczyć się LaTeXa.

W paru kolejnych wpisach przedstawię, w jaki sposób można utworzyć prezentację wraz z dodatkowymi materiałami przy użyciu tych narzędzi. Proszę jednak pamiętać o kilku sprawach:

  • jest to moje pierwsze spotkanie ze światem TeXa
  • będę się koncentrował tyko na wybranym celu: utworzeniu prezentacji
  • jeżeli także nie widziałeś TeXa czy LaTeXa na oczy wcześniej, przejrzyj kilka tutoriali na ten temat, na pewno ułatwią dalszą pracę

Instalacja LaTeXa

Po przydługim wstępie czas na konfigurację systemu, czyli instalacje niezbędnych pakietów.

Pierwszym krokiem będzie instalacja środowiska LaTeXa wraz z klasą Beamer. W przypadku Ubuntu (i pewnie Debiana) sprowadza się to wydania takiej komendy:

# aptitude install latex-beamer

Zainstaluje to niezbędne pakiety potrzebne do korzystania z TeXa i LaTeXa.

Aplikacje pozwalając na pracę z LaTexem

Sam w sobie TeX opisuje stronę przy użyciu poleceń tekstowych, więc to edycji plików można używać zwykłego edytora tekstu, a następnie odpowiednio konwertować je do wynikowego pliku PDF. Poleceń służących do tego celu jest kilka, można je znaleźć w artykułach poświęconych LaTeXowi.

Istnieją także środowiska pozwalające na pracę w środowisku LaTeX i automatyzującymi wiele rzeczy.

LyX

Instalacja tego edytora odbywa się następująco:

# aptitude install lyx

Za Wikipedią:

LyX – edytor do systemu składu tekstu LaTeX. Przeznaczony jest dla użytkowników, którzy oczekują wysokiej jakości składu tekstu i wygody podczas pisania. LyX pozwala autorowi skupić się na treści i logicznej strukturze dokumentu. Wyglądem dokumentu zajmuje się w tle LaTeX, który faktycznie składa tekst w akapity i strony.

Korzystałem z niego przez chwilę, i faktycznie łatwo można w nim tworzyć dokumenty. Jednak ja wolę (przynajmniej na razie) rozwiązanie, które nie separuje mnie tak bardzo od źródeł, i nie dodaje dodatkowych elementów których znaczenia nie znam

TeXlipse

Wtyczka do środowiska Eclipse pomagająca w tworzeniu dokumentów TeXa. Ponieważ lubię i znam Eclipsa, bardzo mi się ona podobała, z problemami się nie spotkałem.

Jednak ma jedną wadę (a przynajmniej nie wiem jak obejść ten problem): jeżeli edytujemy dokument składający się z wielu plików, pojawia się masą błędów w dokumentach zależnych. Każdy plik jest traktowany całkowicie oddzielnie, co w takiej sytuacji utrudnia bardzo pracę.

Ale ma szereg innych zalet (poza oczywiście podstawowymi możliwościami związanymi z edycją dokumentów):

  • pozwala na oddzielenie źródeł projektu, plików tymczasowych oraz wynikowych, mogą one być zapisywane w różnych katalogach
  • automatycznie kompiluje modyfikowany plik w momencie jego zapisywania i tworzy plik wynikowy, co w połączeniu np. z przeglądarką PDF Okular pozwala na podgląd wyglądu prezentacji praktycznie w czasie rzeczywistym (Okular sprawdza automatycznie czy otwarty plik PDF nie został zmodyfikowany i jeżeli tak, to automatycznie go wczytuje)

Kile

Instalacja w środowisku Ubuntu jest prosta:

aptitude install kile

Za Wikipedią:

Kile jest wygodnym (ang. user friendly) edytorem przeznaczonym do redagowania dokumentów w formacie TeΧ/LaTeX. Działa w graficznym środowisku KDE. Nic nie stoi na przeszkodzie aby z niego korzystać w innych środowiskach graficznych po doinstalowaniu wymaganych do działania bibliotek i zależności.

Kile daje możliwość szybkiego, łatwego i bezpośredniego składania tekstu z wszelkimi zaletami edytora pracującego w środowisku graficznym. Program na licencji GNU GPL.

Ta aplikacja najbardziej mi na razie pasuje. Pozwala na definicję projektu, kompilację źródeł, definicję dokumentu głównego. Czyli daje podstawowe środowisko do pracy i nie trzeba się od razu uczyć wszystkich koniecznych poleceń niezbędnych do kompilacji i tworzenia kodu.

Źródła

Tags: , , , ,