LaTeX, LyX i reStructuredText

LaTeX

  1. Przygotuj plik hello.tex z poniższym kodem:

    \documentclass{article}
    
    \begin{document}
    Hello world!
    \end{document}
    

    a następnie skompiluj go i obejrzyj postać wynikową:

    # latex hello.tex
    # xdvi hello.dvi
    # dvips hello.dvi
    # gv hello.ps
    # kghostview hello.ps
    # pdflatex hello.tex
    # acroread hello.pdf
    # okular hello.pdf
    
  2. Dodaj kilka akapitów z formatowaniem wierszowym stosując komendy:

    \textbf{...}     \bfseries
    \textit{...}     \itshape
    \texttt{...}     \ttfamily
    \textsf{...}     \sffamily
    

    Przykład:

    Ala ma \textbf{kota}, który jest {\itshape bardzo piękny}.
    
  3. Rozmiary czcionek:

    \tiny
    \scriptsize
    \footnotesize
    \small
    \normalsize
    \large
    \Large
    \LARGE
    \huge
    \Huge
    
  4. Struktura dokumentu:

    \section{...}
    \subsection{...}
    \subsubsection{...}
    \paragraph{...}
    \subparagraph{...}
    

    W przypadku książek:

    \documentclass{book}
    ...
    \part{...}
    \chapter{...}
    
  5. Przećwicz globalne opcje dla klasy:

    \documentclass[12pt,twocolumn]{article}
    
  6. Środowiska (otoczenia)

    1. Lista nienumerowana:

      \begin{itemize}
      
      \item jeden
      \item dwa
      \item trzy
      
      \end{itemize}
      
    2. Lista numerowana:

      \begin{enumerate}
      ...
      \end{enumerate}
      
    3. Lista definicyjna:

      \begin{description}
      \item[Rower] jest pojazdem jednosladowym
      \item[Samochod] jest pojazdem wielosladowym
      \end{description}
      
  7. Dokumenty w języku polskim:

    \documentclass{article}
    
    \usepackage[T1]{fontenc}
    \usepackage[utf8]{inputenc}
    
    % przenoszenie wyrazów
    \usepackage[polish]{babel}
    
    \begin{document}
    Ala ma żółwia.
    \end{document}
    
  8. Wzory matematyczne:

    $x^2$
    $x_i$
    $$ z = \sqrt{x^2+y^2} $$
    $$ z = \frac{1}{x+y} $$
    $$ \sum x_i^2 $$
    $$ \sum_{i=1}^N x_i^2 \times y_j $$
    
  9. Odwołania:

    \section{Wprowadzenie}
    \label{wpr}
    
    Zobacz rozdział \ref{wpr} na stronie \pageref{wpr}.
    

Edytor LyX

  1. Uruchom edytor LyX komendą lyx i stwórz nowy dokument. Wprowadź kilka akapitów tekstowych, przećwicz formatowanie wierszowe oraz akapitowe.

  2. Wygeneruj postać wynikową dokumentu: View ‣ PDF. Aktualizacja: View ‣ Update ‣ PDF.

  3. Włącz podgląd kodu źródłowego LaTeX: View ‣ View Source.

  4. Wpisz wzór matematyczny: Insert ‣ Math ‣ Inline Formula (Ctrl-m) lub Display Formula (Ctrl-Shift-m). Wpisując wzór zastosuj zwykłą notację LaTeX-a.

  5. Przećwicz klawisze skrótów:

    Alt-p 2            Section
    Alt-p 3            Subsection
    Alt-p e            Enumerate
    Alt-p i            Itemize
    Alt-p c            LyX-Code
    Tab                zagnieżdżenie środowiska
    Shift-Tab          redukcja zagnieżdżenia
    Ctrl-e             Emphasize
    Ctrl-b             Bold
    Alt-c p            Typewriter
    Ctrl-spacja        Spacja niepodzielna
    Ctrl-Alt-spacja    Odstęp międzysłowowy
    
  6. Przejrzyj ustawienia dla dokumentu: Document ‣ Settings. Zmień ustawienia dla czcionek, marginesy, numerację sekcji itp.

  7. Wstaw przykładowy rysunek z pliku przyklad.fig używając komendy Insert ‣ Graphics i skompiluj dokument. Zmodyfikuj rysunek, klikając prawym klawiszem myszy i wybierając komendę Edit externally.

    Przetestuj inne edytory graficzne: dia i inkscape.

  8. Wstaw tabelkę do dokumentu.

  9. Przetestuj mechanizm odwołań:

    • wstaw do jednej z sekcji etykietę: Insert ‣ Label,

    • wstaw do innej sekcji odwołanie: Insert ‣ Cross-Reference.

  10. Wykonaj eksport dokumentu do formatu LaTeX, obejrzyj wynikowy plik i wykonaj ręczną kompilację.

reStructuredText

  1. Przykład startowy hello.rst:

    To jest
    przykładowy dokument.
    
    Drugi akapit.
    

    Konwersja dokumentu do formatu HTML:

    # rst2html.py hello.rst hello.html
    

    Podgląd w przeglądarce:

    # firefox hello.html
    
  2. Formatowanie akapitowe:

    Testowanie czcionki *pochylonej*, **pogrubionej**
    i czcionki o ``stałej szerokości``.
    
  3. Listy:

    Przed i za listą musi być pusta linia:
    
    1. Lista numerowana
    2. Punkt drugi
    
    Lista automatycznie numerowana:
    
    #. Punkt pierwszy
    #. Punkt drugi
    
    Przykład listy nienumerowanej:
    
    * jeden
    * dwa
    
    Lista definicyjna:
    
    Rower
      to pojazd jednośladowy.
    
    Samochód
      to pojazd wielośladowy.
    

    Przećwicz również zagnieżdżanie list.

  4. Fragmenty kodu:

    Oto najprostszy program w języku C::
    
      #include <stdio.h>
    
      int main() {
        return 0;
      }
    
  5. Struktura dokumentu:

    Rozdział
    ========
    
    Akapit pierwszy.
    
    Podrozdział
    -----------
    
    Akapit drugi.
    
  6. Odnośniki:

    Prosty adres URI http://www.example.com.
    
  7. Tytuł dokumentu:

    ===============================
    Przykład pliku reStructuredText
    ===============================
    
  8. Obejrzyj przykłady z katalogu http://www.cs.put.poznan.pl/csobaniec/examples/rst/.

  9. Przetestuj konwersję do formatu LyX:

    # rst2lyx.php hello.rst hello.lyx
    # lyx hello.lyx
    

    oraz do zwykłego tekstu:

    # rst2txt.php hello.rst hello.txt