L
A
TEX
Michał Kotowski, Marcin Kotowski, Kornel Maczyński,
Arkadiusz Trawiński, Adam Zadrożny
Uniwersytet Warszawski
Warszawa, 15. października 2009
Michał Kotowski, Marcin Kotowski, Kornel Maczyński, Arkadiusz Trawiński, Adam Zadrożny
Nutka historyczna
Struktura dokumentu
Filozofia
Dobre nawyki pisania w L
Spis treści
1
Spis treści
Nutka historyczna
Struktura dokumentu
Filozofia
Dobre nawyki pisania w L
2
Referencje
Bibliografia
Szablony MIMu
Beamer
3
Wstawianie grafiki
Wady
Zalety
Triki
4
Michał Kotowski, Marcin Kotowski, Kornel Maczyński, Arkadiusz Trawiński, Adam Zadrożny
Struktura dokumentu
Filozofia
Dobre nawyki pisania w L
TEX
TEX
program stworzony przez Donalda E. Knutha
przeznaczony do składu tekstów oraz wzorów matematycznych
rozpoczęte prace w 1977 roku, aby wykorzystać potencjał
składu cyfrowego, stosowanego wówczas na coraz szerszą
skalę w poligrafii
obecna postać została udostępniona w roku 1982
wielkie rozszerzenie, dotyczące ośmiobitowego kodowania
znaków, pojawiło się w roku 1989
Numery wersji zbiegają do liczby π (obecnie 3, 14159)
nadzwyczaj stabilny, pracujący na różnego rodzaju sprzęcie
oraz praktycznie wolnego od błędów
Michał Kotowski, Marcin Kotowski, Kornel Maczyński, Arkadiusz Trawiński, Adam Zadrożny
Struktura dokumentu
Filozofia
Dobre nawyki pisania w L
L
A
TEX
L
A
TEX
pakiet makro wprowadzonym w 1985 przez Leslie Lamport
pozwala autorom używać TEX łatwiej i przyjemniej
obecnie jest utrzymywany i rozwijany przez L
A
TEX3 Project
ostatnią wersja jest L
A
TEX2
Wymowa
Słowo L
A
TEX wymawiane powinno być ”latech” lub ewentualnie
”lejtech” zgermanizowana forma ”lejtek” jest niepoprawna.
Wymowa wynika ze źródłosłowu - ostatnia litera to greckie chi,
jako że nazwa TEXwywodzi się z greckiego słowa τ χνη,
oznaczającego umiejętność, sztukę, technikę.
Michał Kotowski, Marcin Kotowski, Kornel Maczyński, Arkadiusz Trawiński, Adam Zadrożny
Filozofia
Dobre nawyki pisania w L
Struktura dokumentu
Kompilacja źródeł
wywołanie (być może więcej razy) L
A
TEX/pdflatex na źródle, potem
być może inne specjalne programy (bibtex/asymptote)
i znowu L
A
TEXa.
Przykłady
struktura.pdf
struktura.tex
NierownosciHardyego KornelMaczynski.pdf
bibliografia.bib
NierownosciHardyego KornelMaczynski.tex
wykres.tex
Michał Kotowski, Marcin Kotowski, Kornel Maczyński, Arkadiusz Trawiński, Adam Zadrożny
Spis treści
Nutka historyczna
Struktura dokumentu
Filozofia
Filozofia
L
A
TEXto język opisu składu dokumentu (porównanie z XML —
opis znaczenia).
Opisujemy co jest akapitem, nagłówkiem, jakie są paginy, itp.
Nawet jest specjalny pakiet do nazw gatunkowych!
L
A
TEXw dużej mierze sam decyduje co jak ma wyglądać i gdzie
powinno się znaleźć na stronie. Wiele osób nie może
zaakceptować, że czasami obrazki nie znajdują się tam, gdzie
„zostały wstawione”.
Istnieje możliwość modyfikacji stylów dokumentów oraz
wbudowanych poleceń.
Dobry kod L
A
TEXa powinien opisywać treść w sposób zgodny
z jej znaczeniem.
Michał Kotowski, Marcin Kotowski, Kornel Maczyński, Arkadiusz Trawiński, Adam Zadrożny
Spis treści
Nutka historyczna
Struktura dokumentu
Filozofia
Dobre nawyki
Trzymamy się dobrych standardów pisania (temat/język/forma)
oraz dbamy o stronę „typograficzną” (dużą część tego stara się
zrobić za nas L
A
TEX, ale nie wszystko) – różne rodzaje ”myślników”,
wielokropek, umiejscowienie przecinków, lepkie spacje, określenie
formatowania różnych elementów/struktury dokumentu
Kod powinien ”zgadzać się” z semantyką, tzn. dobrą praktyką jest
stworzenie dodatkowego polecenia zamiast za każdym razem
zmieniać formatowanie poleceniami typu ”pogrub”, ”wycentruj”,
itp. Zalety:
czytelność kodu
jeśli dojdziemy do wniosku, że lepiej byłoby zmienić
formatowanie danego elementu, to wystarczy to zrobić w
jednym miejscu
Michał Kotowski, Marcin Kotowski, Kornel Maczyński, Arkadiusz Trawiński, Adam Zadrożny
Spis treści
Nutka historyczna
Struktura dokumentu
Filozofia
Dobre nawyki cd.
Zanim napiszemy swoje własne polecenie warto sprawdzić, czy nie
ma już gotowego pakietu robiącego to, co chcemy. Zalety:
oszczędność czasu
często większe możliwości
jeśli pakiet jest popularny, a my piszemy tylko część
dokumentu jest większa szansa, że wynikowy dokument będzie
jednorodny – ale zawsze trzeba te kwestie omówić z
koordynatorem/wydawcą
Kod dłuższych dokumentów dzielimy na kilka plików.
Tworzymy szablony dokumentów, żeby nie powtarzać swojej pracy.
Michał Kotowski, Marcin Kotowski, Kornel Maczyński, Arkadiusz Trawiński, Adam Zadrożny
Referencje
Bibliografia
Szablony MIMu
Symbole
jeden z celów stworzenia TEXa - łatwe pisanie
skomplikowanych tekstów matematycznych
wyrażenia typu:
A
m,n
=
a
1,1
a
1,2
· · ·
a
1,n
a
2,1
a
2,2
· · ·
a
2,n
..
.
..
.
. ..
..
.
a
m,1
a
m,2
· · · a
m,n
albo równania:
I
∂S
B · dl = µ
0
I
S
+ µ
0
ε
0
∂Φ
E ,S
∂t
Michał Kotowski, Marcin Kotowski, Kornel Maczyński, Arkadiusz Trawiński, Adam Zadrożny
Referencje
Bibliografia
Szablony MIMu
Symbole cd.
w L
A
TEXu - bardzo proste; bogactwo symboli matematycznych
na każdą okazję (pakiet amsmath), wszystko, co potrzebne w
życiu matematyka/informatyka
dowolne zagnieżdżanie symboli
podstawowe symbole - pierwiastki, ułamki, współczynniki
dwumianowe itd.
s
2 +
r
2 +
q
2 +
√
2 + . . . ,
n
k
k
!
sumy, całki, iloczyny:
Z
+∞
−∞
e
−x
2
dx ,
X
0¬i ¬n
2
2
n
,
∞
Y
i =1
(1 −
π
n
)
Michał Kotowski, Marcin Kotowski, Kornel Maczyński, Arkadiusz Trawiński, Adam Zadrożny
Referencje
Bibliografia
Szablony MIMu
Symbole cd.
itd.; najczęściej używane symbole:
dla wymagających i koneserów: pakiety dla nawet najbardziej
egzotycznych symboli
- 150 stron, 5000
symboli
są pakiety do wszystkiego...
Michał Kotowski, Marcin Kotowski, Kornel Maczyński, Arkadiusz Trawiński, Adam Zadrożny
Autonumeracja
Jedną z najbardziej pożytecznych mozliwości L
A
TEXa jest
automatyczne numerowanie sekcji, rozdziałów, twierdzeń, równań
etc. i umieszczanie odnośników do nich w innych częściach tekstu.
Pomaga to zachować czytelną strukturę dokumentu i nie pogubić
się w numeracji.
Automatycznie numerowanie
\label{...} nadanie numeru danemu obiektowi
\ref{...} odwołanie się do numeru obiektu w innej części
tekstu
Michał Kotowski, Marcin Kotowski, Kornel Maczyński, Arkadiusz Trawiński, Adam Zadrożny
Do dobrych nawyków należy umieszczanie w etykietach skrótu
mówiącego, czy dany obiekt jest nowym rozdziałem, równaniem,
twierdzeniem itd., np. \label{chap: twierdzenie o niczym}
albo \label{sec: sekcja o czyms}. Ponieważ etykiety nie są
widoczne w dokumencie, powinniśmy nadawać im nazwy łatwe dla
nas do zapamiętania i oczywiście unikać wstawiania w nich
numerów (typu \label{twierdzenie1}).
Oprócz \ref{...}
\eqref{...} umieszczenie numeru obiektu w nawiasach
(”równanie (3)” zamiast ”równanie 3”)
\pageref{...} podaje numer strony, na której znajduje się
dany obiekt, np.:
Odpowiedni rysunek Czytelnik znajdzie na stronie
\pageref{fig: rysunek}.
Michał Kotowski, Marcin Kotowski, Kornel Maczyński, Arkadiusz Trawiński, Adam Zadrożny
zagnieżdżona numeracja
Numeracja twierdzeń
Należy zdefiniować nowe środowisko ”twierdzenie” i dopisać w jego
definicji odpowiednio [section], [subsection] itd.:
newtheorem{twierdzenie}{Twierdzenie} (twierdzenie 2)
newtheorem{twierdzenie}{Twierdzenie}[section]
(twierdzenie 2.3)
newtheorem{twierdzenie}{Twierdzenie}[section][subsection]
(twierdzenie 2.3.5)
Numeracja rysunków
W preambule dokumentu dodać:
\usepackage{chngcntr}
\counterwithin{figure}{section}
Michał Kotowski, Marcin Kotowski, Kornel Maczyński, Arkadiusz Trawiński, Adam Zadrożny
Wykorzystanie L
A
TEXa umożliwia łatwe tworzenie bibliografii za
pomocą systemu BibTeX. Informacje na temat cytowanych prac są
przechowywane w specjalnym formacie tekstowym w pliku .bib,
oddzielnie od dokumentów w TeXu. Dzięki temu:
nadają się do wielokrotnego wykorzystania w różnych
dokumentach (nie trzeba ręcznie przeklejać tekstu i ustawiać
formatowania)
treść odnośnika jest oddzielona od sposobu jego prezentacji w
dokumencie (element filozofii L
A
TEXa, łatwo możemy zmieniać
formatowanie z jednego na drugie)
możliwość eksportowania plików BibTexowych do innych
formatów, np. HTML
Aby wygenerować z BibTexowego pliku dział Bibliografia,
wystarczy użyć komendy \bibliography{nazwa pliku}.
Michał Kotowski, Marcin Kotowski, Kornel Maczyński, Arkadiusz Trawiński, Adam Zadrożny
Przykładowy wpis:
@Book{abramowitz+stegun,
author = ”Milton Abramowitz and Irene A. Stegun”,
title = ”Handbook of Mathematical Functions with
Formulas, Graphs, and Mathematical Tables”,
publisher = ”Dover”,
year = 1964,
address = ”New York”,
edition = ”ninth Dover printing, tenth GPO printing” }
Po użyciu w pracy komendy \cite{abramowitz+stegun}
dostaniemy w dziale Bibliografia co takiego:
Abramowitz, Milton and Irene A. Stegun (1964),
’’Handbook of mathematical functions with formulas,
graphs, and mathematical tables.’’ New York: Dover.
Michał Kotowski, Marcin Kotowski, Kornel Maczyński, Arkadiusz Trawiński, Adam Zadrożny
Zależnie od preferencji możemy zażądać, aby odnośniki w pracy
były oznaczane określonym stylem (np. ”’zob. [3] albo ”’zob.
[AS64]”).
Dostępnych jest mnóstwo gotowych stylów wpisów (article, book,
conference, mastersthesis, misc, proceedings, unpublished. . . ), dla
każdego z nich można ustawić pewną ilość parametrów (author,
booktitle, chapter, edition, editor, journal. . . ) - L
A
TEXsam potrafi
dobrać odpowiednie dla danego stylu formatowanie. Styl całej
bibliografii można ustawić komendą \bibliographystyle{...}.
Wiele stron udostępniających listy publikacji (np. strony journali)
zamieszcza gotowe wpisy w BibTexu, dzięki czemu możemy
czytaną pracę od razu dodać do bibliografii bez ręcznego
przepisywania informacji (np. CiteULike, CiteSeer, Google Scholar).
Więcej przykładów stylów i dokumentów z odnośnikami
bibliograficznymi można znaleźć np.
Michał Kotowski, Marcin Kotowski, Kornel Maczyński, Arkadiusz Trawiński, Adam Zadrożny
Szablony prac z MIM-u
http://www.mimuw.edu.pl/
Dla studenta
Wzór pracy magisterskiej i licencjackiej
Michał Kotowski, Marcin Kotowski, Kornel Maczyński, Arkadiusz Trawiński, Adam Zadrożny
Klasa Beamer
nazwa klasy, pomyślanej jako pomoc w tworzeniu prezentacji
multimedialnych
pełni tę samą rolę co PowerPoint w Microsofcie
klasa Beamer współpracuje z programami pdflatex, dvips
nazwa programu pochodzi od niemieckiego słowa ”Beamer”,
pseudoanglicyzmu, oznaczającego video projektor
oprócz klasy Beamer istnieją inne klasy stworzone dla LaTeX-a
i służące temu samemu celowi
Michał Kotowski, Marcin Kotowski, Kornel Maczyński, Arkadiusz Trawiński, Adam Zadrożny
Organizacja
klasa Beamer wprowadza własny dialekt LaTeX-a dla
tworzenia slajdów - ”frames”
każdy slajd może być pokazywany na ekranie etapami
odkrywając fragmenty tekstu, które były dotąd schowane lub
zakryte
ta cecha jest realizowana poprzez tworzenie w pliku
wyjściowym kolejnych stron, które zachowują układ strony
pierwotnej, lecz dodają nowe elementy
Michał Kotowski, Marcin Kotowski, Kornel Maczyński, Arkadiusz Trawiński, Adam Zadrożny
Wydruk
Klasa Beamer umożliwia też tworzenie ”handouts” tj. materiałów
drukowanych do rozdawania słuchaczom lub publikacji w sieci.
w takim przypadku w materiałach znajdzie się końcowa wersja
każdego ze slajdów, bez jego cech dynamicznych
istnieje też opcja article do wydrukowania na standardowych
arkuszach A4, czarno na białym
w takim przypadku tytuły slajdów pojawiają sie jako nagłówki
opcja ta zachowuje rozdziały i może służyć jako notatki do
wykładów lub do przechowywania w jednym pliku obu wersji:
artykuł i jego prezentacja
Michał Kotowski, Marcin Kotowski, Kornel Maczyński, Arkadiusz Trawiński, Adam Zadrożny
Wstawianie grafiki - główne uwagi
Docelowo mozna uzywac tylko grafik w formacie .eps
Przy użyciu pakietu graphicx można dołączać również
.jpg
.png
.pdf
Niestety istnieje różnica między wstawianiem grafiki do
pdf’a/ps/dvi
Michał Kotowski, Marcin Kotowski, Kornel Maczyński, Arkadiusz Trawiński, Adam Zadrożny
Pierwszy rysunek
Wstawienie rysunku
Wstawienia rysunku dokonuje sie za pomoca polecenia:
\includegraphics{rysunek.tex}
Michał Kotowski, Marcin Kotowski, Kornel Maczyński, Arkadiusz Trawiński, Adam Zadrożny
Skalowanie rysunku
Przeskalowanie rysunku
Niestety poprzedni rysunek nie nadaje sie to do niczego.
Przeskalujmy zatem obrazek.
\includegraphics[scale=0.25]{rysunek.png}
Michał Kotowski, Marcin Kotowski, Kornel Maczyński, Arkadiusz Trawiński, Adam Zadrożny
Inne manipulacje
Obracanie rysunkiem
Polecenie:
\includegraphics[angle=15, scale=0.25]{rysunek.png}
Michał Kotowski, Marcin Kotowski, Kornel Maczyński, Arkadiusz Trawiński, Adam Zadrożny
Inne manipulacje cd.
Odbicie lustrzane
Polecenie: \reflectbox{\includegraphics[scale=0.25]{rysunek.png}}
Michał Kotowski, Marcin Kotowski, Kornel Maczyński, Arkadiusz Trawiński, Adam Zadrożny
Otoczenie figure
figure
Istnieje specjalne otoczenie, które zajmuje sie wstawianiem
obrazkow
Rysunek:
Przykładowy rysunek
Lista rysunków w publikacji
Używanie otoczenia figure umożliwia późniejsze automatyczne
generowanie listy rysunków z publikacji poleceniem
\listoffigures
Michał Kotowski, Marcin Kotowski, Kornel Maczyński, Arkadiusz Trawiński, Adam Zadrożny
Inne pakiety
Inne pakiety
float
subfig
wrapfig
sidecaption
Michał Kotowski, Marcin Kotowski, Kornel Maczyński, Arkadiusz Trawiński, Adam Zadrożny
Rysowanie przy pomocy L
A
TEX’a
Rysnek wykonany w L
A
TEX’u
-
6
Ze
2
4πεr
n,l
Michał Kotowski, Marcin Kotowski, Kornel Maczyński, Arkadiusz Trawiński, Adam Zadrożny
Wady
trudno się kontroluje położenie elementów
mogą występować problemy ze zgodnością pakietów ze sobą
czasami trudno się zorientować czemu nasz dokument się nie
kompiluje (nieprecyzyjne komunikaty błędów), rozwiązaniem
jest częste testowanie, czy to co właśnie napisaliśmy daje się
skompilować
Michał Kotowski, Marcin Kotowski, Kornel Maczyński, Arkadiusz Trawiński, Adam Zadrożny
Zalety
nie trzeba kontrolować układu strony/formatowania - tzn.
mówimy to jest tytuł, a on będzie dobrze sformatowany
ogromna liczba dodatkowych pakietów — prawie do
wszystkiego
dobra jakość wyjścia
przenośność (zarówno kodu jak i gotowych dokumentów)
stabilność działania
Michał Kotowski, Marcin Kotowski, Kornel Maczyński, Arkadiusz Trawiński, Adam Zadrożny
Triki
wklejanie kodów programów, także z podświetlaniem składni:
listings, . . .
rysowanie, diagramy: asymptote, . . .
bardziej egzotyczne: szachy, nuty, . . .
Michał Kotowski, Marcin Kotowski, Kornel Maczyński, Arkadiusz Trawiński, Adam Zadrożny
Podsumowanie
L
A
TEXjest wyskiej klasy pakietem do składania tekstu
. . . pozwala użytkownikowi skupić się wyłącznie na tekście
umożliwia składanie różnorodnych dokumentów
niestety to nie wybraźnia ogranicza użytkownika podczas
tworzenia dokumentów
Michał Kotowski, Marcin Kotowski, Kornel Maczyński, Arkadiusz Trawiński, Adam Zadrożny
Literatura
Nie za krótkie wprowadzenie do systemu L
A
TEX
Ryszard Kostecki, L
A
TEXw pi
e
minut
Antoni Diller, L
A
TEX. Wiersz po wierszu
L
A
TEX,
Michał Kotowski, Marcin Kotowski, Kornel Maczyński, Arkadiusz Trawiński, Adam Zadrożny