1 Krótka historia Latexa Co to jest Tex? Jak działa Tex?

Transkrypt

1 Krótka historia Latexa Co to jest Tex? Jak działa Tex?
Krótka historia Latexa
Na stronach grup użytkow ników Texa jest zamieszczona. Tex (tan, epsilon, chi).
Mówimy oczywiście tech a nie jakoś inaczej, bo jeśli wymówimy inaczej to wg pani
Walczak jesteśmy ignorantami.
Jest językiem kom puterowym stworzonym do składania tekstów przy pomocy
komputera, w szczególności tekstów matematycznych i technicznych.
TUG – gr upa amerykańska WWW.tug.org
GUST – grupa polska WWW.gust.org.pl
Tex powstał w Ameryce pod koniec lat 70tych. Autorem jest Donald Knuth,
amerykański matematyk i informatyk, autor wielotomowego dzieła pod tytułem „Sztuka
programowania” (The Art. Of Kom puter Programming). Pierwsze dwa tomy wydrukowano
tradycyjnie, następne zaś wydrukowano przy użyciu komputera do złożenia tekstu w tej
książce. Gdy Knuth to zobaczył, to stwierdził, że takiej fuszerki nie wypuści, dlatego też
trzeba było wykombinować program komputerowy, który by służy ł do składania wzorów
matematycznych i informatycznych. Skoro zaś był informatykiem, to postanow ił w pół
roku taki program stworzyć. Całość dla ogółu zajęła m u 10 lat, bo sam program to nie
było jeszcze takie wyzwanie, problemem by ło dopiero całe sformatowanie – odstęp od
ostatniego wiersza, umiejscowienie tekstu matematycznego np. całki itp. Chodził o to, by
wszystko ładnie wyglądało, było odpowiednio rozłożone, typu jak piszemy granicę po n>nieskończoności to przecież n->nieskończoności jest niżej, ale jeszcze nie w następnej
linijce, jeszcze nie w następnym w ierszy, a chodziło też o to by n->nieskończoności na
nią nie wchodziło. Knuth nie pracował oczywiście przy tym sam. Problemem następnym
było też wyświetlenie wprowadzanego tekstu. Trzeba było przetworzyć wszystkie znaki
typu całka. Znaki te muszą być przec ież też możliwe do wydrukowania, czyli jakby
dodanie do fontów - zestaw programików kierujących drukarką. Chodziło też o to, by
strona wyglądała zawsze tak samo, bez względu czy jest wydrukowana na drukarce
laserowej czy igłowej, czy wyświetlana na ekranie w przeglądarce. To były założenia
dlatego tak długo całość trwała. W m iędzyczasie Knuth stworzył też program do pisania
fontów (wszystkich znaków potrzebnych do pisania tekstu).
Co to jest Tex?
Tex jest językiem niskiego poziomu, składa się z mniej w ięcej 300 prostych
sekwencji, nierozkładalnych już, są to sekwencje sterujące, które noszą nazwę
pierwotnych. Tex rozumie około 900 sekwencji sterujących, które są zbudowane przy
pomocy sekwencji pierwotnych. Są one częścią wbudowanego słownika i możliwe jest
budowanie z nich makr i wygodnego interfejsu użytkownika. Podstawowy zestaw makr
został napisany przez Knutha i nazwany Pla in Te x.
Latex – format napisany z myślą o użytkowniku, bo pracuje oczywiście program,
czyli Tex, a nie Latex. Latex jest tylko formatem.
Jak działa Tex?
Tekst przeznaczony do złożenia przygotowujemy w dowolnym edytorze zgodnie z
regułam i opisanymi w makrach danego formatu (czyli w Latex-ie u nas) i zapisujemy go
w kodzie ASCII. Plik nasz musimy zapisać jako nazwa.te x, bo tylko pliki z tym
rozszerzeniem są rozum iane przez program. W nazwie NIE uży wamy spa cji ani
pewnych znaków sterujących. Nazwa nie pow inna tez być zbyt długa. Pliki nazwa.tex
umieszczamy w katalogach w których nie ma spacji w nazwie!!! Najlepiej używać
edytorów napisanych specjalnie dla Texa. Poznamy dwa z nich. Jeden to LE d (Latex
1
Editor), ale w pracowniach go nie ma, jest wciąż udoskonalany i obecnie jest już całkiem
przyzwoita wersja tego programu, ale dawniej by ł za bardzo niestabilny by się w niego
bawić. W Pracowniach jest Edytor WinShe ll. Autorem jest chyba Belg Ingodebell. Na
górze w nim jest okno edycji, a na dole okienko, które nam mów i, co się pojawiło.
Podpowiedzi są nieskładne, ale po polsku. Winshell jest darmowy. W LEd jest słow nik
języka polskiego i można sobie od razu sprawdzić pisownię.
Tex interpretuje dostarczone informacje i tworzy plik nazwa.dvi (dev ice
independent), czyli niezależny od urządzenia przy pomocy którego będziemy oglądać lub
drukować efekt naszej pracy.
Przetwarzamy: latex nazwa.tex
Tex nazwa.tex
Przy większym zagnieżdżeniu pam iętajmy podać ścieżkę dostępu.
W wyniku pracy Texa powstanie nam plik nazwa.dvi. Plik nazwa.dv i możemy obejrzeć i
wydrukować korzystając z programu Dviant lub jego starsze go brata Windvi [łin di wi
aj], który właśnie jest w pracowniach. Problem jest tutaj z grafiką i zd jęciami. Program
dvips autorstwa Tomasza Rokickiego tłumaczy plik nazwa.dv i na plik postscript nazwa.ps.
Z linii poleceń piszemy dvips nazwa.dv i.
Wówczas otrzymamy plik nazwa.ps. Plik nazwa.ps m ożemy obejrzeć i wydrukować
używając darmowej przeglądar ki plików tego typu czyli G Sv ie w
(instalując tą
przeglądar kę należy pam iętać, że do prawidłowego działania potrzebuje ona jeszcze
programu o nazwie Ghostscript). Czyli musimy m ieć oba te programy.
Plik tekstowy nazwa.tex możemy też przetworzyć na plik w f ormacie PDF i oglądać
go w przeglądarce Adobe Aeroba w dwojaki sposób:
- z pliku nazwa.ps przy pomocy programu ps2pdf (w przeglądarce Gsview)
- bezpośrednio z pliku tekstowego przy pomocy programu pdftex (pdflatex)
Pdf latex nazwa.tex
FORMATY
- Donald E. Knuth ku wygodzie użytkownika opracował zestaw makr, który nazwał Plain i
tutaj wiele rzeczy użytkownik sam m usi sobie def iniować, np. jakąś inną czcionkę lub
czcionkę dla tytułu.
- w połowie lat 80tych powstał Latex 2.09 (Leslie Lam port) i Am STEX (M.D. Spivat).
Formaty te powstały niezależnie.
Amstex powstał przy pomocy idei amerykańskiego towarzystwa matematycznego, które
potrzebowało programu by wygodnie składać tekst matematyczny.
- Kilka lat później powstaje AmSLa TEX łączący możliwości i udogodnien ia obu tych
formatów – dogadali się ;) Jednak komputery się rozwijały i wymagania rosły, wiec…
- kolejna wersja latexa ukazała się w 1994 roku i nazywa się late x 2e i ten format latexa
stał się standardem. Trwają prace nad kolejną wersją. W Latex -u 2.09 używało się
stylów dokumentów i wczytywało pakiety w pewien sposób, a w Latex-u 2e używa się
klas dokumentów i wczytuje te pakiety w inny sposób. Oto cała różnica dla zwy kłego
użytkownika. My używamy Latexa 2e, latex 2.09 jest dla nas historią, m imo tego, że
wciąż działa.
Co to jest Latex?
Jest to system składu dokumentów, nie jest to tylko sam edytor, lecz coś więcej.
Latex jest systemem, dzięki któremu możemy złożyć dokument składający się z tekstu
zwykłego, tekstu matematycznego, rysunków itp., a nasz dokument i tak będzie miał
2
przyzwoitą jakość i będzie możne go potem spokojnie drukować. Latex powstał w
Ameryce i rozwijał się na przestrzeni lat. In design jest płatnym odpowiednikiem Latexa.
Na pytanie dlaczego Tex, Latex odpow iedzieć łatwo. Otóż w Wordzie jakość
wzorów matematycznych jest średnia, niektóre znaki są chudsze, inne grubsze, a my nie
mamy na to wpływu, podczas gdy wzory napisane w Latex – u wyglądają idealnie.
Z netu + moje notatki:
Struktura dokumentu w LATEX-u
Aby dokument tekstowy został przeczytany i przetworzony przez L ATEX-a musi
posiadać
pewna ściśle określoną strukturę postaci:
prolog
\documentclass[lista opcji]{nazwa klasy}
preambuła
\begin{docume nt}
Tresc dokumentu
\end{docume nt}
Prolog jest zwykle pusty, mogą się tam znaleźć tylko nieliczne polecenia które
zawierają zazwyczaj instrukcje sterujące wykonywane jeszcze przed uruchomieniem TEXa.
Klasa dokumentu to jest pakiet zawierający definicje i deklaracje m. inn.
szerokości i wysokości strony, sposobu numerowania rozdziałów itp. Standardowo w
LATEX-u dostępne są klasy article (stworzona do małych dokumentów), book, report i
letter. Użytkownik może także napisać swoja własna klasę dokumentu. Większość
czasopism naukowych przygotowało swoje klasy dokumentów i udostępnia je autorom
artykułów na swoich stronach internetowych. Dla użytkowników polskich powstały klasy
mwart, mwbk i mwrep, które uwzględniają polskie zwyczaje w piśmiennictwie naukowym.
Argument Lista opcji, również nieobow iązkowy, może zawierać informacje o
wielkości czcionki, jaką ma być składany cały dokument, rozmiarze papieru, sposobie
rozmieszczenia tekstu na stronach (np. dokument jednostronny, dwustronny, ze strona
tytułowa lub bez) itd. Jeżeli lista ta będzie pusta przyjęte zostaną wartości i ustawienia
domyślne. Opcje możemy zmieniać np. wystarczy wpisać tutaj legno czyli left equation
number i będzie nam numerowanie um ieszczał po lewej a nie jak domyślnie po prawej
stronie ;)
W Preambule wczytujemy wszystkie pakiety rozszerzające możliwości klas oraz
umieszczamy wszystkie nasze nowe definicje, które mają obow iązywać w całym
dokumencie. W pakietach, które wczytuje się poleceniem \usepackage{nazwa}
umieszczonym w preambule zawartych jest wiele definicji ułatwiających pisanie w LATEXu. Mogą tam się wiec znaleźć takie deklaracje jak \newcommand, \renewcommand,
\newenvironment itd. Również tam umieszczamy tytuł dokumentu oraz nazwisko i adres
autora.
Najpierw zatem gdy komputer czyta tekst, to patrzy co jest w prologu. Następnie
wczytuje klasę dokumentu i uczy się wszystkich definicji. Dalej wczytuje pakiety i uczy
się ich. Następnie czyta pierwszy akapit tekstu i sam dzieli go na linie! Kom p uter nie
czyta liniami, edytor podczas pisania zaw ija tekst, a program s am go łamie na
poszczególne linie. My tylko musimy dodać znak, który mówi mu, gdzie kończy się akapit.
Czyta zawsze nieco za w iele akapitów i też sam łamie stronę. Program sam układa też
cały tekst, co gwarantuje, że linijki będą zawsze zawierały właściwą ilość liter, wiec nie
będzie dziur ani żadnych innych brzydkich rzeczy. Czasami jednak sobie program z tym
nie radzi, choć rzadko ma to miejsce. Gdy jednak już coś źle podzieli, to daje sobie karę i
gdy mu się tych kar uzbiera nieco za wiele, to się sypie. Program też sam dzieli wyrazy w
zależności od tego w jakim języku piszemy, bo w każdym przecież reguły dzielenia
wyrazu gdy jest na końcu wiersza są inne. Wyrazy dzieli w miarę ładnie, gorzej mu idzie
3
dzielenie wzorów matematycznych, gdy mu się nie zm iesz czą, a przecież je już nie w
każdym miejscu wolno złamać, toteż najlepiej m u wtedy samemu podpowiedzieć.
Pom iędzy poleceniami \begin{document} i \end{document} umieszczamy tekst
naszego dokumentu, całą jego treść . W dokumencie też umieszczamy te definicje
użytkownika, które mają działać tylko lokalnie. Jak już mów iliśmy, dokument LATEX-owy
może być przygotowany w dowolnym edytorze tekstowym, ale należy pam iętać , by plik
był zapisany w czystym kodzie ASCII. Nazwa jaka mu nadamy powinna być możliwie
krótka, nie może zawierać polskich liter, przerw i powinna m ieć przedłużenie .tex.
Dlatego tez wygodnie jest używać edytorów specjalnie przystosowanych do pracy z TEXem.
Należy też pamiętać, ze pewne znaki i polecenia są zarezerwowane do specjalnych
celów. Znaki takie da się wydrukować, ale trzeba to zrobić w specjalny sposób. Są to:
#, $, %, &, \, ^, _, {, }.
Znakiem backslash (\) rozpoczyna się każda komenda TEX-owa.
Znak procentu (%) oznacza początek komentarza, który obow iązuje do końca linii, nie
ma znaku zamykania komentarza, jak chcemy by to co jest w następnej linii tez tym
komentarzem było, to na początku owej następnej linii też stawiamy znak %.
Pam iętajmy, że KOMENTARZY NIE UMIESZCZAMY W PROLOGU, jeśli bardzo nie chcemy
ich wsadzić w tekście, to umieśćmy je na samym końcu dokumentu.
Znak dolara ($) otwiera i zamyka środowisko matematyczne.
Znaki ^ i _ oznaczają odpow iednio indeks górny i dolny i znaki te działają TYLKO w
środowisku matematycznym.
Naw iasy {,} określają zakres działania danego polecenia.
& służy do tabulacji i pozycjonowania tekstu.
# używamy m.in. w definicjach z parametrem.
Zadanie 1. Utworzyć dokument składający się z komend \documentclass,
\begin{document}, \end{document} i dowolnego tekstu.
Zadanie 2. Utworzyć dokument składający sie z komend \documentclass z opisanymi
wyżej opcjami (np. wielkość liter - 11pt, rozmiar papieru - a4paper, druk dw ustronny twoside) i data, \begin{document}, \end{document} i dowolnego tekstu.
Uwaga: Poszczególne opcje oddzielamy od siebie przecinkiem.
Przy kładowa preambuła dokume ntu:
\documentclass[lista opcji] {nazwa klasy}
\usepackage[cp1250]{inputenc}
%\usepackage[i12]{inputenc}
\usepackage{polski}
\begin{docume nt}
Treść dokumentu
\end{docume nt}
ALBO gdy prolog nie jest pusty
%&-translate-file =cp1250pl
\documentclass[lista opcji]{nazwa klasy}
4
\usepackage{polski}
\begin{docume nt}
Treść dokumentu
\end{docume nt}
5