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