LaTeX/Wersja do druku
Z Wikibooks, biblioteki wolnych podręczników.
Aktualna, edytowalna wersja tego podręcznika jest dostępna w Wikibooks, bibliotece wolnych podręczników pod adresem
http://pl.wikibooks.org/wiki/LaTeX
Całość tekstu jest objęta licencją GNU Free Documentation License.
[edytuj] Spis treści
-
- Wprowadzenie
- Zaczynamy
- Struktura dokumentu
- Tworzenie dokumentu
- Zarządzanie bibliografią
- Tabele
- Dodawanie grafiki
- Matematyka
- Oprogramowanie
- Zewnętrzne linki
- Autorzy
[edytuj] Wprowadzenie
LaTeX - Wprowadzenie >
LaTeX (wymowa: "Latech", "Lay-tech"; [ˈlɑtɛx], [ˈleɪtɛx]) to zestaw makr wymyślonych przez Leslie Lamporta stanowiących nadbudowę nad systemem składu TeX, języka służącego do składania tekstu wymyślonego przez Dona Knutha. Jego celem jest umożliwienie stworzenia profesjonalnie wyglądających oraz poprawnie złożonych dokumentów, szczególnie naukowych - zawierających matematyczne formuły oraz dokumentów działających automatycznie (szablonowo).
Tworzenie w systemie LATEX ma swoje minusy bowiem przeznaczony do składania tekstu przypomina bardziej programowanie niż pisanie w porównaniu z programami typu WYSIWYG (What You See Is What You Get = widzisz wynik końcowy tego co robisz) czyli Openoffice.org Writer lub Microsoft Word:
- składanie dokumentów może sprawiać trudności i zabierać czas niedoświadczonym użytkownikom
- tekst składa się niemal domyślnie - nie widać bezpośrednio efektu zmian
- musisz poznać niezbędne polecenia w LATEXu
- czasami ciężko uzyskać pożądane efekty,
Z drugiej strony taki język znaczników posiada także zalety:
- dokument wygląda profesjonalnie, m.in. warstwy, czcionki, tabele tworzą spójną całość
- zachęca do tworzenia poprawnych pod względem struktury dokumentów
- profesjonalnie złożone dokumenty charakteryzuje mała objętość w porównaniu do zawartości
- w łatwy sposób można tworzyć matematyczne formuły
- pozwala na zaawansowaną automatyzację składanych dokumentów
- wygenerowanie indeksów, przypisów, referencji nie sprawia trudności
- możliwość tworzenia prostych grafik wektorowych bez konieczności robienia rysunków
- jest dostępny na wiele systemów operacyjnych (w tym Windows, Mac OS, Linux, Unix)
Dokument LATEXa jest normalnym plikiem tekstowy, który przechowuje zawartość dokumentu z dodatkowymi znacznikami. Kiedy plik źródłowy zostanie przetworzony LATEXem otrzymamy plik dvi (device-independent), który potem może zostać przekonwertowany do finalnego formatu np. PDF lub Postscript. Jako że LATEX jest przemyślany jako narzędzie drukarskie celem jego użycia nie musi być plik, może to być drukarka lub inne medium.
[edytuj] LATEX
[edytuj] Zaczynamy
[edytuj] Pierwszy dokument LaTeXa
Najpierw musimy sobie uświadomić, że LaTeX jest językiem znaczników, dzięki któremu możemy opisywać strukturę i wygląd dokumentu. LaTeX konwertuje tekst źródłowy, pomieszany ze znacznikami, do dokumentu wysokiej jakości. Analogią do tego są strony internetowe: język HTML jest używany do opisywania dokumentów, natomiast przeglądarka pokazuje go w "pełnej sławie" (full glory) - z różnymi kolorami, czcionkami, wielkościami itp.
Stwórzmy teraz nasz pierwszy, najprostszy jaki może być dokument, które będzie przechowywał napis "Hello World!". W tym celu:
- Otwórz swój ulubiony edytor tekstu. Jeśli używasz vima lub emacsa, kod LaTeX będzie odpowiednio podświetlany, co ułatwia jego edycję.
- Wpisz poniższy tekst do swojego edytora. Jest to źródło LaTeX.
% hello.tex - Nasz pierwszy przykład!
\documentclass{article}
\begin{document}
Hello World!
\end{document}
- Zapisz ten plik jako hello.tex.
[edytuj] Co przez to osiągnęliśmy?
| % hello.tex – Nasz pierwszy przykład! | Linia ta jest komentarzem, ponieważ rozpoczyna się od symbolu procenta (%). Kiedy LaTeX zobaczy ten znak, po prostu ignoruje całą dalszą zawartość linii. Komentarze są przydatne dla ludzi współpracujących przy składaniu dokumentu, aby wstawiać adnotacje dotyczące pewnej części do pliku źródłowego. Na przykład możemy dodać informacje o autorze i dacie lub cokolwiek innego, co sobie zażyczysz. |
| \documentclass{article} | Tym poleceniem, nakazujemy LaTeX-owi używać danej klasy dokumentu – w tym przypadku artykułu (ang. article). Klasa ta ma zdefiniowany konkretny rodzaj formatowań obowiązujący dla całego dokumentu. Używanie klas jest o tyle poręczne, że zmiana klasy pomaga w niemal natychmiastowym zmienieniu wyglądu całego dokumentu, bez konieczności dalszej ingerencji w resztę kodu. |
| \begin{document} | Ta linia informuje LaTeX o właściwym początku dokumentu, a wszystko co znajduje się powyżej niej traktowane będzie jako preambuła. |
| Hello World! | Ten tekst jest naszym powitaniem, które zostanie wyświetlone w dokumencie. |
| \end{document} | Tą linią informujemy LaTeX, że nasz dokument został zakończony. Dalszy kod jest ignorowany, więc może być stosowany podobnie jak komentarz. |
[edytuj] A czy nie można po Polsku?
Dobrze, ale przecież jesteśmy Polakami więc dlaczego mamy pisać w obcym języku? TeX faktycznie w domyśle używa angielskiego języka nie tylko w komendach, ale i kodowania alfabetu łacińskiego jako domyślnego - stąd też zwykłe wpisanie polskiego tekstu, pomimo użycia polskich znaków w źródle, po kompilacji i tak nie zostanie uwzględnione w dokumencie wyjściowym. Jednym słowem dokument wyjściowy nadal nie będzie ich zawierał. Mamy dwie drogi by uzyskać rodzime "ogonki" - albo "łopatologicznie" i każdorazowo odpowiednimi komendami zmusić LaTeX do ich użycia, np. znaki specjalne typu \`a \`e \'e \`i \`o \`u dzięki czemu można otrzymać przykładowo: à è é ì ò ù, albo znacznie prościej - dla całego dokumentu używając odpowiednich zestawów pakietów zwanych czasem "paczkami" (ang. package).
Postępując jak wcześniej stwórzmy więc pierwsze polskie wpisy:
| % witaj.tex - Nasz pierwszy polski przykład! | Nowy plik nazwijmy jak sugeruje nam komentarz. |
| \usepackage[polski]{babel} | Użycie pakietu babel jest niezbędne do utworzenia dokumentów z narodowym krojem czcionek, a w polu opcji definiujemy język w jakim pisana i wyświetlana ma być treść dokumentu. |
| \usepackage[latin2]{inputenc} | Używając pakietu inputenc jesteśmy w stanie zmienić kodowanie dokumentu, dla Polskich znaków zalecane są systemy kodowania latin2 dla systemów Linux, oraz cp1250 dla Windows. |
| \usepackage{polski} | Pakietem polski zawartym w nowszych wersjach LaTeXa, zapewniamy sobie słownik łamania wyrazów języka polskiego - domyślnie użyty będzie słownik języka angielskiego. |
| \usepackage[T1]{fontenc} | Pakietem fontenc z kolei definiujemy system kodowania czcionki. |
| \documentclass{article} | Oczywiście nie zapominamy o zdefiniowaniu klasy zawierającej odpowiednie formatowania tekstu. |
| \frenchspacing | Wypada to wpisać ze względu na to, że w Polsce używa się francuskich zwyczajów typograficznych (na przykład wcięcie pierwszego akapitu, czego nie ma w angielskim) |
| \begin{document} | Zakończyliśmy preambułę dokumentu i rozpoczynamy główną zawartość. |
| Witaj świecie! | A tu wpisujemy zawartość dokumentu - nasze powitanie ;-) |
| \end{document} | Nie może zabraknąć zakończenia dokumentu. |
[edytuj] Struktura dokumentu
[edytuj] Tworzenie dokumentu
Jak wcześniej wspominaliśmy LATEX nie jest środowiskiem graficznym, kodowanie oparte jest na pisaniu zwykłego pliku tekstowego z odpowiednimi tagami jego formatowania. Nie bez przyczyny więc wiele osób próbuje tu przyrównywać składanie dokumentu do tworzenia strony WWW, czy raczej pisania programu komputerowego, gdzie podgląd dotychczas wykonanej pracy wymaga odpowiedniego dokończenia składni używanych funkcji w źródle i ewentualnego jego przetworzenia - kompilacji. Dlatego też nie należy się spodziewać specjalnych przycisków "Generuj LaTeX" czy "PDF", które wyręczą nas w wykonywaniu danych czynności ponieważ tworzenie polega najczęściej na ręcznym wpisaniu komend w linii wiersza poleceń, lub wpisania ścieżki dostępu kompilowanych plików dokumentu w odpowiednim programie. Mimo to, tak jak powstały setki programów GUI ułatwiających pracę z tworzeniem stron WWW, czy pomagających w pisaniu programów komputerowych tak i dla środowiska LATEX w obecnych czasach spotkać można całą gamę programów, wspomagających składanie dokumentów, które wyręczyć nas mogą w podstawowych czynnościach. Niektóre z tych programów opisane zostały w dziale oprogramowanie.
Ze względu na ich znaczną ilość i zróżnicowanie, zajmijmy się podstawowym sposobem generowania dokumentów.
Wszystkie dystrybucje LaTeXa wsparte są przez podstawowe aplikacje zwane generatorami lub profesjonalniej kompilatorami. Podstawę większości obecnie spotykanych dystrybucji stanowią przynajmniej programy:
- tex: prosty kompilator, przekształcający plik TeX w DVI
- pdftex: kompilator przekształcający plik TeX w dokument PDF
- latex: najczęściej i domyślnie używany generator, który na podstawie pliku LaTeXa tworzy DVI
- pdflatex: na bazie pliku LaTeX tworzy dokument PDF
- dvi2ps: dokonuje konwersji pliku DVI do PostScriptu
- dvipdfm: dokonuje konwersji pliku DVI do dokumentu PDF
Należy przypomnieć, że LaTeX tworzony był z myślą o tworzeniu przede wszystkim dokumentów DVI, a następnie PostScript. Kompilator PDFLaTeX jest załączany od pewnego czasu i w większości starszego lub dedykowanego oprogramowania nie musi być domyślnym składnikiem, a już tym bardziej domyślnym kompilatorem programów z interfejsem GUI.
Powyższe ostrzeżenie ma na celu zwrócić uwagę użytkowników używających środowisk GUI przed "czeskimi błędami" jakie wykonują przy tworzeniu plików PDF. Nagminnym jest bowiem m.in. tworzenie dokumentów LATEX z błędnym definiowaniem pliku. Przykładowo: Wiele osób po kompilacji dokumentu do DVI zgłasza brak grafik w podglądzie dokumentu PDF, czy zupełnie inny układ od przewidzianego. Zacznijmy od tego że DVI nie jest dokumentem PDF! Jest ono bowiem formatem graficznym dokumentu, obecnie traktowanym jako przejściowy, służącym do generacji końcowego pliku w formacie PostScript, umożliwiającym m.in. szybki podgląd wykonanej pracy - a jak napisaliśmy na wstępie PS bazuje na systemie wektorowym - stąd też powstaną optyczne różnice w wyglądzie i nawet układzie dokumentów pisanych z myślą o generacji w formacie PDF i tych pisanych pod PS. Aby podejrzeć plik PDF należy więc użyć kompilatora pdflatex, a następnie otworzyć tak powstały gotowy plik PDF by ujżeć rezultat wykonanej pracy. Owszem dostępna jest konwersja DVI do PDF z użyciem dvipdfm jednakże to rozwiązanie nie jest zalecane, ponieważ posiada swoje wady.
Jak widać środowisko LaTeX oferuje nam całą gamę możliwości kompilacyjnych i konwersyjnych z pomocą różnych programów konwersyjnych wchodzących w skład pakietu. I tak możemy kompilować lub konwertować kolejno:
Powinniśmy tutaj zaznaczyć, że LaTeX jest zbiorem makr systemu TeX, stąd też prawidłowość iż dokumenty TeX można kompilować z użyciem środowiska LaTeX jest tylko jednostronna - co oznacza, że środowiskiem TeX nie uda nam się skompilować dokumentów napisanych w LaTeXu.
[edytuj] Generowanie dokumentu
Generowanie odbywa się z wiersza poleceń poprzez zwykłe podanie komend, oczywiście programy z graficznym interfejsem, mogą nas wyręczyć odpowiednim skrótem klawiszowym.
Generowanie pliku w konsoli odbywa się w identyczny sposób do kompilacji programów języka C z użyciem kompilatorów GCC, tzn.
- w konsoli, docieramy do katalogu w któym znajduje się nasz plik hello.tex, który chcemy wygenerować
- wpisujemy nazwę programu generującego (np. wygenerujemy DVI kompilatorem "latex")
latex hello
-
- Uwaga: pisanie rozszerzenia *.tex nie jest koniecznie - kompilator automatycznie postara się rozpoznać plik.
- po wpisaniu tej komendy ujrzymy informację zwrotną kompilatora, np.
Output written on hello.dvi (2 page, 464 bytes). Transcript written on hello.log
Informacja ta zapisywana jest w pliku .log (opis w następnym akapicie).
Procedura kompilacji czy konwersji odpowiednich plików jest za każdym razem identyczna z podaną, wystarczy przebywając w aktywnym katalogu zawierającym pliki z poziomu konsoli wpisać polecenie
nazwakompilatora nazwapliku
aby uzyskać pożądany format dokumentu.
Jeśli wszystko przebiegło bez przeszkód - możemy oglądać wynik naszej pracy w pliku wizualnym DVI o nazwie hello.dvi, dowolną przeglądarką tego typu plików (wiele przegląarek PDF obsługuje również ten format). Czasami mogą pojawić się błędy w zależności od kompilatora powinny one zostać wyświetlone w informacji zwrotnej, a na pewno zostaną zarchiwizowane w logu: w tym przypadku pliku hello.log. Informacje o Logu i najczęściej pojawiających się wiadomościach opisane zostaną w dalszej części książki.
Generowanie pliku w GUI odbywa się prościej - poprzez zwykłe naciśnięcie odpowiedniego przycisku. Przed kompilacją jednak należy sprawdzić jaki aktualnie kompilator przypisany został jako domyślny, aby zaoszczędzić sobie niepotrzebnych nerwów. W zależności od programu plik log zawierający przebieg kompilacji i informacje o ewentualnych błędach jest zapisywany albo przy powstającym pliku albo w odpowiednim katalogu domyślnym programu.
[edytuj] Log i wiadomości
Za każdym razem gdy staramy się skompilować nasz dokument, niezależnie czy tworząc DVI czy plik PDF, debbuger (wbudowany najczęściej w kompilator) generuje listę wiadomości o ostrzeżeniach i wyjątkach jakie wystąpiły przed lub w trakcie kompilacji. W efekcie kompilacji otrzymujemy co najmniej jeden plik. Pożądane byłoby otrzymanie naszego przykładowego dokumentu "hello" - odpowiednio hello.dvi lub hello.pdf w zależności od użytego kompilatora. Jednakże ze względu na błędy jakie mogliśmy popełnić przy składaniu dokumentu proces kompilacji może przebiegać zupełnie inaczej niż zamierzyliśmy lub zakończyć się niepowodzeniem. Niezależnie od wyniku kompilacji zawsze pojawi się co najmniej jeden plik - noszący nazwę naszego dokumentu i rozszerzeniu .log (hello.log). W pliku tym zawarty jest zapis zawierający informacje o działaniach podjętych przez kompilator jak i zdarzeniach dotyczących błędów kompilacji. Dzięki temu możemy dowiedzieć się które elementy stały się problematyczne lub mogą spowodować różnice dokumentu skompilowanego od zamierzonego.
Plik .log precyzyjnie określa numer linii w której wystąpił błąd. Bardzo często oprócz tego zawiera dodatkowe informacje, które mogą nas naprowadzić na sposób jego rozwiązania. Ponadto .log zawiera najczęściej listę wszystkich użytych "paczek" w dokumencie łącznie z opisem jego klasy, ilości stron czy wielkości wyjściowej.
Jeśli kompilacja przebiegła bezproblemowo plik będzie miał postać dwulinijkowego komunikatu, typu:
Output written on hello.dvi (2 page, 464 bytes). Transcript written on hello.log
W którym jak widać zapisane są nazwy powstałych w trakcie kompilacji plików, jak również ilość stron i rozmiar skompilowanego dokumentu.
[edytuj] Zarządzanie bibliografią
LaTeX/Zarządzanie bibliografią
[edytuj] Tabele
Do składania tabel służy środowisko tabular. Ma ono jeden parametr, określający liczbę kolumn i sposób ich justowania. Dla każdej kolumny należy wstawić jedną z liter l,r,c, oznaczające wyrównanie do lewej, prawej lub centrowanie zawartości kolumny. Litery można oddzielać znakiem '|' co spowoduje wstawienie pionowych linii pomiędzy kolumnami. Szerokość kolumn zostanie dobrana automatycznie chyba, ze zadeklarujemy szerokość kolumny zapisem p{szerokość}.
Wewnątrz środowiska wpisujemy zawartość poszczególnych kolumn oddzielając je znakiem &, a linie kończymy \\ . Poszczególne wiersze tabeli można przedzielać linią poziomą komendą \hline.
Przykład:
\begin{tabular}{|r|l|}
\hline
w1k1 & w1k2\\
\hline
w2k1 & w2k2 \\
\hline
\end{tabular}
Tabele umieszcza się zwykle wewnątrz otoczenia table, aby móc je uzupełnić o podpis, odnośnik, itp. Najprostsze użycie:
\begin{table}[t]
\caption{podpis do tabeli}
\label{nazwa odnośnika, która potem użyjemy do cytowania tabeli}
\begin{tabular}{....}
...
\end{tabular}
\end{table}
[edytuj] Dodawanie grafiki
TeX powstał w czasach kiedy jeszcze formaty graficzne *.JPG, *.PNG, czy *.GIF nie istniały, dlatego można spotkać problemy z używaniem rastrowych typów grafik. Problem ten spotykany może być w kolejnych skryptach pochodnych, m.in. LaTeXu który jak początkowo TeX również dedykowany był przede wszystkim składaniu dokumentów w formacie PostScript. Mimo to grafiki tego typu mogą zostać włączone do dokumentu za użyciem opcji \specjal przekazującej komendy do programu używającego dvi, dzięki czemu program wyświetlający zajmie się wyświetlaniem tejże grafiki.
Ponieważ pliki konwertowane były początkowo do PostScriptu, a za sprawą Adobe przyęte zostało to rozwiązanie za standard w tworzeniu dokumentów, najlepszym wyjściem jest używanie standardowego formatu grafik wektorowych przeznaczonych domyślnie do tych celów - tzw. Encapsulated PostScript (*.EPS). Należy tu wspomnieć że ze względu na swoją współpracę z formatami wektorowymi środowisko LaTeX daje możliwość tworzenia własnych prostych schematów graficznych opartych na opisie wektorowym - służy ku temu otoczenie picture. Grafiki wektorowe bowiem możliwe są do użycia zarówno w dokumentach PostScriptowych jak i PDF.
Wiele osób pyta o możliwość użycia grafik innych niż wektorowe, mając w szczególności na uwadze pliki rastrowe takie jak wspomniane na początku .JPG, .GIF, czy *.PNG. Oczywiście są one możliwe do użycia, lecz jedynie przy składaniu dokumentów PDF - poprzez konwersję PDFLaTeX, ponieważ formaty te nie są obsługiwane w przeglądarkach DVI obsługujących dokumenty PostScript.
Do dodawania grafik konieczne jest użycie pakietu klas grafik o nazwie graphicx, który dołącza się do dokumentu poprzez wpisanie w preambule dokumentu komendy:
\usepackage{graphicx}
Do wstawiania pola plików graficznych służy otoczenie {figure}. Aby dołączyć obrazek należy utworzyć wspomniane wyżej otoczenie:
\begin{figure}
i wstawić grafikę wektorową używając komendy:
\includegraphics{obrazek.eps}
Po czym zamknąć środowisko:
\end{figure}
Gdzie obrazek stanowi nazwę wstawianej grafiki. Oczywiście wstawianie rozszerzenia .eps czy .jpg nie jest konieczne - środowisko samo może postarać się rozpoznać typ grafiki, chyba że mamy kilka różnych grafik.
Takie działanie pozwoli nam uzyskać obrazek w pełnej jego niezmienionej postaci. Opis możliwości zmian wyświetlania grafiki opisano poniżej w dziale dotyczącym klasy graphicx.
[edytuj] Konwersja grafik EPS
Istnieje cała gama programów do konwersji grafik, jak również większość dobrych programów graficznych obsługuje możliwość zapisu w tych formatach; dla Windows będzie to m.in. Paint Shop Pro a dla Linux np. Gimp. Użytkownikom Linuxa przypaść może do gustu również program ImageMagic pozwalający na konwersję niemalże każdego rodzaju plików graficznych - program działa z linii komend - komendą:
convert obrazek.jpg obrazek.eps
[edytuj] graphicx
[opis klasy do uzupełnienia]
[edytuj] wrapfig
[opis klasy do uzupełnienia]
[edytuj] psfrag
[opis klasy do uzupełnienia]
[edytuj] picture
[opis otoczenia do uzupełnienia]
[edytuj] Matematyka
LaTeX bardzo dobrze sprawdza się w pisaniu wzorów matematycznych.
[edytuj] Symbole matematyczne
[edytuj] Litery greckie
[edytuj] Małe litery
|
|
|
|
[edytuj] Wielkie litery
|
|
Pozostałe wielkie litery greckie są identyczne z odpowiednimi literami łacińskimi. Domyślnie nie są one pochylone, więc można je otrzymać poleceniem \mathrm{łacińska litera}, np. \mathrm{A} oznacza alfę (A). Lecz ze względu na brak różnicy w wyglądzie, w matematyce zwykle nie stosuje się tych liter. Powyższe polecenia nie są odpowiednie do wprowadzania tekstu w języku greckim.
[edytuj] Akcenty matematyczne
|
|
|
[edytuj] Operatory binarne
|
|
|
|
[edytuj] Relacje
|
|
|
[edytuj] Oprogramowanie
[edytuj] Zewnętrzne linki
http://web.ift.uib.no/Fysisk/Teori/KURS/WRK/TeX/symALL.html - tabelka z kodami symboli
http://www.cft.edu.pl/~tomsow/wiedza/latex/short_pl.pdf - Nie za krótkie wprowadzenie do systemu LaTeX 2ε. PDF
[edytuj] Autorzy
- MonteChristof
- Piotr i Klapi - inicjacja podręcznika
\varepsilon
\vartheta
\varrho
\varsigma
\varphi
\hat o
\acute o
\tilde o
\check o
\grave o
\dot o
\ddot o
\vec o
\breve o
\bar o
\widehat{abc}
\cdot
\times
\star
\circ
\bullet
\div
\cap
\cup
\vee
\wedge
\oplus
\otimes
\leq
\geq
\not\geq
\equiv
\not\equiv
\sim
\not\sim
\simeq
\not\simeq
\approx
\not\approx
\subset
\subseteq
\supset
\supseteq
\in
\ni
\perp
