From d5d90223f0e9217e546a1e53c78f73c1fddf1e87 Mon Sep 17 00:00:00 2001
From: Karl Berry
+
+Alfabetyczny spis wydawców
+
+ Pozostałe, nawet związane z informatyką, żądają trzech kopii
+ podwójnie spacjowanych itd.
+
+Poszczególne czasopisma mogą wymagać/dopuszczać użycia TeX-a. Z
+czasopism matematycznych i informatycznych są to:
+
+ Wydawca kilku czasopism, spodziewa się, że autorzy będą używać
+ (La)TeX-a, jednak tylko jedno czasopismo dorobiło się własnego stylu
+ (LaTeX 2.09)
+
+
+Tu liczy się tylko TeX i rodzina [SIAM is interested
+in working with authors whose journal articles were created in TeX,
+LaTeX, or AMS-TeX. (SIAM regrets that we cannot accept electronic
+files for papers produced on any other typesetting or word processing
+system.)]
+
+
+ Dla pozostałych rodzajów nauk makra TeX-owe i LaTeX-owe wersji
+ 2.09 wspólne:
+
+ plain TeX |
+
+ LaTeX 2.09. Zestawy makr dla LaTeX-a w wersji 2e są bardzo
+ rozbudowane i inne dla każdej nauki, trudno powiedzieć, czy
+ różnice są istotne, w niektórych przypadkach podejrzewam, że są
+ to kopie. Ale np. fizycy muszą dostosować się albo do szkoły
+ Prof. Beiglböck'a albo do konkurencyjnej szkoły Dr Ascheron'a i
+ Dr Kölsch'a. Każda z nauk ma też swoje ulubione serie książkowe
+ z osobnymi zestawami makr, czasami również w LaTeX-u 2.09
+ czy plain TeX-u.
+ W katalogu .../macros/context serwerów CTAN znajdą Państwo
+następujące pliki:
+ Ponieważ pakiet często jest zmieniany, informacje powyższe mogą być nieaktualne w chwili czytania.
+
+ Instalacja jest nieco kłopotliwa, polega na ,,ręcznym'' rozpakowaniu
+plików .zip i przekopiowaniu zawartości utworzonych katalogów
+do odpowiednich katalogów drzewa katalogów zawierających instalację
+(za wyjątkiem plików .afm i .pfm -- które
+nie są niezbędne przy przetwarzaniu TeX-em -- można przenieść
+całe, nowoutworzone, drzewo katalogów w odpowiednie miejsce)
+TeX-a. Niestety w archiwach panuje bałagan w katalogach
+spowodowany tym, że serwery mirrorujące pobierają jedynie pliki; nie kasując
+starych i zbędnych. Dla jasności poniżej przedstawiam katalogi w drzewie TDS, gdzie
+znajdują się pliki ConTeXt-a.
+
+
+ Zasoby TeX-owe różnych wydawców
+
+
+
+Poniżej przedstawiono odnośniki do zasobów TeX-owych różnych wydawców.
+Organizacja tej witryny jest bardzo niejednorodna, bo i każdy wydawca
+organizuje swoją witrynę po swojemu.
+
+
+
+
+
+
+Academic Press (obecnie Elsevier)
+
+
+powrót do spisu wydawców
+
+
,,trzeba wyszukać
+ konkretne czasopismo i tam być może znaleźć zestaw makr''
+
+
+ AMS (Amerykańskie Towarzystwo Matematyczne)
+
+
+powrót do spisu wydawców
+
+
+
+ Baltzer Science Publishers czyli Kluwer
+
+
+powrót do spisu wydawców
+
+
+
+ Birhauser
+
+
+powrót do spisu wydawców
+
+
+Blackwell Publishers
+
+
+powrót do spisu wydawców
+
+
+Cambridge University Press
+
+
+Książki mają generyczne style: LaTeX 2e
+| LaTeX 2.09
+z dodatkami dla poszczególnych serii,
+
+
+powrót do spisu wydawców
+
+
+
+ Elsevier
+
+
+powrót do spisu wydawców
+
+
+
+ Heldermann
+IOS Press
+
+
+powrót do spisu wydawców
+
+
+Kluwer Academic Publishers
+ (nie mylić z wydawnictwem prawniczym WoltersKluwer)
+
+
+powrót do spisu wydawców
+
+
+
+ Oxford University Press
+
+
+powrót do spisu wydawców
+
+
+
+ SIAM (Towarzystwo Matematyki Przemysłowej i Stosowanej)
+
+powrót do spisu wydawców
+
+
+
+
+
+ Springer (tzn. oddział firmy BertelsmannSpringer)
+
+ Copyright policy
+
+ All macro packages have been developed by Springer-Verlag
+ Heidelberg as a free service to its authors and editors
+ preparing texts for publication by Springer-Verlag.
+
+ User's guides and macros may be copied and passed on to
+ other Springer authors, but may not be sold or placed on any
+ mailserver other than the one maintained by
+ Springer-Verlag. Our macro packages may not be incorporated
+ into other TeX macro packages or used commercially unless
+ permission has been granted by Springer-Verlag.
+
+
+
+powrót do spisu wydawców
+
+
+
+
+ Uwaga: chemia, nauki o środowisku, o Ziemi, o życiu ??,
+ medycyna, farmacja, psychologia, prawo oraz statystyka muszą
+ obejść się Wordem.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ World Scientific
+
+
+powrót do spisu wydawców
+
+
+
+
+
+Następujące wydawnictwa żyją jeszcze w epoce pre-, a może
+już w post-TeX-nicznej
+
+
+powrót do spisu wydawców
+
+
+
+
+
+
+
+
+Światową pajęczynę przejrzał Andrzej M. Borzyszkowski,
+GUST, marzec 2000.
+Ostatnie zmiany: maj 2003.
+Poprawki i uzupełnienia zgłaszać do
+A.Borzyszkowski@ipipan.gda.pl
+
+
+
+
+
+
+
+
+
Instalacja systemu
+
+
+
+
+cont-doc.zip
+ --
+ style dla dokumentacji plików ConTeXt
+
+
+cont-fnt.zip
+ --
+ dodatkowe fonty -- to samo jest w cont-tmf.zip (za wyjątkiem
+ plików .pfm i .afm) -- pobrać jedynie pliki
+ .afm i .pfm jeśli są potrzebne
+
+
+cont-lat.zip
+ --
+ PPCHTeX -- zbiory specyficzne dla LaTeX-a (skład wzorów chemicznych)
+
+
+cont-mod.zip
+ --
+ moduły dodatkowe -- nie instalować (starocie z poprzednich wersji)
+
+
+cont-mps.zip
+ --
+ zbiory dla METAPOST-a -- wygląda na starocie; to samo jest w cont-tmf.zip
+
+
+cont-ppc.zip
+ --
+ PPCHTeX -- zbiory dla PPCHTeX-a (skład wzorów chemicznych)
+
+
+cont-tex.zip
+ --
+ starocie, wygląda, że jest to zbiór dla starszych wersji.
+
+
+!cont-tmf.zip
+ --
+ główne archiwum zawierające system i dokumentację
+
+
+!cont-uti.zip
+ --
+ skrypt perlowy (to samo co w cont-wrk.zip)
+
+
+!cont-wrk.zip
+ --
+ skrypty perlowe, pliki konfiguracyjne
+
+
+
+...\context
+...\context\data
+...\context\perltk
+...\doc\context
+...\doc\context\base
+...\dvips\context
+...\fonts\tfm\hoekwater\context
+...\fonts\type1\hoekwater\context
+...\fonts\afm\hoekwater\context
+...\fonts\pfm\hoekwater\context
+...\metapost\context
+...\tex\context
+...\tex\context\config\
+
Po wgraniu plików w odpowiednie miejsce należy uaktualnić bazę danych. +(sposób wykonania tej czynności zależy od implementacji; np. w przypadku +MikTeXa należy uruchomić program initexmf -u).
+ +Pierwszą czynnością jest zmiana nazwy pliku +texexec.rme na texexec.ini w katalogu +.../context/config i edycja jego zawartości +
+. +. +%set TeXShell to tetex +%set TeXShell to fptex +set TeXShell to miktex +%set TeXShell to private +. +. +
Proces generowania jest sterowany za pomocą skryptu perlowego (oczywiście +interpretowanego programem Perl) i odbywa się nieco inaczej w różnych +implementacjach. Najprościej mają użytkownicy Unixa -- generowanie +polega na uruchomieniu skryptu texexec z odpowiednimi opcjami +(możemy założyć, że interpreter PERL jest zainstalowany).
+ +W przypadku systemu Windows proces może być bardziej skomplikowany +ze względu na konieczność samodzielnej instalacji PERL-a -- +zakładam, że perl jest zainstalwany (można go pobrać z archiwum CPAN, np: +perl).
+ +Po rozpakowaniu archiwum, w katalogu .../context/perltk powinien +znaleźć się plik runperl.zip -- należy go rozpakować, a następnie +zmienić nazwę pliku runperl.exe (zwykle w archiwach perla też +jest taki plik i jeżeli program interpretera +nazywa się inaczej >>np. winperl<< należy pobrać plik +z dystrybucji perla) na texexec.exe. +Sztuczka polega na tym, że program ten ładuje do pamięci program PERL +wskazując mu do wykonania skrypt o nazwie takiej jak on sam (łatwo się +domyśleć, że w tym wypadku skrypt nazywa się texexec.pl), +przekazując oczywiście podane opcje.
+ +Po wykonaniu powyższych czynności pomocniczych proces generowania
+formatu przebiega już podobnie we wszystkich implementacjach i
+w najprostszym wariancie polega na wywołaniu:
+texexec --make en
+w wyniku czego powstanie plik cont-en.fmt (jak łatwo się
+domyśleć en określa format dla języka angielskiego;
+można podać kilka
+symbolicznych nazw języków -- zostaną dla nich utworzone formaty).
Dla każdego kodu języka może być utworzony odpowiedni zbiór; konwencja nazw +jest następująca: cont-*.tex, gdzie zamiast * należy wstawić +odpowiedni symbol języka (czyli dla języka polskiego zbiór będzie nosił +nazwę cont-pl.tex).
+ +Jeżeli brak zbioru dla naszego języka możemy użyć innego, w którym +zadeklarowano użycie naszego lub wzorując się na innych zbiorach utworzyć własny.
+ +Według dokumentacji wywołując program texexec można podać inne opcje np:
+texexec --make --language=pl,uk --bodyfont=plr en
+które powinny sterować procesem generowania formatu. Dokładna analiza (dla systemu
+MS Windows) wykazała, że postać wywołania (opcje i ich wartości) jest przetwarzana
+na język ConTeXt-a i zapisywana do zbioru cont-fmt.tex (po zakończeniu
+generowania nazwa jest zmieniana na cont-fmt.log -- jego zawartość może być
+pomocna w tworzeniu własnego pliku), który
+jest interpretowany w procesie tworzenia formatu. W wyniku działania
+programu texexec otrzymamy format o nazwie cont-en.fmt zawierający
+między innymi reguły przenoszenia wyrazów w języku polskim i angielskim i możliwość
+wprowadzania polskich diakrytyków w notacji prefixowej (znak prefixu /).
+Mając własny plik z definicją języka możemy wygenerować format:
+texexec --make pl
+
Utworzony format (zbiór .fmt) należy umieścić w odpowiednim katalogu +(można go pozostawić w miejscu generacji, ale należy pamiętać o modyfikacji +odpowiednich zbiorów konfigurujących instalację TeX-a; PDFTeX musi +wiedzieć, gdzie szukać formatu).
+ +Nieco więcej uwag na temat polonizacji ConTeXt-a i jego użycia +można znaleźć w notatce +ConTeXt i język polski + + + + diff --git a/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/context/context.html b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/context/context.html new file mode 100644 index 00000000000..3c201d7ac8d --- /dev/null +++ b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/context/context.html @@ -0,0 +1,70 @@ + + + + +ConTeXt, autorstwa Hansa Hagena, jest stosunkowo nowym systemem +składu i opisu dokumentów +opartym o program TeX (a ściślej PDFTeX). Służy on do tworzenia dokumentów, +które mają być prezentowane zarówno w wersji papierowej, jak i elektronicznej +(przede wszystkim .pdf-ów prezentowanych za pomocą AcrobatReadera).
+ +Prace nad systemem +trwają i należy się liczyć z koniecznością częstego ściągania +nowych wersji plików. Zapewne, również z tego powodu instalacja jest dosyć +uciążliwa, a dokumentacja (w szczególności instalacyjna i techniczna) +niedostateczna. Na szczęście powstaje już wyczerpująca dokumentacja +w języku angielskim (do pobrania ze stron firmy PRAGMA)
+ +ConTeXt jest ciekawym językiem opisu dokumentu (składem zajmuje się TeX) o ideologii +odmiennej niż LaTeX, a zbliżonej do koncepcji HTML + CSS.
+ +W +LaTeX-u zdefiniowano szereg typowych obiektów, których skład (wizualizacja) jest zakodowany +za pomocą języka TeX-a. Konwersja opisu struktury dokumentu jest prosta, ale + praktycznie niemożliwa jest +automatyczna konwersja opisu własności (sposobu składu) +używanych w nim obiektów na inny język. Wadą jest również trudność modyfikacji +własności składu przez ,,normalnego'' użytkownika. Za wyjątkiem banalnych +przypadków (np. zmiana wartości rejestru) potrzebna jest wiedza programistyczna +i doświadczenie w programowaniu w języku TeX-a. Zaletą jest natomiast ,,otwartość'' +i łatwość wzbogacania systemu o nowe obiekty.
+ +W Języku ConTeXt-a mamy łatwość tworzenia obiektów i sterowania ich +własnościami +(sposobem składu) poprzez wybór odpowiednich opcji i określeniu ich wartości +(ale tylko z góry określonej listy). Biorąc pod uwagę, że lista typowych +problemów spotykanych w publikacjach jest skończona, zdefiniowano listę +typowych obiektów oraz stworzono mechanizmy do tworzenia nowych obiektów (ale nie o dowolnych +cechach). +Należy podkreślić, że cały system jest wyjątkowo dobrze przemyślany i spójny koncepcyjnie, +ale zamknięty i hermetyczny.
+ +Do wad możemy zaliczyć niedostateczną kontrolę błędów (np. użycie nieznanego atrybutu +lub nadanie atrybutowi niedopuszczalnej wartości nie pozostawia śladu nawet +w zbiorze komunikatów) lub generowanie błędu na poziomie języka TeX-a, a nie +języka ConTeXt-a oraz niedostateczną (jeszcze) dokumentację.
+ +Do dyspozycji mamy predefiniowane polecenia do tworzenia tytułów
+(numerowanych i nienumerowanych):
+
+
Tytuły numerowane | |
---|---|
+
|
+ ref określa nazwę (etykietę) na którą można się powołać.
+ Nazw (etykiet) może być kilka, powinny być one oddzielone przecinkiem -- wszystkie mogą służyć
+ do powołania się na ten tytuł (wartością etykiety jest numer nagłówka).
+ tekst stanowi treść tytułu; domyślnie, polecenie
+ \part nie wyprowadza treści tytułu (parametr
+ placehead=no ; p. poniżej o definiowaniu
+ własności nagłówków), ale następuje przejście do
+ nowej strony (nieparzystej), strony dokumentu są numerowane w
+ obrębie danej części jako: numer części-numer
+ strony ).
+
+ + Wszystkie poniżej wymienione polecenia mają analogiczną + składnię. |
+\chapter[ref]{tekst} | domyślnie, polecenie powoduje przejście do nowej strony |
+\section[ref]{tekst} | |
+\subsection[ref]{tekst} | |
+\subsubsection[ref]{tekst} | |
Tytuły nienumerowane | |
+\title[ref]{tekst} | |
+\subject[ref]{tekst} | |
+\subsubject[ref]{tekst} | |
+\subsubject[ref]{tekst} | |
+\subsubsubject[ref]{tekst} |
+Składnia poleceń do tworzenia tytułów wygląda
+następująco:
+\nazwa[etykiety]{wartość licznika}{treść}
+\nazwa{treść}
+\nazwa{wartość licznika}{treść}
+gdzie:
+etykiety -- nazwy, na które można powołać się (może być ich kilka, muszą być
+oddzielone przecinkiem),
+treść -- treść tytułu,
+wartość licznika -- a ściślej tekst, który będzie podany zamiast
+ właściwego numeru dla danego nagłówka -- nie ma nic wspólnego z wartością licznika (ale licznik tego
+ poziomu zostanie zwiększony),
+ parametr ten jest interpretowany w powyższy sposób
+ tylko wtedy, gdy wartość atrybutu ownnumber
wynosi
+ yes
; w przeciwnym razie parametr jest traktowany jako
+ tekst nagłówka,
+w treści tytułu możemy użyć polecenia \nomarking{tekst}
,
+które spowoduje, że w nagłówku lub stopce tekst zostanie zastąpiony przez ...
(trzy kropki).
+
+W ConTeXt-cie nie ma obowiązku zachowania kolejności poziomów; numer nagłówka danego poziomu będzie +zawierał jedynie wcześniej użyte poziomy. +
+ +Należy pamiętać, że wygląd nagłówka może zależeć od kontekstu w którym się znajduje (np.: sposób numeracji:
+cyframi, kolejnymi literami, numeracja rzymska; dodatkowy tekst np.: Rozdział
lub Dodatek
itp.) --
+p. definiowanie własnych nagłówków.
Do tworzenia własnych nagłówków służy polecenie:
+\definehead[nazwa][przodek]
+nazwa jest nazwą nowego polecenia; w momencie tworzenia
+dziedziczone są wszystkie cechy (również licznik) obiektu określonego jako
+przodek.
+
+Postać polecenie \definehead
może mieć bardziej skomplikowaną postać:
+\definehead[nazwa][definicje własności]
+nazwa jest nazwą nowo tworzonego polecenia nagłówkowego
+definicje własności mają następującą budowę:
+nazwa własności=wartość
+można definiować jednocześnie kilka własności, poszczególne elementy muszą być oddzielone przecinkiem (,
)
+
nazwa własności | dopuszczalne wartości |
---|---|
+section | nazwa jest nazwą obiektu utworzonego
+ poleceniem \definesection -- określa położenie numeracji danego nagłówka,
+ a tym samym jego poziom w hierarchii
+ |
+default | nazwa jest nazwą obiektu utworzonego
+ poleceniem \definehead (lub predefiniowanego) -- określa z jakiego nagłówka
+ mają być przejęte cechy (wydaje się, że zdefiniowanie tej własności jest obowiązkowe)
+ |
Do zmiany własności nagłówków służy polecenie:
+\setuphead[nazwy][definicje własności]
+gdzie:
+nazwy są listą nazw
+nagłówków (predefiniowanych lub
+utworzonych poleceniem \definehead
) (elementy listy muszą być oddzielone przecinkiem),
+natomiast definicje własności jest listą niżej podanych atrybutów
+i ich wartości (domyślne wartości są zaznaczone podkreśleniem).
Zmianę własności wszystkich nagłówków można zrealizować za pomocą polecenia (nie wszystkie
+własności mogą wystąpić na liście polecenie \setupheads
???):
+\setupheads[definicje własności]
+
nazwa atrybutu | dopuszczalne wartości | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
+style | atrybut definiuje font użyty do składu nagłówka np.:
+
| ||||||||||||||||||||||||
+textstyle | j.w. -- definicja określa font użyty do
+ składu tekstu nagłówka (,,przykrywa'' definicję określoną
+ atrybutem style ) | ||||||||||||||||||||||||
+numberstyle | j.w. -- definicja określa font użyty do
+ składu numeru nagłówka (,,przykrywa'' definicję określoną
+ atrybutem style ) | ||||||||||||||||||||||||
+number |
+
| ||||||||||||||||||||||||
+ownnumber |
+
| ||||||||||||||||||||||||
+page |
+
| ||||||||||||||||||||||||
+continue |
+
| ||||||||||||||||||||||||
+header |
+
| ||||||||||||||||||||||||
+before |
+ \command -- polecenie
+ (bezparametrowe) jest wywoływane (o ile zostało zdefiniowane)
+ bezpośrednio przed wyprowadzeniem całego nagłówka (obecność polecenia może mieć wpływ
+ na to, że zmiany wartości atrybutu alternative zostaną zignorowane)
+ | ||||||||||||||||||||||||
+after | \command -- polecenie
+ (bezparametrowe) jest wywoływane (o ile zostało zdefiniowane)
+ bezpośrednio po wyprowadzeniem całego nagłówka. Przykład:+
+\setuphead[section][ +spowoduje dodanie dodatkowego odstępu przed tytułem rozdziału oraz +poziomej linii oddzielającej pod tytułem. Jako poleceń \command można używać własnych
+konstrukcji, należy jednak podkreślić, że mogą one wpływać na działanie innych
+atrybutów zmieniających sposób formatowania nagłówka (np. alternative )
+ | ||||||||||||||||||||||||
+inbetween | \command -- polecenie
+ (bezparametrowe) jest wywoływane (o ile zostało zdefiniowane)
+ bezpośrednio przed wyprowadzeniem całego nagłówka, a po poleceniu określonym przez atrybut
+ before | ||||||||||||||||||||||||
+alternative |
| ||||||||||||||||||||||||
+command | \command#1#2 --
+jeżeli polecenie jest zdefiniowane, to jest ono wywoływane każdorazowo przy wyprowadzaniu nagłówka;
+za #1 jest podstawiany numer, a za
+#2 treść nagłówka. Dzięki temu mamy nieograniczoną możliwość wpływu na skład nagłówków.
+ | ||||||||||||||||||||||||
+numbercommand | \command#1 --
+jeżeli polecenie jest zdefiniowane, to jest ono wywoływane każdorazowo przy wyprowadzaniu nagłówka;
+za #1 jest podstawiany numer nagłówka. Za pomocą tej własności możemy w łatwy sposób spowodować,
+aby po numerze była dostawiana kropka np.: \def\kropka#1{#1.}
+ | ||||||||||||||||||||||||
+textcommand | \command#1 -- j.w. ale
+ za parametr podstawiany jest tekst nagłówka | ||||||||||||||||||||||||
+prefix |
+
| ||||||||||||||||||||||||
+placehead |
+
| ||||||||||||||||||||||||
+incrementnumber |
+
| ||||||||||||||||||||||||
+align |
+
| ||||||||||||||||||||||||
+tolerance | wartość parametru ma wpływ na jakość składu nagłówków i
+ jest przekładana na wartość rejestru \tolerance oraz
+ ma bliżej nieokreślony wpływ na skład w przypadku składu wielokolumnowego
+
| ||||||||||||||||||||||||
+indentnext |
+
| ||||||||||||||||||||||||
+file | nazwa -- własność pozwala na tworzenie
+ różnych wersji nagłówka; w zależności od wcześniej zadeklarowanego skojarzenia
+ (polecenie \coupledocument ) | ||||||||||||||||||||||||
+expansion |
+
| ||||||||||||||||||||||||
+separator | tekst
+ -- tekst (znak) staje się separatorem liczb wchodzących
+ w skład numeru nagłówka (własność może być zmieniona
+ tylko poleceniem \setupheads )
+ | ||||||||||||||||||||||||
+bodypartlabel | nazwa --
+ użycie atrybutu spowoduje, że numer nagłówka będzie poprzedzony
+ tekstem (może być pusty)
+ przyporządkowanego obiektowi nazwa, powołanemu
+ poleceniem \setuplabeltext . Przykład:+ \setuplabeltext[
+ | ||||||||||||||||||||||||
+appendixlabel | nazwa --
+ użycie atrybutu spowoduje, że numer nagłówka będzie poprzedzony
+ tekstem (może być pusty)
+ przyporządkowanego obiektowi nazwa, powołanemu
+ poleceniem \setuplabeltext . Przykład:+ \setuplabeltext[
+ |
+ +Ponadto TeX, jak każdy prawdziwy program public domain, jest +dostępny łącznie z kodem źródłowym i został +zaimplementowany praktycznie na każdej platformie. W rezultacie +użytkownicy TeX-a na całym świecie mogą się porozumiewać (np. wymieniać +dokumenty poprzez pocztę elektroniczną) bez względu na to, na jakim sprzęcie +pracują. TeX działa tak samo na wszystkich platformach.
+ +Wreszcie TeX jest oprogramowaniem otwartym, przez co rozumieć należy +jego zdolność do współpracy z innymi programami. +Częstą sytuacją jest wykorzystanie TeX-a -- programu, który doskonale +działa w trybie wsadowym -- jako ważnego elementu +zautomatyzowanych systemów publikacyjnych, +np. opartych na standardzie SGML. +
+ +
+ +[Spis treści] + +
+
+
+
+
+
+Słowo TeX oznacza także pewien wyspecjalizowany język programowania.
+Jak każdy język programowania, TeX ma specyficzną składnię
+(zawiera m.in. zmienne, instrukcje podstawienia i instrukcje warunkowe,
+ale informacja ta nie powinna odstraszyć początkującego użytkownika)
+oraz pozwala definiować nowe funkcje. Pomiędzy działaniem programu
+TeX a działaniem kompilatora, takiego jak np.
+
+TeX to skomplikowany system, w którego skład wchodzi
+wiele (kilka tysięcy) plików. W tym tekście omówiono
+rolę i przeznaczenie najważniejszych programów
+i typów plików wchodzących w skład systemu TeX.
+Tekst ten nie jest natomiast opisem TeX-a jako języka
+programowania (patrz: Podręczniki dla początkujących).
+
+
+
+
+TeX zna około 300 instrukcji podstawowych (wbudowanych), tworzących jądro
+języka. W codziennej pracy użytkownik nie posługuje się
+instrukcjami wbudowanymi, ponieważ operują one na zbyt niskim poziomie
+abstrakcji. Użytkownik posługuje się instrukcjami (makrodefinicjami,
+makrami) zdefiniowanymi za pomocą instrukcji wbudowanych. Zbiór
+takich instrukcji oraz wzorce dzielenia wyrazów dla różnych języków są
+czytane podczas uruchamiania
+
+
+Kiedy potrzebujemy wygenerować format? Najczęściej w wypadku
+zmiany zestawu potrzebnych wzorców dzielenia wyrazów, aktualizacji makr
+(dotyczy to szczególnie LaTeX-a) albo użycia nowszej wersji samego programu.
+
+Pierwszą rzeczą, którą wykonuje program
+We współczesnych instalacjach uruchomienie programu o nazwie
+
+Oprócz wersji standardowej programu TeX dostępne są
+jego wersje rozszerzone, wzbogacone o nowe
+elementy funkcjonalne.
+
+
+
+
+Plik źródłowy zawiera tekst oraz polecenia języka TeX. Jeżeli polecenia
+opisują wygląd dokumentu, to mówimy o formatowaniu wizualnym,
+a jeżeli dotyczą jego logicznej struktury, to mówimy
+o formatowaniu logicznym. Formatowanie logiczne operuje takimi
+pojęciami, jak tytuł rozdziału, tytuł punktu, tabela, tytuł tabeli, odsyłacz
+itp. Formatowanie wizualne to odstępy, stopień i krój pisma, kolory
+itp. Posługując się TeX-em możemy wykorzystywać oba sposoby formatowania.
+W przypadku tworzenia większych dokumentów znakowanie logiczne ma
+zdecydowaną przewagę nad wizualnym, zwiększa wygodę pracy i jej
+wydajność. Formaty LaTeX i AMSTeX umożliwiają znakowanie logiczne.
+Format Plain nie definiuje struktury dokumentu, umożliwia w zasadzie
+znakowanie wizualne, ale pozwala użytkownikowi na pełną swobodę definiowania
+dowolnej struktury logicznej i na pełne sterowanie procesem składu.
+Innymi słowy: LaTeX (czy AMSTeX) może być traktowany jako gotowy zbiór
+szablonów dla wielu typowych dokumentów, podczas gdy Plain wymaga
+samodzielnego ich zdefiniowania.
+
+Z reguły na początku dokumentu źródłowego
+znajdują się instrukcje, które powodują, że zanim TeX rozpocznie
+składanie jakiegokolwiek tekstu, musi zapoznać się z zawartością
+innych plików, zawierających wymagane makra. Szczególnie dotyczy to
+formatu LaTeX, gdzie obowiązkowe jest wczytanie minimum pliku tzw. klasy
+dokumentu (patrz: LaTeX: pliki .cls, .clo, .sty i .fd).
+
+
+
+
+
+
+Wiele implementacji (np. teTeX) pozwala wygenerować brakujący plik
+
+
+
+
+
+Uwaga: znakomita większość użytkowników TeX-a nie ma potrzeby korzystania
+z programu MetaFont w inny sposób niż przez jego automatyczne
+uruchamianie do generowania brakujących fontów. Coraz częściej używane są
+fonty skalowalne Type 1 (PostScriptowe), ale warto nieco
+wiedzieć także i o tym programie.
+
+
+System MetaFont, podobnie jak TeX, to język programowania i program
+implementujący go.
+Pliki źródłowe
+
+Po wczytaniu bazy MetaFont utworzy (zwykle) opisany wyżej plik
+
+
+Tradycyjne, bitmapowe fonty TeX-owe nie są jedynymi, z których może
+korzystać TeX, np. możliwe jest korzystanie z fontów PostScriptowych
+lub w formacie TrueType.
+
+Warto tu zwrócić uwagę na program MetaPost, będący mutacją
+MetaFont-a. Jest to doskonałe narzędzie do tworzenia
+grafiki obwiedniowej w postaci różnego rodzaju wykresów,
+schematów czy diagramów (również kolorowych).
+
+
+
+
+
+Oryginalne fonty Computer Modern (CM) są 128-znakowe i nie zawierają
+kompletu polskich znaków. Znaki diakrytyczne, niezbędne do składu po polsku
+i w innych językach europejskich, dostępne są w 256-znakowych
+fontach European Computer Modern (EC), opracowanych na podstawie fontów CM
+przez Joerga Knappena i wiele innych osób. Każda współczesna dystrybucja
+TeX-a zawiera zarówno fonty CM, jak i EC. Układ znaków w zakresie
+kodów 0--127 fontów EC różni się nieco od układu CM i w zasadzie
+tylko LaTeX zapewnia mechanizmy przełączania się między nimi (dla użytkownika
+jest to prawie niewidoczne). Dostępne są ponadto fonty PL, w pełni
+zgodne z CM, zawierające dodatkowo wszystkie polskie znaki diakrytyczne oraz
+cudzysłowy stosowane w polskiej typografii. Fonty CM i PL są
+dostępne (w odróżnieniu od fontów EC) także w postaci fontów
+PostScriptowych (skalowalnych).
+
+Omówienie dostępnych polskich fontów, przygotowanych specjalnie dla systemu
+TeX, zawarto w artykule
+
+Polskie fonty komputerowe.
+
+
+
+
+
+Plik
+
+Użycie docelowego formatu PostScript otwiera wiele nowych możliwości,
+niemożliwych do realizacji w tradycyjnym systemie TeX/LaTeX.
+Najważniejsze to: dołączanie praktycznie dowolnej
+grafiki (wektorowej, bitmapowej, kolorowej itd.), wykorzystanie
+kolorów w dokumencie czy korzystanie z różnych
+krojów pisma w formacie Adobe Type 1 (PostScriptowych).
+Więcej informacji na temat fontów i grafiki:
+
+ Instalowanie fontów Type 1/True Type
+ oraz
+
+
+ Włączanie grafik do dokumentów LaTeX2e (plik PDF, ok. 800kb).
+
+
+
+
+
+
+
+
+Klasy i pakiety LaTeX-a są dystrybuowane w postaci plików
+z rozszerzeniem
+
+W rezultacie otrzymujemy wiele plików (o rozszerzeniach
+
+
+W plikach z rozszerzeniami
+
+Aby wydrukować dokumentację pakietu, należy skompilować plik
+
+
+Pliki
+
+Polskie opisy wielu pakietów dostępne są
+w Wirtualnej
+Akademii TeX-owej. Poszukiwanie potrzebnego pakietu może ułatwić
+
+
+zestawienie w układzie tematycznym.
+
+
+
+
+Podobna technika jest stosowana do wstawienia odsyłaczy.
+Informacje niezbędne do ich prawidłowego zdefiniowania są
+zapisywane do pliku z rozszerzeniem
+
+
+
+
+
+
+
+
+W instalacji TeX-owej zgodnej z TDS wszystkie omówione wyżej składniki
+systemu oprócz plików wykonywalnych (i oczywiście oprócz plików
+tworzonych podczas pracy) mają swoje standardowe miejsce w katalogu, którego
+korzeniem jest katalog
+
+
+
+Wszystkie pliki programów znajdują się natomiast w osobnym katalogu,
+którego położenie jest zależne od konkretnej platformy
+i dystrybucji. Ponieważ jednak są one
+wszystkie w jednym
+miejscu ich odszukanie nie powinno stanowić problemu.
+
+
+
+
+
+
+
+[Spis treści]
+
+
+Artykuł
+
+ Implementacje TeX-a
+omawia najważniejsze dostępne dystrybucje. Wskazówki dla chcących szybko
+zaistalować popularną dystrybucję dla Windows zawarto w artykule
+
+ Szybka instalacja MiKTeX.
+
+
+
+
+W przypadku formatu LaTeX (lub jego wersji pdflatex dla programu
+pdfTeX, tworzącego od razu pliki PDF) niezbędne jest określenie wymaganych
+w formacie wzorców przenoszenia wyrazów.
+W LaTeX 2e zestaw reguł przenoszenia wyrazów jest
+deklarowany w pliku o nazwie
+
+MeX
+
+
+(pdf)LaTeX i polski
+
+
+ConTeXt
+
+
+
+[Spis treści]
+
+
+
+
+
+Co jakiś czas na liście dyskusyjnej GUST-u padają głosy świadczące
+z jednej strony o dużym zainteresowaniu sprawami fontowymi,
+a z drugiej strony -- o częstym niezrozumieniu podstawowych
+spraw związanych z fontami.
+ Zainteresowanie fontami jest o tyle uzasadnione, że ostatnimi czasy
+pojawia się na rynku coraz więcej fontów PostScript-owych, dajšcych się
+wykorzystać do składania polskich tekstów – ot, choćby fonty
+dystrybuowane przez firmę ThETA. Te aspekty skłoniły nas do podjęcia próby spisania fontowego
+elementarza dla tych dzielnych adeptów fontologii, którzy nie boją się
+pułapek, od których niestety aż się roi w świecie fontów.
+(Dodatkowe informacje na temat wykorzystania fontów w LaTeX2e można
+znaleźć w dokumentacji Fonty
+w LaTex2e). TeX-owi jest absolutnie obojętne, jakich fontów używamy: czy to są
+mapy bitowe, fonty PostScript-owe w formacie Type 1, czy też
+może egzotyczne fonty „własnego chowu” – nie ma to znaczenia.
+Jedyne, czego potrzebuje TeX, to informacja metryczna, czyli pliki
+ Krótko mówiąc żeby w ogóle „prze-TeX-ować” dokument potrzebne
+są pliki Dopiero sterowniki zamieniając złożone dokumenty, czyli pliki
+ Zgodnie z konwencją przyjętą przez Donalda E. Knutha nazwy
+fontów rodziny Computer Modern zawierają formalny rozmiar fontu
+w punktach, np. Zmiany proporcji wraz ze zmianą stopnia pisma są jak najbardziej
+uzasadnione, małe fonty powinny dla lepszej czytelności mieć nieco
+większe i szersze oczka minuskuł w stosunku do majuskuł.
+Niemniej jednak wydaje się, że Donald E. Knuth nieco
+przesadził z liczbą odmian fontów zmieniając co jeden punkt
+proporcje znaków. W praktyce wystarczyłyby nie więcej niż cztery zakresy:
+pierwszy dla fontów mniejszych niż 8-punktowe, drugi dla fontów od
+8 do 12 punktów, trzeci dla fontów od 12 do –
+powiedzmy – 24 punktów i wreszcie czwarty dla fontów
+tzw. nagłówkowych. Ostatni z wymienionych zakresów nie
+pojawia się w fontach
+ Sporo zamieszania wywołały także jest w tym kontekście godna polecenia. Składniki systemu TeX
+
+TeX jest programem do komputerowego składu tekstu. Razem z edytorem,
+sterownikami umożliwiającymi wydrukowanie czy wyświetlenie złożonego
+dokumentu, wieloma programami towarzyszącymi, takimi jak: MetaFont
+do generowania fontów czy MetaPost do tworzenia grafiki wektorowej,
+BiBTeX do przetwarzania baz bibliograficznych czy MakeIndex do
+sortowania skorowidzów i innych,
+tworzy system do elektronicznego składu komputerowego.
+gcc
,
+istnieje duże podobieństwo.
+TeX czyta plik źródłowy tworząc plik wynikowy, podobnie jak
+w wyniku kompilacji z pliku źródłowego powstaje program.
+Plik wynikowy tworzony przez TeX jest niezależny od platformy
+(może być przenoszony na dowolny komputer lub system operacyjny),
+a także urządzenia, które go wyświetli lub wydrukuje.
+ tex i plik formatu
+
+Najważniejszą składową systemu jest oczywiście sam program tex
+
+(lub tex.exe
), uruchamiany z różnymi parametrami, np.
+tex --ini
czy tex /i
oznacza
+uruchomienie programu tex
w celu utworzenia tzw.
+formatu.
+tex
-a z parametrem
+--ini
i, po przetworzeniu,
+zapisywane do pliku, który nazywamy formatem. Plik formatu ma
+zwyczajowe rozszerzenie .fmt
. Powszechnie używane formaty
+to: Plain (format zaprojektowany przez D.E. Knutha), LaTeX, AMSTeX
+i ConTeXt.
+Istnieje oczywiście więcej formatów i użytkownik ma pełną swobodę
+tworzenia własnego formatu, przeznaczonego do specyficznych zadań.tex
(lub
+jego wersja rozszerzona pdftex
),
+po uruchomieniu, jest przeczytanie formatu. Program umożliwia
+przełączanie pomiędzy poszczególnymi wzorcami dzielenia wyrazów, ale nie
+potrafi dołączyć nowego.tex
bez podawania dodatkowych parametrów tożsame jest
+z uruchomieniem TeX-a wraz z formatem Plain. Z kolei
+uruchomienie np. polecenia latex
oznacza uruchomienie
+TeX-a z formatem LaTeX itp. Z punktu widzenia przeciętnego
+użytkownika nieistotne jest, czy takie polecenie zapisane jest na dysku
+pod nazwą latex
(Unix), latex.exe
(Windows),
+czy latex.bat
(DOS).
+
+Więcej o tworzeniu formatów -- patrz:
+Generowanie formatów
+
+ Plik źródłowy
+
+Po przeczytaniu formatu, TeX rozpoczyna przetwarzanie dokumentu źródłowego.
+Dokument źródłowy, najczęściej mający rozszerzenie .tex
lub
+.ltx
, to zwykły plik tekstowy (ASCII). TeX nie ma nic wspólnego
+z jego utworzeniem czy modyfikowaniem. Dokument źródłowy
+tworzymy/modyfikujemy za pomocą edytora emacs
, vi
,
+joe
, czy jakiegoś innego przez nas ulubionego. Dla systemów
+Windows dostępne są implementacje wymienionych edytorów, a także
+wiele innych edytorów tekstowych o statusie public domain
+bądź shareware. Jeszcze raz
+należy podkreślić, że edytor musi zapisać plik jako zwykły plik tekstowy.
+Dokument źródłowy może być także utworzony automatycznie, np. przez
+odpowiedni skrypt Perlowy. Pliki .tfm
+
+Są to podstawowe pliki, z których korzysta TeX: musi on mieć informacje
+o użytych w dokumencie fontach. Informacje takie nie są zaszyte
+w programie, ale znajdują się w plikach z rozszerzeniem
+.tfm
, zwanych plikami metrycznymi. Tym samym nie ma żadnych
+ograniczeń stosowanych fontów, wystarczy posiadanie odpowiednich plików
+metrycznych. Dla każdego wykorzystywanego w dokumencie fontu, TeX
+z odpowiedniego pliku .tfm
pobiera informacje
+o wymiarach znaków. Oprócz wymiarów (wysokość, szerokość, głębokość
+znaku) plik .tfm
zawiera informacje o podcięciach (kernach)
+oraz spójkach (ligaturach). Nie ma natomiast informacji o kształcie
+znaków, ponieważ te informacje nie są TeX-owi potrzebne. Więcej informacji
+na temat fontów znajduje się w artykule
+
+ Fontowe ABC.
+ .tfm
,,w locie'', o ile odnalezione zostaną pliki
+źródłowe fontu (pliki z rozszerzeniem .mf
). Służy do tego
+opisany w kolejnym punkcie program MetaFont. Program mf
+
+Do generowania fontów wykorzystywany jest system MetaFont,
+także autorstwa D.E. Knutha.
+Jest to program, który tworzy pliki metryczne (.tfm
) oraz pliki
+zawierające mapy bitowe, definiujące kształty poszczególnych znaków
+na podstawie plików źródłowych.
+Pliki źródłowe MetaFont-a (mają one rozszerzenie .mf
)
+opisują znaki w sposób niezależny od rozdzielczości czy konkretnego
+urządzenia drukującego.
+.mf
przetwarzane są przez program mf
+(w systemach DOS/MS Windows będzie to mf.exe
).
+Pierwszą rzeczą wykonywaną po uruchomieniu przez program mf
+jest przeczytanie bazy, która jest tym, czym dla programu TeX
+jest format.
+Plik bazy ma zwyczajowe rozszerzenie .base
+(lub .bas
). W standardowym systemie TeX powinny się
+znajdować dwa takie pliki: plain.base
+i cm.base
.
+.tfm
oraz plik zawierający kształty poszczególnych
+znaków, zapisany w specyficznym dla sterowników TeX-owych bitmapowym
+formacie PK. Mówiąc ściślej, MetaFont tworzy pliki w formacie
+generic (.gf
), ale w instalacjach TeX-a
+automatycznie wywoływany jest program gftopk
konwersji
+do bardziej efektywnego formatu PK. Pliki takie mają rozszerzenie .pk
lub
+.999pk
, gdzie 999
oznacza rozdzielczość fontu.
+Przykładowo, font o nazwie plr10
, w rozdzielczości 600
+DPI będzie znajdował się w pliku plr10.600pk
. Fonty CM, EC i PL
+
+D.E. Knuth opracował zestaw różnych krojów pisma, wzorując się
+na kroju Modern 8A firmy Monotype, i udostępnił je publicznie.
+Fonty te, nazwane Computer Modern, są standardowymi fontami
+używanymi przez TeX-a. Generowane są, oczywiście, za pomocą programu MetaFont.
+Jedną z wielu zalet tych fontów jest to, że zawierają bogaty zestaw
+symboli matematycznych oraz że publicznie dostępne są
+dodatkowe, optycznie do nich pasujące kroje, umożliwiające skład
+w wielu alfabetach, nawet tak egzotycznych jak gruziński czy arabski.
+ Plik .dvi, sterowniki
+
+Wynikiem pracy TeX-a jest zwykle kilka plików, z których najważniejszym
+jest
+plik z rozszerzeniem .dvi
, który może być wyświetlony na
+ekranie bądź wydrukowany. Plik .dvi
zawiera dla każdego znaku na
+stronie jego współrzędne oraz informację, z jakiego fontu pochodzi dany
+znak, nie zawiera natomiast definicji kształtów znaków. Do wydrukowania lub
+wyświetlenia na ekranie pliku .dvi
potrzebny jest odrębny
+program zwany sterownikiem. W systemach Unix takim sterownikiem
+ekranowym jest np. program xdvi
, w Windows
+windvi
lub yap
. Dopiero sterownik korzysta
+z plików zawierających definicje kształtów znaków (np. z plików
+PK). .dvi
można zamienić na plik w formacie PostScript.
+Służy do tego program dvips
. Wynikowy plik możemy wydrukować
+bezpośrednio na drukarce PostScriptowej, a także wyświetlić na ekranie
+lub wydrukować na dowolnej innej drukarce, wykorzystując interpreter tego
+języka Ghostscript
.
+ Plik .log
+
+Plik .log
zawiera komunikaty i ewentualne ostrzeżenia
+TeX-a, wygenerowane podczas kompilacji dokumentu. Przeglądanie tego
+pliku może być często pomocne w diagnostyce błędów.
+ LaTeX
+
+LaTeX jest bardzo rozbudowanym zestawem makr, zawierającym wiele mechanizmów
+opisu struktury logicznej dokumentów. Jak wspomniano powyżej, zestaw taki,
+wraz z wzorcami dzielenia wyrazów, jest wstępnie prekompilowany
+i używany jako tzw. format. LaTeX to obecnie najbardziej
+rozpowszechniony format i dostarczany w każdej dystrybucji
+stanowi tym samym ważny sładnik systemu TeX. Twórcą LaTeX-a jest
+Leslie Lamport. Zaprojektowany przez niego zestaw makr został ,,zamrożony''
+jako tzw. LaTeX 2.09 i praktycznie nie jest już używany.
+Obecnie używany LaTeX to intensywnie rozwijany przez tzw. LaTeX Team
+projekt, określany jako LaTeX2epsilon (LaTeX2e).
+
+
+ LaTeX: pliki .cls, .clo, .sty i .fd
+
+Oprócz informacji z plików .tfm
, LaTeX czyta także
+pliki .cls
+i .clo
(klasy) oraz .sty
(pakiety). Klasa to
+plik(i) zawierający specyficzne instrukcje służące do sformatowania dokumentu
+określonego typu, np. książki, artykułu czy listu. Wczytanie pliku klasy
+jest w LaTeX-u obowiązkowe. Pliki .sty
rozszerzają
+możliwości LaTeX-a. Podstawowy LaTeX nie umożliwia np. dołączania grafiki,
+kolorowania tekstu, automatycznego łamania długich tabel itd. Do wykonania
+takich zadań służą właśnie pakiety. .dtx
.
+Plik taki zawiera definicje poleceń dla LaTeX-a oraz dokumentację pakietu
+(opis techniczny i podręcznik użytkownika).
+Instalacja pakietu dostarczonego w pliku (lub plikach)
+.dtx
polega na skompilowaniu pliku o nazwie
+takiej jak nazwa pliku .dtx
,
+ale z rozszerzeniem .ins
(zwykle plikowi .dtx
+towarzyszy odpowiadający mu plik .ins
):tex plik.ins
.cls
, .sty
, .def
+i .fd
lub innych
+rzadziej spotykanych). Wszystkie takie pliki umieszczamy
+w katalogu, w którym LaTeX szuka plików tego typu
+(w strukturze TDS -- patrz niżej -- będzie to podkatalog w ramach
+texmf/tex/latex/
).
+.fd
znajdują się instrukcje
+definiujące dostępne w danej instalacji LaTeX-owej fonty. Oznacza to,
+że w przypadku posługiwania się LaTeX-em, sam plik .tfm
nie
+wystarczy do tego, żeby system potrafił z niego skorzystać. Konieczne
+jest, aby font był ,,zarejestrowany'' w systemie. Rejestracja ta odbywa
+się przez zainstalowanie odpowiedniego pliku .fd
+w strukturze katalogów przeszukiwanych przez LaTeX-a. .dtx
(polecenie latex plik.dtx
). Czasem
+niezbędne jest dwukrotne, a nawet trzykrotne uruchomienie tego
+polecenia, dzięki czemu dokumentacja będzie zawierała prawidłowe odsyłacze,
+spis treści itp. .dtx
i .ins
nie są wykorzystywane
+w codziennej pracy. Po zainstalowaniu pakietu
+można je usunąć z systemu. Inne pliki tworzone przez LaTeX-a
+
+Wymienione poniżej pliki pomocnicze są tworzone przez LaTeX-a na żądanie
+użytkownika, tzn. tylko wtedy, gdy dokument zawiera takie opcjonalne elementy,
+jak: spisy treści, bibliografie i skorowidze. Przykładowo, plik
+.toc
powstanie tylko wtedy, gdy dokument ma zawierać spis treści.
+
+ Pliki .toc, .lot i .lof
+
+Powstałe w wyniku kompilacji dokumentu LaTeX-owego pliki
+z rozszerzeniami .toc
,
+.lot
oraz .lof
zawierają spisy treści,
+tabel i rysunków.
+LaTeX przetwarza dokument strona po stronie, dlatego w pojedynczym
+przebiegu niemożliwe jest wstawienie spisu treści na początku
+dokumentu, ponieważ jego treść nie jest jeszcze znana. Podobnie ma
+się sprawa ze spisami tabel czy rysunków.
+Rozwiązanie tego problemu jest tyle proste, co skuteczne.
+Podczas pierwszej kompilacji do plików
+pomocniczych zapisywane są odpowiednie informacje, które są następnie
+wykorzystywane podczas drugiej kompilacji. Patrz też:
+
+
+Spisy w LaTeX-u.
+.aux
.
+ Pliki .idx, .ind i .ist
+
+Plik z rozszerzeniem .idx
zawiera hasła skorowidza.
+Hasła te powinny być następnie posortowane przez
+program makeindex
albo plmindex
.
+Drugi z tych programów, będący
+zmodyfikowaną wersją pierwszego, jest zdolny do tworzenia skorowidza
+zarówno według reguł angielskich, jak i polskich.
+Wynikiem działania programu
+makeindex
/plmindex
jest
+plik z rozszerzeniem .ind
, który zawiera
+gotowy do przetworzenia przez LaTeX-a skorowidz.
+Postacią tworzonego skorowidza można sterować w ograniczony sposób
+za pomocą specjalnych instrukcji zapisanych w pliku
+.ist
(index style).
+Dodatkowo powstający plik .ilg
zawiera komunikaty pracy programu
+makeindex
/plmindex
.
+Patrz też
+Wszystko o indeksowaniu.
+
+ Pliki .bib, .bbl i .bst
+
+Do przygotowywania spisów bibliograficznych służy program BibTeX. Jest to
+narzędzie przydatne dla osób piszących np. prace naukowe, które to prace,
+jak wiadomo, zawierają wiele odwołań do innych dokumentów. Informacja
+bibliograficzna jest przechowywana w pliku .bib
. Każda
+pozycja jest oznaczona etykietą. W dokumencie LaTeX-owym zamiast pełnej
+treści odwołania wstawiamy etykietę, którą podczas kompilacji LaTeX zapisuje
+do pliku .aux
. Na podstawie pliku .aux
program
+BibTeX tworzy spis bibliograficzny, obejmujący oczywiście tylko te pozycje
+z pliku .bib
, które były cytowane w dokumencie. Spis
+jest formatowany według specyfikacji zawartej w pliku .bst
+i zapisywany do pliku .bbl
. Komunikaty programu BibTeX są
+zapisywane do pliku .blg
. Dwa kolejne przetworzenia dokumentu
+powodują poprawne sformatowanie bibliografii i odwołań. Patrz też
+Bibliografia w LaTeX-u.
+
+ Bibliografia w LaTeX-u Rozszerzone wersje programu TeX
+
+We współczesnych dystrybucjach oprócz programu tex
+dostępne są jego rozszerzone wersje:
+
+
+
+
+
+PDF
, w trybie pracy
+ tworzącym standardowe pliki DVI
pdfTeX jest w pełni
+ zgodny z programem TeX; pdfTeX wraz z zestawem odpowiednich
+ makr pozwala tworzyć interaktywne dokumenty hipertekstowe
+ i atrakcyjne prezentacje; od 2004 roku pdfTeX jest rozwijany jako
+ pdfeTeX (patrz niżej); obszerne omówienie pdfTeX-a zawiera
+artykuł G. Sapijaszko:
+
+Tworzenie dokumentów PDF
+ przy pomocy LaTeX-a;
+DVI
bądź PDF
; od roku 2007 pdftex
+i pdfetex
to ten sam program;
+ TDS
+
+TDS (ang. TeX Directory Structure) oznacza standardową strukturę
+katalogów systemu TeX. Współczesne instalacje TeX-a są w zdecydowanej
+większości zgodne z TDS. texmf
. Umiejscowienie tego katalogu
+w systemie plików jest zależne od lokalnej konfiguracji, np. w systemie
+Linux może to być /usr/TeX/texmf/
, a w systemie
+Windows np. C:\tex\texmf\
. Warto tu podkreślić, że
+z zawartości katalogu texmf/
mogą korzystać różne systemy
+operacyjne, wystarczy, aby został on udostępniony w instalacji sieciowej
+lub zamontowany. Innymi słowy: zawartość texmf/
jest
+niezależna od platformy (komputera i systemu operacyjnego);
+katalog z taką samą zawartością można mieć np. w pracy na maszynie
+Sun z systemem Solaris i w domu na PC z Windows bądź Linux.
+Poniżej wymieniono najważniejsze podkatalogi drzewa texmf/
:
+
+
+Miejsce, w którym znajdują się pliki zawierające fonty bitmapowe
+w formacie PK, jest zależne od konkretnej platformy systemowej
+i dystrybucji. W systemach Unixowych pliki te są często generowane
+w katalogu udostępnionym do zapisu dla wszystkich użytkowników
+i kontrolowane przez demona texmf/web2c/
+ texmf/tex/
+ generic/
zawiera biblioteki współużytkowane przez różne
+ formaty;
+ latex/
zawiera biblioteki klas, stylów, plików
+ .def
i .fd
dla LaTeX-a.
+ Inne podkatalogi katalogu tex/
zawierają biblioteki
+ przeznaczone dla innych formatów.
+texmf/fonts/
+ source/
to miejsce, w którym znajdują się
+ źródłowe pliki MetaFonta; type1/
zawiera
+ fonty PostScriptowe (pliki .pfa
+ lub .pfb
);
+ tfm/
zawiera pliki .tfm
;
+enc/
pliki przekodowań fontów zaś map/
pliki map
+fontowych.
+ Mogą też znajdować się tam inne katalogi,
+ np. truetype/
, jeżeli instalacja
+ wykorzystuje fonty w formacie TrueType.
+texmf/dvips/
+ cron
(po upływie pewnego czasu
+są automatycznie usuwane). W instalacjach jednostanowiskowych pliki PK
+mogą być deponowane w katalogu texmf/fonts/pk/
.
+Web2c
+
+Web2c jest systemem do generowania kompletnego środowiska TeX-owego
+dla różnorodnych platform, nie tylko Unixowych, ale ostatnio
+Windows 9x/NT, Amiga, a nawet MS DOS. W oparciu o Web2c
+zbudowane są dystrybucje teTeX (Unix, Linux), W32TeX (Windows)
+i djgpp (MS DOS). Więcej szczegółów zawarto w artykule
+
+Web2c,
+gdzie wymieniono też programy tworzone w tym środowisku. Jak zacząć pracę z TeX-em
+
+[Część ta na razie zawiera tylko
+pobieżne omówienie implementacji TeX-a i generowanie formatów.]
+
+
+Archiwa TeX-owe
+
+Oprogramowanie dla systemu TeX gromadzone jest
+na serwerach CTAN (Comprehensive TeX Archive Network)
+usytuowanych w Niemczech,
+Anglii
+i USA. Archiwa CTAN
+posiadają wiele kopii (mirror) na całym świecie, w Polsce
+pełna kopia dostępna jest na FTP GUST, zaś
+prace polskich użytkowników gromadzone są
+w Archiwum GUST.
+Na serwerach CTAN i ich kopiach dostępne są implementacje
+dla większości obecnie używanych systemów operacyjnych, a także
+bogate archiwa makr, fontów i oprogramowania towarzyszącego.
+
+Generowanie formatów
+
+Generowanie formatu polega na uruchomieniu programu tex
+(lub pochodnego, np. pdfetex
)
+z parametrem --ini
i przetworzeniu odpowiedniego
+pliku inicjującego. Plik taki zawiera najczęściej deklaracje wczytania
+pliku z makrami, wzorców przenoszenia wyrazów oraz ewentualne inne
+polecenia dla TeX-a, wymagane
+dla danego formatu. Dzięki takiemu podejściu możliwe było zbudowanie
+programów, które ułatwiają generowanie różnorodnych formatów. Programy takie
+nie tylko uruchamiają tex
-a, ale też umieszczają wygenerowany
+plik w odpowiednim katalogu instalacji, tworzą polecenie uruchamiania
+TeX-a (lub jego odmian pdfTeX, eTeX, Omega) z danym formatem, wreszcie
+odświeżają bazę danych instalacji (co przyspiesza znajdywanie potrzebnych
+plików w codziennej pracy).language.dat
,
+który znajduje się zwykle w podkatalogu
+tex/generic/config/
lokalnej konfiguracji systemu
+TeX bądź głównego katalogu instalacji. Modyfikacja
+language.dat
polega na usunięciu w tym pliku znaku
+`%' przed deklaracją potrzebnych wzorców (dla języka polskiego jest to plhyph.tex)
+i ewentualnym zablokowaniu takim znakiem
+niepożądanych deklaracji wzorców dzielenia wyrazów. Reasumując, dla
+formatu LaTeX (pdfLaTeX) należy najpierw wybrać potrzebne wzorce dzielenia wyrazów,
+a następnie uruchomić generowanie formatu.
+
+
+
+
+
+texmf/web2c/
+(niekiedy jest to katalog texmf-var/web2c/
, dedykowany na lokalne
+pliki danej instalacji). W podkatalogu web2c/
znajduje
+się także plik konfiguracyjny fmtutil.cnf
dla programu
+fmtutil
automatyzującego generowanie formatów.
+Plik ten można modyfikować zgodnie z zawartymi w nim wskazówkami,
+co zwykle polega na odblokowaniu deklaracji interesującego nas formatu
+(usunięciu znaku komentarza #) bądź zablokowaniu deklaracji formatów
+niepożądanych, po czym, po zapisaniu pliku,
+uruchomienie programu: fmtutil --all
+wygeneruje wszystkie zadeklarowane formaty, fmtutil --byfmt
+nazwa_formatu
wygeneruje dany format (fmtutil --help
+wyświetla dostępne opcje). W systemach Unix i Linux
+modyfikowanie fmtutil.cnf
możliwe jest po uruchomieniu
+programu texconfig
i wybraniu menu Formats
.
+Modyfikacja pliku z deklaracjami wzorców
+przenoszenia wyrazów (dla LaTeX jest to language.dat
)
+dostępna jest z kolei z menu Hyphenation
.
+Po zakończonej edycji texconfig
automatycznie uruchomi
+program fmtutil
i wygeneruje format(y).MiKTeX Options
, uruchamiające program mo.exe
+(program można uruchomić także z wiersza poleceń). W podmenu
+TeX Formats
można wybrać potrzebny format, po czym,
+po naciśnięciu przycisku Build
, wygenerować go. Możliwe jest
+deklarowanie nowych formatów. Deklaracje
+formatów są przechowywane w pliku miktex/config/formats.ini
+lokalnego (bądź, przy jego braku, głównego) drzewa instalacji.
+Podobnie jak w dystrybucjach opartych
+na Web2c, generowanie formatu LaTeX wymaga uprzedniego zadeklarowania
+wymaganych wzorców przenoszenia wyrazów. Służy do tego podmenu
+Languages
(patrz uwagi zawarte powyżej, dotyczące formatu
+LaTeX).
+MiKTeX Options -- Formats
zawiera deklaracje dla polskich
+formatów mex, pdfmex
.
+Pliki formatów umieszczane są w podkatalogu miktex/fmt/
+lokalnego drzewa instalacji (bądź, przy jego braku, głównego drzewa
+instalacji).
+Tworzenie formatów dla języka polskiego
+
+Zanim przedstawimy szczegóły dotyczące generowania formatów
+dla języka polskiego, zainteresowanych Czytelników zachęcamy
+do przeczytania artykułu o problemach związanych
+
+z kodowaniem
+polskich liter.
+
+ Podręczniki dla początkujących
+
+
+
+
+
+T. Przechlewski i S. Wawrykiewicz
+Ostatnie zmiany: 25.06.2008.
+
+
diff --git a/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/fonty/back.gif b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/fonty/back.gif
new file mode 100644
index 00000000000..a694ae1ec3f
Binary files /dev/null and b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/fonty/back.gif differ
diff --git a/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/fonty/font-abc.html b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/fonty/font-abc.html
new file mode 100644
index 00000000000..d339efd30d1
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/fonty/font-abc.html
@@ -0,0 +1,806 @@
+
+
+
+
+
+
+ Fontowe ABC
+
+
+
+
+DVIPS
+
+
+
+Fonty „TeX-owe” czyli pliki
+TFM
+
+TFM
(TeX Font Metric). Pliki metryczne, jak sama nazwa
+wskazuje, zawierają w pierwszym rzędzie informację
+o rozmiarach znaków, ale także informację o wielkości kernów
+(podcięć) dla par znaków, informację o wielkości korekty kursywy
+(italic correction dla poszczególnych znaków oraz – choć
+trudno to zakwalifikować jako informację metryczną – informację
+o ligaturach, tzn. informację, które pary znaków mają być
+zastępowane automatycznie innym znakiem, np. dwa umieszczone obok
+siebie znaki --
zamienione zostaną przez TeX-a przez
+pojedynczy znak „–” zwany pauzą półfiretową (endash).TFM
.Fonty
+„właściwe”
+
+DVI
, na postać widoczną już to na papierze, już to na
+ekranie, już to na jakimś innym nośniku potrzebują tych „właściwych
+fontów”.Fonty rodziny Computer
+Modern
+
+cmr10
(font 10-punktowy),
+cmbx7
(font 7-punktowy), itp. Należy tu podkreślić, że
+font cmr12
nie jest równoważny fontowi zdefiniowanemu jako
+cmr10
at
12pt
–
+chociaż oba fonty mają wielkość 12 punktów, to jednak proporcje
+znaków w obu fontach są inne. Tę samą cechę dziedziczą oczywiście
+fonty wywodzące się z rodziny Computer Modern (Computer Concrete,
+EC
, PL
), a także fonty rodziny
+Euler
, fonty cyryliczne, i inne fonty tworzone
+w duchu konwencji rodziny Computer Modern.Computer
Modern
. Font calowy
+cminch
, przeznaczony do nagłówków, jest w istocie
+przeskalowanym proporcjonalnie fontem cmssbx10
. Innymi
+słowy dokładnie ten sam efekt uzyskałoby się za pomocą instrukcji
+\font
\f
+cminch
\f
i za pomocą instrukcji
+\font
\f
+cmssbx10
at
1.44in
+\f
. Jedyna różnica polega na tym, że font cminch
+jest nieco „oszczędniejszy” – zawiera tylko duże litery
+i cyfry.plain
-owe instrukcje
+\magstephalf
i \magstep
sugerujące, że
+jedyne „legalne” powiększenia fontów to 109,5%, 120%, 144%, 172,8%,
+207,4% lub co najwyżej 248,8% (p. The TeX book,
+str. 17). Mimo iż nie jest to nigdzie expressis verbis
+powiedziane, to jednak sporo nieporozumień narosło na tym tle. Trudno
+się temu dziwić, skoro prawie wszystkie pakiety zawierające fonty
+TeX-owe w postaci map bitowych (p. niżej) stosowały się do
+tej reguły, tzn. mapy bitowe generowane były tylko dla
+wymienionych wyżej powiększeń. Chcąc w dokumentach TeX-owych
+w sposób jednolity korzystać z fontów tradycyjnych, czyli
+bitmapowych, i z fontów PostScript-owych, nie należy
+przejmować się zanadto rozpowszechnionym obyczajem mającym swe korzenie
+w czasach, gdy komputery były wolniejsze i wygenerowanie
+fontu „od ręki” było zbyt kosztowne. Rzadko używana instrukcja
+postaci
+ \font... at ...
+
+
+
W tradycyjnej konfiguracji systemu TeX podstawowymi fontami są
+mapy bitowe (pliki GF
– generic font) generowane
+przez program METAFONT. Najczęściej używanym formatem jest jednak nie
+format GF
, a nieco oszczędniejszy
+format PK
(packed). Do zamiany służy program
+GFTOPK
, z reguły wywoływany automatycznie
+w procesie generowania fontów.
Fonty bitmapowe generowane są dla konkretnej wielkości pisma +i konkretnego urządzenia, tzn. zawierają pewne +informacje pozwalające na danym urządzeniu – ekranie czy drukarce – +uzyskać optymalny wygląd znaków. Stąd np. odrębne fonty dla +drukarek laserowych i drukarek atramentowych o tej samej +rozdzielczości 300dpi.
+ +TeX – jak już wspomnieliśmy – pozwala skalować całość dokumentu +lub poszczególne fonty:
+ ++\magnification2000 +\font\A plr10 scaled \magstep3 +\font\B plr10 at 28.5pt ++ +
gdzie plr10
oznacza nazwę fizycznie posiadanego na
+dysku pliku plr10.tfm
. TeX przeskaluje font
+plr10
tak, jak sobie tego życzymy, a ściślej –
+przeskaluje informację metryczną związaną z fontem. Żeby móc
+zobaczyć, jak wyglądają znaki przeskalowanego fontu, należy skorzystać
+z METAFONT-a, który oczywiście potrafi generować fonty dowolnie
+przeskalowane.
Fonty PK
zwykle przechowywane są w katalogach
+o nazwach zawierających liczbę wynikającą z przemnożonenia
+rozdzielczości przez przeskalowanie, np. fonty
+o rozdzielczości 300dpi ( dots per inch) powiększone
+o 20% (\magstep1
) znajdą się w katalogu
+o nazwie 360dpi
, dpi360
lub jakimś
+innym, podobnie nazwanym. Jeśli system operacyjny zezwala na nadawanie
+plikom długich nazw, to przeskalowanie może być wpisane w nazwę
+pliku, np. .../fonts/pk/laserjet/pl/plr10.360pk
.
Standardowe sterowniki przetwarzające pliki DVI
czy to
+na postać wyświetlaną na ekranie, czy też drukowaną, używają fontów
+PK
i posiadają mechanizm przeszukiwania odpowiedniej
+struktury katalogów lub interpretacji nazw fontów przeskalowanych.
+Sterowniki te pozwalają zwykle na bardzo szybkie wyświetlenie
+składanego tekstu. Współczesne sterowniki posiadają także możliwość
+współpracy z METAFONT-em – potrafią przekazać informację
+o brakujących fontach i uruchomić METAFONT-a, wstrzymując
+pracę do czasu zakończenia procesu generowania brakujących fontów.
+Dzięki temu nie ma obecnie potrzeby trzymania na dysku olbrzymich
+bibliotek fontów w formacie PK
, wystarczą pliki
+źródłowe fontów i odpowiednio skonfigurowane łącze
+sterownik-METAFONT (program lub skrypt) by zautomatyzować proces
+generowania fontów. Dla bardzo rozpowszechnionych sterowników
+z pakietu emTeX
będzie to program MFjob
+(MS-DOS
, OS/2
), zaś dla systemów opartych na
+web2c
– skrypt mktexpk
(różne wersje
+Unix
, Windows
i Amiga
).
Jeżeli chodzi o PostScript, to ten „właściwy font” – mowa tu
+o fontach zapisanych w formacie Adobe Type 1 – zawarty
+jest w pliku z rozszerzeniem .pfb
+(PostScript Font Binary) lub .pfa
(
+PostScript Font ASCII). Natomiast o plikach
+TFM
w świecie PostScript-owym mało kto słyszał. Na
+szczęście dobrzy ludzie z firmy Adobe wymyślili coś podobnego do
+tego, co wymyślił Donald E. Knuth, mianowicie pliki metryczne AFM
+(Adobe Font Metric). Różnią się one trochę od plików
+TFM
(np. pliki AFM
są plikami
+tekstowymi), ale mimo różnic jest możliwe by na podstawie pliku
+AFM
utworzyć plik TFM
.
Zanim pójdziemy dalej trzeba wyjaśnić jedną rzecz, mianowicie
+w jaki sposób są reprezentowane znaki. Jeżeli chodzi o plik
+DVI
to odpowiedź jest trywialna: jako liczby
+z zakresu 0
--255
. Przy tworzeniu pliku
+PostScript-owego za pomocą sterownika sytuacja nie ulega
+zmianie, to znaczy w pliku PostScript-owym znaki też są
+reprezentowane w zasadzie jako liczby z zakresu
+0
--255
, czasem w reprezentacji ASCII,
+a czasem w reprezentacji ósemkowej. Natomiast we „właściwym
+foncie” PostScript-owym, podobnie zresztą jak w foncie
+METAFONT-owym, jest inaczej: znaki są zasadniczo reprezentowane za
+pomocą nazw w rodzaju „period”, „periodcentered”, „lslash”,
+„aogonek”, itp.
Formalnie rzecz biorąc font PostScript-owy jest programem, +a nazwy znaków są nazwami podprogramów opisujących kształt znaków +za pomocą – znów podobnie jak w programach METAFONT-owych – +krzywych trzeciego stopnia, zwanych krzywymi Béziera. Dodatkowo +podprogramy te opisują niektóre szczegóły procesu zamiany obwiedni na +mapy bitowe (tzw. hinty czyli podpowiedzi), bo przecież +ostatecznie znak zostanie wyświetlony na ekranie, wydrukowany na +drukarce lub naświetlony na diapozytywie, czyli musi zostać zamieniony +na postać dyskretną.
+ + + + + + +Skąd zatem PostScript trafiając na jakąś liczbę „wie”, że ma użyć +procedury o nazwie, powiedzmy, „aogonek”?
+ +Aaa, właśnie! Tu jest pies pogrzebany. We „właściwym foncie”
+PostScript-owym jest zawarta dodatkowa informacja, mianowicie tabela
+par (liczba, nazwa) przyporządkowująca liczbom z zakresu
+0
--255
nazwy podprogramów opisujących znaki.
+Tablica ta (czasem zwana wektorem) nosi nazwę „Encoding”, co jest
+może mało istotne, natomiast istotne jest to, że tablicę tę można
+„w locie” zmienić. Z tej możliwości korzysta m.in.
+sterownik DVIPS
(p. niżej).
W pliku AFM znajduje się również informacja
+o przyporządkowaniu liczba-nazwa, (w zasadzie można zakładać,
+że jest to to samo przyporządkowanie, co w pliku
+PFB
/PFA
). Na ogół nie jest to
+przyporządkowanie, o które by nam chodziło. Ale nie ma biedy –
+DVIPS
-owi można podać dowolne przyporządkowanie,
+które zostanie użyte w tworzonym przezeń pliku
+PostScript-owym.
Konwertery AFM->TFM
na podstawie nazw generują
+stosowne przyporządkowanie, lub nawet wiele przyporządkowań, a dla
+każdego z takich przyporządkowań tworzony jest odpowiadający mu
+plik TFM
.
Najpowszechniej używanym konwerterem jest program
+AFM2TFM
, należący do standardowej dystrybucji sterownika
+DVIPS
. Konwerter o nazwie TOIL,
+bazuje na programach AWK
oraz METAFONT Warto też wspomnieć
+o pakiecie VFINST
, oferującym liczne możliwości,
+bazującym na fontach wirtualnych.
Aby konwertery AFM->TFM
mogły działać jak należy,
+nazwy podprogramów muszą być zgodne z ich treścią. Tak niestety
+nie zawsze jest, np. pod nazwą „Sterling” zamiast opisu znaku
+funta można znaleźć opis polskiego „Ł” czyli „Lslash”. Pomysłów na
+cudaczne nazewnictwo jest mniej więcej tyle, ile tzw. standardów
+kodowania znaków, czyli infinity.
Z niepoprawnymi nazwami można sobie poradzić. Co nam zależy, +przecież „onesuperior” brzmi równie ładnie jak „aogonek”, +nieprawdaż? Problem jedynie w tym, że z góry nie wiadomo, że +producent uznał „onesuperior” za odpowiednią nazwę dla polskiej +litery „ą”. We wspomnianych fontach firmy ThETA (p. niżej) +akurat tak jest, ale tak bynajmniej być nie musi, w końcu jakiś +szaleniec może się pogodzić z propozycją Adobe i użyć dla +podprogramu opisującego „ą” nazwy „aogonek”…
+ +Jakby nie dość było problemów, oprócz nazewnictwa ewidentnie
+niepoprawnego możemy się zetknąć z obocznością! Otóż niektórzy
+producenci dla określenia znaków „ż” i „Ż” używają nazw
+„zdot” i „Zdot”, a niektórzy „zdotaccent”
+i „Zdotaccent”. Nie znalazłem jednoznacznego stanowiska firmy
+Adobe w tej sprawie, ale na ogół obowiązuje zasada „sklejania”
+nazw: „a” + „grave” = „agrave”; skoro więc istnieje znak
+„dotaccent” (nazwa używana przez Adobe), to „ż” należy rozumieć
+jako „z” + „dotaccent” czyli „zdotaccent”. Innymi słowy zalecać
+by należało używanie nazw „zdotaccent” i „Zdotaccent”, ale być
+może konwertery AFM->TFM
powinny być uwrażliwione na tę
+oboczność.
Plik TFM
zawiera jeszcze informację o parach
+kernowych i ligaturach. Pary kernowe, uwzględniane „jak leci”
+przez większość konwerterów AFM->TFM
, na ogół są
+umieszczane jak należy w plikach AFM
, chociaż czasami
+można trafić na felerne pliki AFM
bez par kernowych.
+Obecność par kernowych poznajemy to po występowaniu wierszy
+zaczynających się od słowa kluczowego „KPX”. Warto mieć na uwadze, że
+bywają pliki AFM
posiadające tylko część par kernowych –
+np. znaki diakrytyczne czasami nie są uwzględniane – dobrze jest
+sprawdzić plik AFM
pod tym kątem.
Z ligaturami jest znacznie gorzej – można je bardzo rzadko
+uświadczyć, mimo iż teoretycznie format AFM
pozwala na
+definiowanie ligatur, np. poniższy przykładowy wiersz pliku
+AFM
:
+ C 45; WX 329; N hyphen; B 17 188 313 303; L hyphen endash; ++ +
zgodnie ze specyfikacją Adobe ustala, że znak o kodzie
+45
ma szerokość 329
jednostek (jednostka =
+1/1000em), nosi nazwę „hyphen”, że naroża prostokąta ograniczającego
+obrys znaku mają współrzędne wynoszące w tych samych jednostkach
+(17, 188) oraz (313, 303), i wreszcie że dwa znaki „hyphen” mają
+być zamieniane na znak o nazwie „endash”, czyli innymi słowy
+znak o nazwie „endash” jest ligaturą dwóch znaków o nazwie
+„hyphen”.
W związku z powszechnym brakiem informacji
+o ligaturach w plikach AFM
, konwertery
+AFM->TFM
muszą albo się domyślić, jakie by tu ligatury
+można wstawić, albo – co chyba jest lepszym rozwiązaniem – zostać
+poinformowane o prawidłowych dla danego fontu (grupy fontów)
+ligaturach.
DVIPS
Popularny sterownik DVIPS
, autorstwa Tomasa Rokickiego,
+zamieniający pliki DVI
na pliki PostScript-owe musi
+wiedzieć – podobnie jak każdy sterownik – gdzie znajdują się fonty
+TeX-owe i PostScript-owe. Informację tę zawierają pliki
+config.ps
i psfonts.map
, poszukiwane
+w kartotekach wskazywanych przez zmienną systemową
+TEXCONFIG
(we współczesnych instalacjach zmienna ta jest
+już zwykle zadeklarowana w pliku konfiguracyjnym
+texmf.cnf
).
Plik config.ps
zawiera informacje o parametrach
+pracy programu.
+
+Natomiast plik psfonts.map
zawiera informacje związane
+wyłącznie z dostępnymi w danej instalacji fontami
+PostScript-owymi. W pliku psfonts.map
informacje
+o poszczególnych fontach umieszczane są w jednym wierszu (co
+czasem może być kłopotliwe). Typowy wiersz wygląda następująco:
+ec-qplr TeXGyrePagella-Regular "encqec ReEncodeFont" <q-ec.enc <qplr.pfb ++ +
Pierwsza pozycja określa nazwę TeX-ową fontu, druga – wewnętrzną
+nazwę PostScript-ową fontu (robi z niej użytek interpreter
+PostScript-u), następnie pojawia się informacja o dodatkowych
+zabiegach, jakim ma być poddany font (może to być poziome
+przeskalowanie fontu, pochylenie lub zmiana kodowania – w podanym
+przykładzie chodzi o zmianę kodowania), a na końcu pojawiają
+się nazwy plików, które mają zostać dołączone do pliku wynikowego –
+w tym wypadku jest to plik kodowania q-ec.enc
oraz
+font qplr.pfb
.
Podanie nazwy pliku fontowego nie jest konieczne – w takim
+wypadku DVIPS
założy, że chodzi o font wbudowany
+w urządzenie. Gorąco odradzamy korzystanie z tej możliwości
+– opłakane skutki korzystania z fontów wbudowanych można co jakiś
+czas oglądać w materiałach nawet renomowanych firm: a to
+zamiast polskich znaków występują „krzaczki”, a to litery
+zachodzą na siebie, a to skład się zupełnie rozjeżdża…
Plik kodowania zawiera tablicę 256 nazw znaków, określającą omawiane +wyżej przyporządkowanie kod-nazwa. Jest to w istocie fragment kodu +PostScript-owego postaci:
+ ++ /encqec[ + /grave + /acute + /circumflex + ... + /thorn + /germandbls + ] def ++ +
O tym, jaki kod otrzymuje dany znak, decyduje kolejność
+wystąpienia: w tym przypadku na pozycji zerowej (w języku
+PostScript liczenie zawsze odbywa się od zera) występuje znak
+o nazwie grave
(znak „ciach” /
+w notacji PostScript-owej oznacza mniej więcej to samo co znak
+„w-tył-ciach” \
w notacji TeX-owej),znak
+acute
otrzymuje kod 1, znak circumflex
–
+kod 2, …, znak thorn
– kod 254,
+i wreszcie znak germandbls
– kod 255.
+Wystąpienie .notdef
oznacza, że
+w foncie nie ma znaku na pozycji o danym kodzie.
Warto mieć świadomość, że DVIPS
włącza wszelkie pliki
+prawie ich nie analizując, jedyny zabieg przezeń wykonywany to zamiana
+postaci binarnej fontu Type 1 (PFB
) na postać ASCII
+(PFA
). Jeżeli font jest już w postaci ASCII, to
+włączany jest do dokumentu „jak leci”, bez żadnej ingerencji ze
+strony sterownika. Oznacza to, że używając DVIPS
-a możemy
+korzystać ze wszystkich możliwych fontów PostScript-owych, nie tylko
+najbardziej popularnych fontów Type 1, ale w szczególności
+także fontów TrueType, które dla interpretera PostScript-u są po prostu
+fontami Type 42 – wystarczy mieć plik TFM
+i font Type 42 w postaci ASCII.
Używając różnych wymyślnych narzędzi (np. T1UTIL +Lee Hetheringtona) można się zorientować, jakim znakom zostały +przypisane jakie nazwy i w razie czego je poprawić, można też +uzupełniać kerny, itp., ale to jest żmudne i przykre, bo +niepotrzebne zajęcie.
+ + + + + +Czasem fonty PostScript-owe są dystrubuowane z plikami
+PFM
(Printer Font Metric) zamiast z plikami
+AFM.
Brak plików AFM
praktycznie przekreśla
+możliwość użycia fontu PostScript-owego w TeX-u, bowiem pliki
+PFM
zawierają znacznie uboższą informację niż pliki AFM,
+w szczególności nie zawierają nazw znaków, czyli nie
+określają żadnej tablicy kodowania ( encoding vector,
+p. wyżej). Można zakładać, że chodzi o takie samo
+przyporządkowanie, jakie jest wpisane w pliku
+PFB
/PFA
, chociaż w ogólności tak być nie
+musi. Ponadto w pliku PFM
znajdują się dane na temat
+par kernowych jedynie dla co najwyżej 256 znaków, a font
+PostScript-owy może ich zawierać nacznie więcej.
Jeśli jednak szczęście nam dopisze, to z plików
+PFM
oraz PFB
(bądź PFA
) możemy
+odtworzyć informację niezbędną do utworzenia pliku AFM
–
+można spróbować użyć pakietu
+pf2afm, który dostępny jest w archiwum GUST-u.
Ostatnio na rynku polskim pojawiły się godne uwagi polonizacje +fontów firmy BitStream, sygnowane przez firmę ThETA.
+ +Niestety firma ThETA wyraźnie zignorowała rynek TeX-owy, chociaż +może i słusznie zignorowała, skoro TeX-owców jakoś nie widać +i nie słychać, no może z wyjątkiem kilkorga spośród 150 +niegroźnych wariatów zapisanych do GUST-u…
+ +Otóż firma ThETA wydała jak do tej pory 3 płyty CD +z fontami, każda kolejna płyta zawierała inne fonty i była +coraz mniej przydatna dla TeX-owców:
+ +TFM
+przebiegało bezboleśnie i że używanie ich pod Ghostscriptem nie
+wróżyło niebezpieczeństw. Niestety, fonty nie były formalnie poprawne,
+co powodowało, że niektóre RIP-y PostScript-owe sygnalizowały błąd
+podczas przetwarzania tych fontów.JEST | +WINNO BYĆ | +
ordmasculine | +ae | +
ordfeminine | +AE | +
tilde | +ecircumflex | +
circumflex | +Ecircumflex | +
onequarter | +ntilde | +
logicalnot | +Ntilde | +
c157 | +oe | +
c141 | +OE | +
cent | +questiondown | +
florin | +Ydieresis | +
c142 | +Zcaron | +
c158 | +zcaron | +
onesuperior | +aogonek | +
yen | +Aogonek | +
ae | +cacute | +
AE | +Cacute | +
ecircumflex | +eogonek | +
Ecircumflex | +Eogonek | +
threesuperior | +lslash | +
sterling | +Lslash | +
ntilde | +nacute | +
Ntilde | +Nacute | +
oe | +sacute | +
OE | +Sacute | +
questiondown | +zdotaccent | +
macron | +Zdotaccent | +
Ydieresis | +zacute | +
c143 | +Zacute | +
PFM
.AWK
(w wersji GNU), dokonujący
+stosownych zmian w plikach składających się na fonty
+PostScript-owe z dwóch pierwszych płyt. Trzecią płytę można
+podłatać za pomocą wspomnianego pakietu
+pf2afm.
+
+Po takich poprawkach i utworzeniu plików TFM
+większość fontów powinna się dać bez kłopotów używać w dokumentach
+TeX-owych. Niestety większość, a nie wszystkie, bowiem kilkaset
+fontów z pierwszych dwóch płyt można pogrupować
+w kilkadziesiąt różnych klas, w zależności od zestawu znaków.
+Pakiet
+THETAFIX jest przystosowany do jednej z klas, tej najbardziej
+licznej. Ale w złośliwych przypadkach coś może nie zadziałać –
+kłopoty są ceną, jaką się płaci za tanie fonty… Tak, tak,
+1000 zł za kilkaset fontów to stosunkowo tanio.
Warto pamiętać, że font nie tylko musi ładnie w druku wyglądać, +ale i jego dość skomplikowana „wewnętrzna” struktura musi być +zrobiona porządnie.
+ +Jednym z najbardziej dających się we znaki problemów jest +problem układu znaków w foncie. Staranne przemyślenie tego +problemu musi prowadzić do wniosku, że firma Adobe już dawno +temu znalazła wystarczające w większości przypadków +rozwiązanie problemu konfigurowalności układu znaków w foncie. To +bardzo mocny argument na rzecz korzystania z fontów +PostScript-owych w formacie Type 1.
+ +Wprawdzie detale związane z instalowaniem fontów mogą się +wydawać skomplikowane, ale taka jest natura rzeczy. A do czego +prowadzi próba ukrycia tej natury przed użytkownikiem, wielu z nas +boleśnie odczuło w przypadku korzystania fontów TrueType +w systemie Windows. Wprawdzie instaluje się je bardzo prosto (albo +i – nie wiedzieć czemu – nie instaluje), ale praktycznie nie ma +żadnej możliwości rekonfiguracji. Ktoś, kto przenosił fonty +TrueType z jednej wersji systemu Windows do innej, wie o czym +mowa – a to font się w ogóle nie daje zainstalować, +a to inne znaki się pojawiają, niż byśmy chcieli, a to nasza +ulubiona aplikacja albo tego fontu nie widzi, albo się na nim +wywraca…
+ +Mając to na względzie uważamy, że warto poświęcić nieco czasu +i wysiłku na zrozumienie podstaw konfigurowania fontów, zwłaszcza +fontów PostScript-owych w formacie Adobe Type 1 – to +naprawdę w pewnym momencie staje się proste, a tym samym +oczywiście niezwykle użyteczne.
+ + + +Bogusław Jackowski i Staszek Wawrykiewicz + +Powyższy tekst jest zmodyfikowaną wersją artykułu
+z Biuletynu GUST, nr 8/1997, s. 7–12.
+ Ostatnie zmiany 6.03.2008
+ Podczas składania tekstu TeX korzysta wyłącznie z plików
+ metrycznych. Pliki takie mają rozszerzenie .tfm
. Pliki
+ metryczne nie zawierają informacji o kształtach znaków, te są
+ zdefiniowane w innych plikach. Aby mieć możliwość wydrukowania
+ złożonego dokumentu, korzystującego z fontów wektorowych (skalowalnych,
+ np. Type 1) należy plik dvi
zamienić na plik
+ w formacie PostScript. W każdej dystrybucji
+ TeX-a znajduje się program dvips
wykonujący taką zamianę.
+ Program ten korzysta z plików z rozszerzeniem .pfb
,
+ zawierających definicje kształtu znaków; może także korzystać z innych,
+ pomocniczych plików.
+
+ Zainstalowanie fontów Type 1 w systemie TeX polega na + umieszczeniu kilku plików w odpowiednich miejscach. Poniżej + opisano cały proces, biorąc za przykład instalację pakietu fontów + Antykwa Toruńska. +
+ ++ Ponieważ cały proces instalacji fontów Type1 może się wydać nieco + skomplikowany (szczególnie dla początkujących), wymienimy tu pokrótce + poszczególne kroki. Dalsza część zawiera informacje techniczne, które mogą + zainteresować bardziej zaawansowanych użytkowników.
+ +Pakiet fontowy zawiera zwykle kilka rodzajów plików: +.tfm
, z których korzysta TeX.
+ W strukturze katalogów zgodnej z TDS (TeX Directory Structure)
+ instalujemy je w ramach katalogu ~/texmf/fonts/tfm/
.
+ Szczegóły (np. użytą tu interpretację znaku ~
) patrz
+ część dot. samego TeX-a.
+
+ .pfb
, z których korzysta
+ dvips
, instalujemy w ramach katalogu
+ ~/texmf/fonts/type1/
.
+ .enc
, oraz
+ .map
, z których także korzysta
+ sterownik dvips
, instalujemy w ramach katalogu
+ ~/texmf/dvips/
. Dla Antykwy Toruńskiej odpowiedni podkatalog
+ może mieć nazwę antt/
.~/texmf/fonts/
.
+ Tym samym pliki .enc
znajdują się obecnie w katalogu
+ ~/texmf/fonts/enc/dvips/
zaś pliki .map
+ w katalogu ~/texmf/fonts/map/dvips/
.
+ Szczegóły, patrz część dot. Dvips.
+ .sty
oraz .fd
zawierają makra
+ włączania fontu do składu i definicje fontów, przydatne dla
+ użytkowników LaTeX-a. Instalujemy je w ramach katalogu
+ przeznaczonego na makra i style: ~/texmf/tex/latex/
.
+ Jeśli pakiet dystrybucyjny z fontami nie zawiera takich plików,
+ należy je odszukać w innym, towarzyszącym pakiecie.
+ Szczegóły, patrz część dot. LaTeX.
+Po skopiowaniu plików do odpowiednich katalogów i odświeżeniu
+bazy danych instalacji, mapy fontowe powinny być
+następnie zarejestrowane w głównym pliku mapowań
+psfonts.map
. Proces ten jest obecnie znacznie ułatwiony:
+w katalogu ~/texmf/web2c/
znajduje się plik
+updmap.cfg
; należy do niego dopisać deklaracje dodawanych
+do instalacji map fontowych, np:
Map antt-qx.map
Map antt-ec.map
+itd. Następnie należy uruchomić program updmap
, który
+zaktualizuje nie tylko wspomniany psfonts.map
, ale także
+pliki mapowań dla programów pdftex
oraz dvipdfm
.
+
+ Pliki .tfm
powinny być umieszczone w katalogu,
+ w którym TeX szuka tego typu plików. W instalacji TeX-a
+ o strukturze katalogów zgodnej z TDS
+ będzie to ~/texmf/fonts/tfm/
. Znak ~
oznacza
+ tu korzeń drzewa TeX-owego, np. /usr/TeX
lub
+ C:\tex
.
+ Dla wprowadzenia porządku dobrze jest utworzyć podkatalog, który będzie
+ przechowywał nowo instalowane pliki.
+ Pliki metryczne Antykwy Toruńskiej można np. umieścić
+ w katalogu ~/texmf/fonts/tfm/public/antt/
+
texmf.cnf
, znajdujący się
+ zwykle w katalogu ~/texmf/web2c/
.
+ texmf.cnf
zawiera deklaracje określające katalogi,
+ w których znajdują się poszczególne części składowe systemu.
+ I tak zmienna TFMFONTS
określa listę katalogów,
+ w których TeX ma szukać plików TFM.
+ W naszej instalacji zmienna TFMFONTS
ma wartość:
+
++ TFMFONTS = .;{$TEXMF/fonts,$VARTEXFONTS}/tfm// ++ +Użyta tu notacja jest opisana w pliku konfiguracyjnym +
texmf.cnf
. Jej interpretacja
+dla powyższego przykładu brzmi: znajdź pliki .tfm
w katalogu
+bieżącym (kropka) a następnie w podkatalogach, kolejno,
+fonts/tfm/
katalogów z instalacją TeX-ową
+(zmienna $TEXMF
) lub/ewentualnie
+w $VARTEXFONTS/tfm/
i wszystkich ich podkatalogach
+(znaki //
).
+
+
+
+ W przypadku popularnej w środowisku MS Windows dystrybucji
+ MikTeX
+ idea jest podobna ale nieco inne są szczegóły (dystrybucja ta
+ nie jest oparta na Web2c, ale w pełni zgodna z TDS). Główny plik
+ konfiguracyjny miktex.ini
znajduje się w katalogu
+ ~\miktex\config\
.
+ Zapis zmiennych i ich nazwy różnią się od ich odpowiedników
+ w dystrybucjach fpTeX i teTeX.
+ I tak do określenia katalogów zawierających pliki TFM
+ MikTeX używa zmiennej TFMPath
, zaś zapis może wyglądać
+ następująco:
+
+TFMPath=.;%R\fonts\tfm// ++
+Notacja użyta w przykładzie i jej interpretacja
+jest opisana w pliku konfiguracyjnym miktex.ini
+oraz w dokumentacji dystrybucji.
+
+
+ Pliki .afm
(Adobe Font Metric) nie są wprawdzie wykorzystywane
+ przez TeX-a, ale mogą być potrzebne dla innych programów wspomagających.
+ Umieścić je należy w katalogu
+ ~/texmf/fonts/afm/public/antt
.
+
+ Definiowana w pliku texmf.cnf
zmienna
+ AFMFONTS
(lub zmienna AFMPath
+ z pliku miktex.ini
w przypadku dystrybucji
+ MikTeX)
+ określa listę katalogów, w których programy
+ mają szukać plików AFM. W naszej instalacji zmienna
+ AFMFONTS
ma wartość:
+
+ AFMFONTS = .;$TEXMF/fonts/afm// ++ +
+ Pliki .pfm
-- jeżeli takowe są dołączone do pakietu
+ z fontami -- nie są wykorzystywane przez żaden program systemu TeX;
+ można je umieścić, dla porządku, w katalogu
+ ~/texmf/fonts/type1/public/antt
. Pliki te mogą być przydatne
+ w systemach Windows i OS/2 jeśli chcemy korzystać z fontów
+ w innych aplikacjach i jeśli posiadamy program ATM (Adobe Type
+ Manager).
+
+
+ Podstawowymi i najważniejszymi plikami konfiguracyjnymi programu
+ dvips
są: config.ps
oraz psfonts.map
.
+ Pierwszy z nich znajdziemy się w katalogu ~/texmf/dvips/config/
.
+ Plik config.ps
może zawierać deklaracje m.in. używanych przez
+ program map fontowych (standardowo jest to psfonts.map
), zaś
+ plik psfonts.map
zawiera informacje niezbędne do prawidłowego
+ wykorzystania fontu Type 1 przez sterownik; jest to
+ tzw. mapa fontów używanych przez program.
+ Właściwe pliki fontowe (.pfb
) powinny być umieszczone
+ w katalogu przeszukiwanym przez sterownik dvips
.
+ W systemie TeX o strukturze katalogów zgodnej z TDS będzie to
+ ~/texmf/fonts/type1/
. Także w tym przypadku dobrze
+ jest utworzyć podkatalog, np. pliki .pfb
Antykwy Toruńskiej
+ można umieścić w katalogu
+ ~/texmf/fonts/type1/public/antt/
.
+
+ Definiowana w pliku texmf.cnf
zmienna
+ T1FONTS
(lub zmienna Type1Path
+ z pliku miktex.ini
w przypadku instalacji
+ MikTeX)
+ określa listę katalogów, w których dvips
+ ma szukać fontów Type 1. W naszej instalacji (Web2c) zmienna
+ T1FONTS
ma wartość:
+
+ T1FONTS = .;$TEXMF/fonts/type1// ++ +
+ Zawartość plików .map
, dostarczonych zwykle
+ w pakiecie z fontami (dla Antykwy Toruńskiej jest to kilka plików),
+ należy dołączyć do głównego pliku map fontowych
+ psfonts.map
(w strukturze katalogów zgodnej z TDS
+ plik ten znajduje się w katalogu ~/texmf/fonts/dvips/map/updmap/
).
+ Wykonuje to wspomniany powyżej program updmap
.
+ W starszych instalacjach zawartość plików .map
należało
+ ręcznie dopisać do pliku psfonts.map
, albo po prostu
+ zadeklarować je w pliku konfiguracyjnym
+ ~/texmf/dvips/config/config.ps
-- po deklaracji:
+
+p psfonts.map ++dopisać wiersz, np.: +
+p +antt-qx.map ++ itd. (uwaga: znak
+
jest istotny).
+ Pliki .map
należy umieścić w katalogu
+ ~/texmf/fonts/map/dvips/antt/
.
+ Fonty Antykwa Toruńska,
+ Antykwa Półtawskiego,
+ czy TeX Gyre Termes
+ oraz wiele innych posiadają ponadto pliki .enc
potrzebne do
+ zmiany wewnętrznego kodowania fontu na kodowanie wymagane przez TeX-a.
+ Pliki takie należy umieścić w ramach katalogu
+~/texmf/fonts/enc/dvips/
.
+ Dla Antykwy Toruńskiej podkatalog będzie miał nazwę antt/
.
+
+
+ Jeżeli instalujemy font samodzielnie i nie posiadamy gotowego
+ pliku .map
to powinniśmy dokonać odpowiedniego
+ wpisu do głównego pliku mapowego psfonts.map
.
+ Więcej informacji na ten temat można znaleźć w punkcie
+ Pliki konfiguracyjne sterownika DVIPS
+ z artykułu Fontowe ABC,
+ B. Jackowskiego i S. Wawrykiewicza.
+
+Często zadawanym przez użytkowników pytaniem jest: dlaczego dvips
+nie ,,widzi'' standardowych fontów CM w formacie Type 1
+i ładuje zamiast nich fonty bitmapowe (.pk), które źle się prezentują
+na ekranie, szczególnie w powiększeniach?
+Odpowiedź jest prosta: do niedawna fonty CM Type 1 (choć często obecne
+w instalacji) nie były wyszczególnione w pliku
+psfonts.map
. Wynikało to głównie z istnienia dwóch
+dystrybucji BaKoMa i BlueSky Research. Włączenie ładowania fontów
+CM Type 1 przez program dvips
wymaga odblokowania wiersza
+(usunięcia znaku %):
+
+p +bsr.map ++co dołączy mapowania fontów BlueSky Research do standardowych mapowań +deklarowanych w pliku
psfonts.map
.
+
+
+
+ Aby móc wykorzystać zainstalowane fonty użytkownicy LaTeX-a
+ muszą jeszcze zainstalować odpowiedni
+ pakiet. Niekiedy może się zdarzyć, że pakiet
+ z fontami nie zawiera odpowiedniego pakietu
+ LaTeX-owego, który -- jeżeli nie ma go w standardowej dystrybucji
+ LaTeX-a -- trzeba odnaleźć i zainstalować samodzielnie. Pakiet
+ taki zawiera styl włączający dany krój do składu (z reguły jest
+ to plik z rozszerzeniem .sty
)
+ oraz plik (lub pliki) z definicją fontu (z reguły
+ z rozszerzeniem .fd
).
+ Instalacja polega na skopiowaniu plików .sty
+ i .fd
do katalogu, w którym znajdują się inne pakiety LaTeX-owe,
+ np. do ~/texmf/tex/latex/
.
+ Pliki .sty
i .fd
fontów PL oraz
+ cc-pl
(spolonizowane fonty Computer Concrete) dla LaTeXa są
+ standardowo zawarte w pakiecie Platex. Pozostałe dostępne polskie
+ fonty (a więc te, które udostępniono jedynie w formatach
+ obwiedniowych Type 1 i/lub TrueType) zawierają pliki dla LaTeXa
+ w pakietach dystrybucyjnych.
+
+ Program pdfTeX jest rozszerzeniem TeX-a, który tworzy
+ (właśnie w trybie rozszerzonym) plik wynikowy w formacie
+ PDF (Portable Document Format), zamiast typowego DVI. Hipertekstowe pliki
+ PDF mogą być przeglądane na wielu platformach systemowych dzięki
+ udostępnionemu bezpłatnie programowi Adobe Acrobat Reader, zachowując przy
+ tym wszystkie szczegóły układu strony. Opisana powyżej instalacja fontów
+ Type1 różni się dla pdfTeX jednym szczegółem: należy zadbać aby zawartość
+ pliku mapy fontowej została dołączona (najlepiej przez program
+ updmap
) do pliku pdftex.map
czytanego przez program
+ pdfTeX; znajduje się on obecnie w katalogu
+ ~/texmf/fonts/map/pdftex/updmap/
.
+ W aktualnych wersjach pdfTeX użycie danej mapy fontowej może
+ być także wprost zadeklarowane w pliku dokumentu.
+
+ Tworząc pliki PDF musimy pamiętać aby stosować wyłącznie
+ fonty obwiedniowe (Type1 lub True Type -- patrz niżej), ponieważ fonty
+ bitmapowe są zwykle fatalnie wyświetlane w przeglądarce.
+ Dotyczy to szczególnie użytkowników LaTeXa, którzy przyzwyczaili się
+ do stosowania fontów EC, które są domyślnie włączane po deklaracji
+ w preambule pliku:
+ \usepackage[T1]{fontenc}
.
+ Otóż nie ma fontów EC w formacie Type 1, choć są różne zastępniki
+ (ładowanie dodatkowych pakietów np. ae
, użycie fontów
+ cmsuper
itp.). Obecnie zalecane jest użycie fontów
+ Latin Modern, czyli dopisanie (prócz
+ powyższej deklaracji) w preambule:
+ \usepackage{lmodern}
.
+
+Wiele szczegółów na temat instalowania fontów Type 1 zawiera artykuł + +The Font Installation Guide Phillipa Lehmana. +
+ +
+ W powszechnie używanych w chwili obecnej
+ dystrybucjach TeX-a (fpTeX, teTeX, MikTeX) nie ma sterowników potrafiących
+ bezpośrednio wykorzystać fonty w formacie TrueType.
+ Chcąc skorzystać z takich fontów należy dokonać odpowiedniej
+ konwersji, która może polegać na ich zamianie albo na fonty bitmapowe
+ w formacie .pk
, albo na zamianie na
+ fonty w formacie Type 42, a ostatnio także do formatu
+ Type 1.
+
+ Pierwszy sposób można określić mianem standardowego -- jeżeli umieścimy pliki
+ .ttf
i .tfm
w odpowiednich katalogach,
+ to w dystrybucjach, które omawiamy, przy uruchomieniu program
+ dvips
lub sterownika ekranowego (yap
,
+ xdvi
), zostaną automatyczne uruchomione programy generujące
+ fonty .pk
o odpowiedniej rozdzielczości, podobnie jak
+ sprawa ma miejsce przy generowaniu fontów .pk
na podstawie
+ plików źródłowych .mf
.
+ Sposób ten ma jedną zasadniczą wadę:
+ fonty .pk
-- jak każde fonty bitmapowe -- nie nadają się
+ do wykorzystania przy tworzeniu dokumentów w formacie PDF.
+
+ Uwaga 1:
+ Ponieważ współczesne systemy TeX-owe potrafią skorzystać
+ z fontów .ttf
,,z definicji'',
+ ale jednocześnie sposób ten nie bardzo się nadaje, np. do tworzenia
+ wysokiej jakości plików PDF, poniżej omawiamy bardziej szczegółowo jedynie
+ wykorzystanie fontów .ttf
po ich konwersji do formatu Type 42.
+
+ Uwaga 2:
+ Zakładając, że pakiet, który instalujemy zawiera metryki fontów .tfm
,
+ instalacja fontów TrueType nie różni się zbytnio od instalowania
+ fontów Type 1. Jeżeli nie dysponujemy plikami .tfm
,
+ to sprawa się komplikuje, bo utworzenie takich plików nie jest
+ sprawą trywialną. W grę wchodzą sprawy różnego kodowania
+ znaków, tzw. fonty wirtualnych itp. Ponieważ niniejszy tekst ma charakter
+ wprowadzenia dla początkujących nie będziemy omawiać tego zagadnienia.
+
+ Niemniej jednak w aktualnych dystrybucjach znajdziemy program
+ttf2tfm
tworzący pliki .tfm
.
+
+ Informacje na temat narzędzi i problemów zamiany
+ plików ttf
na pliki tfm
można znaleźć
+ w artykule T. Przechlewskiego Uwagi nt. wykorzystania fontów
+ True Type (Biuletyn GUST, 11/1998). Najbardziej aktualne informacje
+ na ten temat zawiera katalog info/TrueType/
na serwerach CTAN.
+
+ Pliki .tfm
, .enc
oraz .map
+ kopiujemy w sposób analogiczny do opisanego wyżej.
+
+ Fonty Type 42 mogą być wykorzystane przez program dvips
+ a powstały plik PostScriptowy może być wydrukowany za pomocą
+ programu ghostscript i innych interpretatorów PostScripta (byle nie
+ bardzo starych). Do zamiany pliku .ttf
na font
+ Type 42 (załóżmy, że taki font ma rozszerzenie
+ .t42
) można wykorzystać program
+ ttftot42
:
+
+ ttftot42 anttr ++ Powstały w wyniku plik
.t42
kopiujemy do odpowiedniego
+ katalogu. W systemie TeX o strukturze katalogów
+ zgodnej z TDS będzie to ~/texmf/fonts/type42/
.
+ Należy się upewnić gdzie dvips szuka fontów Type 42.
+ Zaglądamy w tym celu do głównego pliku konfiguracyjnego
+ systemu TeX, którym jest plik texmf.cnf
(zwykle katalog
+ ~/texmf/web2c/
).
+ Powinien on zawierać wpis podobny do poniższego:
+
++ % Type 42 outline fonts. + T42FONTS = .;$TEXMF/fonts/type42// ++
+ Jeżeli takowego wpisu nie ma, to trzeba go dodać. Powyższy
+ zapis oznacza, że fonty są szukane albo w katalogu bieżącym
+ (kropka) albo w katalogu (i wszystkich jego
+ podkatalogach) $TEXMF/fonts/type42//
, gdzie
+ $TEXMF
oznacza korzeń drzewa TeX-owego.
+
+ Wydaje się, że aktualnie lepszym rozwiązaniem niż konwersja do formatu + Type 42 jest skorzystanie z programu do konwersji fontów TrueType + do formatu Type 1. Patrz: + CTAN/info/TrueType. +
+
+ W trybie rozszerzonym pdfTeX potrafi korzystać bezpośrednio
+ z fontów .ttf
-- nie musimy zatem ich konwertować
+ do formatu Type 42 bądź Type 1. Więcej szczegółów można
+ znaleźć w opisie programu pdfTeX.
+
+ T. Przechlewski i S. Wawrykiewicz
+ Ostatnia modyfikacja 19.05.2008
+
+Artykuł przedstawiający dorobek GUSTu w dziedzinie polonizacji fontów. +Wszystkie przedstawione tu fonty dystrybuowane są na zasadach wolnego +oprogramowania i są dostępne za darmo. +
+ ++Polskie tradycje drukarstwa są prawie tak samo stare jak tradycje +tej sztuki w świecie. Biblia Jana Gutenberga -- pierwsza w Europie +książka wydrukowana ruchomymi czcionkami -- powstała w Moguncji w 1452 +r. W Polsce pierwszą książkę wydrukowano w 1473 r. czyli 21 lat po +Biblii Gutenberga. Dla porównania w Paryżu pierwszy dokument drukowany +powstał w 1470 r. -- zaledwie trzy lata wcześniej. Od tego czasu w +polskich drukarniach wykorzystywano materiał zecerski wzorowany na +czcionkach zagranicznych, ale powstało także wiele oryginalnych pism +autorstwa polskich zecerów i typografów.
+ +Do niedawna pismom tym groziło zapomnienie, gdyż zagraniczni +producenci fontów komputerowych nie korzystają z polskiego dorobku +typograficznego.
+ +Polska Grupa Użytkowników Systemu TeX wspiera inicjatywę opracowania +wersji komputerowych polskich pism drukarskich. GUST wspiera +także projekty polonizacji popularnych pism drukarskich w +oparciu o publicznie dostępne fonty rozpowszechniane na licencji GNU +lub zbliżonej do licencji GNU (fonty z dystrybucji programu Ghostscript +oraz rodziny fontów CM i CC). Dotychczasowe rezultaty (tj. +opracowane i udostępnione do chwili obecnej fonty) zestawiono poniżej. +Mogą być one wykorzystane we wszystkich współczesnych programach +graficznych i edytorskich.
+ +Fonty mogą być wykorzystywane i rozpowszechniane bezpłatnie.
+ +Poszerzona o polskie znaki diakrytyczne rodzina fontów Computer +Modern (CM). Fonty CM, wchodzące w skład każdej instalacji +TeX-owej, zostały zaprojektowane przez Donalda E. Knutha w opracowanym +przez niego programie (i języku) METAFONT. Autorami fontów PL są Marek +Ryćko i Bogusław Jackowski. Fonty dostępne są w wersji źródłowej w +większości współczesnych dystrybucji systemu TeX.
+ +Pobierz: ftp.gust.org.pl + +Janusz M. Nowacki przygotował fonty PL w formacie Type 1. W maju +2000 r. fonty PL zostały zmodyfikowane i przystosowane do użycia także +w programach graficznych i edytorskich (np. w Windows).
+ +Rodzina PL w formacie Adobe Type 1: ftp.gust.org.pl.
+ +Poszerzona o polskie znaki diakrytyczne rodzina fontów Computer +Concrete (CC), która została zaprojektowana przez Donalda E. Knutha +specjalnie do składu publikacji Concrete Mathematics w +opracowanym przez niego programie (i języku) METAFONT. Autorami fontów +cc-pl są Marek Ryćko i Bogusław Jackowski.
+ +Rodzina CC-PL: ftp.gust.org.pl +lub ftp.dante.de.
+ +W styczniu 2002 r. Włodek Bzyl przetworzył fonty cc-pl do formatu +Type 1.
+ +Rodzina CC-PL w formacie Adobe Type 1: ftp.gust.org.pl
+ +Dwuelementowa antykwa zaprojektowana przez toruńskiego typografa +Zygfryda Gardzielewskiego (współpraca Józef Gruszka). Pismo to używane +jest głównie do składania akcydensów. Antykwę Toruńską odlano pierwszy +raz w 1960 roku w Odlewni Czcionek ,,Grafmasz'' w Warszawie. +Produkowana była w odmianach: zwykłej, półgrubej i pochyłej (brak +półgrubej kursywy). Autorem wersji elektronicznych jest Janusz M. +Nowacki. Fonty Antykwa Toruńska od wersji 2.0 zostały znacznie +wzbogacone. Aktualna wersja 2.03 zawiera ponad 1200 znaków (poza +standardowym zestawem, również cyfry nautyczne, znaki cyryliczne, +greckie, wietnamskie, matematyczne itp.). Dodano poza tym wiele odmian: +Light, Medium, Condensed i ich wariantów. Fonty dostępne są w +formatach: Type 1, TrueType i OpenType.
+ +Antykwa Toruńska w formacie Adobe Type 1: ftp.gust.org.pl +lub ftp.dante.de.
+ +Dwuelementowa antykwa zaprojektowana w latach 1923--1928 przez +grafika i typografa Adama Półtawskiego. Po raz pierwszy pismo to +zostało odlane w 1931 roku w firmie Idźkowski i S-ka. Produkowana była +w trzech odmianach: zwykłej, półgrubej i pochyłej. Komputerowa replika +tego kroju została poszerzona także o półgrubą kursywę. Wersję +elektroniczną przygotowali Janusz M. Nowacki, Bogusław Jackowski i +Piotr Strzelczyk.
+ +Antykwa Półtawskiego w formacie Adobe Type 1: +ftp.gust.org.pl lub ftp.dante.de.
+ +Antykwa Półtawskiego w formacie TrueType: +ftp.gust.org.pl.
+ +Fonty ze zbioru Quasi to spolonizowane fonty z dystrybucji programu +Ghostscript. Autorami polonizacji są Bogusław Jackowski, Janusz Marian +Nowacki i Piotr Strzelczyk. Prace nad adaptacją były częściowo +sponsorowane przez GUST i Komitet Badań Naukowych. Spolonizowano +łącznie 6 rodzin fontowych: QuasiBookman, QuasiChancery, QuasiCourier, +QuasiPalatino, QuasiSwiss (i QuasiSwissCondensed), QuasiTimes.
+ +Uwaga: fonty Quasi nie są już udostępniane i zostały zastąpione przez +odpowiednie rodziny fontów z zestawu TeX +Gyre. Dla wyjątkowych sytuacji fonty Quasi zostały zarchiwizowane +w +archiwum GUST
+ +Znacznie rozszerzona, o łacińskie znaki narodowe, a także o rozmaite +symbole, rodzina fontów Computer Modern (CM) w formacie Type 1. +Czcionki Latin Modern oparte są na fontach Computer Modern Type 1, +opublikowanych przez American Matematical Society (AMS 1997). Projekt +jest prowadzony przez Bogusława Jackowskiego i Janusza Mariana +Nowackiego. Fonty LM mogą być używane zamiast fontów PL, CM, CS +(czeskie), VNR (wietnamskie). Więcej informacji na temat fontów LM +można znaleźć na tej +stronie.
+ +Pobierz fonty Latin Modern (Type 1/OpenType): +www.gust.org.pl.
+ + +Fonty ze zbioru TeX Gyre to fonty z dystrybucji programu Ghostscript +ze znacznie rozszerzonym repertuarem dostępnych znaków (fonty wchodzące w skład rodziny Latin Modern i rodzin z kolekcji TeX Gyre obejmują ten sam zestaw łacińskich znaków diakrytycznych). Uwaga: fonty TeX Gyre zastępują odpowiednie kroje +z zestawu fontów Quasi. Autorami są Bogusław +Jackowski i Janusz Marian Nowacki. Udostępniono +następujące rodziny fontowe:
+ +Pobierz: TeX Gyre Adventor: www.gust.org.pl
+dawniej Quasi Bookman, to uwspółcześniona i rozbudowana rodzina +czcionek zbudowana na podstawie URW Bookman L.
+ +Pobierz: TeX Gyre Bonum: www.gust.org.pl
+Pobierz: TeX Gyre Chorus: www.gust.org.pl
+Pobierz: TeX Gyre Cursor: www.gust.org.pl
+dawniej Quasi Swiss, to uwspółcześniona i rozbudowana rodzina +czcionek zbudowana na podstawie URW Nimbus Sans L.
+ +Pobierz: TeX Gyre Heros: www.gust.org.pl
+dawniej QuasiPalatino, to uwspółcześniona i rozbudowana rodzina +czcionek zbudowana na podstawie URW Palladio L.
+ +Pobierz: TeX Gyre Pagella: www.gust.org.pl
+dawniej QuasiTimes, to uwspółcześniona i rozbudowana rodzina +czcionek zbudowana na podstawie rodziny Nimbus Roman No9 L.
+ +Pobierz: TeX Gyre Termes: www.gust.org.pl
+Iwona jest dwuelementową czcionką bezszeryfową. Powstała jako +alternatywna wersja czcionek Kurier, które były pracą dyplomową z +liternictwa drukarskiego na warszawskiej Akademii Sztuk Pięknych, pod +okiem Romana Tomaszewskiego w 1975 roku. Kurier powstawał jako pismo +przeznaczone dla gazet i innej prasy do składania techniką linotypową. +Fonty Iwona są alternatywną wersją fontów Kurier. Różnią się brakiem +charakterystycznych dla Kuriera pułapek farbowych.
+ +Dystrybucja zawiera znacznie poszerzony zestaw znaków, +uwzględniający współczesne alfabety: łacińskie (w tym wietnamski), +cyryliczne, grecki oraz dodatkowe symbole (w tym matematyczne). Autorem +fontów jest Janusz M. Nowacki.
+ +Iwona (Type 1/OpenType): ftp.gust.org.pl +lub ftp.dante.de.
+ +Kurier jest dwuelementową czcionką bezszeryfową. Projekt był pracą +dyplomową z liternictwa drukarskiego na warszawskiej Akademii Sztuk +Pięknych, pod okiem Romana Tomaszewskiego. W 1975 roku Kurier +zaprezentowano wśród innych polskich pism na kongresie ATypI w +Warszawie. Kurier powstawał jako pismo przeznaczone dla gazet i innej +prasy do składania techniką linotypową. W założeniach projektowych, +czcionki musiały wytrzymać szereg niszczących kształt graficzny +procesów technologicznych. Wszystko to sprawiło, że podczas +projektowania uwzględniono m.in. odpowiednie światła wewnętrzne liter, +światła międzyliterowe oraz tzw. pułapki farbowe w niektórych +skrzyżowaniach elementów budowy znaków.
+ +Dystrybucja zawiera znacznie poszerzony zestaw znaków, +uwzględniający współczesne alfabety: łacińskie (w tym wietnamski), +cyryliczne, grecki oraz dodatkowe symbole (w tym matematyczne). Autorem +fontów jest Janusz M. Nowacki.
+ +Kurier (Type 1/OpenType): ftp.gust.org.pl +lub ftp.dante.de.
+ +Bardziej szczegółowe informacje można znaleźć na stronie Janusza M. +Nowackiego.
+ +W latach dwudziestych XX wieku, w pracowni projektowej warszawskiej ,,Odlewni Czcionek J. Idźkowski i S-ka'' opracowano krój pisma drukarskiego o nazwie Cyklop. Dwuelementowe, bezszeryfowe czcionki charakteryzują się bardzo dużym kontrastem. Stemy pionowe są znacznie grubsze od stemów poziomych. Wewnętrzne oczka liter mają w większości kształt wydłużonego prostokąta. Dzięki temu znaki mają niepowtarzalny kształt. +Cyklop, w postaci czcionek ołowianych, produkowany był w odmianie kursywnej w rozmiarach 8-48 pt. Używany był bardzo intensywnie w tytulariach gazetowych i drukach akcydensowych. Zecerzy sięgali po niego w okresie miedzywojennym, w okresie okupacji w prasie podziemnej. Stosowany był aż do poczatków druku offsetowego i składu komputerowego. Fonty, wygenerowane przy użyciu pakietu Metatype1, uzupełniono o kompletny zestaw akcentowanych liter łacińskich (także wietnamskich oraz znaki, których było brak w oryginalnym zestawie. Wygenerowano również odmianę prostą. Autorem +fontów jest Janusz M. Nowacki.
+ +Cyklop (Type1/OpenType) można pobrać ze strony +Janusza M. Nowackiego +lub z archiwum CTAN. +
+ + ++[fontowe ABC] +[instalowanie fontów Type 1/TrueType +w systemie TeX][Fonty w LaTeX2e] +[kodowanie QX] +
+ ++Poniższy dokument jest częścią artykułu Marcina Wolińskiego +LaTeX2e a sprawa polska, który ukazał się w Biuletynie +GUST nr 10/1998. Cały artykuł dostępny jest na serwerze GUST +w (spakowanej) +wersji +PostScript. + + +
+ W niniejszym wprowadzeniu zostanie przedstawiony wyłącznie sposób +zarządzania fontami tekstowymi. Do prezentacji zagadnień związanych ze +składem formuł matematycznych autor nie czuje się jeszcze odpowiednio +przygotowany.
+ +
+ TeX ma wbudowany jedynie bardzo prosty sposób dostępu do fontów. Poleceniem
+\font
można związać nazwę symboliczną z operacją wybrania
+fontu załadowanego z konkretnego pliku metrycznego
+i o ustalonej wielkości. (W całym niniejszym tekście słowo
+font będzie używane na określenie takiej właśnie istności. W sensie
+TeXa -- coś załadowanego z konkretnego pliku metrycznego. W sensie
+typograficznym -- pismo o ustalonym kroju, odmianie i stopniu.)
+Posługiwanie się tak zdefiniowanymi poleceniami na dłuższą metę jest
+uciążliwe, ponieważ wywołują one bezpośrednio określoną odmianę
+i stopień określonego kroju pisma. Wyobraźmy sobie, że wykonano
\font\it=plti10
+
++ Jeśli teraz fragment tekstu zawierający użycie tego polecenia zostanie +przeniesiony z głównego tekstu dokumentu do przypisu, wydarzy się +katastrofa: przypisy są tradycyjnie składane pismem mniejszego stopnia, ale +fragment kursywą będzie większy!
+ +
+ Dlatego każdy TeXowy format ma swoją metodę zdefiniowania polecenia
+\it
tak, aby znaczyło coś w rodzaju ,,przełącz font na
+kursywę w bieżącym stopniu''. LaTeX 2.09 zapewniał dostęp do
+ustalonego zbioru fontów -- mianowicie krojów Computer Modern -- tak aby
+dawało się manipulować niezależnie stopniem i odmianą pisma. Dodanie
+nowych fontów do zestawu dostępnego w LaTeXu w praktyce wymagało
+ingerencji w plik lfonts.tex
, co było zadaniem wyjątkowo
+niewdzięcznym, a ponadto prowadziło do powstawania niezgodnych ze sobą
+lokalnych wersji LaTeXa.
+ W LaTeXa 2e wbudowano skomplikowany, ale za to bardzo elastyczny, +mechanizm nazywający się NFSS (New Font Selection Scheme -- +nowy sposób wyboru fontów). System ten jest +stosunkowo łatwy w użyciu, zarejestrowanie fontów w systemie jest +elementarne (jeżeli dostępne są pliki opisu fontów -- font descripton +files) i nie wymaga ingerencji w format LaTeXa, natomiast siłą +rzeczy stworzenie plików opisu wymaga odrobiny wiedzy o systemie.
+ + ++ W LaTeXu 2e bieżący font jest charakteryzowany przez pięć elementów: +układ (zestaw znaków), krój (rodzinę), grubość i szerokość, odmianę, +stopień i interlinię. Każdy z tych elementów można wybrać +oddzielnym poleceniem.
+ +układ fontu | \fontencoding{OT1} |
rodzina (krój) | \fontfamily{cmr} |
grubość i szerokość | \fontseries{m} |
odmiana | \fontshape{n} |
stopień i interlinia | \fontsize{10}{12pt} |
\selectfont | |
+ Argumenty poleceń wymienione w tabelce odpowiadają domyślnym wartościom
+dla dokumentu składanego przy pomocy standardowych klas w stopniu 10pt.
+Użycie poleceń \font...
nie powoduje od razu włączenia fontu,
+ponieważ użytkownik może chcieć zmienić kilka elementów charakterystyki
+bieżącego fontu jednocześnie. Dlatego ostateczny wybór fontu zatwierdza się
+poleceniem \selectfont
.
+ Wszystkie elementy charakterystyki fontu, za wyjątkiem stopnia pisma, można
+zmienić jednocześnie poleceniem \usefont
. Nie wymaga ono
+również zatwierdzenia przez \selectfont
.
+\usefont{OT1}{cmr}{m}{n}
+
+
++ Poszczególne elementy opisu fontu są od siebie niezależne, co daje LaTeXowi +przewagę nad procesorami tekstu. Wyobraźmy sobie, że w ,,zwykłym +procesorze tekstu'' w tekście po polsku używamy wyrażenia ,,\`a +propos''. Ponieważ w ,,polskim'' foncie nie ma znaku \`a, musimy +pobrać symbol z fontu ,,zachodniego''. Jeżeli w późniejszym etapie +opracowania redakcyjnego postanowimy zmienić krój pisma np. z Timesa na +Helveticę, obca litera pozostanie w starym kroju, bo uzyskując ją nie +mogliśmy powiedzieć ,,chcę bieżący krój i odmianę, ale w układzie +zachodnioeuropejskim'', zamiast tego w dokumencie stoi ,,tu ma być +zachodnioeuropejski Times jasny prosty stopnia 10pt''.
+ +
+ Gdy NFSS stwierdzi, że dana kombinacja parametrów nie odpowiada żadnemu
+istniejącemu fontowi, wypisuje odpowiednią informację do pliku
+.log
i stara się użyć fontu o możliwie bliskiej
+charakterystyce. Niektórzy bardzo nie lubią tej własności NFSS, uważając że
+jest to jedno z miejsc, w których LaTeX usiłuje coś (źle) zrobić za
+użytkownika. To zachowanie można zmienić. Użycie w preambule
+deklaracji
+\usepackage[pausing]{tracefnt}
+
+
++ powoduje zamianę wszystkich komunikatów o brakujących fontach +w komunikaty o błędach, wymagające interwencji użytkownika.
+ +Omówię teraz kolejne parametry opisujące font w NFSS.
+ +Układ fontu jest najciekawszym elementem, ponieważ wydaje +się, że LaTeX jest jedynym systemem, w którym pojęcie to występuje +jawnie. Układ fontu opisuje, jakie znaki są dostępne w foncie +i w jakich pozycjach. Polecenia akcentowe w LaTeXu +korzystają z informacji o układzie bieżącego fontu, aby użyć +najlepszej dostępnej metody uzyskania danego znaku. + + +
+ Ponieważ mechanizm sterowania tłumaczeniem znaków na pozycje w foncie
+nie występuje w samym TeXu, LaTeXowy mechanizm układów działa na
+poziomie makr. W związku z tym dotyczy on tylko znaków dostępnych
+poprzez makra. Tabele konwersji kodu wejściowego na poziomie implementacji
+dokonują tłumaczenia od razu w pozycje znaków w foncie, ignorując
+ten mechanizm. Z drugiej strony pakiet inputenc
posługuje
+się znakami aktywnymi, które zachowują się jak makra, wykorzystując mechanizm
+układów fontów.
+ Nazwy układów są tradycyjnie pisane wielkimi literami i cyframi. +Poniższa tabela zestawia układy fontów należące do standardu LaTeXa. +
+ +Układy fontów w LaTeXu | ||
OT1 | Old Text 1 | układ fontów zastosowany przez Knutha |
OT2 | Old Text 2 | układ cyrylicy z Washington University |
OT3 | Old Text 3 | układ fontów wsuipa (?) |
OT4 | Old Text 4 | układ fontów PL |
T1 | Text 1 | ,,europejski'' układ fontów (Cork) |
T3 | Text 3 | IPA -- znaki fonetyczne |
T4 | Text 4 | układ dla języków afrykańskich |
TS1 | Text Symbol 1 | dodatkowe symbole tekstowe |
OML | Old Math Letters | układ fontu matematycznego wg. Knutha |
OMS | Old Math Symbols | układ symboli wg. Knutha |
OMX | Old Math Extensible | układ fontu ze znakami ,,rozciągliwymi'' |
+ Układy o nazwach, zaczynających się literą O
, zawierają po
+128 pozycji. Pozostałe są ,,nowymi'' układami 256-znakowymi.
+OT4
wyłamuje się z tego schematu, będąc rozszerzeniem
+OT1
, ale nie wypełniającym wszystkich 256 pozycji.
+
+ Układ T1
jest ,,nowym'' układem opracowanym na konferencji
+w Cork. Zawiera on znaki umożliwiające skład w większości języków
+europejskich. TS1
jest odpowiadającym mu układem uzupełniającym
+zawierającym latające akcenty dla majuskuł (które nie zmieściły się
+w T1
), znaki ,,copyright'', ,,registered'' i ,,trade
+mark'', liczne symbole walut oraz znaki pauzy o długościach pośrednich
+między ,,endash'' i ,,emdash'', które powinny uszczęśliwić polskich
+redaktorów technicznych.
+
+ Jak widać, brak ,,nowych'' układów matematycznych. Wydaje się, że nikt nie +czuje się kompetentny, by takie opracować, lub też układ zaproponowany przez +Knutha funkcjonuje wystarczająco dobrze, a wielojęzyczność nie ma +wielkiego zastosowania do formuł matematycznych.
+ +
+ Układy fontów muszą być jawnie deklarowane w dokumencie. Wszystkie
+układy, które będą używane w dokumencie powinny zostać wymienione jako
+opcje wywołania pakietu fontenc
. Na przykład żeby załadować
+definicje układu OT2
(cyrylica) i OT4
(polski)
+wykonujemy:
\usepackage[OT2,OT4]{fontenc}
++Ostatni układ wymieniony w tej klauzuli będzie domyślnym układem +dokumentu.
+ + +Krój pisma (rodzina).
+ W NFSS stosuje się kilkuznakowe skróty nazw krojów. Dla Computer Modern są
+to np. cmr
, cmss
, cmtt
. Dla krojów
+postscriptowych stosuje się zwykle trzy pierwsze znaki nazwy plikowej fontu
+wg. konwencji Karla Berry. Na przykład ptm
to Adobe Times,
+phv
to Adobe Helvetica, a bch
to Bitstream
+Charter. Tych nazw używa się jako argumentu \fonfamily
.
+ Dla osób po raz pierwszy stykających się z NFSS trudność stanowi zwykle
+zrozumienie zależności między rodziną a układem fontu. I tak na
+przykład krój Computer Modern Roman (cmr
) występuje co najmniej
+w trzech układach. Krój cmr
w starym układzie
+tekstowym OT1
jest dostępny w oryginalnych fontach Knutha
+o nazwach plikowych np. cmr10
, cmbx12
,
+cmti9
, itd. Krój cmr
w układzie polskim
+OT4
jest realizowany przez adaptację fontów Knutha, dokonaną
+przez B. Jackowskiego i M. Ryćko. Nazwy plikowe tych fontów
+to np. plr10
, plbx12
, plti9
. Trzecim
+układem, w którym dostępny jest krój cmr
, jest nowy
+,,europejski'' układ tekstowy T1
. Ta kombinacja parametrów
+oznacza użycie fontów EC (Extended Computer Modern), czyli plików metrycznych
+np. ecr1000
, ecbx1200
, ecti0900
.
+ Fonty Knutha oprócz rodziny Computer Modern Roman obejmują jeszcze
+rodzinę Computer Modern Sans Serif (cmss
), Computer Modern
+Typewriter (cmtt
) i kilka drobnych
+eksperymentalno-dekoracyjno-zabawowych, jak Computer Modern Funny Roman
+(cmff
), Computer Modern Dunhill Roman (cmdh
),
+Computer Modern Fibonacci Roman (cmfib
).
+
+ Zatem wybór spośród fontów CM, PL czy EC, odbywa się
+poprzez zmianę używanego układu, a nie rodziny, bo wszystkie one
+zawierają rodziny cmr
, cmss
i cmtt
--
+znaki występujące w każdym z tych fontów mają w zasadzie ten sam
+projekt graficzny, jedynie zestaw dostępnych znaków jest różny.
+
+ Przełączenie standardowego LaTeXa na fonty zawierające polskie znaki
+diakrytyczne, polega na zmianie używanego układu fontów na OT4
+lub T1
. Od tego momentu odwołania do standardowych rodzin
+fontów będą dotyczyły fontów zawierających polskie znaki.
+
+ Krojów pisma nie trzeba deklarować. LaTeX załaduje odpowiednie informacje +przy pierwszym odwołaniu do danego kroju.
+ + +Grubość i szerokość.m | medium | zwykły |
b | bold | gruby |
bx | bold extended | gruby szeroki |
sb | semi-bold | półgruby |
c | condensed | wąski |
+ W ogólności grubość i szerokość mogą przebiegać kilkustopniową +skalę, dając kilkanaście kombinacji opisanych dwuliterowymi kodami. +Większość krojów występuje jednak tylko w dwóch lub trzech wersjach +grubości/szerokości.
+ + +Odmiana.+ +
n | normal | prosta |
it | italic | kursywa |
sl | slanted | pochyła |
sc | small caps | kapitaliki |
ui | upright italic | ,,wyprostowana'' kursywa |
\fontsize
są stopień pisma i interlinia. Domyślną
+jednostką są punkty (amerykańskie), ale w każdym z argumentów można
+też użyć dowolnej jednostki akceptowanej przez TeXa.
+
+
++ W TeXu interlinia jest stała dla całego akapitu. Mówiąc ściślej, +w całym akapicie zostanie użyta jej wartość bieżąca na jego końcu.
+ + ++ Opisany powyżej sposób manipulowania fontami pozwala na dostęp do wszystkich +zainstalowanych fontów rodziny, ale jest uciążliwy. Dlatego LaTeX ma serię +poleceń (definiowanych po części przez klasy) obsługujących typowe sytuacje. +
+ +
+ Po pierwsze, mamy serię poleceń wybierających stopień pisma
+i interlinię, które występowały również w LaTeXu 2.09.
+Poniższa tabela wymienia stopnie odpowiadające poszczególnym poleceniom,
+w zależności od stopnia pisma tekstu podstawowego wybranego
+w \documentclass
.
+
stopień pisma | |||
tekstu głównego | 10pt | 11pt | 12pt |
\tiny | 5pt | 6pt | 6pt |
\scriptsize | 7pt | 8pt | 8pt |
\footnotesize | 8pt | 9pt | 10pt |
\small | 9pt | 10pt | 11pt |
\normalsize | 10pt | 11pt | 12pt |
\large | 12pt | 12pt | 14pt |
\Large | 14pt | 14pt | 17pt |
\LARGE | 17pt | 17pt | 20pt |
\huge | 20pt | 20pt | 25pt |
\Huge | 25pt | 25pt | 25pt |
+ Zostały również zachowane polecenia LaTeXa 2.09 \rm
,
+\bf
, \it
, \sl
, \sc
,
+\ss
i \tt
. Ale uwaga: zachowują
+się one dokładnie tak jak w LaTeXu 2.09 -- nie da się na przykład
+przy ich pomocy uzyskać grubej kursywy.
+
+ Nowy zestaw poleceń posługuje się następującym modelem użycia fontów +w dokumencie. Ponieważ mieszanie różnych krojów szeryfowych +w jednym dokumencie w zasadzie jest błędem (a przynajmniej +powinno być wynikiem przemyślanej decyzji), w schemacie przyjętym przez +standardowe klasy dokumentów dostępny jest jeden krój szeryfowy, jeden +bezszeryfowy i jeden grotesk. Oczywiście domyślnie są to Computer +Modern Roman, Computer Modern Sansserif i Computer Modern Typewriter. +
+ ++Oto podstawowe polecenia wyboru krojów i odmian w tym +schemacie:
+ +Krój pisma (rodzina) | |
\textrm{...} lub \rmfamily | + krój szeryfowy |
\textsf{...} lub \sffamily | + krój bezszeryfowy |
\texttt{...} lub \ttfamily | + grotesk |
Grubość i szerokość pisma | |
\textmd{...} lub \mdseries | pismo jasne |
\textbf{...} lub \bfseries | pismo grube |
Odmiana pisma | |
\textup{...} lub \upshape | odmiana prosta |
\textit{...} lub \itshape | kursywa |
\textsl{...} lub \slshape | odmiana pochyła |
\textsc{...} lub \scshape | kapitaliki |
+ Jak widać, tworzą one pary poleceń o podobnej funkcjonalności. Wersje +z argumentem składają ten argument pismem wybranym przez swój +odpowiednik bez argumentu. Ponadto polecenia te na granicy między pismem +pochyłym a prostym dodają kompensatę wychylenia ostatniego znaku +(italic correction), chyba że następnym znakiem jest kropka lub +przecinek i kompensata nie jest potrzebna. +
+ ++ Polecenia bez argumentów można sobie wyobrażać jako zdefiniowane wg +schematu:
+
+\newcommand\rmfamily{
+ \fontfamily{\rmdefault}\selectfont}
+
+
+ One również nie mają zaszytej w sobie nazwy rodziny, odmiany, grubości,
+ale odwołują się do makr przechowujących wartości domyślne. Oczywiście
+domyślną wartością makra \rmdefault
jest cmr
, czyli
+polecenie \rmfamily
domyślnie włącza krój Computer Modern Roman.
+
+ Stąd płynie wniosek, że aby w LaTeXu złożyć dokument, używając jako +kroju szeryfowego Timesa, wystarczy:
+
+\renewcommand\rmdefault{ptm}
+
++ (Polecenia zapożyczone z LaTeXa 2.09 działają w podobny, +pośredni sposób, więc również konsekwentnie poddają się takiemu +przedefiniowaniu.)
+ ++Wartości domyślne wkraczają jeszcze w kilku innych miejscach.
+ +
+Zasadnicza treść dokumentu jest składana fontem uaktywnianym
+poleceniem \normalfont
. Jest ono mniej więcej równoważne
+
+\usefont{\encodingdefault}
+ {\familydefault}
+ {\seriesdefault}{\shapedefault}
+
+
+Płyną z tego ciekawe wnioski:
+
+
+ 1) Zmieniając wartość \encodingdefault
na OT4
+możemy sprawić, że dokument będzie składany polskimi fontami. Pakiet
+polski
tak właśnie postępuje, przełączając układ na
+OT4
lub T1
w zależności od opcji.
+ 2) Standardową wartością \familydefault
jest \rmdefault
.
+Skład całego dokumentu czcionką bezszeryfową można uzyskać zmieniając
+tę wartość na \sfdefault
:
+\renewcommand\familydefault{\sfdefault}
+
+
+Tego rodzaju zmian należy dokonywać w preambule dokumentu (to jest
+przed \begin{document}
).
+ Pozostaje jeszcze odpowiedzieć na pytanie, skąd NFSS ,,wie'', jakie kroje, +odmiany i stopnie pisma są dostępne i w jakich układach.
+ +
+Deklaracja układów fontów powoduje, że LaTeX ładuje pliki opisujące dane
+układy. Np. dla układu OT4
będzie to plik
+ot4enc.def
(Uwaga: od grudnia 1996 nazwy wszystkich plików
+w dystrybucji LaTeXa są pisane tylko małymi literami. Fakt ten wywołał
+niejakie zamieszanie, ale wydaje się, że na dłuższą metę jest to decyzja
+rozsądna.) W tym pliku zawarte są informacje, jakie akcenty są dostępne
+w danym układzie, w jakich pozycjach się one znajdują i jakie
+są dostępne znaki akcentowane (kombinacje akcent-litera).
+
+Pakiet polski.sty
wewnętrznie ładuje odpowiednią definicję
+układu.
+ Opisy krojów są ładowane automatycznie z plików .fd
przy
+pierwszej próbie użycia fontu z danej rodziny w danym układzie. Na
+przykład po zadeklarowaniu jako domyślnego układu OT4
, pierwsza
+próba włączenia fontu z rodziny cmr
spowoduje, że LaTeX
+załaduje plik ot4cmr.fd
. Oto fragment tego pliku:
+\DeclareFontFamily{OT4}{cmr}{}
+\DeclareFontShape{OT4}{cmr}{m}{n}
+ { <5> <6> <7> <8>
+ <9> <10> <12> gen * plr
+ <10.95> plr10
+ <14.4> plr12
+ <17.28><20.74><24.88>plr17}{}
+...
+\DeclareFontShape{OT4}{cmr}{bx}{it}
+ { <-10>sub * cmr/bx/n
+ <10> <10.95> <12> <14.4> <17.28>
+ <20.74> <24.88> plbxti10
+ }{}
+...
+
+
+
+ Pierwsza deklaracja powiadamia, że jest to opis rodziny cmr
+w układzie OT4
. Dalej następuje ciąg deklaracji
+\DeclareFontShape
opisujących poszczególne kombinacje
+rodzina/grubość/odmiana. Pierwsza opisuje odmianę jasną
+(m
medium), prostą
+(n
normal) -- dla stopni 5, 6, 7, 8, 9, 10
+i 12 należy użyć fontu o nazwie plikowej powstającej z ciągu
+plr
po dołączeniu doń liczby stopnia pisma. Dla stopnia 10.95pt
+należy użyć fontu plr10 at 10.95pt
, podobnie dla stopni 14.4,
+17.28, 20.74, 24.88 użyty zostanie odpowiednio zeskalowany font
+plr12
i plr17
. Druga klauzula
+\DeclareFontShape
opisuje grubą (bx
bold
+extended) kursywę (it
italic) -- dla stopni
+mniejszych od 10pt należy użyć w zastępstwie grubej prostej odmiany
+rodziny cmr
. Dla wymienionych dalej stopni użyty zostanie
+odpowiednio zeskalowany font plbxti10
.
+ Deklaracje układów OT1
i T1
oraz opis rodziny
+cmr
w tych układach są wbudowywane w format razem
+z plikami metrycznymi podstawowych fontów. Służy to przyspieszeniu
+ładowania LaTeXa na początku przetwarzania dokumentu. Zestaw wbudowanych
+układów, rodzin i plików metrycznych można zmienić przy pomocy plików
+konfiguracyjnych fonttext.cfg
i preload.cfg
--
+szczegóły opisano w dokumencie cfgguide.tex
.
+ Aby można było powiedzieć, że font jest zainstalowany w LaTeXu musi
+istnieć dla niego definicja układu i definicja kroju (rodziny)
+w tym układzie. Układów w zasadzie jest skończona niewielka liczba
+i definicje większości z nich są zawarte w dystrybucji LaTeXa
+(w tym OT4
). Natomiast dla każdego kroju potrzebny jest
+jego opis w pliku o nazwie zbudowanej z nazwy układu
+i nazwy rodziny z rozszerzeniem .fd
(wszystko małymi
+literami). Pliki te muszą znajdować się w katalogu widocznym dla
+LaTeXa.
+ Pliki opisu dla fontów PL i PC są zawarte w pakiecie PLaTeX. Pliki
+opisu dla kroju Quasi Palladio (qpl
), Quasi Times
+(qtm
) i antykwy toruńskiej (antt
) są częścią
+pakietu pl-qx
Piotra Kłosowskiego.
+Otóż fonty w postaci elektronicznej przybywają na rynek polski +głównie ze Stanów Zjednoczonych i są dostosowane do potrzeb +tamtejszego rynku, zarówno jeśli chodzi o zestaw znaków jak +i kodowanie znaków. W związku z tym w układzie +dystrybuowanych fontów nie znajdują odbicia ani potrzeby Polaków, ani +TeX-owców. +
++Problem ten od paru lat był przedmiotem prac nieformalnej grupy +członków GUST-u. W pracach brali udział: Włodek Bzyl, Bogusław +Jackowski, Janusz M. Nowacki, Andrzej Odyniec, Piotr Pianowski, +Marek Ryćko, Andrzej Tomaszewski, Staszek Wawrykiewicz oraz wielu +innych, którzy dobrym lub krytycznym słowem pomagali popychać sprawę +do przodu. +
+
+Efektem prac jest właśnie układ
Układ
+Oto najważniejsze z tych zasad: +
+ ++Oczywiście nie można oczekiwać stuprocentowej zgodności, na przykład +niektóre fonty są zaprojektowane bez ligatur związanych +z literą ,,f''. Wydaje się, że brak niektórych znaków jest +stosunkowo niegroźny. +
+
+Nieprzyjemne konsekwencje może mieć natomiast decyzja zastępowania
+pewnych znaków innymi. Mimo to taki pomysł przyszedł do głowy nawet
+samemu Donaldowi E. Knuthowi: w fontach rodziny Computer
+Modern font cmr5
ma nieco inny zestaw znaków niż
+pozostałe fonty szeregu CMR
-- przykra niespodzianka
+wydaje się wcześniej czy później nieunikniona. Jednak i takie
+sytuacje mogą być nie do uniknięcia, np. pisanki z reguły
+mają więcej ligatur niż zwykłe fonty drukarskie. Należy zatem dbać
+o to, by przynajmniej podstawowe znaki (litery) miały przypisane
+zawsze te same kody.
+
+TeX operuje jedynie na fontach co najwyżej 256-znakowych -- to
+poważne ograniczenie. Zostało ono oczywiście uwzględnione przy
+projektowaniu układu
+Ze względu na powszechność fontów
Podobna zasada była ściśle przestrzegana przy projektowaniu
+pakietu MeX: fonty
+Wolno sądzić, że pakiet MeX zadomowił się w środowisku polskich
+użytkowników TeX-a. Ze względu na istnienie pakietu MeX jest wskazane,
+by font był rozszerzeniem układu
+W związku ze składaniem polskich tekstów technicznych przydatne +są znaki specyficzne dla polskiej literatury technicznej. Zagadnienie +to omówione jest przy okazji analizowania konsekwencji +zasady 4. +
+
+W fontach anglosaskich powszechnie obecna jest ligatura ,,fl''
+(czasem także ,,ffl''). Nie widać żadnego powodu, dla którego
+w polskich fontach nie miałoby być ligatury
+,,fk'' (poprawna nazwa w wektorze kodowania to f_k
).
+W polskim języku jest wprawdzie znacznie więcej słów
+zawierających digram ,,fl'' niż słów zawierających digram ,,fk'',
+niemniej jednak są takie słowa: agrafka, cofka,
+dryfkotwa, fifka, Kafka, karafka,
+lufka, mufka, sofka, szafka. Bez
+ligatury ,,fk'' wyglądają one niezbyt ładnie ze względu na
+kolizję liter ,,f'' i ,,k'', analogiczną do kolizji liter ,,f''
+i ,,l''. Stąd obecność ligatury ,,fk''
+w układzie
+Z punktu widzenia tekstów technicznych pożądana jest obecność +niektórych małych greckich liter +w foncie. Np. litera mu pojawia się +w oznaczeniach jednostek (przedrostek mikro). Litera pi wydaje się również warta uwzględnienia. Najlepiej +byłoby móc zawrzeć w foncie cały alfabet grecki. Niestety, +szczupłość miejsca i obszerność potrzeb wykluczają taką +możliwość. +
++Jako jednostki używane są czasem symbole quotesingle (minuta), quotedbl (sekunda lub cal), degree (stopień) -- ich brak wcześniej czy +później zaczyna dokuczać. +
+ +Określenie ,,teksty techniczne'' niekoniecznie musi oznaczać teksty +o profilu matematycznym lub inżynierskim. Teksty prawne również +można zaliczyć do tekstów technicznych. Brak symbolu section w standardowych +fontachCMSY
) dawał się dotkliwie odczuć
+w praktyce.
+
+
+
+
+\accent
. Jeżeli
+akcent nie styka się z literą (akcenty ,,acute'', ,,grave'',
+,,dieresis'' itp.) zabieg taki jest dopuszczalny. Można też skorzystać
+z bardzo ogólnego mechanizmu konstruowania znaków złożonych,
+mianowicie z fontów wirtualnych. Dzięki fontom wirtualnym znaki
+złożone są widziane przez TeX-a jako zwykłe, pojedyncze
+znaki. Tworzenie fontów wirtualnych jest jednak pracochłonne (brak
+póki co wygodnych narzędzi) i wymaga sporej wiedzy, tak TeX-owej,
+jak i typograficznej.
+
+
+Niestety, niektóre znaki tworzą z elementem diakrytycznym jedną
+całość. Wymienić tu należy w pierwszym rzędzie polskie
+i litewskie litery z ogonkiem (,,ą'', ,,ę'', iogonek, uogonek
+i odpowiednie majuskuły) oraz litery z cedillą (ccedilla, scedilla, tcedilla i odpowiednie majuskuły). Inne znaki
+diakrytyczne tego rodzaju to islandzkie thorn, Thorn czy eth. W dobrze
+zaprojektowanych fontach takie znaki nie mogą być ,,składanką'' --
+muszą stanowić spójnie zaprojektowaną całość.
+
+
+
+
+
+Font powinien zawierać pewne ,,uświęcone tradycją'' znaki
+dodatkowe. Takie symbole jak ,,copyright'' czy ,,registered'' powinny być zgodne z bieżącym
+fontem. Teoretycznie wystarczyłoby kółko, w które za pomocą makra
+TeX-owego wstawiało by się odpowiednie litery. Każdy, kto próbował
+używać plain-owego makra \copyright
, wie, że nie jest to pomysł
+najszczęśliwszy -- pozycjonowanie liter wewnątrz koła musi być
+przeprowadzone dla każdego fontu (a nawet dla każdej odmiany)
+osobno, co wyklucza możliwość automatyzacji.
+
+Symbole ,,dagger'' i ,,daggerdbl'' są wprawdzie stosunkowo rzadko używane +(ich używanie to w zasadzie zwyczaj anglosaski), jednakże kształt +tych symboli jest specyficzny dla danego fontu, tym samym -- dla +pełności -- font powinien je zawierać. +
+ +Inne symbole potrzebne sporadycznie to ,,bullet'' +i ,,periodcentered''. Na pierwszy rzut oka +mogłoby się wydawać, że znaki te nie są w żaden sposób +z konkretnym fontem związane. To oczywiście nieprawda, na +przykład kształt kropki zależy od fontu. Sięganie do innego fontu po +te znaki lub przesuwanie kropki w celu uzyskania drugiego +z nich jest zabiegiem niezwykle uciążliwym ze względu na +trudności w wyważeniu położenia obu znaków. + + + + +
+Rozpowszechniona obecnie wersja środowiska Windows nakłada dodatkowe
+ograniczenia na liczbę znaków w foncie: znakom nie można
+przypisać kodów większych niż 255 i mniejszych
+niż 32. Redukuje to maksymalną liczbę znaków w foncie
+dających się równocześnie wykorzystać
+do 224. W układzie
+Dalsze zmniejszenie puli wolnych miejsc wiąże się ze znakami +o niewielkiej użyteczności z punktu widzenia TeX-a, ale +niezbędnymi ze względu na pewne tradycje w ich stosowaniu. Takim +znakiem jest np. ,,paragraph'', używany jako +znak końca akapitu w niektórych edytorach tekstu pracujących +w środowisku MS Windows. Do podobnego celu wykorzystywany bywa +znak ,,currency''. +
+ +Pewne aplikacje windowsowe spodziewają się znaleźć pod kodami 32 +i 160 odpowiednio odstęp (space
) i niełamliwy
+odstęp (nbspace
). Są to znaki absolutnie bezużyteczne
+z punktu widzenia TeX-a, ale nieusuwalne ze względu na windowsowe
+tradycje.
+
+
+
+
+
+Specyfikacja układu
+Od wersji 0.03 układ QX uwzględnia następujące ligatury: +
+ +f + f | ff |
f + i | fi |
f + l | fl |
f + k | f_k |
ff + i | ffi |
ff + l | ffl |
hyphen + hyphen | endash |
endash + hyphen | emdash |
quoteleft + quoteleft | quotedblleft |
quoteright + quoteright | quotedblright |
comma + comma | quotedblbase |
exclam + quoteleft | exclamdown |
question + quoteleft | questiondown |
exclamdown + exclamdown | guillemotleft |
questiondown + questiondown | guillemotright |
+Z dokładnością do ligatury ,,fk'' jest to ten sam zestaw ligatur
+co w fontach
space + l | lslash |
space + L | Lslash |
percent + percent | perthousand |
less + less | guillemotleft |
greater + greater | guillemotright |
+Pierwsze trzy z tych ligatur wydają się nieuzasadnione, dwie
+pozostałe są nieadekwatne, ze względu na zachowanie
+w układzie
+W definicji układu
+The symbol has been added to the following codepages at position + '0x80'; 1250 Eastern European, 1252 Western, 1253 Greek, 1254 Turkish, + 1257 Baltic, 1255 Hebrew, 1256 Arabic, 1258 Vietnamese, 874 Thai. + In 1251 Cyrillic the symbol will be added at position '0x88'. +
+ +Niestety skutkiem tego rozszerzenia była konieczność wprowadzenia dalszych +zmian w kodowaniu QX dla systemu Windows: litewskie znaki [Ii]ogonek +otrzymały kody 222 i 254 (uprzednio 128 i 144); znaki [Tt]horn, +mające przedtem te kody, zostały usunięte. Zalecane jest pozostawienie +definicji kształtów znaków [Tt]horn w foncie. + +Przy okazji zmian wprowadzona została nazwaf_k
dla
+(niestandardowej) ligatury ,,fk'', zgodnie z zaleceniem Adobe:
+unicodegn.html
+
+
+
+
+Na dwóch kolejnych stronach zamieszczamy porównanie aktualnego układu
+ Tekst jest zaktualizowaną wersją artykułu z Biuletynu GUST,
+nr 9/1997, s. 28--30.Tabele układu QX
+
+
+Ostatnia modyfikacja 13.09.2004 (StaW)
+Powrót
+
+
code | CM | EC | PL | +QX ver. 0.06 |
0 | Gamma | grave | Gamma | alpha |
1 | Delta | acute | Delta | +Delta |
2 | Theta | circumflex | Theta | beta |
3 | Lambda | tilde | Lambda | delta |
4 | Xi | dieresis | Xi | pi |
5 | Pi | hungarumlaut | Pi | Pi |
6 | Sigma | ring | Sigma | Sigma |
7 | Upsilon | caron | Upsilon | mu | 8 | Phi | breve | Phi | ellipsis | +
9 | Psi | macron | Psi | f_k |
10 | Omega | dotaccent | Omega | Omega |
11 | ff | cedilla | ff | ff |
12 | fi | ogonek | fi | fi |
13 | fl | quotesinglbase | fl | fl |
14 | ffi | guilsinglleft | ffi | ffi |
15 | ffl | guilsinglright | ffl | ffl |
16 | dotlessi | quotedblleft | dotlessi | dotlessi |
17 | dotlessj | quotedblright | dotlessj | dotlessj |
18 | grave | quotedblbase | grave | grave |
19 | acute | guillemotleft | acute | acute |
20 | caron | guillemotright | caron | caron |
21 | breve | endash | breve | breve |
22 | macron | emdash | macron | macron |
23 | ring | compoundwordmark | ring | ring |
24 | cedilla | perthousand | cedilla | cedilla |
25 | germandbls | dotlessi | germandbls | germandbls |
26 | ae | dotlessj | ae | ae |
27 | oe | ff | oe | oe |
28 | oslash | fi | oslash | oslash |
29 | AE | fl | AE | AE |
30 | OE | ffi | OE | OE |
31 | Oslash | ffl | Oslash | Oslash |
32 | suppress | visualspace | suppress | space |
33 | exclam | exclam | exclam | exclam |
34 | quotedblright | quotedbl | quotedblright | quotedblright |
35 | numbersign | numbersign | numbersign | numbersign |
36 | dollar | dollar | dollar | dollar |
37 | percent | percent | percent | percent |
38 | ampersand | ampersand | ampersand | ampersand |
39 | quoteright | quoteright | quoteright | quoteright |
40 | parenleft | parenleft | parenleft | parenleft |
41 | parenright | parenright | parenright | parenright |
42 | asterisk | asterisk | asterisk | asterisk |
43 | plus | plus | plus | plus |
44 | comma | comma | comma | comma |
45 | hyphen | hyphen | hyphen | hyphen |
46 | period | period | period | period |
47 | slash | slash | slash | slash |
48 | zero | zero | zero | zero |
49 | one | one | one | one |
50 | two | two | two | two |
51 | three | three | three | three |
52 | four | four | four | four |
53 | five | five | five | five |
54 | six | six | six | six |
55 | seven | seven | seven | seven |
56 | eight | eight | eight | eight |
57 | nine | nine | nine | nine |
58 | colon | colon | colon | colon |
59 | semicolon | semicolon | semicolon | semicolon |
60 | exclamdown | less | exclamdown | exclamdown |
61 | equal | equal | equal | equal |
62 | questiondown | greater | questiondown | questiondown |
63 | question | question | question | question |
64 | at | at | at | at |
65 | A | A | A | A |
66 | B | B | B | B |
67 | C | C | C | C |
68 | D | D | D | D |
69 | E | E | E | E |
70 | F | F | F | F |
71 | G | G | G | G |
72 | H | H | H | H |
73 | I | I | I | I |
74 | J | J | J | J |
75 | K | K | K | K |
76 | L | L | L | L |
77 | M | M | M | M |
78 | N | N | N | N |
79 | O | O | O | O |
80 | P | P | P | P |
81 | Q | Q | Q | Q |
82 | R | R | R | R |
83 | S | S | S | S |
84 | T | T | T | T |
85 | U | U | U | U |
86 | V | V | V | V |
87 | W | W | W | W |
88 | X | X | X | X |
89 | Y | Y | Y | Y |
90 | Z | Z | Z | Z |
91 | bracketleft | bracketleft | bracketleft | bracketleft |
92 | quotedblleft | backslash | quotedblleft | quotedblleft |
93 | bracketright | bracketright | bracketright | bracketright |
94 | circumflex | asciicircum | circumflex | circumflex |
95 | dotaccent | underscore | dotaccent | dotaccent |
96 | quoteleft | quoteleft | quoteleft | quoteleft |
97 | a | a | a | a |
98 | b | b | b | b |
99 | c | c | c | c |
100 | d | d | d | d |
101 | e | e | e | e |
102 | f | f | f | f |
103 | g | g | g | g |
104 | h | h | h | h |
105 | i | i | i | i |
106 | j | j | j | j |
107 | k | k | k | k |
108 | l | l | l | l |
109 | m | m | m | m |
110 | n | n | n | n |
111 | o | o | o | o |
112 | p | p | p | p |
113 | q | q | q | q |
114 | r | r | r | r |
115 | s | s | s | s |
116 | t | t | t | t |
117 | u | u | u | u |
118 | v | v | v | v |
119 | w | w | w | w |
120 | x | x | x | x |
121 | y | y | y | y |
122 | z | z | z | z |
123 | endash | braceleft | endash | endash |
124 | emdash | bar | emdash | emdash |
125 | hungarumlaut | braceright | hungarumlaut | hungarumlaut |
126 | tilde | asciitilde | tilde | tilde |
127 | dieresis | hyphen | dieresis | dieresis |
128 | -- | Abreve | -- | Euro |
129 | -- | Aogonek | Aogonek | Aogonek |
130 | -- | Cacute | Cacute | Cacute |
131 | -- | Ccaron | -- | greater |
132 | -- | Dcaron | -- | greaterequal |
133 | -- | Ecaron | -- | approxequal |
134 | -- | Eogonek | Eogonek | Eogonek |
135 | -- | Gbreve | -- | Iogonek |
136 | -- | Lacute | -- | less |
137 | -- | Lquoteright | -- | lessequal |
138 | -- | Lslash | Lslash | Lslash |
139 | -- | Nacute | Nacute | Nacute |
140 | -- | Ncaron | -- | asciitilde |
141 | -- | Eng | -- | asciicircum |
142 | -- | Ohungarumlaut | -- | ell |
143 | -- | Racute | -- | dagger |
144 | -- | Rcaron | -- | daggerdbl |
145 | -- | Sacute | Sacute | Sacute |
146 | -- | Scaron | -- | Scaron |
147 | -- | Scedilla | -- | Scommaaccent |
148 | -- | Tcaron | -- | degree |
149 | -- | Tcedilla | -- | Tcommaaccent |
150 | -- | Uhungarumlaut | -- | ogonek |
151 | -- | Uring | -- | Uogonek |
152 | -- | Ydieresis | -- | Ydieresis |
153 | -- | Zacute | Zacute | Zacute |
154 | -- | Zcaron | -- | Zcaron |
155 | -- | Zdotaccent | Zdotaccent | Zdotaccent |
156 | -- | IJ | -- | IJ |
157 | -- | Idotaccent | -- | braceleft |
158 | -- | dbar | -- | braceright |
159 | -- | section | -- | section |
160 | -- | abreve | -- | -- |
161 | -- | aogonek | aogonek | aogonek |
162 | -- | cacute | cacute | cacute |
163 | -- | ccaron | -- | registered |
164 | -- | dquoteright | -- | copyright |
165 | -- | ecaron | -- | divide |
166 | -- | eogonek | eogonek | eogonek |
167 | -- | gbreve | -- | iogonek |
168 | -- | lacute | -- | minus |
169 | -- | lquoteright | -- | multiply |
170 | -- | lslash | lslash | lslash |
171 | -- | nacute | nacute | nacute |
172 | -- | ncaron | -- | plusminus |
173 | -- | eng | -- | infinity |
174 | -- | ohungarumlaut | guillemotleft | guillemotleft |
175 | -- | racute | guillemotright | guillemotright |
176 | -- | rcaron | -- | paragraph |
177 | -- | sacute | sacute | sacute |
178 | -- | scaron | -- | scaron |
179 | -- | scedilla | -- | scommaaccent |
180 | -- | tquoteright | -- | bullet |
181 | -- | tcedilla | -- | tcommaaccent |
182 | -- | uhungarumlaut | -- | threequartersemdash |
183 | -- | uring | -- | uogonek |
184 | -- | ydieresis | -- | ydieresis |
185 | -- | zacute | zacute | zacute |
186 | -- | zcaron | -- | zcaron |
187 | -- | zdotaccent | zdotaccent | zdotaccent |
188 | -- | ij | -- | ij |
189 | -- | exclamdown | -- | periodcentered |
190 | -- | questiondown | -- | quotedbl |
191 | -- | sterling | -- | quotesingle |
192 | -- | Agrave | -- | Agrave |
193 | -- | Aacute | -- | Aacute |
194 | -- | Acircumflex | -- | Acircumflex |
195 | -- | Atilde | -- | Atilde |
196 | -- | Adieresis | -- | Adieresis |
197 | -- | Aring | -- | Aring |
198 | -- | AE | -- | backslash |
199 | -- | Ccedilla | -- | Ccedilla |
200 | -- | Egrave | -- | Egrave |
201 | -- | Eacute | -- | Eacute |
202 | -- | Ecircumflex | -- | Ecircumflex |
203 | -- | Edieresis | -- | Edieresis |
204 | -- | Igrave | -- | Igrave |
205 | -- | Iacute | -- | Iacute |
206 | -- | Icircumflex | -- | Icircumflex |
207 | -- | Idieresis | -- | Idieresis |
208 | -- | Eth | -- | Eth |
209 | -- | Ntilde | -- | Ntilde |
210 | -- | Ograve | -- | Ograve |
211 | -- | Oacute | Oacute | Oacute |
212 | -- | Ocircumflex | -- | Ocircumflex |
213 | -- | Otilde | -- | Otilde |
214 | -- | Odieresis | -- | Odieresis |
215 | -- | OE | -- | currency |
216 | -- | Oslash | -- | perthousand |
217 | -- | Ugrave | -- | Ugrave |
218 | -- | Uacute | -- | Uacute |
219 | -- | Ucircumflex | -- | Ucircumflex |
220 | -- | Udieresis | -- | Udieresis |
221 | -- | Yacute | -- | Yacute |
222 | -- | Thorn | -- | Thorn |
223 | -- | Germandbls | -- | bar |
224 | -- | agrave | -- | agrave |
225 | -- | aacute | -- | aacute |
226 | -- | acircumflex | -- | acircumflex |
227 | -- | atilde | -- | atilde |
228 | -- | adieresis | -- | adieresis |
229 | -- | aring | -- | aring |
230 | -- | ae | -- | underscore |
231 | -- | ccedilla | -- | ccedilla |
232 | -- | egrave | -- | egrave |
233 | -- | eacute | -- | eacute |
234 | -- | ecircumflex | -- | ecircumflex |
235 | -- | edieresis | -- | edieresis |
236 | -- | igrave | -- | igrave |
237 | -- | iacute | -- | iacute |
238 | -- | icircumflex | -- | icircumflex |
239 | -- | idieresis | -- | idieresis |
240 | -- | eth | -- | eth |
241 | -- | ntilde | -- | ntilde |
242 | -- | ograve | -- | ograve |
243 | -- | oacute | oacute | oacute |
244 | -- | ocircumflex | -- | ocircumflex |
245 | -- | otilde | -- | otilde |
246 | -- | odieresis | -- | odieresis |
247 | -- | oe | -- | anglearc |
248 | -- | oslash | -- | diameter |
249 | -- | ugrave | -- | ugrave |
250 | -- | uacute | -- | uacute |
251 | -- | ucircumflex | -- | ucircumflex |
252 | -- | udieresis | -- | udieresis |
253 | -- | yacute | -- | yacute |
254 | -- | thorn | -- | thorn |
255 | -- | germandbls | quotedblbase | quotedblbase |
Tabelę przedrukowano z Biuletynu GUST, nr 9/1997,
+s. 31
+Zmodyfikowano 13.09.2004, zgodnie z aktualnym układem QX wer. 0.06 (StaW)
Code | New ANSI (0-127) | Macintosh | QX ver. 0.06 |
+ CP1250 | PLEURO | ||
0 | -- | -- | -- |
1 | -- | -- | acute |
2 | -- | -- | circumflex |
3 | -- | -- | cedilla |
4 | -- | -- | dieresis |
5 | -- | -- | breve |
6 | -- | -- | dotaccent |
7 | -- | -- | macron |
8 | -- | -- | ring |
9 | -- | -- | -- |
10 | -- | -- | hungarumlaut |
11 | -- | -- | ogonek |
12 | -- | -- | caron |
13 | -- | -- | -- |
14 | -- | -- | dotlessi |
15 | -- | -- | dotlessj |
16 | -- | -- | tilde |
17 | -- | -- | ff |
18 | -- | -- | ffi |
19 | -- | -- | ffl |
20 | -- | -- | f_k |
21 | -- | -- | approxequal |
22 | -- | -- | ell |
23 | -- | -- | infinity |
24 | -- | -- | alpha |
25 | -- | -- | beta |
26 | -- | -- | delta |
27 | -- | -- | pi |
28 | -- | -- | Delta |
29 | -- | -- | Pi |
30 | -- | -- | Sigma |
31 | -- | -- | Omega |
32 | space | space | space |
33 | exclam | exclam | exclam |
34 | quotedbl | quotedbl | quotedbl |
35 | numbersign | numbersign | numbersign |
36 | dollar | dollar | dollar |
37 | percent | percent | percent |
38 | ampersand | ampersand | ampersand |
39 | quotesingle | quotesingle | quotesingle |
40 | parenleft | parenleft | parenleft |
41 | parenright | parenright | parenright |
42 | asterisk | asterisk | asterisk |
43 | plus | plus | plus |
44 | comma | comma | comma |
45 | hyphen | hyphen | hyphen |
46 | period | period | period |
47 | slash | slash | slash |
48 | zero | zero | zero |
49 | one | one | one |
50 | two | two | two |
51 | three | three | three |
52 | four | four | four |
53 | five | five | five |
54 | six | six | six |
55 | seven | seven | seven |
56 | eight | eight | eight |
57 | nine | nine | nine |
58 | colon | colon | colon |
59 | semicolon | semicolon | semicolon |
60 | less | less | less |
61 | equal | equal | equal |
62 | greater | greater | greater |
63 | question | question | question |
64 | at | at | at |
65 | A | A | A |
66 | B | B | B |
67 | C | C | C |
68 | D | D | D |
69 | E | E | E |
70 | F | F | F |
71 | G | G | G |
72 | H | H | H |
73 | I | I | I |
74 | J | J | J |
75 | K | K | K |
76 | L | L | L |
77 | M | M | M |
78 | N | N | N |
79 | O | O | O |
80 | P | P | P |
81 | Q | Q | Q |
82 | R | R | R |
83 | S | S | S |
84 | T | T | T |
85 | U | U | U |
86 | V | V | V |
87 | W | W | W |
88 | X | X | X |
89 | Y | Y | Y |
90 | Z | Z | Z |
91 | bracketleft | bracketleft | bracketleft |
92 | backslash | backslash | backslash |
93 | bracketright | bracketright | bracketright |
94 | asciicircum | asciicircum | asciicircum |
95 | underscore | underscore | underscore |
96 | grave | grave | grave |
97 | a | a | a |
98 | b | b | b |
99 | c | c | c |
100 | d | d | d |
101 | e | e | e |
102 | f | f | f |
103 | g | g | g |
104 | h | h | h |
105 | i | i | i |
106 | j | j | j |
107 | k | k | k |
108 | l | l | l |
109 | m | m | m |
110 | n | n | n |
111 | o | o | o |
112 | p | p | p |
113 | q | q | q |
114 | r | r | r |
115 | s | s | s |
116 | t | t | t |
117 | u | u | u |
118 | v | v | v |
119 | w | w | w |
120 | x | x | x |
121 | y | y | y |
122 | z | z | z |
123 | braceleft | braceleft | braceleft |
124 | bar | bar | bar |
125 | braceright | braceright | braceright |
126 | asciitilde | asciitilde | asciitilde |
127 | -- | -- | -- |
128 | Euro | -- | Euro |
129 | -- | -- | fi |
130 | quotesinglbase | quotesinglbase | fl |
131 | -- | Ydieresis | Ydieresis |
132 | quotedblbase | quotedblbase | quotedblbase |
133 | ellipsis | ellipsis | ellipsis |
134 | dagger | dagger | dagger |
135 | daggerdbl | daggerdbl | daggerdbl |
136 | -- | Ecircumflex | Ecircumflex |
137 | perthousand | perthousand | perthousand |
138 | Scaron | Scaron | Scaron |
139 | guilsinglleft | guilsinglleft | Scommaaccent |
140 | Sacute | Sacute | Sacute |
141 | Tcaron | OE | OE |
142 | Zcaron | Zcaron | Zcaron |
143 | Zacute | Zacute | Zacute |
144 | -- | -- | threequartersemdash |
145 | quoteleft | quoteleft | quoteleft |
146 | quoteright | quoteright | quoteright |
147 | quotedblleft | quotedblleft | quotedblleft |
148 | quotedblright | quotedblright | quotedblright |
149 | bullet | bullet | bullet |
150 | endash | endash | endash |
151 | emdash | emdash | emdash |
152 | -- | ecircumflex | ecircumflex |
153 | trademark | trademark | anglearc |
154 | scaron | scaron | scaron |
155 | guilsinglright | guilsinglright | scommaaccent |
156 | sacute | sacute | sacute |
157 | tquoteright | oe | oe |
158 | zcaron | zcaron | zcaron |
159 | zacute | zacute | zacute |
160 | -- | nbspace | nbspace |
161 | caron | exclamdown | exclamdown |
162 | breve | questiondown | questiondown |
163 | Lslash | Lslash | Lslash |
164 | currency | currency | currency |
165 | Aogonek | Aogonek | Aogonek |
166 | brokenbar | brokenbar | diameter |
167 | section | section | section |
168 | dieresis | dieresis | Uogonek |
169 | copyright | copyright | copyright |
170 | Scedilla | AE | AE |
171 | guillemotleft | guillemotleft | guillemotleft |
172 | logicalnot | Ntilde | Ntilde |
173 | hyphen | minus | minus |
174 | registered | registered | registered |
175 | Zdotaccent | Zdotaccent | Zdotaccent |
176 | degree | degree | degree |
177 | plusminus | plusminus | plusminus |
178 | ogonek | twosuperior | lessequal |
179 | lslash | lslash | lslash |
180 | acute | acute | greaterequal |
181 | mu | mu | mu |
182 | paragraph | paragraph | paragraph |
183 | periodcentered | periodcentered | periodcentered |
184 | cedilla | -- | uogonek |
185 | aogonek | aogonek | aogonek |
186 | scedilla | ae | ae |
187 | guillemotright | guillemotright | guillemotright |
188 | Lquoteright | ntilde | ntilde |
189 | hungarumlaut | onehalf | Tcommaaccent |
190 | lquoteright | threequarters | tcommaaccent |
191 | zdotaccent | zdotaccent | zdotaccent |
192 | Racute | Agrave | Agrave |
193 | Aacute | Aacute | Aacute |
194 | Acircumflex | Acircumflex | Acircumflex |
195 | Abreve | Atilde | Atilde |
196 | Adieresis | Adieresis | Adieresis |
197 | Lacute | Aring | Aring |
198 | Cacute | Cacute | Cacute |
199 | Ccedilla | Ccedilla | Ccedilla |
200 | Ccaron | Egrave | Egrave |
201 | Eacute | Eacute | Eacute |
202 | Eogonek | Eogonek | Eogonek |
203 | Edieresis | Edieresis | Edieresis |
204 | Ecaron | Igrave | Igrave |
205 | Iacute | Iacute | Iacute |
206 | Icircumflex | Icircumflex | Icircumflex |
207 | Dcaron | Idieresis | Idieresis |
208 | Eth | Eth | Eth |
209 | Nacute | Nacute | Nacute |
210 | Ncaron | Ograve | Ograve |
211 | Oacute | Oacute | Oacute |
212 | Ocircumflex | Ocircumflex | Ocircumflex |
213 | Ohungarumlaut | Otilde | Otilde |
214 | Odieresis | Odieresis | Odieresis |
215 | multiply | multiply | multiply |
216 | Rcaron | Oslash | Oslash |
217 | Uring | Ugrave | Ugrave |
218 | Uacute | Uacute | Uacute |
219 | Uhungarumlaut | Ucircumflex | Ucircumflex |
220 | Udieresis | Udieresis | Udieresis |
221 | Yacute | Yacute | Yacute |
222 | Tcedilla | Thorn | Iogonek |
223 | germandbls | germandbls | germandbls |
224 | racute | agrave | agrave |
225 | aacute | aacute | aacute |
226 | acircumflex | acircumflex | acircumflex |
227 | abreve | atilde | atilde |
228 | adieresis | adieresis | adieresis |
229 | lacute | aring | aring |
230 | cacute | cacute | cacute |
231 | ccedilla | ccedilla | ccedilla |
232 | ccaron | egrave | egrave |
233 | eacute | eacute | eacute |
234 | eogonek | eogonek | eogonek |
235 | edieresis | edieresis | edieresis |
236 | ecaron | igrave | igrave |
237 | iacute | iacute | iacute |
238 | icircumflex | icircumflex | icircumflex |
239 | dquoteright | idieresis | idieresis |
240 | dbar | eth | eth |
241 | nacute | nacute | nacute |
242 | ncaron | ograve | ograve |
243 | oacute | oacute | oacute |
244 | ocircumflex | ocircumflex | ocircumflex |
245 | ohungarumlaut | otilde | otilde |
246 | odieresis | odieresis | odieresis |
247 | divide | divide | divide |
248 | rcaron | oslash | oslash |
249 | uring | ugrave | ugrave |
250 | uacute | uacute | uacute |
251 | uhungarumlaut | ucircumflex | ucircumflex |
252 | udieresis | udieresis | udieresis |
253 | yacute | yacute | yacute |
254 | tcedilla | thorn | iogonek |
255 | dotaccent | ydieresis | ydieresis |
Tabelę przedrukowano z Biuletynu GUST, nr 9/1997,
+s. 31
+Zmodyfikowano 13.09.2004, zgodnie z aktualnym układem QX wer. 0.06 (StaW)
+static p_char_u pl_maz_day_name_ptr = + { + (char_u *)NULL, + (char_u *)"niedziela", + (char_u *)"poniedziałek", + (char_u *)"wtorek", + (char_u *)"środa", + (char_u *)"czwartek", + (char_u *)"piątek", + (char_u *)"sobota", + }; ++ + + diff --git a/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/idx/decode.html b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/idx/decode.html new file mode 100644 index 00000000000..8d66284702c --- /dev/null +++ b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/idx/decode.html @@ -0,0 +1,26 @@ + + + + + + + +
+static struct decode maz_decode = + { + &maz_jedn, + &maz_dies, + &maz_setki, + &maz_tys, + &maz_mil + }; ++ + + + diff --git a/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/idx/dies.html b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/idx/dies.html new file mode 100644 index 00000000000..9c530a7ae88 --- /dev/null +++ b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/idx/dies.html @@ -0,0 +1,26 @@ + + + + + + + +
+static p_char_u maz_dies = + { + (char_u *)"???", + (char_u *)"dwadzieścia", + (char_u *)"trzydzieści", + (char_u *)"czterdzieści", + (char_u *)"piećdziesiąt", + (char_u *)"sześcdziesiąt", + (char_u *)"siedemdziesiąt", + (char_u *)"osiemdziesiąt", + (char_u *)"dziewięćdziesiąt" + }; + + ++ + + diff --git a/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/idx/fig1.gif b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/idx/fig1.gif new file mode 100644 index 00000000000..2f2e3705f88 Binary files /dev/null and b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/idx/fig1.gif differ diff --git a/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/idx/flags.html b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/idx/flags.html new file mode 100644 index 00000000000..3f20c10269a --- /dev/null +++ b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/idx/flags.html @@ -0,0 +1,19 @@ + + + + + + + +
NUM_ORDER
(wartośc 1).
+Funkcje specjalne dla różnych języków powinny być wyzwalane
+różnymi bitami pola flags
.
+
+
+
diff --git a/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/idx/id.html b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/idx/id.html
new file mode 100644
index 00000000000..236873fc7b8
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/idx/id.html
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+id
+ + +Trudno sobie wyobrazić publikację o charakterze naukowo-technicznym +bez skorowidza. Skorowidz (index) jest uporządkowanym zbiorem używanych +haseł i pojęć. Przy każdej pozycji figuruje numer strony, na której +ona występuje. + +
Używając pakietu TeX-a możemy zaspokoić życzenia nawet najbardziej +wymagającego wydawcy. W przedstawianym cyklu postaramy się przedstawić +narzędzia służące do budowy skorowidza oraz unikalny opis +zasad sortowania w języku polskim. + +
System TeX jest jednym z niewielu narzędzi pozwalających rozwiązać +problem definiowania skorowidza w wygodny sposób, różny od +,,ręcznego'' tworzenia. Są cztery podstawowe zalety tego narzędzia: +
+static p_char_u maz_jedn = + { + (char_u *)"???", + (char_u *)"jeden", + (char_u *)"dwa", + (char_u *)"trzy", + (char_u *)"cztery", + (char_u *)"pieć", + (char_u *)"sześć", + (char_u *)"siedem", + (char_u *)"osiem", + (char_u *)"dziewięć", + (char_u *)"dziesięć", + (char_u *)"jedenaście", + (char_u *)"dwanaście", + (char_u *)"trzynaście", + (char_u *)"czternaście", + (char_u *)"piętnaście", + (char_u *)"szesnaście", + (char_u *)"siedemnaście", + (char_u *)"osiemnaście", + (char_u *)"dziewiętnaście" + }; + ++ + + diff --git a/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/idx/lang.html b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/idx/lang.html new file mode 100644 index 00000000000..20e08b9e8f8 --- /dev/null +++ b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/idx/lang.html @@ -0,0 +1,78 @@ + + + + + + + +
id
wynosi NULL
.
++Public struct _multilanguage multilanguage[] = + { + { + &us_day_name_ptr, + &us_mon_name_ptr, + &us_toascii_table, + &us_lower_table, + &us_upper_table, + &us_char_type, + &us_order_tbl, + 0, + NULL, + "english", + "US english", + NULL + }, + { + &pl_maz_day_name_ptr, + &pl_maz_mon_name_ptr, + &pl_maz_toascii_table, + &pl_maz_lower_table, + &pl_maz_upper_table, + &pl_maz_char_type, + &pl_maz_order_tbl, + 0, + Decode_Number, + "PL-mazowia", + "Polish mazowia", + &maz_decode + }, + { + &pl_iso2_day_name_ptr, + &pl_iso2_mon_name_ptr, + &pl_iso2_toascii_table, + &pl_iso2_lower_table, + &pl_iso2_upper_table, + &pl_iso2_char_type, + &pl_iso2_order_tbl, + 0, + Decode_Number, + "PL-latin2", + "Polish ISO-8859-2 (Latin2)", + &iso2_decode + }, + { + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + NULL, + NULL, + NULL, + NULL + } + }; + ++ + + + diff --git a/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/idx/lower.html b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/idx/lower.html new file mode 100644 index 00000000000..0d0a5e4a725 --- /dev/null +++ b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/idx/lower.html @@ -0,0 +1,38 @@ + + + + + + + +
+static a_char_u pl_maz_lower_table = + { + 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', + 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', + 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', + 'y', 'z', '[', '\\', ']', '^', '_', + ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', + ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', + ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', + ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', + ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', + ' ', ' ', ' ', ' ', ' ', ' ', ' ', 'ą', + 'ę', ' ', ' ', ' ', ' ', 'ć', ' ', ' ', + 'ś', ' ', ' ', ' ', 'ł', ' ', ' ', ' ', + 'ź', 'ż', ' ', 'ó', ' ', 'ń' + }; ++ +Tablica zawiera definicje dla wszystkich znaków o kodzie +większym od litery 'A' + + + + + diff --git a/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/idx/mil.html b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/idx/mil.html new file mode 100644 index 00000000000..643228a384d --- /dev/null +++ b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/idx/mil.html @@ -0,0 +1,21 @@ + + + + + + + +
+static p_char_u maz_mil = + { + (char_u *)"???", + (char_u *)"milion", + (char_u *)"miliony", + (char_u *)"miliony", + (char_u *)"miliony", + (char_u *)"milionów" + }; ++ + + diff --git a/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/idx/mon.html b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/idx/mon.html new file mode 100644 index 00000000000..6efbefe86e1 --- /dev/null +++ b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/idx/mon.html @@ -0,0 +1,31 @@ + + + + + + + +
+ +static p_char_u pl_maz_mon_name_ptr = + { + (char_u *)NULL, + (char_u *)"styczeń", + (char_u *)"luty", + (char_u *)"marzec", + (char_u *)"kwiecień", + (char_u *)"maj", + (char_u *)"czerwiec", + (char_u *)"lipiec", + (char_u *)"sierpień", + (char_u *)"wrzesień", + (char_u *)"październik", + (char_u *)"listopad", + (char_u *)"grudzień" + }; ++ + + + diff --git a/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/idx/name.html b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/idx/name.html new file mode 100644 index 00000000000..0f500d98573 --- /dev/null +++ b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/idx/name.html @@ -0,0 +1,15 @@ + + + + + + + +
+ { +0, 1, 2, 3, 4, 5, 6, 7, +8, +TAB, /* 9 */ +LF, /* 10 0a */ +11, +12, +CR, /* 13 0d */ +14, +15, +16, 17, 18, 19, 20, 21, 22, 23, +24, 25, 26, 27, 28, 29, 30, 31, +' ', /* 32 20 */ +'!', /* 33 21 */ +0x22, /* 34 22 quote */ +'#', /* 35 23 */ +'$', /* 36 24 */ +'%', /* 37 25 */ +'&', /* 38 26 */ +0x27, /* 39 27 single quote */ +'(', /* 40 28 */ +')', /* 41 29 */ +'*', /* 42 2a */ +'+', /* 43 2b */ +',', /* 44 2c */ +'-', /* 45 2d */ +'.', /* 46 2e */ +'/', /* 47 2f */ +'0', /* 48 30 */ +'1', /* 49 31 */ +'2', /* 50 32 */ +'3', /* 51 33 */ +'4', /* 52 34 */ +'5', /* 53 35 */ +'6', /* 54 36 */ +'7', /* 55 37 */ +'8', /* 56 38 */ +'9', /* 57 39 */ +':', /* 58 3a */ +';', /* 59 3b */ +'<', /* 60 3c */ +'=', /* 61 3d */ +'>', /* 62 3e */ +'?', /* 63 3f */ +'@', /* 64 40 */ +'a' * CCCC + 4, /* 'A', 65 41 */ +'b' * CCCC + 4, /* 'B', 66 42 */ +'c' * CCCC + 4, /* 'C', 67 43 */ +'d' * CCCC + 4, /* 'D', 68 44 */ +'e' * CCCC + 4, /* 'E', 69 45 */ +'f' * CCCC + 4, /* 'F', 70 46 */ +'g' * CCCC + 4, /* 'G', 71 47 */ +'h' * CCCC + 4, /* 'H', 72 48 */ +'i' * CCCC + 4, /* 'I', 73 49 */ +'j' * CCCC + 4, /* 'J', 74 4a */ +'k' * CCCC + 4, /* 'K', 75 4b */ +'l' * CCCC + 4, /* 'L', 76 4c */ +'m' * CCCC + 4, /* 'M', 77 4d */ +'n' * CCCC + 4, /* 'N', 78 4e */ +'o' * CCCC + 4, /* 'O', 79 4f */ +'p' * CCCC + 4, /* 'P', 80 50 */ +'q' * CCCC + 4, /* 'Q', 81 51 */ +'r' * CCCC + 4, /* 'R', 82 52 */ +'s' * CCCC + 4, /* 'S', 83 53 */ +'t' * CCCC + 4, /* 'T', 84 54 */ +'u' * CCCC + 4, /* 'U', 85 55 */ +'v' * CCCC + 4, /* 'V', 86 56 */ +'w' * CCCC + 4, /* 'W', 87 57 */ +'x' * CCCC + 4, /* 'X', 88 58 */ +'y' * CCCC + 4, /* 'Y', 89 59 */ +'z' * CCCC + 4, /* 'Z', 90 5a */ +0x5b, /* 91 5b */ +0x5c, /* 92 5c */ +0x5d, /* 93 5d ] */ +0x5e, /* 94 5e */ +'_', /* 95 5f */ +0x60, /* 96 60 ` */ +'a' * CCCC, /* 97 61 */ +'b' * CCCC, /* 98 62 */ +'c' * CCCC, /* 99 63 */ +'d' * CCCC, /* 100 64 */ +'e' * CCCC, /* 101 65 */ +'f' * CCCC, /* 102 66 */ +'g' * CCCC, /* 103 67 */ +'h' * CCCC, /* 104 68 */ +'i' * CCCC, /* 105 69 */ +'j' * CCCC, /* 106 6a */ +'k' * CCCC, /* 107 6b */ +'l' * CCCC, /* 108 6c */ +'m' * CCCC, /* 109 6d */ +'n' * CCCC, /* 110 6e */ +'o' * CCCC, /* 111 6f */ +'p' * CCCC, /* 112 70 */ +'q' * CCCC, /* 113 71 */ +'r' * CCCC, /* 114 72 */ +'s' * CCCC, /* 115 73 */ +'t' * CCCC, /* 116 74 */ +'u' * CCCC, /* 117 75 */ +'v' * CCCC, /* 118 76 */ +'w' * CCCC, /* 119 77 */ +'x' * CCCC, /* 120 78 */ +'y' * CCCC, /* 121 79 */ +'z' * CCCC, /* 122 7a */ +'{', /* 123 7b */ +'|', /* 124 7c */ +'}', /* 125 7d */ +'~', /* 126 7e */ + 127, + 128, + 129, + 130, + 131, + 132, + 133, +'a' * CCCC + 1, /* aogonek 134 86 */ + 135, + 136, + 137, + 138, + 139, + 140, +'c' * CCCC + 1, /* c acute 141 8d */ + 142, +'a' * CCCC + 5, /* Aogonek 143 8f */ +'e' * CCCC + 5, /* Eogonek 144 90 */ +'e' * CCCC + 1, /* eogonek 145 91 */ +'l' * CCCC + 1, /* polish l 146 92 */ + 147, + 148, +'c' * CCCC + 5, /* O acute 149 95 */ + 150, + 151, +'s' * CCCC + 5, /* S acute 152 98 */ + 153, + 154, + 155, +'l' * CCCC + 5, /* polish L 156 9c */ + 157, +'s' * CCCC + 1, /* s acute 158 9e */ + 159, +'z' * CCCC + 5, /* Z dot 160 a0 */ +'z' * CCCC + 6, /* Z acute 161 a1 */ +'o' * CCCC + 1, /* o acute 162 a2 */ +'o' * CCCC + 5, /* O acute 163 a3 */ +'n' * CCCC + 1, /* n acute 164 a4 */ +'n' * CCCC + 5, /* N acute 165 a5 */ +'z' * CCCC + 1, /* z dot 166 a6 */ +'z' * CCCC + 2, /* z acute 167 a7 */ + 168, 169, 170, 171, 172, 173, 174, 175, + 176, 177, 178, 179, 180, 181, 182, 183, + 184, 185, 186, 187, 188, 189, 190, 191, + 192, 193, 194, 195, 196, 197, 198, 199, + 200, 201, 202, 203, 204, 205, 206, 207, + 208, 209, 210, 211, 212, 213, 214, 215, + 216, 217, 218, 219, 220, 221, 222, 223, + 224, 225, 226, 227, 228, 229, 230, 231, + 232, 233, 234, 235, 236, 237, 238, 239, + 240, 241, 242, 243, 244, 245, 246, 247, + 248, 249, 250, 251, 252, 253, 254, 255 + }; ++ + + diff --git a/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/idx/plmindex.html b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/idx/plmindex.html new file mode 100644 index 00000000000..a9b83115776 --- /dev/null +++ b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/idx/plmindex.html @@ -0,0 +1,157 @@ + + + + + +Program plmindex + + +Przedstawiam Państwu programplmindex
, czyli +swoją implementację programumakeindx
(wersja 2.12). +Program jest dostępny w postaci pakietu spakowanego (źródła) +programemzip
+jest on dostępny pod następującym adresem +plmindex.zip
+i binaria dla dos'a (djgpp) i Windowsów -- domyślna strona kodowa Mazowia
+djgpp.zip
+oraz dla Windowsów (MS C++) -- domyślna strona kodowa cp1250
+msc.zip
+Pakiety są także dostępne w archiwum GUST, pod adresem:
+plmindex.zip oraz na CTAN-ach +w katalogu ..../language/polish + + +Program ten służy do sortowania i grupowania skorowidzów +utworzonych pakietem LaTeX. Po przetworzeniu zbioru może on +być dołączony do tekstu jako gotowy skorowidz. + +
Krótki opis opcji programu można uzyskać po wywołaniu
+plmindex -h + ++Zmiany w programie polegają na dostosowaniu go do pracy +z dowolnym ośmio-bitowym alfabetem (sposobem kodowania). +Prezentowana wersja pozwala na opracowanie skorowidzów +w języku polskim (kod Mazowii, cp1250, cp852 i ISO-8859-2) oraz angielskim. +Zdefiniowanie nowego języka polega na zbudowaniu kilku +tablic określających: porządek leksykograficzny, +kategorie znaków, odpowiedniki liter małe-duże i +nie wymaga modyfikacji kodu programu. Wszystkie funkcje +odpowiedzialne za operowanie na ciągach znaków (,,stringach'') +są sterowane tablicami. Są one całkowicie niezależne od +implementacji kompilatora
C
. Program był +kompilowany następującymi kompilatorami: +
makefile
, łatwo rozróżniane po ostatnim członie
+nazwy (rozszerzeniu):
+.wcc
-- Watcom,
+.djg
-- GNU (MS-Dos),
+.gcc
-- GNU (SunOS -- ogólnie Unix).msc
-- MSC C++ 6.0 (Windows 98).emx
-- GNU (DOS >>implementacja E.Mathesa<< lub OS)
+makefile
+i uruchomić program make
(lub wmake
w przypadku
+pakietu Watcom i nmake w przypadku MSC) lub wywłaćZostała zdefiniowana struktura _multilanguage
+zawierająca tablice opisujące cechy języka. Odsyłacze przyporządkowane
+nazwom pól wskazują na zbiory zawierające przykładowe
+definicje dla kodu Mazowii. Nazwa przykładowej tablicy
+zawiera prefix określający definiowany język.
+
+struct _multilanguage + { + p_char_u *day_name_ptr; /* tablica nazw dni tygodnia */ + p_char_u *mon_name_ptr; /* tablica nazw miesięcy */ + int_u *toascii_table; /* tablica konwersji znaków + o kodach > 127 na + kod ASCII np. ą --> a */ + a_char_u *lower_table; /* tablica konwersji małych + liter na duże */ + a_char_u *upper_table; /* tablica konwersji dużych + liter na małe */ + a_char_u *char_type; /* tablica typów znaków */ + int_u *order_tbl; /* tablica definiująca + kolejność leksykograficzną */ + word flags; /* słowo flag */ + char_u *(*_special)(const long); /* adres funkcji dodatkowych */ + char *id; /* identyfikator języka */ + char *name; /* nazwa języka */ + struct decode *decode; /* adres struktury opisującej + nazwy liczb */ +}; ++
+struct decode + { + p_char_u *jedn; /* adres tablicy nazw jednostek */ + p_char_u *dies; /* adres tablicy nazw dziesiątek */ + p_char_u *setki; /* adres tablicy nazw setek */ + p_char_u *tys; /* adres tablicy nazw tysięcy */ + p_char_u *mil; /* adres tablicy nazw milionów */ + }; ++ +definicje typów +
+typedef unsigned char char_u; + +typedef const unsigned char *p_char_u[]; + +typedef const unsigned char a_char_u[]; +typedef const int int_u[]; +typedef unsigned int word; ++ +Powyższe definicje znajdują się w zbiorze
mkind.h
.
+
+W celu podłączenia nowego języka należy utworzyć nowy zbiór +nagłówkowy zawierający opis języka w postaci tabel. + +
Utworzony zbiór należy dołączyć poleceniem
+#include
do zbioru language.c
+W zbiorze language.c
znajdują się funkcje
+odpowiedzialne za operacje na ciągach znaków. Są one
+sterowane zmienną Language
, będącą wskazaniem
+na element tablicy multilanguage
zawierającą
+struktury wszystkich zadeklarowanych języków. Początkowa wartość
+zmiennej Language
określa domyślny język
+skorowidza (jest ona zadeklarowana w zbiorze mkind.c
).
+Dopuszczalna wartość zmiennej jest określona przez konstrukcję
+enum _language
, tak że w przypadku definiowania
+nowego języka należy zdefiniować nowy element -- będzie
+on identyfikatorem języka.
+
+
+
W zbiorze language.c
znajduje się deklaracja
+tablicy struktur opisu języków. Ostatnim elementem tablicy
+musi być opis zawierający w polu id
wartość
+NULL
+
+
+ +
+
+autor: Bogusław Lichoński +
+ +
+
MakeIndex
i PLindex
PLindex
PLindex
w bieguIDXMAC
i PLIDXMAC
PLIDXMAC
po raz pierwszyPLIDXMAC
+ +
Na pewno każdy z nas korzystał z indeksu. Niekiedy daje on nieocenione +usługi, szczególnie wtedy, gdy czytamy grube i ciekawe tomisko. Niemal +niemożliwe wydaje się korzystanie z TeXbiblii, czyli dzieła Donalda +E. Knutha ,,The TeXbook'', bez obszernego skorowidzu. + +
Indeks nazwałbym tradycyjnym oszczędzaczem czasu. Jeżeli dzieło jest +czytane przez wiele osób, to z pewnością czas potrzebny na stworzenie +skorowidzu będzie o wiele krótszy od łącznego czasu, +jaki muszą stracić czytelnicy +na odszukanie interesującego zagadnienia. Nie muszę chyba przekonywać +nikogo, kto często korzysta z indeksów o ich niezwykłej przydatności. +Jeśli jednak ktoś wątpi, przytoczę przykład. Posiadana przeze mnie gruba +książka kucharska nie zawiera prawie ilustracji. Znalezienie w niej +przepisu na jajecznicę zajęło mi 22 sekundy. Przy braku indeksu sekundy +zastąpiłyby z pewnością minuty -- choć z punktu widzenia +prawdopodobieństwa istnieje szansa odnalezienia żądanego przepisu przy +pierwszym otworzeniu książki... + +
Jeśli więc indeks powinien być nieodzownym elementem +każdej naukowej pozycji, +to dlaczego tak często jest on pomijany? + +
Otóż proces tworzenia indeksu nigdy nie był i nie będzie łatwy. +Bardzo trudno więc znaleźć osobę, która podejmie się tej pracy. +Winne takiego stanu rzeczy są także wydawnictwa, które często +nie podejmują wysiłków, by tworzyć indeksy. + +
Pierwszym problemem jest wybór koncepcji, czyli pomysłu na skorowidz. +Indeks powinien znacznie ułatwiać czytelnikowi dostęp do treści dzieła, +i to w sposób najprostszy. Trudną sprawą jest więc układ logiczny haseł w indeksie +oraz ich dobór. Już w tym pierwszym etapie twórca skorowidzu musi kilka +razy przeczytać dzieło i zastanowić się, jak wyglądać ma skorowidz, by +był zgodny z pierwotną koncepcją. + +
Druga część pracy, to ,,wychwycenie'' wszystkich haseł i stron, na +których te hasła występują, oraz sortowanie -- praca ta wykonywana +bez pomocy komutera jest przysłowiowo benedyktyńska. + +
O ile pierwszy z etapów jest zawsze trudny i pracochłonny, to jednak przy +dużym doświadczeniu redaktora może być sprawnie wykonany; +drugi etap może wykonać za +człowieka maszyna, czyli komputer wraz z oprogramowaniem. +Nie można pomininąć faktu, iż do rozwiązania powyższego problemu +idealnie nadaje się... TeX. + +
Użytkownicy LaTeX-a już od dawna mogą tworzyć skorowidze i sortować je
+przy pomocy programu MakeIndex
. Przygotowanie indeksu wygląda następująco:
+
+
\index
+
+.idx
, zwierający
+ hasła w kolejności występowania w tekście
+
+MakeIndex
sortuje wejściowy plik .idx
, tworząc posortowany plik
+ .ind
będący złożonym skorowidzem
+
+Powyższe cztery kroki opisane są szczegółowo w rozdziale +-- ,,Zrób skorowidz''. + +
Oczywiście w tym miejscu nasunąć może się kilka pytań, jak choćby ,,czy +można korzystać z plain-TeX-a?'', czy też ,,jak radzić sobie z tekstami +polskimi?''. Odpowiedzi na te pytania oraz opis jak radzić +sobie z powyższymi problemami w praktyce, udzielam w tym artykule. + + +
W rozdziale tym opisuję zasady, według których +powinien być sortowany indeks zawierający polskie wyrazy. + +
Okazuje się, iż brak w Polsce stuprocentowo jasnej i wyczerpującej +normy określającej sposób porządkowania haseł w skorowidzach. +Istnieje -- moim zdaniem nie do końca wyczerpująca temat -- +norma PN--80/N--01223 ,,Szeregowanie alfabetyczne'', +której przedmiotem są: +
+zasady szeregowania w porządku alfabetycznym w katalogach, +bibliografiach, opracowaniach dokumentacyjnych i innych wykazach +dokumentów oraz indeksach ++ +
Pierwszym problemem mariażu języka polskiego i komputera jest kodowanie +polskich znaków diakrytycznych na komputerze PC. Jak powszechnie wiadomo +PC został stworzony dla potrzeb języka angielskiego i dopiero w wersji 5.0 +systemu operacyjnego DOS uwzględniono języki narodowe. + +
Gdy komputer PC znalazł się na polskich biurkach, zaistniała +potrzeba wprowadzenia standardu kodowania polskich znaków diakrytycznych. +Wymyślono więc standard Mazovia, który do dziś jest +u nas powszechnie stosowany1r. +Firmy IBM i Hewlett-Packard nie przejęły się +tym faktem i stworzyły standard Latin22r, +zawierający +także wszystkie ,,nasze'' znaki. + +
Jeśli chodzi o polski format MeX, to przewiduje on użycie obu
+standardów w dokumentach TeX-owych, więc program powinien sortować
+polskie wyrazy w obu standardach. Ponieważ do pewnego czasu w Polsce
+królowała nieprogramowalna karta Hercules, więc w plikach źródłowych
+.tex
używano powszechnie notacji prefiksowej do oznaczania polskich
+znaków (np. `ą'=`/a'). Programy sortujące indeksy po polsku
+powinny więc przewidywać i tę możliwość
+z epoki przed-MeXowej.
+
+
Reguły sortowania po polsku ujęte są w normie +PN--80/N--01223 [1], +która mówi, iż porządek w indeksie powinien być zgodny +z porządkiem w alfabecie polskim z dodaniem liter `q', `v', `x'. + +Alfabet polski z literami q, v, x. + +
+ +a ą b c ć d e ę f g h i j k l ł m n + +ń o ó p q r s ś t u v w x y z ź ż + ++ + +
Obce znaki diakrytyczne nie powinny wpływać na porządek. +Chociaż w poprzednim zdaniu możnaby słowo ,,obce'' zamienić +na ,,wszelkie'', gdyż jak mówi norma na stronie 2: +
+dopuszcza się nieuwzględnienie w szeregowaniu polskich znaków +diakrytycznych ++Nie wydaje się jednak, by taka forma sortowania była popularna i nie jest +uważana powszechnie za najbardziej wskazaną. +O ile mi wiadomo, żaden program +systemowy nie działa według powyższej +normy1 + +
Porządek w polskich skorowidzach, to tak zwany porządek słowowy, czyli +spacje i znaki interpunkcyjne zostaną umieszczone przed literami +alfabetu. Norma niezbyt jasno o tym mówi. Na stronie 1 +czytamy: +
+W szeregowaniu należy brać pod uwagę alfabetyczną kolejność wyrazów, +a w ich obrębie -- liter. Występujące między wyrazami znaki +interpunkcyjne, spacje i łączniki należy traktować jako znaki +rozdzielające poszczególne wyrazy ++ +
Mając na względzie powyższy cytat, przyjrzyjmy się przykładowi: + +
+poprawnie nie poprawnie +- - - - - - - - - - - - +katalog informatyczny katalogi +katalog przedmiotowy katalog informatyczny +katalogi katalog przedmiotowy ++ +
Zauważmy, że polski alfabet zawiera kilka znaków, których nie znajdziemy +w żadnym innym alfabecie narodowym. Ich wystąpienie w alfabecie jest +naturalne, to znaczy występują one zawsze po literze, która w znacznej +części ją tworzy. + + +
+l << ł L << Ł ++ +(znak
<<
oznacza tu relację porządku w słowniku polskim)
+
+Porządek wielkich i małych liter w języku polskim jest inny niż +w angielskim. Mała litera wystąpi przed wielką w dwu identyczny słowach, +na przykład: + +
+polski << Polski (po polsku) +Polish << polish (po angielsku) ++ +
Poruszona w ostatnim akapicie kwestia jest jednak bardzo kontrowersyjna. +Pomimo wielu poszukiwań ujętej w normie jasnej definicji, +nic nie udało mi się znaleźć. +W poradni językowej Uniwersytetu Gdańskiego +uzyskałem informację, iż precyzyjnej normy nie znajdę, jednak +istnieje zasada, że małe +litery powinny być przed wielkimi. Gdy podałem kilka przykładów +nie stosowania tej zasady +z dzieł niezłych przecież wydawnictw (jak choćby ,,Wiedza Powszechna''), +otrzymałem odpowiedź, że tylko bardzo poważne wydawnictwa przywiązują +wagę do tak istotnej reguły (sic!). + +
Słowniki niestety często nie przestrzegają tej zasady. Jedynie bardzo +poważne publikacje jak na przykład w 4-o tomowej Encyklopedii powszechnej +PWN wydanie I rok 1973 na stronie xi wyraźnie wspomina się iż: +
+Za podstawę układu haseł EP PWN przyjęto kolejność liter alfabetu +polskiego -- od małych liter do dużych ++Podobnie Encyklopedia popularna PWN wydanie VI rok 1984 +wydana pod redakcją Rafała Łąkowskiego, mimo iż wszystkie hasła napisane +są wersalikami, uwzględnia poprawny sposób sortowania. + +
Niestety, niektóre wydawnictwa zapominają o normach i w sposób dowolny
+umieszczają hasła w słownikach, stosując najczęściej angielskie normy
+do porządkowania układu haseł. Jeszcze dziwniejsze wydaje się jednak
+stosowanie polskich norm do sortowania słów angielskich, stało się tak
+na przykład w angielsko-polskim i polsko-angielskim Słowniku minimum
+Katarzyny Billip i Zofii Chociłowskiej, wydanym przez Wiedzę Powszechną
+w 1968 roku, wydanie II. Na stronie 224 można znaleźć hasła
+polish
i Polish
,
+napisane w wymienionej właśnie kolejności...
+
+
Natomiast zupełnie niezrozumiałe dla mnie jest stosowanie w tym samym +słowniku i na tej samej stronie różnych zasad porządkowania! W ,,Słowniku +ortograficznym języka polskiego'' PWN, pod redakcją Mieczysława +Szymczaka, z roku 1992, wydanie 15, na stronie 612 znajdują się hasła: + +
+polonez +Polonez + ... +Polka +polka ++ +
Po bliższym przyjrzeniu się temu zjawisku można zauważyć pewną +własność chronologiczną. +Otóż starsze wydania -- mniej więcej sprzed 1970 +roku -- stosują zasadę porządkowania dwu identycznych haseł, +rozpoczynających się od litery małej lub wielkiej +(w kolejności: mała, wielka), zaś wydania nowsze nie stosują +żadnych zasad. +Sądzę, że wszystkiemu winne są komputery i oprogramowanie +zapożyczone od Anglosasów. + + +
Liczebniki główne powinny być +uporządkowane według ich dosłownego znaczenia, niezależnie od tego, czy +liczba jest zapisana słownie, czy jako ciąg cyfr. +W tym celu użyjemy następującej komendy: + +
+\index{trzynaście@13} ++ + +W skorowidzu pojawi się więc hasło `trzynaście', lecz algorytm sortowania +potraktuje ten napis jako liczbę `13'. + +
Na stronach 3 i 8 norma [1] mówi, iż +liczebniki porządkowe powinny być uporządkowane według +ich wartości, niezależnie od dosłownego systemu zapisu (arabski, +rzymski). Użytkownik znów może posłużyć się znaczkiem `@'. + +
+\index{19.I.@I.} +\index{08.vii.@vii.} +\index{27.06.@06.} ++ +
W języku polskim po liczebnikach porządkowych piszemy kropkę. + +
Zaawansowani użytkownicy LaTeX-a na pewno tworzyli już skorowidze +i proces ich powstawania nie jest dla nich żadną tajemnicą. +Dla wszystkich, którzy nie mieli tej okazji, podaję krótki przepis +jak tego dokonać: + + +
makeidx
jako parametr komendy \documentstyle
+ (ujęty w nawiasy kwadratowe np. \documentstyle[makeidx]{article}
)
+
+\makeindex
tak, aby
+ znajdował się ona pomiędzy komendami
+ \documenstyle
a \begin{document}
+
+\printindex
w miejscu, w którym chcesz
+ umiejscowić skorowidz (zwykle jest to koniec dokumentu --
+ bezpośrednio przed komendą \end{document}
)
+Zastosowanie się do powyższych trzech punktów da oczywiście
+skorowidz pusty, nie wyznaczyliśmy bowiem haseł, które pojawią się
+w indeksie. Obok wybranego słowa wpisać należy komendę
+[\makeescape!]\index{!argument}
, której argument musi zawierać słowo pojawiające
+się potem w skorowidzu. Dla przykładu przyjrzyjmy się ,,wyrwanemu''
+z dokumentu fragmentowi:
+
+
+... pusta linia oznacza dla TeX-a +koniec akapitu\index{akapit}, więc ... ++ +
Po takim zabiegu w skorowidzu pojawi się słowo `akapit' wraz z numerem +strony, na której słowo `akapitu' wystąpi. + +
Oto krótki przykład LaTeX-owego
+dokumentu2,
+do którego tworzy się mini-indeks o nazwie przyklad.tex
:
+
+
+\documentstyle[makeidx]{article} +\makeindex +\begin{document} + Znaki końca linii traktowane są przez + TeX-a tak samo jak spacja\index{spacja}. + Dowolny ciąg spacji jest traktowany + przez TeX-a tak samo jak jedna + spacja\index{spacja}. Zatem nie jest + ważne, czy odstęp pomiędzy słowami + jest wprowadzony jako jedna, czy + więcej spacji\index{spacja}. + Jednakże pusta linia oznacza dla + TeX-a koniec akapitu\index{akapit}. +\printindex +\end{document} ++ +
Uznać można w tym miejscu, iż wykonano pierwszy z czterech kroków +opisanych w rozdziale pierwszym. + +
Drugi krok, czyli kompilacja LaTeX-em, może wydać się łatwy. Jest tak
+w istocie, o ile posiadamy plik stylu makeidx.sty
. Plik ten zawiera
+definicje makr do tworzenia indeksów i dystrybuowany jest wraz
+z programem MakeIndex
. makeidx.sty
umieścić należy
+w przeszukiwanym przez TeX-a
+katalogu3
+...\texinput
lub katalogu bieżącym; jeśli plik ten
+istnieje kompilacja
+powinna ,,przejść'' bez kłopotu.
+
+
+>tex &lplain przyklad.tex ++ +(znak `
>
' symbolizuje prompt)
+
+Krok trzeci to sortowanie powstałego z powyższej kompilacji pliku
+przyklad.idx
, który zawiera linia po linii hasła wraz z numerami
+stron, na których występują w kolejności występowania ich w dokumencie.
+Oto postać pliku przyklad.idx
:
+
+
+\indexentry{spacja}{1} +\indexentry{spacja}{1} +\indexentry{spacja}{1} +\indexentry{akapit}{1} ++ +
Hasła w plikach .idx
o powyższej strukturze można sortować na przykład
+programem MakeIndex
w następujący sposób:
+
+
+>makeindex przyklad.idx ++ +
Powstanie plik o nazwie przyklad.ind
, który jest
+gotowym do kompilacji uporządkowanym skorowidzem.
+Wprowadzany jest on do składu przez komendę \printindex
. Oto jego
+postać:
+
+
+\begin{theindex} + \item akapit, 1 + \indexspace + \item spacja, 1 +\end{theindex} ++ +
Krok ostatni to kolejna kompilacja LaTeX-em. Oprócz zapisanego +dokumentu pojawi się nowa strona ze skorowidzem. + + +
W pierwszym rozdziale postawiłem sobie dwa nieco kłopotliwe pytania, na +które obiecałem odpowiedzieć -- co niniejszym czynię. + +
MakeIndex
i PLindex
Doświadczony użytkownik zauważył z pewnością, że w powyższym przykładzie
+kompilacja pliku przyklad.tex
nie przebiegnie poprawnie! Stanie się
+tak, gdyż LaTeX nie ,,zna'' polskich znaków i w miejscach ich
+wystąpienia wykaże błąd...
+
+
No właśnie -- co dzieje się z indeksem, gdy zaczynamy używać
+LaMeX-a
do
+składania polskich publikacji? W skorowidzu pojawić się mogą oczywiście
+polskie wyrazy zawierające polskie litery oraz podlegające polskim
+normom sortowania. W takiej sytuacji program MakeIndex
nie wystarcza.
+
+
Ponieważ źródła programu MakeIndex
dostępne są jako
+ free software, więc
+spróbowałem zaimplementować MakeIndex
dla potrzeb polskiego użytkownika.
+Powstał program PLindex
, który sortuje według zasad opisanych w rozdziale
+drugim -- ,,Indeks po polsku''.
+
+
Program PLindex
posiada wszystkie możliwości programu
+MakeIndex
+(ang. upward compatible). Szczegółowe informacje o możliwościach obu
+programów znaleźć można w pracach [3]
+oraz [4].
+Jedyną nową opcją dodaną do programu PLindex
jest `-z
'.
+
+
+
PLindex
Oto przepis jak używać PLindex
do polskich skorowidzów:
+
+\noindent
+
+>plindex -z [mazovia|latin2|prefixing] + ... foo.idx ++ + +
Po parametrze `-z
' wpisać należy jeden z trzech podanych napisów,
+określających sposób kodowania polskich znaków diakrytycznych.
+Trzy kropki oznaczają, że istnieją inne parametry
+(pokrywające się znaczeniem z parametrami programu MakeIndex
).
+
+
Oczywiste wydaje się, iż nie można sortować zbioru wyrazów, używając
+zasad dwóch różnych języków narodowych. Na przykład nie można sortować
+jednocześnie w języku polskim (opcja `-z
') oraz niemieckim (opcja `-g
').
+Jeżeli użytkownik poda obie opcje, ostatnia z nich będzie brana pod
+uwagę przez program. Także opcja `-c
'4
+nie jest uwzględniana w trybie sortowania po polsku.
+
+
Domyślnie (ang. default) czyli bez jakiejkolwiek opcji PLindex
działa
+dokładnie tak samo jak MakeIndex
, to znaczy sortuje zgodnie z angielskimi
+normami i angielskim alfabetem.
+
+
+
PLindex
w bieguPozwólmy teraz popracować programowi PLindex
. Weźmy na przykład taki oto
+plik .idx
z polskimi znakami kodowanymi w standardzie Mazovii
+i nazwijmy go testpl.idx
+
+
+\indexentry{KĄT}{1} +\indexentry{kĄT}{1} +\indexentry{kąt}{1} +\indexentry{kąt}{100} +\indexentry{Kąt}{1} +\indexentry{kąT}{1} +\indexentry{KAT}{1} +\indexentry{kAT}{1} +\indexentry{kat}{1} +\indexentry{Kat}{1} +\indexentry{kaT}{1} +\indexentry{kółko}{1} +\indexentry{kolka}{1} ++ + +
Wpiszmy teraz w linii komend polecenie: + +
+>plindex -z mazovia test.idx ++ + +
Po krótkiej chwili powinniśmy uzyskać rezultat w postaci pliku .ind
+o nazwie testpl.ind
w postaci źródłowej:
+
+
+\begin{theindex} + \item kat, 1 + \item kaT, 1 + \item kAT, 1 + \item Kat, 1 + \item KAT, 1 + \item kąt, 1, 100 + \item kąT, 1 + \item kĄT, 1 + \item Kąt, 1 + \item KĄT, 1 + \item kolka, 1 + \item kółko, 1 +\end{theindex} ++ +Wygląd w składzie +
+ + kat, 1 + + kaT, 1 + + kAT, 1 + + Kat, 1 + + KAT, 1 + + kąt, 1, 100 + + kąT, 1 + + kĄT, 1 + + Kąt, 1 + + KĄT, 1 + + kolka, 1 + + kółko, 1 + ++ +
testpl.ilg
.
+
+Zachęcam do przetestowania programu przy użyciu wszelkich sposobów.
+Osobiście testowałem program wielokrotnie, między innymi posłużyłem się
+zbiorem testów, jakie znalazły się w pakiecie programu
+MakeIndex
+w wersji 2.12. PLindex
spisał się bez zarzutu.
+
+
+
IDXMAC
i PLIDXMAC
Można powiedzieć, że dotychczas artykuł przeznaczony był tylko dla +użytkowników LaTeX-a i nie zdziwię się, jeśli kogoś zdenerwuje ta +jednostronność. + +
W pakiecie programu MakeIndex
w wersji 2.12 znaleźć można plik
+idxmac.tex
,
+który zawiera makra do składania skorowidzów w systemie plain-TeX.
+Ponieważ makra te po prostu nie działały, spróbowałem więc je poprawić
+i nieco zmodyfikować dla użytkownika formatu MeX.
+
+
Po przetestowaniu makr IDXMAC znalazłem w nich kilka
+błędów oraz
+niezgodności z systemem LaTeX, które usunąłem; zmiany te szczegółowo
+opisałem w [5].
+
+IDXMAC
z naniesionymi poprawkami i drobnymi dodatkami
+dołączam do pakietu {PLindex
} pod nazwą PLIDXMAC
+w nadziei,
+że okażą się przydatne dla użytkowników formatu plain.
+
+
+
PLIDXMAC
po raz pierwszyW pakiecie programu PLindex
znajduje się plik plidxmac.tex
, który zawiera
+wszystkie definicje potrzebne do tworzenia skorowidzu makr.
+
+
Plik ten należy dołączyć do tworzonego dokumentu TeX-owego komendą: + +
+\input plidxmac.tex ++ +którą należy umieścić przed wywołaniem jakiejkolwiek nowej komendy, +służącej do tworzenia indeksu. Może to być na przykład pierwsza linia +tego dokumentu. + +
W tym momencie mamy do dyspozycji trzy6 +nowe komendy i mimo iż nie jest ich zbyt wiele, w zupełności +wystarczą one do wygenerowania skorowidzu. +Kolejność wywołania komend jest istotna; oto ich układ: + +
+ ... +\makeindex + ... +\index{!argument} +\index{!argument} + ... +\index{!argument} + ... +\printindex + ... ++ + +
Aby stworzyć najprostszy skorowidz, wystarczy w pliku źródłowym
+(rozszerzenie .tex
)
+umieścić komendę \makeindex
. Następnie obok wybranych do indeksu słów
+należy wpisać komendę [\makeescape!]\index{!argument}
, której dokładny opis znajdziesz
+poniżej. Makro \index
służy do etykietowania słów, które mają znaleźć się
+w skorowidzu.
+
+
Miejsce publikacji, w którym życzymy sobie umieścić indeks,
+oznaczyć należy
+komendą \printindex
, rzecz jasna skorowidz powinien być wcześniej posortowany
+i złożony [4].
+
+
Jeśli weźmiemy znany już plik przyklad.tex
w postaci:
+
+
+ +\input plidxmac.tex +\makeindex + Znaki końca linii traktowane są + przez TeX-a tak samo jak + spacja\index{spacja}. Dowolny ciąg + spacji jest traktowany przez TeX-a + tak samo jak jedna + spacja\index{spacja}. Zatem nie jest + ważne, czy odstęp pomiędzy + słowami jest wprowadzony jako jedna, + czy więcej spacji\index{spacja}. + Jednakże pusta linia oznacza dla + TeX-a koniec akapitu\index{akapit}. +\printindex + ++ +to plik
przyklad.idx
należy posortować wydając polecenie:
+
++>plindex -z Mazovia -s plaintex.ist + przyklad.idx ++ + +
Zagadkowe może tu być pojawienie się pliku plaintex.ist
. Dokładnie
+opisałem tę systuację w dokumentacji do programu PLindex
+[4],
+zaznaczę w tym miejscu, iż plik ten, to tak zwany plik stylu i powinien
+znajdować się w kartotece bieżącej lub kartotece określonej przez
+zmienną systemową INDEXSTYLE
+(przykładowo
SET INDEXSTYLE=c:\tex\ist
),
+oraz przedstawię jego zawartość:
+
+
+preamble +"\\beginindex\n" +postamble +"\n\n\\endindex\n" ++ + +
Posortowany plik przyklad.ind
jest wspominanym już i gotowym do
+kompilacji uporządkowanym skorowidzem, który wprowadzany jest do składu
+komendą \printindex
. Oto jego postać:
+
+
+\beginindex +\item akapit, 1 +\indexspace +\item spacja, 1 +\endindex ++ +
Ponieważ niektóre dzieła posiadają indeksy, w których zamiast wcięć
+pojawiają się pauzy, dlatego zdefiniowałem makro \indexemdashes
, które
+wykonuje tę czynność. Makro to powinno pojawić się w pliku źródłowym
+przed makrem \printindex
.
+
+
+
+
PLIDXMAC
W rozdziale ,,PLIDXMAC
po raz pierwszy''
+wspomniałem o innych możliwościach,
+jakie niosą z sobą makra PLIDXMAC
.
+
+
Pierwszą z nich jest wybór konwencji zapisu numerów stron. Domyślnie
+przy hasłach pojawiają się cyfry arabskie, można także numerować
+wielkimi i małymi cyframi rzymskimi, a także wielkimi i małymi literami.
+Aby uzyskać któryś z opisanych efektów, wystarczy komendę
+\makeindex
+poprzedzić komendą:
+
+[\makeescape!]\pagenumbering{!argument}
, gdzie
+
+[\makeescape!]!argument
--> arabic
| roman
|
+Roman
| alph
| Alph
+
+
Każdy, kto obok skorowidzu chciałby stworzyć
+glosarium7,
+może dokonać tego w identyczny sposób, jak tworzy się
+indeks. Wystarczy użyć komend \makeglossary
oraz \glossary
, które
+odpowiadają makrom \makeindex
i \index
. Powstaje wówczas plik
+z rozszerzeniem .glo
.
+
+
Umieszczenie w dokumencie sekwencji: + +
+\begindoublecolumns +\printindex +\enddoublecolumns ++ +\noindent +spowoduje złożenie skorowidzu w dwu szpaltach wyrównanych do góry, zaś +umieściwszy po komendzie
\begindoublecolumns
; \balancecolumns
+wyrównanych do dołu.
+
+
+Tworzenie skorowidzów na pewno nie jest i nie będzie sprawą łatwą. +Niektóre systemy -- na przykład system WEB -- wspomagają ten proces, +tworząc automatycznie część indeksu. Jest to jeden z przykładów, +gdzie komputer wykonuje cząstkę pracy koncepcyjnej. + +
Rzeczywistą trudnością jest dobór kryteriów tworzenia skorowidzu dla +danego typu dzieła. Można zdecydować się na stworzenie kilku +indeksów w obrębie jednej publikacji, tworzyć indeksy po każdym +rozdziale czy tomie. Możliwości jest na prawdę wiele. Można śmiało +stwierdzić, że stworzenie odpowiedniego skorowidzu ,,dopasowanego'' do +publikacji jest swoistą sztuką. + +
Wiele osób w naszym kraju, posługujących się TeX-em jako systemem
+składu, tworzy mniej lub bardziej obszerne publikacje naukowe,
+zapominając o skorowidzach lub nie tworząc ich z braku odpowiednich
+narzędzi. Mam nadzieję, że PLindex
i zbiór makr
+PLIDXMAC
obudzą
+w nas potrzebę ich tworzenia przydając się wielu użytkownikom.
+
+
Program MakeIndex
dostępny jest np. w zasobach komputerów
+CTAN. Program PLindex
i makra PLIDXMAC
dostępne są
+na serwerze GUST.
+
+
MakeIndex
: An Index Processor For LaTeX.MakeIndex
users, Luty 1987.
+
+
+PLindex
polska implementacja programu MakeIndex
.PLIDXMAC
makra do tworzenia skorowidzów w systemie
+ plain-TeX.+
+ +
sort
-- to jednak opisana możliwość nie została chyba
+sumiennie
+przetestowana przez twórców systemu, gdyż... program nie działa
+poprawnie.
+
+
+TEXINPUT
, na przykład poleceniem:SET TEXINPUT=c:\tex\texinput
+
+
+PLindex
.
+
+
+PLIDXMAC
''.
+
+
++Jedną z zalet TeX-a jest możliwość automatycznego tworzenia zbiorów +dodatkowych, zawierających informacje związane z przetwarzanym tekstem. +Utworzony zbiór możemy przetworzyć innym programem; +przy ponownym uruchomieniu TeX-a +może on zostać dołączony do dokumentu podstawowego. + +
Do porządkowania zbioru haseł służy program plmindex
+(dawniej makeindx lub makeindex).
+Opisując proces tworzenia skorowidza powołuję się na swoją
+implementację; program plmindex, czyli
+Polish (Multilanguage) index. Program może być zastosowany
+do budowy skorowidza w polskich publikacjach. Dokładny
+opis własności programu plmindex znajduje
+się w następnym artykule tego cyklu.
+
+
+Schemat przetwarzania
+
+Tworzenie skorowidza w dokumencie przetwarzanym TeX-em
+zostało zrealizowane według powyższego schematu zilustrowanego
+rysunkiem:
+
+
+
+
Po pierwszym przetwarzaniu dokumentu otrzymujemy zbiór
+dodatkowy z rozszerzeniem .idx
(podstawowy trzon
+nazwy jest identyczny z nazwą dokumentu). Zawiera on wszystkie
+hasła, definiowane w dokumencie źródłowym za pomocą
+polecenia \index
. W celu zainicjowania zbioru haseł
+należy wywołać polecenie \plmindex
+
+
Podstawową rolą programu plmindex jest uporządkowanie i
+posortowanie zbioru haseł wygenerowanego przez pakiet LaTeX-a.
+Uporządkowany zbiór skorowidza
+dołączamy do dokumentu podstawowego poleceniem \printindex
.
+Standardowo zbiór ten ma rozszerzenie .ind
.
+
+
+Tworzenie zbioru haseł
+
+Niezbędny zestaw poleceń w dokumencie umożliwiający utworzenie
+i dołączenie skorowidza:
+
+\documentclass{article} +\usepackage{makeidx} +\makeindex +\begin{document} +. +. +. +..... bqq\index{bqq} + .... aqq\index{aqq} +. +. +. +\printindex +\end{document} ++Po przetworzeniu pakietem LaTeX2e otrzymamy następujący zbiór skorowidza: +
+\indexentry{bqq}{1} +\indexentry{aqq}{1} ++ +
+Poszczególne hasła sa definiowane poleceniem \index{...}
.
+Najwygodniej jest umieszczać polecenia tworzące hasła w momencie
+pisania dokumentu. Trudno sobie wyobrazić automat wprowadzający
+wskazane słowa do skorowidza, ponieważ hasła powinny występować
+w swojej podstawowej formie (np. rzeczowniki w mianowniku), a nie
+w formie wynikającej z kontekstu; pozostaje ,,ręczne'' definiowanie
+hasła przy okazji jego istotnego wystąpienia.
+
+
W zbiorze haseł
+każde zdefiniowane pojęcie jest umieszczane jako pierwszy argument polecenia
+\indexentry
, drugim argumentem jest numer strony na
+której ono wystąpiło (wg. aktualnego formatu pisania numerów stron).
+Należy dbać o to, aby między wystąpieniem danego hasła, a
+poleceniem wprowadzającym je do skorowidza nie nastąpiło przejście
+do nowej strony.
+
+
definicja błędna | definicja poprawna | +
aqq \index{aqq}
+ | aqq\index{aqq}
+ |
+
+plmindex zbiór ++Hasła definiowane w zbiorze zbiór
.idx
zostaną
+pogrupowane (usunięte wielokrotne definicje na tej samej stronie)
+oraz posortowane i zapisane do zbioru zbiór.ind
.
+W naszym przykładzie,
+uporządkowany zbiór (rozszerzenie .ind
)
+będzie wyglądał następująco:
++\begin{theindex} + + \item aqq, 1 + + \indexspace + + \item bqq, 1 + +\end{theindex} ++Podczas powtórnego przetwarzania dokumentu pakietem LaTeX2e, powyższy zbiór +zostanie dołączony w miejscu wystąpienia polecenia
\printindex
.
+
+!
(wykrzyknik). Przykładowe
+polecenia:
++krowa\index{ssaki!parzysto-kopytne!krowa} +koń\index{ssaki!nieparzysto-kopytne!koń} +tapir\index{ssaki!nieparzysto-kopytne!tapir} +są ssakami\index{ssaki} ++określenia:
parzysto-kopytne
i nieparzysto-kopytne
+są hasłami podrzędnymi hasła ssaki
i samodzielnie
+nie wystąpują (nie są definiowane w sposób jawny). Nazwy krowa
,
+koń
i tapir
+stanowią najniższy poziom.
+
+
+Po przetworzeniu programem plmindex zbiór .ind
wygląda następująco:
+
+\begin{theindex} + + \item ssaki, 1 + \subitem nieparzysto-kopytne + \subsubitem koń, 1 + \subsubitem tapir, 1 + \subitem parzysto-kopytne + \subsubitem krowa, 1 + +\end{theindex} ++Numery stron są umieszczane tylko wtedy jeśli hasło jest wprowadzone +w sposób jawny do indeksu (np. +hasło
parzysto-kopytne
zostanie utworzone automatycznie,
+i nie zostanie opatrzone numerem strony).
+
+Ostatecznie po wydrukowaniu powyższy fragment skorowidza wygląda
+następująco:
+
+
+
Zmiana kolejności sortowania
+
+Czasami zdarza się, że hasło powinno być umieszczone w innym miejscu
+niż wynika to z porządku leksykograficznego (np. polecenie
+TeX-a poprzedzone znakiem \
umieszczamy w miejscu
+wynikającym z nazwy polecenia, ignorując znak \
). W tym wypadku
+polecenie \index
ma następującą skladnię:
+
+\index{hasło do sortowania@hasło do indeksu} ++określenie +
hasło do sortowania
służy programowi plmindex jako wzorzec do nadania
+porządku leksykograficznego, natomiast hasło do indeksu
+znajdzie się w spisie. W przypadku haseł wielopoziomowych
+polecenie może wyglądać następująco:
++\index{sort@index!sort-1@index-1!sort-2@index-2} ++Innym powodem użycia tej konstrukcji może być chęć zmiany kroju +pisma jakim składane jest dane hasło (np. wyróżnienie słowa kluczowego): +
+\index{alfa@{\itshape alfa}} ++Zbiór
.ind
wygląda następująco:
++\begin{theindex} + + \item {\itshape alfa}, 1 + +\end{theindex} ++ +
|
.+\def\seename{p.} +\def\see#1#2{#2, ({\itshape \seename~#1}\/)} + +aqq\index{aqq|see{bqq}} ++da nam następujące hasło w skorowidzu: +
+ + \item aqq, \see{bqq}{1} + ++które w dokumencie wynikowym, będzie wyglądało następująco: +
|
jest traktowany
+jako makropolecenie (jego argumentem aktualnym jest zawsze numer strony).
+W przypadku konstrukcji see
definiowany jest własny parametr
+określający hasło podobne -- parametr drugi (numer strony) jest pobierany
+z listy parametrów aktualnych, ale nie jest wykorzystywany
+(w przeciwnym wypadku pojawiłby się jako blok {1}
.
+
++Za pomocą enkapsulacji można zrealizować rozróżnianie typu +występującego +hasła, np. miejsce definicji odróżniamy od normalnego wystąpienia użyciem +innej czcionki przy podawaniu numeru strony; i tak: +
+\def\italic#1{{\itshape #1}} +\def\bold#1{{\bfseries #1}} + +\def\idxb#1{\index{#1|bold}} +\def\idxi#1{\index{#1|italic}} +\let\idx=\index + +aqq\idxb{aqq} %miejsce definicji +aqq\idx{aqq} %normalne wystąpienie +aqq\idxi{aqq} %użycie w przykładzie ++i rezultat: +
+ + \item aqq, 1, \bold{1}, \italic{1} + ++ +
\index
możemy zadeklarować, że
+dane hasło jest opisywane na kilku stronach. Początek
+opisu hasła zaznaczamy:
++strona 1: aqq\index{aqq|(} ++a kończymy +
+strona 3: aqq\index{aqq|)} ++w wyniku działania programu plmindex i ponownego przetwarzania LaTeX-em +otrzymamy: +
+ aqq, 1-3 ++jeżeli między konstrukcją +
\index{...|(}
, a \index...|)}
+pojawi się normalna definicja tego samego hasła to zostanie
+ona zignorowana (jako zawierająca się w zadanym zakresie). Jeżeli konstrukcja
+zamykająca nie wystąpi, to ostatnia definicja hasła spełni tą rolę.
+
+Standardowo, jeżeli hasło występuje na kolejnych stronach to
+numery stron są grupowane (efekt taki jak w powyższym przykładzie).
+Używanie powyższej
+konstrukcji ma sens, jeśli chcemy uzyskać ten efekt tylko dla wybranych haseł,
+wtedy należy wywołać program plmindex z opcją
+-r, która wyłączy standardowe grupowanie numerów stron.
+
+Znaki specjalne
+
+W wyżej opisywanych konstrukcjach znaki |
,
+|
,
+!
i
+@
miały znaczenie specjalne, jeżeli chcemy
+w haśle skorowidza użyć jednego z wyżej wymienionych znaków
+należy poprzedzić go znakiem "
np.
+
+
+aqq!aqq\index{aqq"!aqq} ++wprowadzi do skorowidza hasło: +
+aqq!aqq, 1 ++ +
index
. Użycie środowiska powoduje
+zdefiniowanie podrozdziału o nazwie zdefiniowanej przez makroinstrukcję
+\indexname
. Standardowo wartością polecenia
+jest napis Index
, jeżeli chcemy zmienić napis
+należy zmienić definicję tego polecenia np:
++\renewcommand\indexname{Skorowidz} ++Do definiowania sposobu prezentacji haseł na różnych +poziomach używane są następujące makroinstrukcje:
poziom | nazwa | standardowa definicja |
---|---|---|
1 | \item | \par\hangindent 40\p@ |
2 | \subitem | \par\hangindent 40\p@ \hspace*{20\p@} |
3 | \subsubitem | \par\hangindent 40\p@ \hspace*{30\p@} |
\indexspace
o wartości\par\vskip10\p@ \@plus5\p@ \@minus 3\p@\relax
+ +
-s
(p. opcje);
+standardowym rozszerzeniem nazwy jest .mst
.
+W zbiorze tym można zdefiniować następujące wartości:+
Nazwa | Wartość standardowa | Opis |
---|---|---|
preamble string |
+ "\\begin{theindex}\n" | +początek zbioru |
postamble string |
+ "\n\n\\end{theindex}\n" | +koniec zbioru |
setpage_prefix string |
+ "\n \\setcounter{page}{" | +początek polecenia + definiujący + zmianę wartości numeru + strony |
setpage_suffix string |
+ "}\n" | +koniec definicji + polecenia zmiany + numeru strony |
group_skip string |
+ "\n\n \\indexspace\n" | +polecenie wstawiane przed rozpoczęciem + grupy haseł |
headings_flag string |
+ 0 | +flaga aktywująca + wstawianie poleceń + przy zmianie + pierwszego znaku + haseł, wartość + pozytywna (>0) + wstawiany będzie + znak w postaci dużej + litery, jeśli <0 + znak małej litery |
heading_prefix string |
+ "" | +ciąg znaków, który + będzie poprzedzał + w.m. znak |
symhead_positive string |
+ "Symbols" | +nazwa grupy + haseł nie zaczynających + się literą (wstawiany + jeśli flaga >0) |
symhead_negative string |
+ "symbols" | +nazwa grupy + haseł nie zaczynających + się literą (wstawiany + jeśli flaga <0) |
numhead_positive string |
+ "Numbers" | +nazwa grupy + haseł zaczynających + się cyfrą (wstawiany + jeśli flaga <0) |
numhead_negative string |
+ "numbers" | +nazwa grupy + haseł zaczynających + się cyfrą (wstawiany + jeśli flaga <0) |
item_0 string |
+ "\n \\item " | +polecenie wstawiane + między dwie pozycje + na poziomie 0 |
item_1 string |
+ "\n \\subitem " | +polecenie wstawiane między dwie + pozycje na poziomie 1 |
item_2 string |
+ "\n \\subsubitem " | +polecenie wstawiane + między dwie pozycje + na poziomie 2 |
item_01 string |
+ "\n \\subitem " | +polecenie wstawiane między + pozycje poziomu 0 i 1 |
item_x1 string |
+ "\n \\subitem " | +polecenie wstawiane między + pozycje poziomu 0 i 1, + jeśli pozycja poziomu 0 + nie wystąpiła w sposób + jawny (nie będzie opatrzona + numerem strony) |
item_12 string |
+ "\n \\subsubitem " | +polecenie wstawiane między + pozycje poziomu 1 i 2 |
item_x2 string |
+ "\n \\subsubitem " | +polecenie wstawiane między + pozycje poziomu 1 i 2 + jeśli pozycja poziomu 1 + nie wystąpiła w sposób + jawny (nie będzie opatrzona + numerem strony) |
delim_0 string |
+ ", " | +separator między hasłem + poziomu 0, + a pierwszym numerem strony |
delim_1 string |
+ ", " | +separator między hasłem + poziomu 1, a pierwszym + numerem strony |
delim_2 string |
+ ", " | +separator między hasłem + poziomu 2, a pierwszym + numerem strony |
delim_n string |
+ ", " | +separator między + kolejnymi numerami stron + (wszystkie poziomy haseł) |
delim_r string |
+ "--" | +separator odzielający + numery zakresów stron + występowania hasła |
delim_t string |
+ "" | +ciąg znaków umieszczany + na końcu listy numerów + stron |
encap_prefix string |
+ "\\" | +pierwsza część ciągu
+ znaków wstawiana
+ przy używaniu
+ znaku sterującego
+ enkapsulacji
+ (| ) |
encap_infix string |
+ "{" | +druga część
+ znaków wstawiana
+ przy używaniu
+ znaku sterującego
+ enkapsulacji
+ (| ) |
encap_suffix string |
+ "}" | +ciąg znaków zamykający + polecenie enkapsulacji |
line_max number |
+ 72 | +maksymalna liczba znakow w linii + (jeśli definicja hasła będzie + dłuższa, zostanie przeniesiona do + następnej linii) |
indent_space string |
+ "\t\t" | +ciąg znaków wstawiany na początku + ,,łamanej linii'' |
indent_length number |
+ 16 | +określenie szerokości w.m. + ciągu znaków (potrzebne do + prowadzenia pozycji w bieżącej + linii |
Przykład:
+Zawatrość zbioru .mst
+
+delim_0 "~~" +delim_1 "~~" +delim_2 "~~" +headings_flag 1 +heading_prefix "{\\par\\goodbreak\\vskip2ex\\par\\large\\bf\\noindent " +heading_suffix "}\\par\\nobreak\\vskip 1.5ex" ++daje następujący efekt: +
+\begin{theindex} +{\par\goodbreak\vskip2ex\par\large\bf\noindent A}\par\nobreak\vskip 1.5ex + \item a~~\bold{16}, \see{odsyłacz}{16}, \bold{25} + \subitem effect~~\bold{20} + \subsubitem new~~\bold{20} + \subsubitem overlay~~\bold{20} + \subsubitem replace~~\bold{20} + \subitem href~~\bold{25} + \subsubitem \#~~\bold{19} + +. +. +. + + \indexspace +{\par\goodbreak\vskip2ex\par\large\bf\noindent Z}\par\nobreak\vskip 1.5ex + \item zlecenie poszukiwania~~54 + \item zmiana czcionki~~28 + \item znaki specjalne~~92 + +\end{theindex} ++makroinstrukcja
\bold
została zdefiniowana jako:\def\bold#1{{\bfseries #1}}
+ + +
+plmindex [<opt>] [<idx0> ...] ++
<opt>
mogą przyjmować jedną z następujących wartości:+
opcja | opis | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
-l | podczas sortowania ignoruj spacje między słowami hasła;
+ np. hasło aqq bqq zostanie potraktowane
+ tak jak aqqbqq
+ | |||||||||||
-i | jako zbioru haseł użyj standardowego strumienia (stdin) + | |||||||||||
-q | nie wyświetlaj komunikatów + | |||||||||||
-r | nie grupuj numerów stron; np. + jeżeli hasło wystąpi + na stronie 1, 2 i 3 to w skorowidzu + nie zostanie to przedstawione jako 1-3, natomiast + hasła grupowane w sposób jawny (p. + grupowanie numerów stron), będą miały pogrupowane + numery stron + | |||||||||||
-c | ciąg spacji i tabulatorów jest zamieniany na + jedną spację + | |||||||||||
-L lang | wybór języka, determinującego porządek
+ leksykograficzny
+
| |||||||||||
-s sty |
+nazwa zbioru definicji (standardowe rozszerzenie
+ .mst )
+ | |||||||||||
-o ind | nazwa zbiory wyjściowego (standardowo taka
+ jak zbiór wejściowy z
+ rozszerzeniem .ind )
+ | |||||||||||
-? -h | wyświetlenie listy opcji | |||||||||||
-! | opcja procedur specjalnych (zależy od
+ wybranego języka; dla języka polskiego
+ oznacza, że liczby (cyfry) będa umieszczane
+ w miejscu wynikającym z napisu reprezentującego
+ ich wartości; np. cyfra 1 zostanie potraktowana
+ tak jak napis jeden ) (czywiście
+ można wymusić inną kolejność
+ sortowania) | |||||||||||
-t log | log zbiór zawierający
+ dodatkowe komunikaty (standardowo nazwa taka jak
+ zbiór wejściowy z rozszerzeniem
+ .ilg )
+ | |||||||||||
-p num | num
+ początkowa wartość licznika stron + |
.idx
)+static p_char_u maz_setki = + { + (char_u *)"???", + (char_u *)"sto", + (char_u *)"dwieście", + (char_u *)"trzysta", + (char_u *)"czterysta", + (char_u *)"piećset", + (char_u *)"sześćset", + (char_u *)"siedemset", + (char_u *)"osiemset", + (char_u *)"dziewięćset" + }; + ++ + + diff --git a/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/idx/spec.html b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/idx/spec.html new file mode 100644 index 00000000000..9dad5230033 --- /dev/null +++ b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/idx/spec.html @@ -0,0 +1,20 @@ + + + + + + + + +
-!
)
+Jest ona wywoływana jeśli pole flag ma zapalony
+bit zdefiniowany stałą NUM_ORDER
(wartośc 1).
+Funkcje specjalne dla różnych języków powinny być wyzwalane
+różnymi bitami pola flags
.
+
+
+
diff --git a/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/idx/tex-idx.gif b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/idx/tex-idx.gif
new file mode 100644
index 00000000000..7f2a83784de
Binary files /dev/null and b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/idx/tex-idx.gif differ
diff --git a/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/idx/toascii.html b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/idx/toascii.html
new file mode 100644
index 00000000000..9e2be3cc319
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/idx/toascii.html
@@ -0,0 +1,150 @@
+
+
+
+
+
+
+
+
++static int_u pl_maz_toascii_table = + { + 'C', /* 128 0x80 */ + 'u', /* 129 0x81 */ + 'e', /* 130 0x82 */ + 'a', /* 131 0x83 */ + 'a', /* 132 0x84 */ + 'a', /* 133 0x85 */ + 'a', /* 134 0x86 */ + 'c', /* 135 0x87 */ + 'e', /* 136 0x88 */ + 'e', /* 137 0x89 */ + 'e', /* 138 0x8a */ + 'i', /* 139 0x8b */ + 'i', /* 140 0x8c */ + 'c', /* 141 0x8d */ + 'A', /* 142 0x8e */ + 'A', /* 143 0x8f */ + 'E', /* 144 0x90 */ + 'e', /* 145 0x91 */ + 'l', /* 146 0x92 */ + 'o', /* 147 0x93 */ + 'o', /* 148 0x94 */ + 'C', /* 149 0x95 */ + 'u', /* 150 0x96 */ + 'u', /* 151 0x97 */ + 'S', /* 152 0x98 */ + 'O', /* 153 0x99 */ + 'U', /* 154 0x9a */ + 'c', /* 155 0x9b */ + 'L', /* 156 0x9c */ + 'Y', /* 157 0x9d */ + 's', /* 158 0x9e */ + 'f', /* 159 0x9f */ + 'Z', /* 160 0xa0 */ + 'Z', /* 161 0xa1 */ + 'o', /* 162 0xa2 */ + 'O', /* 163 0xa3 */ + 'n', /* 164 0xa4 */ + 'N', /* 165 0xa5 */ + 'z', /* 166 0xa6 */ + 'z', /* 167 0xa7 */ + '?', /* 168 0xa8 */ + '!', /* 169 0xa9 */ + '!', /* 170 0xaa */ + ' ', /* 171 0xab */ + ' ', /* 172 0xac */ + '!', /* 173 0xad */ + '<', /* 174 0xae */ + '>', /* 175 0xaf */ + '|', /* 176 0xb0 */ + '|', /* 177 0xb1 */ + '|', /* 178 0xb2 */ + '|', /* 179 0xb3 */ + '|', /* 180 0xb4 */ + '|', /* 181 0xb5 */ + '|', /* 182 0xb6 */ + '|', /* 183 0xb7 */ + '|', /* 184 0xb8 */ + '|', /* 185 0xb9 */ + '|', /* 186 0xba */ + '|', /* 187 0xbb */ + '+', /* 188 0xbc */ + '+', /* 189 0xbd */ + '+', /* 190 0xbe */ + '+', /* 191 0xbf */ + '+', /* 192 0xc0 */ + '+', /* 193 0xc1 */ + '+', /* 194 0xc2 */ + '|', /* 195 0xc3 */ + '-', /* 196 0xc4 */ + '|', /* 197 0xc5 */ + '|', /* 198 0xc6 */ + '|', /* 199 0xc7 */ + '|', /* 200 0xc8 */ + '|', /* 201 0xc9 */ + '-', /* 202 0xca */ + '-', /* 203 0xcb */ + '|', /* 204 0xcc */ + '-', /* 205 0xcd */ + '|', /* 206 0xce */ + '-', /* 207 0xcf */ + '-', /* 208 0xd0 */ + '-', /* 209 0xd1 */ + '-', /* 210 0xd2 */ + '|', /* 211 0xd3 */ + '|', /* 212 0xd4 */ + '|', /* 213 0xd5 */ + '|', /* 214 0xd6 */ + '|', /* 215 0xd7 */ + '|', /* 216 0xd8 */ + '-', /* 217 0xd9 */ + '-', /* 218 0xda */ + '|', /* 219 0xdb */ + '-', /* 220 0xdc */ + '|', /* 221 0xdd */ + '|', /* 222 0xde */ + '-', /* 223 0xdf */ + 'a', /* 224 0xe0 */ + 's', /* 225 0xe1 */ + 'G', /* 226 0xe2 */ + 'p', /* 227 0xe3 */ + 'S', /* 228 0xe4 */ + 's', /* 229 0xe5 */ + 'm', /* 230 0xe6 */ + 't', /* 231 0xe7 */ + 'p', /* 232 0xe8 */ + 'H', /* 233 0xe9 */ + 'O', /* 234 0xea */ + 'd', /* 235 0xeb */ + 'o', /* 236 0xec */ + 'o', /* 237 0xed */ + 'e', /* 238 0xee */ + 'n', /* 239 0xef */ + '=', /* 240 0xf0 */ + '+', /* 241 0xf1 */ + '>', /* 242 0xf2 */ + '<', /* 243 0xf3 */ + 'f', /* 244 0xf4 */ + 'f', /* 245 0xf5 */ + '/', /* 246 0xf6 */ + '=', /* 247 0xf7 */ + 'o', /* 248 0xf8 */ + '.', /* 249 0xf9 */ + '.', /* 250 0xfa */ + ' ', /* 251 0xfb */ + ' ', /* 252 0xfc */ + '2', /* 253 0xfd */ + '.', /* 254 0xfe */ + ' ', /* 255 0xff */ + }; ++ + + diff --git a/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/idx/typy.html b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/idx/typy.html new file mode 100644 index 00000000000..4fe03f2dd6e --- /dev/null +++ b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/idx/typy.html @@ -0,0 +1,109 @@ + + + + + + + + +
+#define IS_UPPER 0x01 /*duża litera*/ +#define IS_LOWER 0x02 /*mała litera*/ +#define IS_BLANK 0x04 /*,,białe znaki''*/ +#define IS_DIG 0x08 /*cyfra*/ +#define IS_XDIG 0x10 /*cyfra szesnastkowa*/ +#define IS_CTR 0x20 /*znak sterujący*/ +#define IS_ALPH 0x40 /*znak traktowany jak litera*/ +#define IS_ALPHA (IS_LOWER | IS_UPPER) /*litera*/ +#define IS_ALNUM (IS_DIG | IS_ALPHA) /*litera lub cyfra*/ ++ +
+static a_char_u pl_maz_char_type = + { +IS_CTR, IS_CTR, IS_CTR, IS_CTR, +IS_CTR, IS_CTR, IS_CTR, IS_CTR, +IS_CTR, IS_CTR | IS_BLANK, IS_CTR | IS_BLANK, IS_CTR | IS_BLANK, +IS_CTR | IS_BLANK, IS_CTR | IS_BLANK, IS_CTR, IS_CTR, +IS_CTR, IS_CTR, IS_CTR, IS_CTR, +IS_CTR, IS_CTR, IS_CTR, IS_CTR, +IS_CTR, IS_CTR, IS_CTR, IS_CTR, +IS_CTR, IS_CTR, IS_CTR, IS_CTR, +IS_BLANK, 0x000, 0x000, 0x000, +0x000, 0x000, 0x000, 0x000, +0x000, 0x000, 0x000, 0x000, +0x000, 0x000, 0x000, 0x000, +IS_XDIG | IS_DIG, IS_XDIG | IS_DIG, IS_XDIG | IS_DIG, IS_XDIG | IS_DIG, +IS_XDIG | IS_DIG, IS_XDIG | IS_DIG, IS_XDIG | IS_DIG, IS_XDIG | IS_DIG, +IS_XDIG | IS_DIG, IS_XDIG | IS_DIG, 0x000, 0x000, +0x000, 0x000, 0x000, 0x000, + +0x000, IS_XDIG | IS_UPPER,IS_XDIG | IS_UPPER,IS_XDIG | IS_UPPER, +IS_XDIG | IS_UPPER,IS_XDIG | IS_UPPER,IS_XDIG | IS_UPPER,IS_UPPER, +IS_UPPER, IS_UPPER, IS_UPPER, IS_UPPER, +IS_UPPER, IS_UPPER, IS_UPPER, IS_UPPER, +IS_UPPER, IS_UPPER, IS_UPPER, IS_UPPER, +IS_UPPER, IS_UPPER, IS_UPPER, IS_UPPER, +IS_UPPER, IS_UPPER, IS_UPPER, 0x000, +0x000, 0x000, 0x000, IS_ALPH, + +0x000, IS_XDIG | IS_LOWER,IS_XDIG | IS_LOWER,IS_XDIG | IS_LOWER, +IS_XDIG | IS_LOWER,IS_XDIG | IS_LOWER,IS_XDIG | IS_LOWER,IS_LOWER, +IS_LOWER, IS_LOWER, IS_LOWER, IS_LOWER, +IS_LOWER, IS_LOWER, IS_LOWER, IS_LOWER, +IS_LOWER, IS_LOWER, IS_LOWER, IS_LOWER, +IS_LOWER, IS_LOWER, IS_LOWER, IS_LOWER, +IS_LOWER, IS_LOWER, IS_LOWER, 0x000, +0x000, 0x000, 0x000, IS_CTR, + +0x000, 0x000, 0x000, 0x000, +0x000, 0x000, IS_LOWER, 0x000, /* 84 */ + /* a ogonek */ +0x000, 0x000, 0x000, 0x000, /* 88 */ +0x000, IS_LOWER, 0x000, IS_UPPER, /* 8c */ + /* c acute*/ /* A ogonek*/ +IS_UPPER, IS_LOWER, IS_LOWER, 0x000, /* 90 */ +/*E ogonek */ /*e ogonek */ /* polish l */ +0x000, IS_UPPER, 0x000, 0x000, /* 94 */ + /* C acute */ +IS_UPPER, 0x000, 0x000, 0x000, /* 98 */ +/* S acute */ +IS_UPPER, 0x000, IS_LOWER, 0x000, /* 9c */ +/* Polish L */ /* s acute */ +IS_UPPER, IS_UPPER, IS_LOWER, IS_UPPER, /* a0 */ +/* Z acute */ /* Z dot */ /* o acute */ /* O acute*/ +IS_LOWER, IS_UPPER, IS_LOWER, IS_LOWER, /* a4 */ +/*n acute */ /* N acute */ /* z acute */ /* z dot */ +0x000, 0x000, 0x000, 0x000, +0x000, 0x000, 0x000, 0x000, +0x000, 0x000, 0x000, 0x000, +0x000, 0x000, 0x000, 0x000, +0x000, 0x000, 0x000, 0x000, +0x000, 0x000, 0x000, 0x000, + +0x000, 0x000, 0x000, 0x000, +0x000, 0x000, 0x000, 0x000, +0x000, 0x000, 0x000, 0x000, +0x000, 0x000, 0x000, 0x000, +0x000, 0x000, 0x000, 0x000, +0x000, 0x000, 0x000, 0x000, +0x000, 0x000, 0x000, 0x000, +0x000, 0x000, 0x000, 0x000, +0x000, 0x000, 0x000, 0x000, +0x000, 0x000, 0x000, 0x000, +0x000, 0x000, 0x000, 0x000, +0x000, 0x000, 0x000, 0x000, +0x000, 0x000, 0x000, 0x000, +0x000, 0x000, 0x000, 0x000, +0x000, 0x000, 0x000, 0x000, +0x000, 0x000, 0x000, 0x000 + }; ++ + + diff --git a/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/idx/tys.html b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/idx/tys.html new file mode 100644 index 00000000000..0b9a0cd1bc1 --- /dev/null +++ b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/idx/tys.html @@ -0,0 +1,22 @@ + + + + + + + + +
+static p_char_u maz_tys = + { + (char_u *)"???", + (char_u *)"tysiąc", + (char_u *)"tysiące", + (char_u *)"tysiące", + (char_u *)"tysiące", + (char_u *)"tysięcy" + }; ++ + + diff --git a/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/idx/upper.html b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/idx/upper.html new file mode 100644 index 00000000000..509cc12fa6b --- /dev/null +++ b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/idx/upper.html @@ -0,0 +1,35 @@ + + + + + + + + +
+static a_char_u pl_maz_upper_table = + { + 'A','B','C','D','E','F','G','H', + 'I','J','K','L','M','N','O','P', + 'Q','R','S','T','U','V','W','X', + 'Y','Z','{','|','}','~',' ', + ' ',' ',' ',' ',' ',' ','Ą',' ', + ' ',' ',' ',' ',' ','Ć',' ',' ', + ' ','Ę','Ł',' ',' ',' ',' ',' ', + ' ',' ',' ',' ',' ',' ','Ś',' ', + 'Ź',' ','Ó',' ','Ń',' ','Ź','Ż' + }; ++ +Tablica zawiera definicje dla wszystkich znaków o kodzie +większym od litery 'a'. + + + + + diff --git a/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/index.html b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/index.html new file mode 100644 index 00000000000..318e42bccee --- /dev/null +++ b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/index.html @@ -0,0 +1,128 @@ + + + + + + +
+Witam w dziale TeX-ologii stosowanej +Wirtualnej + Akademii. +Mam nadzieję, że znajdziesz tu artykuły na interesujące tematy. +Informacje o tym dziale możesz znaleźć w +manifeście. + +
+Ikona oznacza grupę artykułów na dany
+temat, natomiast
konkretny artykuł.
+
+Kopiowanie i powielanie artykułów oznaczonych znakiem
+jest dozwolone wyłącznie po uzyskaniu zgody Autora.
+
+
Osoby, które jeszcze nigdy nie zetknęły się z systemem TeX, mogą
+przeczytać krótkie wprowadzenie lub
+nieco dłuższy
+
+
+Przewodnik po systemie TeX.
+
+
Zachęcam również do nawiązania kontaktu z:
+
+
+
+![]() | + oraz z +Kliniką + + |
+ Miłej lektury + +
+
+TeX jako taki
+
+
+LaTeX w całej okazałości (m.in.
+wybrane pakiety makr
+w układzie tematycznym)
+
+
+ConTeXt
+
+
+Oprogramowanie pomocnicze
+
+Artykuły warte przeczytania
+
+
+Tam gdzie minus oznacza dzielenie
+-- B. Jackowski, M. Ryćko (10.10.1995)
+
Donald Knuth pracował nad swoim kilkutomowym dziełem ....
+Działo się to w epoce początków zastosowań programów do składu tekstów.
+Po obejrzeniu wersji wstępnej I tomu, złożonej nowymi
+narzędziami, Donald Knuth przerwał pisanie
+książki i zajął się projektowaniem programu wspomagającego skład.
+W wyniku prac
+powstał program TeX -- służący do składu i program MeTaFont
+-- służący do projektowania fontów oraz pięć książek, będących
+obszerną dokumentacją nowego systemu. Programy zostały
+napisane w specjalnym, przenośnym języku, również
+wymyślonym przez prof. Knutha. Język charakteryzuje się tym, że jednocześnie
+tworzy się program i dokument opisujący algorytmy i jego fragmenty.
+Interpreterami tego języka jest WEAVE
i TANGLE
+
+Po przetworzeniu napisanego tekstu programem TANGLE
otrzymujemy
+program w Pascal-u
, a po przetworzeniu programem
+WEAVE
+książkę, gotową do przetworzenia programem TeX, nadającą się do druku.
+Jest to niewątpliwie kłopotliwy sposób pisania programów, ale pozwala
+na oszczędności w najbardziej kosztownej fazie testowania i pielęgnacji
+programu.
+
+
Powstały programy praktycznie bezbłędne (prof. Knuth +wyznaczył nagrodę za każdy znaleziony błąd w programach TeX, MeTafont, +Weave i Tangle), dostępne na wszystkich komputerach (co najmniej 16-bitowych) +pracujących pod dowolnym systemem operacyjnym. Program TeX +zachowuje się jednakowo na każdym komputerze, sposób +obliczeń jest niezależny od dokładności arytmometru. + +
Biorąc pod uwagę złożoność funkcji programu, jest on +bardzo efektywny mimo przenaszalności kodu. Efektywność programu +nie wynika z mikrooszczędności wynikających ze sztuczek kodowania, +ale z odpowiedniego zaprojektowania algorytmów i struktur danych. + +
Od roku 1982 miały miejsce tylko dwie niewielkie modyfikacje +jego funkcji (prof. Knuth zadecydował, że system nie będzie podlegał +dalszym modyfikacjom). Ostatnią wersją jest 3.1415 (numery wersji +rosną zgodnie z kolejnymi przybliżeniami liczby pi), a różnice wynikają +głównie z dostosowania do różnych systemów wejścia/wyjścia, a nie +z poprawiania, czy tez z modyfikacji podstawowych funkcji programu TeX. + + +
Program TeX, zgodnie z wolą Donalda Knutha jest własnością świata; +tz. dozwolone jest wykorzystywanie dowolnych fragmentów kodu +programu w dowolnych celach, również komercyjnych. Można zrobić +własną implementację programu i sprzedawać ją. + + +
+
+
+
Łamanie tekstu jest nie tylko wiedzą, ale i sztuką. Ostateczny +kształt dokumentu musi uwzględniać: +tradycję, reguły estetyki, zdolności percepcyjne człowieka, funkcjonalność +i wiele innych aspektów. Iluzją jest, że jakikolwiek program +jest w stanie samodzielnie uwzględnić wszystkie aspekty; musi zrobić to +człowiek posiadający odpowiednią wiedzę i doświadczenie. Program +jest jedynie narzędziem, które pozwoli na efektywne osiągnięcie +postawionego celu. + +
Podstawową cechą programu TeX, różniącą go od innych +jest to, że może on zrobić tyle, na ile pozwala wiedza osoby go +używającej, a nie tyle, na ile pozwala wyobraźnia jego twórcy. Jest to +nie tylko system, ale i pewna filozofia podejścia do rozwiązywanego +problemu. + +
Program TeX został wymyślony i napisany przez Donalda Knutha. +Historia jego powstania jest na tyle ciekawa, że pozwolę sobie ją +w paru słowach +przytoczyć. + +
Przygotowując publikację wydajemy dyspozycje składu w postaci poleceń, +następnie tak przygotowany tekst przetwarzamy programem TeX. Jest to +działanie w trybie off line w odróżnieniu od trybu on line +oferowanego przez programy nowej generacji. Ostateczny +efekt zależy od precyzji (naszej wiedzy) wyrażania naszych życzeń. +Program wymaga od nas ścisłego formułowania naszych życzeń, pozwala +na obiektowe podejście do zagadnienia -- jest to +naturalne podejście do problemu. Definiujemy obiekty: akapity, tytuły, +listy, skorowidze, spisy itp. i określamy sposoby składu tych obiektów: +marginesy, +czcionkę, odstępy itp. Mając wprowadzony tekst, opisany poleceniami składu, +możemy zmienić formę dokumentu zmieniając jedynie +atrybuty (cechy) zdefiniowanych obiektów bez konieczności +modyfikowania dokumentu. Tryb pracy +popularnych programów typu MS-Word sprzyja wstawianiu znaków +sterujących w danym miejscu, dających pożądany efekt wizualny -- +zmiana formy dokumentu wymaga skasowania starych znaków sterujących +i wstawienia nowych w całym dokumencie. Praca +z systemem TeX zdecydowanie utrudnia tego rodzaju działanie +(doraźna ingerencja wymaga większej, a nie mniejszej wiedzy). Przystępując +do pracy należy określić jakie efekty chcemy uzyskać, zdefiniować +odpowiednie obiekty, które będą reprezentowane w ten sposób, +a następnie posługiwać się ich definicjami. + +
Dodatkową zaletą pracy z systemem TeX, jest to, że używamy wyłącznie +znaków pisarskich bezpośrednio dostępnych na klawiaturze. Pisząc wzory +matematyczne używamy nazw symboli i konstrukcji i nie musimy +zmieniać trybu pracy edytora, odrywać rąk od klawiatury, aby +wziąć mysz itp. W 99/100 przypadków złożony wzór matematyczny +nie wymaga ,,ręcznych'' interwencji; +w odróżnieniu od wszystkich innych znanych +mi programów. Zdefiniowane są prawie wszystkie używane symbole +matematyczne (jak do tej pory brakowało mi tylko symbolu +potrójnej całki po kole). Nazwy poleceń odzwierciedlają ich funkcje, +nie musimy pamiętać znaczenia wielu klawiszy funkcyjnych, których +znaczenie trudno skojarzyć z ich nazwami. Jeżeli nazwy poleceń +są trudne do zapamiętania można w łatwy sposób tworzyć ich synonimy. + + +
Niewątpliwie TeX-a nie da się używać nie rozumiejąc +jego języka programowania, w odróżnienu od programów +typu MS-Word, ale twierdzę że sprzyja to systematycznemu +podejściu do problemu. Aby używać TeX-a trzeba zdobyć niezbędną wiedzę +również o sztuce składu publikacji, nie da się go używać tak jak starej +maszyny do pisania. Włożony wysiłek szybko procentuje +wzrostem efektywności pracy. W znanych mi +narzędziach, w miarę zdobywania wiedzy o nich i doświadczenia, napotykamy +na liczne bariery, błędy i ograniczenia, bardzo denerwujące +doświadczonego użytkownika. Używanie takiego programu staje +się walką z narzędziem, a nie z postawionym zadaniem. +Autor TeX-a zadbał o to, aby był to program bezbłędny i +jego cechy oraz własności nie uległy zmianie; +TeX jest niezwykle stabilnym programem. + +
Przewagę TeX-a nad innymi programami widać szczególnie +przy składzie formuł matematycznych. Symbole i operatory matematyczne zostały +podzielone na grupy. Zostały zdefiniowane cechy tych grup i określone +zasady sąsiedztwa (np. odstęp między znakami). Nazwy symboli są jasne +i logiczne. Nie musimy określać pozycji każdego symbolu; robi to +za nas TeX. Wiele programów (np. WordPerfect) ma zapożyczony sposób +definiowania wzorów matematycznych, ale efekt końcowy jest +drastycznie gorszy (bez ręcznej korekty). + +
Na szczęście używając programu TeX możemy korzystać z wiedzy +innych. Mamy do dyspozycji ponad 20 MB zbiorów makroinstrukcji, +ułatwiających proces składu. W celu ułatwienia pracy +w 1982 został napisany przez L.Lamporta zbiór makroinstrukcji nazwany +systemem LaTeX. Zawiera on definicje najczęściej używanych +obiektów i określa sposób ich składu. LaTeX jest pewnego rodzaju +nakładką na język składu TeX-a (zdefiniowaną w jego języku), +ułatwiającą pisanie typowych artykułów, raportów i książek +przez samych autorów. Opatrując tekst kilkoma (no może kilkudziesięcioma) +poleceniami, otrzymujemy zadowalający rezultat składu. Zmieniając +cechy zdefiniowanych obiektów możemy taką publikację bardzo +łatwo dostosować do wymagań konkretnego wydawnictwa. + +
L.Lamport +ma niewątpliwie duże zasługi w popularyzacji TeX-a i +dostosowaniu go do potrzeb ,,normalnego'' użytkownika, ale sam +kod systemu LaTeX jest bardzo nieporządny, w dodatku przez kilka +lat zostało napisanych szereg makroinstrukcji pisanych w różny +sposób, często wprowadzających efekty uboczne. +W wyniku pracy +p. Franka Mitellbacha i Rainera Schöpfa cały pakiet LaTeX-a został napisany +od nowa -- znany jest on pod nazwą LaTeX2e (2 epsilon, +jako forma przejściowa do systemu 3), a coraz +częściej pod nazwą LaTeX (,,stary'' LaTeX został nazwany LaTeX-209). + +
Nowy system ma budowę warstwową. W języku TeX-a została zdefiniowana +spójna i logiczna warstwa umożliwiająca pisanie kodu prawie ,,proceduralnego'', +a nie jako klasyczne makrowołania. +Został zdefiniowany elegancki interface +dla programistów definiujących skład i piszących nowe +pakiety makroinstrukcji. +Ze względu na to, że klasyczne +makrogeneratory tracą na znaczeniu, a większość programistów +przyzwyczajonych jest do języków proceduralnych (Pascal, C) jest +to niewątpliwie duże ułatwienie. +W tym języku +pośrednim został zdefiniowany od nowa system LaTeX, jako zbiór +poleceń realizujących podobne cele, jak system LaTeX L.Lamporta. + +
Dodatkową zaletą programu TeX i pakietu LaTeX jest to, że +są one programami public domain, używając ich nie musimy +wnosić żadnych opłat. W szerzącej się komercyjnej bylejakości +TeX jest przykładem rzadko spotykanej staranności, stabilności + i bezbłędności działania. + +
+
+
+
+Dział poświęcony dla ,,wygodnickich'' którzy nie chcą uczyć się +TeX-a -- jest to oczywiście żart (patrz TeX). +Pakiet LaTeX2e jest zbiorem makroinstrukcji, ułatwiającym +tworzenie dokumentów za pomocą systemu TeX. Jest on niewątpliwie +łatwiejszy do opanowania niż język TeX, proponowany przez D.E. Knutha +w standardowym pakiecie makr (tzw. plain). LaTeX dedykowany +jest przede wszystkim +tym, którzy nie zajmują się składem publikacji na codzień, a chcą +aby ich artykuły wyglądały przyzwoicie.
+ +Używanie makroinstrukcji LaTeXa pozwala na osiągnięcie bardzo istotnego +celu -- separacji opisu struktury dokumentu, od opisu jego wyglądu. +Należy pamiętać, że czas tworzenia publikacji jest dosyć długi, często bierze w +tym udział kilka osób. Zdarza się również, że informacja jest publikowana w +kilku wersjach; np. książka, przeglądarka hipertekstu, sjaldy; bądź też +książka powstaje ze zbioru materiałów publikowanych w innej formie. Jeśli +elementy dokumentu są odpowiednio oznakowane, do jego przetwarzania możemy wykorzystać +komputer, być może wcale nie trzeba go przetwarzać, wystarczy przyporządkować znacznikom +inną formę prezentacyjną. +
+ +Krótko mówiąc, LaTeX to absolutne minimum (są znacznie bardziej zaawansowane +języki znaczników) tego co możesz zrobić, abyś nie musiał tej samej pracy +wykonywać wielokrotnie.
+ ++LaTeX2e jest znacznie zmienioną implementacją pakietu +LaTeX (zwanego od tej pory LaTeX2.09), utworzonego w latach 80. przez L. Lamporta. +Został stworzony przez znanych TeX-pertów: Michela Goossensa, +Franka Mittelbacha oraz Alexandra Samarina. Pakiet ma budowę warstwową; +główny wysiłek autorów został skierowany na zdefiniowanie +zbioru poleceń ułatwiających tworzenie własnych zbiorów makroinstrukcji. +W tej ,,technicznej'' warstwie został napisany pakiet nowego LaTeXa.
+ +LaTeX2e jest jedynie wersją przejściową do LaTeX3. Niektóre jego elementy +są już dostępne w postaci pakietów do LaTeX2e jako experimental code.
+ ++Podstawy LaTeX2e zawiera przetłumaczone na język. polski: + + +,,Nie za krótkie wprowadzenie do systemu LaTeX2e'' (plik PDF, 88 str.).
+ ++W dziale tym będę prezentował pakiety makroinstrukcji +i artykuły ułatwiające korzystanie z pakietu LaTeX2e.
+ ++
+
+Ciekawe dokumenty w jezyku angielskim: | ++ + +Hypertext Help with LaTeX |
+ + +grafika w LaTeX (plik postscriptowy) | |
+ + +Podstawy LaTeX2e (wersja oryginalna, plik PDF) | |
+ + +Zestaw symboli + | |
Dokumentacja dystrybucji LaTeX: | + + +LaTeX2e dla autorów + |
+ + +o fontach + | |
+ + +o klasach + | |
+ + +konfigurowanie LaTeX-a + | |
+ + +modyfikowanie LaTeX-a + | |
+ + +grafika w Latex-u + | |
+ |
+Opisywana lista nie ma zdefiniowanej domyślnej etykiety, zakłada się, +że każda pozycja jest opatrzona własną etykietą (parametr +polecenie \item). Standardową postać trudno uznać za zadowalającą, +poniższa struktura +
+\noindent aaa aaa aaa aaa aaa aaa aaa aaa aaa aaa +aaa aaa aaa aaa aaa aaa aaa aaa aaa aaa +aaa aaa aaa aaa aaa aaa aaa aaa aaa aaa +aaa aaa aaa aaa aaa aaa aaa aaa aaa aaa +aaa aaa aaa aaa aaa aaa aaa aaa aaa aaa +\begin{description} +\item[i] aqq +aaa aaa aaa aaa aaa aaa aaa aaa aaa aaa +aaa aaa aaa aaa aaa aaa aaa aaa aaa aaa +aaa aaa aaa aaa aaa aaa aaa aaa aaa aaa +aaa aaa aaa aaa aaa aaa aaa aaa aaa aaa +\item[ii] bqq +aaa aaa aaa aaa aaa aaa aaa aaa aaa aaa +aaa aaa aaa aaa aaa aaa aaa aaa aaa aaa +\item[iii] bqq +aaa aaa aaa aaa aaa aaa aaa aaa aaa aaa +\end{description} +aaa aaa aaa aaa aaa aaa aaa aaa aaa aaa +aaa aaa aaa aaa aaa aaa aaa aaa aaa aaa +aaa aaa aaa aaa aaa aaa aaa aaa aaa aaa +aaa aaa aaa aaa aaa aaa aaa aaa aaa aaa ++będzie wyglądała:
Złożoność (i pogmatwanie) środowiska list nie pozwala na dużą +swobodę, nie mniej jednak, możemy zdefiniować szereg odmian listy +description.
+Przykład 1: Lista dająca łatwą możliwość definiowania szerokości +lewego marginesu
+
+\newenvironment{Ventry}[1]{% + \begin{list}{} + {\renewcommand{\makelabel}[1]{% + \textsf{##1:}\hfill}% + \settowidth{\labelwidth}{\textsf{#1:}}% + \leftmargin=\labelwidth% + \advance \leftmargin\labelsep}}% + {\end{list}} +\begin{Ventry}{Rezultat} +\item[Opis] środowisko pozwala na zdefiniowanie listy o zadanej szerokości +marginesu, jego szerokość wyznacza szerokość najdłuższej etykiety, +którą to należy podać jako argument +\item[Błędy] brak, +\item[Rezultat] jest zadowalający +\end{Ventry} ++daje następujący efekt:
+
+Przykład 2: Lista podobna do wyżej zdefiniowanej, ale zdefiniowano +dodatkową własność, jeżeli etykieta jest dłuższa od określonej +szerokości to opis jest umieszczany w następnej linii +
+\newlength{\Mylen} +% +\newcommand{\entrylabel}[1]{% +\settowidth{\Mylen}{\textsf{#1:}}% +\ifthenelse{\lengthtest{\Mylen > \labelwidth}} + {\parbox[b]{\labelwidth} + {\makebox[0pt][l]{\textsf{#1:}}\\}}% + {\textsf{#1:}}% + \hfil\relax} +\newenvironment{entry}[1]% + {\begin{list}{}% + {\renewcommand{\makelabel}{\entrylabel}% + \settowidth{\labelwidth}{\textsf{#1:}}% + \leftmargin=\labelwidth% + \advance \leftmargin\labelsep}}% + {\end{list}} +% +\noindent aqq +aaa aaa aaa aaa aaa aaa aaa aaa aaa aaa +\begin{entry}{Błędy} +\item[Opis] środowisko pozwala na zdefiniowanie listy o zadanej szerokości +marginesu, jego szerokość wyznacza szerokość wybranej etykiety, +którą to należy podać jako argument +\item[Błędy] brak, +\item[Rezultat] jest zadowalający +\end{entry} +aaa aaa aaa aaa aaa aaa aaa aaa aaa aaa ++
+
+a oto przykład
+Przykład 3: Lista gdzie etykieta podlega
+procesowi łamania na szerokości wyznaczonej przez długość
+argumentu
+
+
+\newcommand{\Myentrylabel}[1]{% +\raisebox{0pt}[1ex][0pt]{% + \makebox[\labelwidth][l]{% + \parbox[t]{\labelwidth}{\hspace{0pt}\textsf{#1:}}}}}% +\newenvironment{Myentry}[1]% + {\begin{list}{} + {% + \settowidth{\labelwidth}{\textsf{#1:}}% + \leftmargin=\labelwidth% + \advance \leftmargin\labelsep% + \renewcommand{\makelabel}{\Myentrylabel}}}% + {\end{list}} +% +\noindent aqq +aaa aaa aaa aaa aaa aaa aaa aaa aaa aaa +\begin{Myentry}{Błędy} +\item[Opis] środowisko pozwala na zdefiniowanie listy o zadanej szerokości +marginesu, jego szerokość wyznacza szerokość wybranej etykiety, +którą to należy podać jako argument +\item[Błędy] brak, +\item[Rezultat] jest zadowalający, a nawet jeszcze bardziej, bowiem +zbyt długa etykieta podlega procesowi łamania +\end{Myentry} ++
+Lista numerowana może być zagnieżdżana do 4 poziomów. +
+Poniżej wymienione makroinstrukcje odpowiadają za wygląd listy: +
znaczenie | +definicja I | +definicja II | +definicja III | +definicja IV |
---|---|---|---|---|
licznik | +enumi | +enumii | +enumiii | +enumiv |
reprezentacja | +\def\theenumi{\arabic{enumi}} | +\def\theenumii{\alph{enumii}} | +\def\theenumiii{\roman{enumiii}} | +\def\theenumiv{\Alph{enumiv}} |
etykieta | +\def\labelenumi{\theenumi.} | +\def\labelenumii{(\theenumi)} | +\def\labelenumiii{\theenumi.} | +\def\labelenumiv{\theenumi.} |
dodatkowy prefix + przy odwołaniach |
+ \def\p@enumi{} | +\def\p@enumii{\theenumi} | +\def\p@enumiii{\theenumi(\theenumii)} | +\def\p@enumiv{\p@enumiii\theenumiii} |
+\renewcommand{\labelenumi}{\S\theenumi.} +\begin{enumerate} +\item Ala ma kota\label{ala} +\item Ola ma Asa +\end{enumerate} +Paragraf \ref{ala} opisuje stan posiadania Ali. ++da poniższy efekt:
+\makeatletter +\def\p@enumi{\S} +\makeatother +\renewcommand{\labelenumi}{\S\theenumi.} +\begin{enumerate} +\item Ala ma kota\label{ala} +\item Ola ma Asa +\end{enumerate} +Paragraf \ref{ala} opisuje stan posiadania Ali. ++
+Lista nienumerowana może być zagnieżdżana do 4 poziomów. +
+Poniżej wymienione makroinstrukcje odpowiadają za wygląd listy: +
znaczenie | +definicja I | +definicja II | +definicja III | +definicja IV |
---|---|---|---|---|
etykieta | +\def\labelitemi{\m@th\bullet}} | +\def\labelitemii{\bfseries --} | +\def\labelitemiii{\m@th\ast} | +\def\labelitemiv{\m@th\cdot} |
+\begin{enumerate} + \item Ala ma kota + \begin{enumerate} + \item Ala ma kota + \begin{enumerate} + \item Ala ma kota + \begin{enumerate} + \item Ala ma kota + \item Ola ma Asa + \end{enumerate} + \item Ola ma Asa + \end{enumerate} + \item Ola ma Asa + \end{enumerate} + \item Ola ma Asa +\end{enumerate} ++da poniższy efekt:
+\newenvironment{MYitemize}{% + \renewcommand{\labelitemi}{$\blacksquare$}% + \begin{itemize}} + {\end{itemize}} +\begin{MYitemize} + \item Ala ma kota + \item Ola ma Asa +\end{MYitemize} ++
+Jeśli chcemy zmienić parametry należy zmienić definicję odpowiedniej +makroinstrukcji, ustawianie lokalnie wartości parametru nie spowoduje +pożądanych efektów. Ze względu na nieco pokrętny sposób definiowania parametrów +możemy mieć kłopoty z ustawieniem wartości nam odpowiadających.
+ ++Zdefiniowana makroinstrukcja \@listi jest +zapamiętywana (makropodstawienie) pod nazwą \@listI. +
+\def\normalsize{% +. +. +. +\let\@listi=\@listI +} +\def\@listi{% + . + . + . +} +\let\@listI=\@listi ++Każdorazowa +zmiana fontu na \normalsize powoduje nadanie makroinstrukcji +\@listi wartości zapamiętanej w \@listI; +następuje odtworzenie ciała pierwotnie zdefiniowanej makroinstrukcji +(w której są definiowane parametry opisujące skład listy) +\@listi -- należy +zmienić definicję makroinstrukcji \@listI, a nie \@listi +. W przypadku wywołania +makroinstrukcji \small lub \footnotesize jest jeszcze gorzej: +makroinstrukcja \@listi jest definiowana wewnątrz ww. +makroinstrukcji; +
+\def\small{% + . + . + \def\@listi{% + . + . + . + } +} ++tzn. każde użycie \small lub footnotesize +spowoduje ponowne zdefiniowanie \@listi definiującej +parametry składu list. + +
+Jeśli chcemy mieć wpływ na parametry składu należy utworzyć +własną makroinstrukcję \@listI oraz \small +i \footnotesize -- będziemy mieli wpływ na skład +listy na pierwszym poziomie oraz zdefiniowaă wěasne +\@listii, \@listiii ..., +aby nadać własne wartości składu na wyższych stopniach zagnieżdzenia.
+ +
+Patrz
+Rozwiązanie problemu modyfikacji parametrów
+
+
+
+
diff --git a/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/latex2e/listy/list.html b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/latex2e/listy/list.html
new file mode 100644
index 00000000000..2209effb466
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/latex2e/listy/list.html
@@ -0,0 +1,58 @@
+
+
Wszystkie rodzaje wykazów tworzą +otoczenia (środowisko -- envinronment), korzystając ze +wspólnej konstrukcji list (jest to też środowisko) -- +odmiennie definiując etykietę (wyróżnik listy).
+ +Standardowe listy (predefiniowane) + +
+Nazwy i znaczenie parametrów sterujących ilustruje rysunek
+
+
+parametr \partopsep jest dodawany jeśli lista otwierana
+jest w trybie pionowym (vmode).
+Wartość kary za złamanie strony przed listą jest jest przechowywana +w liczniku \@beginparpenalty, przed kolejnym elementem +listy w \@itempenalty, a po zakoîczeniu listy w +\@endparpenalty +
+
+Parametry zilustrowane na rysunku, określające wygląd listy (długość etykiety,
+odstępy między elementami, wcięcia akapitowe itp.) są definiowane
+przez makroinstrukcje:
+\@listi
+\@listii
+\@listiii
+\@listiv
+\@listv
+\@listvi
+Są one wywoływane wewnątrz środowiska list w zależności od
+stopnia zagnieżdzenia.
Uwaga! Wartości są określane dla dokumentu składanego +czcionką 11pt. Dla standardowych typów dokumentu, wartości parametrów +są zawarte w zbiorach: +size10.clo, +size11.clo, +size12.clo.
+ ++\makeatletter +\renewcommand\normalsize{% + \@setfontsize\normalsize\@xipt{13.6}% + \abovedisplayskip 11\p@ \@plus3\p@ \@minus6\p@ + \abovedisplayshortskip \z@ \@plus3\p@ + \belowdisplayshortskip 6.5\p@ \@plus3.5\p@ \@minus3\p@ + \belowdisplayskip \abovedisplayskip + \let\@listi\@listN} + +\renewcommand\small{% + \@setfontsize\small\@xpt\@xiipt + \abovedisplayskip 10\p@ \@plus2\p@ \@minus5\p@ + \abovedisplayshortskip \z@ \@plus3\p@ + \belowdisplayshortskip 6\p@ \@plus3\p@ \@minus3\p@ + \belowdisplayskip \abovedisplayskip + \let\@listi\@listS} + +\renewcommand\footnotesize{% + \@setfontsize\footnotesize\@ixpt{11}% + \abovedisplayskip 8\p@ \@plus2\p@ \@minus4\p@ + \abovedisplayshortskip \z@ \@plus\p@ + \belowdisplayshortskip 4\p@ \@plus2\p@ \@minus2\p@ + \belowdisplayskip \abovedisplayskip + \let\@listi\@listF} +\makeatother ++ +
+Powyższe makroinstrukcje mają podobną budowę, wykorzystując ten sam mechanizm +zmiany parametrów; Makroinstrukcje \@listN, \@listS +i \@listF definiują niektóre parametry dla poziomów wyższych +(marginesy), które są używane wewnątrz makroinstrukcji definiujących +wartości parametrów dla wyższych poziomów.
++\makeatletter +\def\@listN{% + \listparindent 1.5em% + \leftmargini 1.5em% + \leftmarginii 1.5em% + \leftmarginiii 1.5em% + \leftmarginiv 1.5em% + \leftmarginv 1.5em% + \leftmarginvi 1.5em% + \labelsep .5em% + \labelwidth\leftmargini% + \advance\labelwidth-\labelsep% + \leftmargin\leftmargini% listi normal% + \topsep 1.5pt plus 0.5pt minus 0.5pt% + \parsep 0.0pt plus 0.2pt minus 0.1pt% + \partopsep 0.5pt plus 0.5pt minus 0.1pt% + \itemsep 0.0pt plus 0.2pt minus 0.1pt}% +\def\@listS{% + \listparindent 1.5em% + \leftmargini 1.5em% + \leftmarginii 1.5em% + \leftmarginiii 1.5em% + \leftmarginiv 1.5em% + \leftmarginv 1.5em% + \leftmarginvi 1.5em% + \labelsep .5em% + \labelwidth\leftmargini% + \advance\labelwidth-\labelsep% + \leftmargin\leftmargini% + \topsep 1pt plus 0.2pt minus 0.2pt% + \parsep 0.0pt plus 0.2pt minus 0.1pt% + \partopsep 0.5pt plus 0.2pt minus 0.1pt% + \itemsep \parsep}% +\def\@listF{% + \listparindent 1.5em% + \leftmargini 1.5em% + \leftmarginii 1.5em% + \leftmarginiii 1.5em% + \leftmarginiv 1.5em% + \leftmarginv 1.5em% + \leftmarginvi 1.5em% + \labelsep .5em% + \labelwidth\leftmargini% + \advance\labelwidth-\labelsep% + \leftmargin\leftmargini% + \topsep 0pt plus 0.0pt minus 0.0pt% + \parsep 0.0pt plus 0.0pt minus 0.0pt% + \partopsep 0.0pt plus 0.0pt minus 0.0pt% + \itemsep \parsep}% +\def\@listii{% + \listparindent 1em% + \leftmargin\leftmarginii% + \labelwidth\leftmarginii% + \labelsep .5em% + \advance\labelwidth-\labelsep% + \topsep 1pt plus 0.1pt minus 0pt% + \parsep 0.0pt plus 0.1pt minus 0pt% + \partopsep 0.5pt + \itemsep \parsep}% +\def\@listiii{% + \listparindent 1em% + \leftmargin\leftmarginiii% + \labelwidth\leftmarginiii% + \labelsep .5em% + \advance\labelwidth-\labelsep% + \topsep 0pt + \parsep 0pt + \partopsep 0pt + \itemsep \topsep}% +\def\@listiv{% + \listparindent 1em% + \leftmargin\leftmarginiv% + \labelwidth\leftmarginiv% + \labelsep .5em% + \advance\labelwidth-\labelsep% + \topsep 0pt% + \parsep 0pt% + \partopsep 0pt% + \itemsep \topsep}% +\def\@listv{% + \listparindent 1em% + \leftmargin\leftmarginv% + \labelwidth\leftmarginv% + \labelsep .5em% + \advance\labelwidth-\labelsep% + \topsep 0pt% + \parsep 0pt% + \partopsep 0pt% + \itemsep \topsep}% +\def\@listvi{% + \listparindent 1em% + \leftmargin\leftmarginvi% + \labelwidth\leftmarginvi% + \labelsep .5em% + \advance\labelwidth-\labelsep% + \topsep 0pt% + \parsep 0pt% + \partopsep 0pt% + \itemsep \topsep}% +\normalsize +\makeatother ++ + + diff --git a/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/latex2e/listy/standard.html b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/latex2e/listy/standard.html new file mode 100644 index 00000000000..006f8fa6169 --- /dev/null +++ b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/latex2e/listy/standard.html @@ -0,0 +1,60 @@ + + + + + + +
+
\begin{itemize} + \item Ala ma kota + \item Ola ma asa + \end{itemize} | ![]() |
\begin{enumerate} + \item Ala ma kota + \item Ola ma asa + \end{enumerate} | ![]() |
\begin{description} + \item[A] Ala ma kota + \item[B] Ola ma asa + \end{description} | ![]() |
+W przypadku wykazów enumerate i itemize wywołanie +makroinstrukcji z parametrem powoduje, że wyróżnikiem (etykietą) będzie +wartość parametru, a nie wartość domyślna (w przypadku enumerate +nie jest inkrementowany licznik).
+ +
+Użytkownik może zmieniać wyróżnik elementu listy. W przypadku
+listy numerowanej najlepiej dołączyć pakiet
+enumerate, który definiuje taką
+listę w bardziej elastyczny sposób, umożliwiając zmianę numeracji
+za pomocą parametru.
+np:
+
+\begin{enumerate}[a)] +\item Ala ma kota +\item Ola ma Asa +\end{enumerate} ++spowoduje oznaczanie kolejnymi, małymi literami alfabetu a), +b) itd. Prawa rządzące budową listy +można poznać czytając:
Pakiet dostarcza środowiska threeparttable
umożliwiającego
+ definiowanie odsyłaczy (,,footnote'') wewnątrz tabeli. Odsyłacze
+ są realizownie w środowisku tablenotes
jako kolejne pozycje
+ \item
. Działanie najlepiej zilustruje przykład.
+
+
+ \begin{threeparttable} + \caption{...} + \begin{tabular}{|l|l|} + \hline + pierwsza kolumna\tnote{a}& druga kolumna\\ + \hline + pierwsza kolumna\tnote{b}& druga kolumna\\ + \hline + \end{tabular} + \begin{tablenotes} + \item [a] objaśnienie uwagi a + \item [b] objaśnienie uwagi b + \end{tablenotes} + \end{threeparttable} ++ +Uwaga
caption
. Pakiet definiuje
+własne polecenie, może ono być użyte wewnątrz
+środowiska threeparttable
; nie koliduje ono z poleceniem
+caption
użytym na zewnątrz omawianego środowiska (w przypadku
+zanurzenia całości w środowisku table
).
+
+
+
+
+
+Pakiet jest dostępny pod adresem: + +ftp://ftp.gust.org.pl/TeX/macros/latex/contrib/misc/threeparttable.sty
+
opcje | opis |
---|---|
nonscript | inaczej pozycjonuje akcent + w przypadku gdy akcentowany symbol jest w subscripcie |
single | ???? |
+polecenia
+
+
+
+Pakiet zawiera makropolecenie do definiowania akronimów. Definiuje się +polecenie zawierające akronim (wraz ze sposobem jego prezentowania; +np. rodzaj czcionki) i pełne rozwinięcie nazwy. Przy pierwszym użyciu +zdefiniowanego polecenia pojawi się pełna nazwa, a przy następnych +sam akronim. W języku polskim forma pełna powinna być zdefiniowana tak, +aby końcówki odmiany były zgodne z kontekstem użycia (patrz przyklad; +pełna nazwa została zdefiniowana błędnie). +
+ +Przykład +
+ +
+\acromake{NBP}{{\tt NBP}}{Narodowy Bank Polski} +\acromake{PKO}{{\tt PKO}}{Powszechna Kasa Oszczędności} + +\NBP jest największym bankiem w Polsce. +Nie wszyscy lubią \NBP i ciułają pieniądze w \PKO. Oczywiście +\PKO nie jest doskonałe, ale to rzecz gustu. ++ +
+
+
+
+Uwaga:
+Jeżeli kolejne użycie polecenia jest na innej stronie niż pierwsze
+to pojawia się dodatkowy komentarz informujący na której
+stronie jest definicja (w języky angielskim). Zmodyfikowana
+wersja pakietu (polsko--angielska) nosi nazwę iaacromake
+(można go znaleźć na serwerze
+IAPW.ia.pw.edu.pl/sys/emtex/texinput/latex2e/local
logując się
+jako GUEST -- nie anonymos).
+
+
+Pakiet jest dostępny pod adresem: + +ftp://ftp.gust.org.pl/TeX/macros/latex/contrib/misc/acromake.sty
+ +
\afterpage{text}
. tekst
+zostanie umieszczony na następnej
+ stronie jako pierwszy; nowy akapit na stronie, następujący
+dalej tekst będzie kontynuacją akapitu zapoczątkowanego na poprzedniej
+stronie:+\afterpage{\bf tekst przeznaczony na początek +najbliższej strony (ilustracja +polecenia \afterpage).} ++ + +Uwaga:
\afterpage
nie działa
+w środowisku wielokolumnowym. Argumentem polecenia może być
+również polecenie (środowisko) definiujące obiekt ruchomy np.
+figure
.
+
+
+Pakiet jest dostępny pod adresem:
+
+ftp://ftp.gust.org.pl/TeX/macros/latex/packages/tools/afterpage.dtx
+ +
alltt
. Zachowuje ono cechy
+ środowiska verbatim
, ale bez przedefiniowania
+ znaków \
, {
i }
+ + +Pakiet jest częścią LaTeX2e. +
\newteorem{nazwa środowiska}{tekst nagłówka}
\newteorem{nazwa środowiska}%
+ [nazwa innego środowiska]{tekst nagłówka}
\newteorem*{nazwa środowiska}{tekst nagłówka}
\newteorem{nazwa środowiska}%
+{tekst nagłówka}[licznik nadrzędny]
+Postać wywołania zdefiniowanego środowiska jest następująca:
+
+\begin{nazwa}
+zawartość
+\end{nazwa}
+
+lub
+
+\begin{nazwa}[dodatek]
+zawartość
+\end{nazwa}
+
+gdzie nazwa jest nazwą środowiska zdefiniowaną poleceniem
+\newtheorem, a dodatek może stanowić dodatkowy
+komentarz (będący częścią nagłówka).
+
+
+Definicja i użycie nowego środowiska może wyglądać następująco: +
+\newtheorem{twierdzenie}{Twierdzenie} +\newtheorem{lemat}{Lemat}[twierdzenie] +. +. +. +\begin{twierdzenie} +podstawowe +\begin{lemat} +pierwszy lemat +\end{lemat} +\begin{lemat} +drugi lemat +\end{lemat} +\end{twierdzenie} + +\begin{twierdzenie}[specjalne] +i jeszcze jedno twierdzenie +\end{twierdzenie} ++a po przetworzeniu: +
+Sposób prezentacji środowiska jest zależny od wybranego stylu. Polecenie +newtheorem można poprzedzić poleceniem theoremstyle +(domyślnie używany jest styl plain).
+ +
+Wywołanie polecenie wygląda następująco:
+\theoremstyle{style}
+gdzie style może przyjmować następujące wartości:
+
Lista dostępnych styli jest ograniczona, ale mamy do dyspozycji
+polecenie umożliwiające definiowane nowych styli:
+
+\newtheoremstyle{nazwa stylu}%
+ {odległość przed}%
+ {odległość po}%
+ {font do składu wnętrza}%
+ {wcięcie}%
+ {font nagłówka}%
+ {znak po nagłówku}%
+ {odległość po nagłówku}%
+ {własna definicja nagłówka}
+
+
+poszczególne parametry mają następujące znaczenie: +
nazwa stylu | +nazwa nowego stylu (może być argumentem polecenia + \theoremstyle) |
odległość przed | +określa odległość w pionie przed środowiskiem + (pusty argument oznacza 0pt) |
odległość po | +określa odległość w pionie po środowisku + (pusty argument oznacza 0pt) |
font do składu wnętrza | +określa font, którym prezentowany jest tekst + wnętrza środowiska |
wcięcie | +określa odległość tekstu nagłówka od lewego marginesu strony |
font nagłówka | +określa font, którym prezentowany jest + tekst nagłówka |
znak po nagłówku | +określa dodatkowy znak (ciąg znaków) wstawianych po + nagłówku; za pomocą tego parametru możemy wstawić + znak kropki po nagłówku |
odległość po nagłówku + | określa odległość w poziomie, między tekstem nagłówka, + a treścią twierdzenia; znak spacji oznacza normalną przerwę + między wyrazami (zmienną w razie potrzeby), wstawienie + polecenie \newline powoduje że tekst wnętrza jest + składany ,,od nowej linii'' + |
własna definicja nagłówka | +powyższa specyfikacja może ustalić na stałe
+ treść nagłówka określoną poleceniem \newtheorem.
+ Łatwo widać, że taka specyfikacja byłaby mało przydatna.
+ Wyróżniono 3 części nagłówka: nazwa (drugi parametr
+ polecenie \newtheorem), numer kolejny oraz
+ dodatkowa notatka (parametr opcjonalny polecenia
+ \begin{nazwa}[notka]),
+ za wizualizację poszczególnych części odpowiadają
+ polecenia: \thmname, \thmnumber i \thmnote,
+ a wartości poszczególnych elementów są podstawiane za pierwszy,
+ drugi i trzeci parametr formalny (#1 -- nazwa,
+ #2 -- numer i #3 -- opcjonalna notka).
+ W najprostszym przypadku specyfikacja tego parametru może wyglądać
+ następująco: Spróbujmy zdefiniować środowisko, którego
+numer będzie prezentowany na lewym marginesie, a dodatkowa notka
+będzie prezentowana fontem ,,bold italic'' |
+\arabicnumeral{dcxiii} ++generuje napis 613 +
Zbiór dołączamy za pomocą polecenia \input
+
\tabular
+i \array
) -- na lepsze. Wskazane jest dołączenie pakietu
+w przypadku używania środowisk:
+tabular
, array
, tabularx
, longtable
i supertabular
.
+
+Definicja nowego typu kolumny:
+\newcolumntype{x }[n ]{preambuła }
+gdzie
+
#1
+ #2
, ...),
+W specyfikacji makropolecenia \newcolumntype
oraz w definicji
+preambuły tablicy mogą być użyte następujące określenia (w preambule tablicy
+może znaleźć się oczywiście nowy, zdefiniowany poleceniem
+\newcolumntype
typ).
+
l | dosunięcie tekstu do lewej |
r | dosunięcie tekstu do prawej |
c | centrowanie |
m{width } + | Definiuje kolumnę o szerokości
+ width .
+ Środek celi tej kolumny (połowa wysokości) pokrywa się
+ ze środkiem celi kolumny sąsiedniej
+ (porównaj; cela bieżąca i sąsiednia). Odpowiednik:
+ \parbox{width } ; tekst jest łamany
+ na szerokości width . |
p{width } | Równoważna:
+ \parbox[t]{width } .
+ Pozycjonowanie w/g szczytu celi. |
b{width } | Równoważna
+ \parbox[b]{width } .
+ Pozycjonowanie w/g dołu celi. |
>{macro } | Może być użyta przed jednym z
+ następujących typów: l , r ,
+ c , p , m lub
+ b .
+ polecenie macro będzie wykonywana zawsze
+ przed rozpoczęciem cel w tak określonej
+ kolumnie. |
<{macro } | Może być użyta po jednym z
+ następujących typów: l , r ,
+ c , p , m lub
+ b .
+ Polecenie macro będzie wykonywana zawsze
+ po zakończeniu
+ cel w tak określonej kolumnie. |
| | Wstawienie linii pionowej jako separatora kolumn; + odległość między kolumnami zostanie zwiększona + o szerokość linii (w odróżnieniu od oryginalnej + definicji tabeli). |
@{macro } | Może być użyte w dowolnym
+ miejscu preambuły zamiast | .
+ Polecenie macro zostanie wywołane między
+ kolumnami (kasuje normalną
+ odległość między kolumnami). |
!{macro } | Może być użyte w dowolnym
+ miejscu preambuły zamiast
+ | .
+ Polecenie macro zostanie wywołane
+ między odpowiednimi kolumnami (w odróżnieniu od
+ oryginalnej
+ makroinstrukcji @{...} nie kasuje normalnej
+ odległości między kolumnami). |
*{n }{decl } |
+ n -- krotne powtórzenie
+ decl ; gdzie
+ decl jest ciągiem poprzednio określonych
+ parametrów. Np.
+ *{3}{c} oznacza trzy kolumny centrowane. |
Parametry którymi można regulować sposób budowania tabeli:
+
Polecenie | opis |
---|---|
\arraycolsep | połowa szerokości odstępu między kolumnami
+ tablicy w środowisku matematycznym (array )
+ (domyślnie 5pt) |
\tabcolsep | połowa szerokości odstępu między kolumnami + tablicy (domyślnie 6pt) |
\arrayrulewidth | szerokość pionowej linii separującej + kolumny (o ile jest używana -- domyślnie + 0.4pt) |
\doublerulesep | odległość między dwoma liniami pionowymi + stanowiącymi separator kolumn (domyślnie 2pt) |
\arraystretch | ,,mnożnik'' odstępu między
+ wierszami tablicy
+ (np.
+ \renewcommand{\arraystretch}{1.5}
+ zwiększa odstęp o 50%) |
\extrarowheight | dodatkowy odstęp między liniami (domyślnie 0pt) |
Uwaga
+Niektóre polecenia (np. \raggedright
) zmieniają definicje
+polecenia \\
; tak więc specyfikacja
+typu ostatniej kolumny jako:
+>{\raggedleft}p{20mm}
+może spowodować błąd. Możemy temu zapobiec definiując makroinstrukcję
+odtwarzającą definicję polecenia \\
+\newcommand{\PreserveBackslash}[1]%
+ {\let\temp=\\#1\let\\=\temp}
+\let\PBS=\PreserveBackslash
+Argumentem pierwszego polecenia jest inne polecenie. Przed jego
+wykonaniem jest wykonywane makropodstawienie definicji \\
+na zmienną \temp
,
+następnie wykonanie polecenia i odtworzenie poprzedniej definicji
+\\
z zachowanej zmiennej \temp
.
+Drugie polecenie utożsamia dla wygody
+(krótsza nazwa) zmienną \PBS
+z utworzonym poleceniem \PreserveBackslash
. Poprawna definicja
+ostatniej kolumny będzie wyglądała teraz następująco:
+>{\PBS\raggedleft}p{20mm}
+
+
Uwaga:
+W związku z realizacją tabeli występuje efekt uboczny ---
+blokowane jest przenoszenie wyrazów (hyphenation) dla pierwszego
+wyrazu w celi. Efekt możemy skompensować
+wstawiając pustą przestrzeń o długości 0pt na początku celi
+(wykorzystując możliwości formowania preambuły tabeli) np.
+>{\PBS\raggedleft\hspace{0pt}}p{20mm}
+
+
Pakiet jest dostępny standardowo w dystrybucjach LaTeX, a także
+pod adresem:
+
+ftp://ftp.gust.org.pl/TeX/macros/latex/required/tools/array.dtx
+ +
Pakiet umożliwia wyrównanie długości ostatnich szpalt przy składzie dwuszpaltowym (p. też +flushend). +Udostępnia dwa polecenia: \balance -- szpalty będą wyrównane +i \nobalance -- szpalty nie będą wyrównane. +
++ +
+Pakiet jest dostępny pod adresem: + +ftp://ftp.gust.org.pl/TeX/macros/latex/contrib/preprint/
+
picture
i
+samodzielnie oszacować wymiary)1.
+
++makroinstrukcja | opis |
---|---|
\begin{barenv} | otwarcie środowiska |
\bar{wysokość }{indeks }[opis ] |
+ wysokość -- wysokość słupka; + indeks -- numer wzoru wypełniającego + słupek; + ![]() + opis -- opis pozycji |
\hlineon | + aktywuje linie poziome (siatka) |
\legend{index }{tekst } | + tekst będzie opisem + słupka reprezentowanego + wzorem index ; + jeżeli wystąpi przynajmniej + jedno takie polecenie + tworzona jest legenda |
\setdepth{numer } | liczba określająca głębokość + słupka ,,trójwymiarowego'' (>=10) |
\sethspace{stosunek } | stosunek określa odstęp + między słupkami jako część szerokości słupka |
\setlinestyle{style } | określa sposób drukowania lini
+tła -- siatki (aktywowanych poleceniem \hlineon );
+możliwe są style
+
|
\setnumberpos{pos } | określa miejsce umieszczenia opisu
+słupka reprezentującego jego wartość:
+
|
\setprecision{liczba } | określenie precyzji zapisu liczb + na liczba pozycji po przecinku |
\setstretch{mnożnik } | określa skalę pionową wykresu |
\setstyle{font } | określenie kroju czcionki + napisów (głównie generowanych, a nie podawanych + explicite) |
\setwidth{liczba } | szerokość słupka w punktach (pt ) |
\setxaxis{w1 }{w2 }{krok } |
+ definicja opisu osi X :
+
|
\setyaxis[n ]{w1 }{w2 }{krok } |
+ definicja opisu osi Y :
+
|
\setxname[p ]{etykieta } | nazwa osi X ,
+ parametr p określa położenie tekstu
+ w pudełku (l -- na lewo, r -- na prawo,
+ b -- dół, t -- góra; można
+ specyfikować jednocześnie oba kierunki) |
\setyname[p ]{etykieta } |
+ nazwa osi Y
+ parametr p określa położenie tekstu
+ w pudełku (l -- na lewo, r --
+ na prawo,
+ b -- dół, t -- góra; można
+ specyfikować jednocześnie oba kierunki) |
\setxvaluetyp{typ } |
+ rodzaj wartości reprezentowanej przez
+ oś X ; typ może przyjmować
+ następujące wartości:
+
|
\end{barenv} | zamknięcie środowiska |
Przykład
+
+\begin{picture}(80,80)(0,0) +\begin{barenv} +\setdepth{10} +\setstretch{1.4} +\setnumberpos{up} +\setxvaluetyp{month} +\setxname{Trymestr} +\setxaxis{10}{40}{10} +\setyaxis{0}{40}{10} +\setyname{Liczba} +\bar{10}{1} +\bar{30}{4} +\bar{15}{6} +\bar{5}{7} +\end{barenv} +\end{picture} ++ +
+
ftp://IAPW.ia.pw.edu.pl/sys/emtex/texinput/latex2e/contrib/supporte/barcom/bar.sty
(logując się jako GUEST).mathbbm
+
+
mathbbms
+
+
mathbbmtt
+
+
W wersji bold
+
mathbbm
+
+
mathbbmss
+
+
mathbbmtt
+
+
+
Pakiet definiuje środowisko blockarray zastępujące środowiska
+tabular i array (wewnątrz trybu matematycznego zachowuje się
+jak array, a w trybie tekstowym jak tabular).
+Postać wywołania jest podobna jak w przypadku ww. konstrukcji.
+
+\begin{blockarray}{preambuła}
+zawartość tabeli
+\end{blockarray}
+
+lub
+
+\begin{blockarray}[s]{preambuła}
+zawartość tabeli
+\end{blockarray}
+
+gdzie s określa sposób pozycjonowania tabeli względem
+sąsiedztwa; może przyjmować wartości: c -- center (wartość domyślna),
+b -- dół tabeli równo z linią sąsiednią, t -- góra tabeli
+równo z linią sąsiednią
+
+
+preambuła definiuje sposób prezentacji (składu)
+poszczególnych kolumn tabeli oraz określa separatory kolumn; mogą się w niej
+znaleźć następujące oznaczenia:
+
l | dosunięcie tekstu do lewej |
r | dosunięcie tekstu do prawej |
c | centrowanie |
m{width} + | Definiuje kolumnę o szerokości
+ width .
+ Środek celi w tej kolumnie (połowa jej wysokości) pokrywa się
+ ze środkiem celi kolumny sąsiedniej.
+ Odpowiednik:
+ \parbox{width} ; tekst jest łamany
+ na szerokości width . |
p{width} | Równoważna:
+ \parbox[t]{width} .
+ Pozycjonowanie w/g szczytu celi. |
b{width} | Równoważna
+ \parbox[b]{width} .
+ Pozycjonowanie w/g dołu celi. |
>{macro} | Może być użyte przed jednym z
+ następujących typów: l , r ,
+ c , p , m lub
+ b .
+ Polecenie macro będzie wykonywane zawsze
+ przed rozpoczęciem analizy materiału celi w tak określonej
+ kolumnie. |
<{macro} | Może być użyte po jednym z
+ następujących typów: l , r ,
+ c , p , m lub
+ b .
+ Polecenie macro będzie wykonywane zawsze
+ na końcu materiału
+ celi w tak określonej kolumnie. |
| | Wstawienie linii pionowej jako separatora kolumn; + odległość między kolumnami zostanie zwiększona + o szerokość linii (w odróżnieniu od oryginalnej + definicji tabeli). Można wstawić dwa znaki | + -- separatorem będzie linia podwójna (odległość między + liniami określa parametr \BAdoublerulesep). |
@{macro} | Może być użyte w dowolnym
+ miejscu preambuły zamiast separatora (np.: | ).
+ Polecenie macro zostanie wywołane między
+ kolumnami (kasowana jest normalna
+ odległość między kolumnami). |
!{macro} | Może być użyte w dowolnym
+ miejscu preambuły zamiast separatora (np.:
+ | ).
+ Polecenie macro zostanie wywołane
+ między kolumnami (w odróżnieniu od
+ @{...} nie jest kasowana normalna
+ odległość między kolumnami). |
& | + Znak umieszczony przed symbolem + separatora + kolumny (|) powoduje, że w przypadku + użycia polecenia + \BAmulticolumn + nie trzeba w nim powtarzać definicji + obramowania celi (w przypadku + użycia makra \BAmulticolumn w pierwszej + kolumnie obramowanie z lewej strony musi być + redefiniowane). W przypadku podwójnego obramowania + (||) znak & należy + umieścić tylko przed pierwszym znakiem + |. |
) | dodatkowa kolumna obejmująca + nawiasem całą wysokość tabeli (p. środowisko block) |
\} | dodatkowa kolumna obejmująca + nawiasem całą wysokość tabeli (p. środowisko block) |
] | dodatkowa kolumna obejmująca + nawiasem całą wysokość tabeli (p. środowisko block) |
( | dodatkowa kolumna obejmująca + nawiasem całą wysokość tabeli (p. środowisko block) |
\{ | dodatkowa kolumna obejmująca + nawiasem całą wysokość tabeli (p. środowisko block) |
[ | dodatkowa kolumna obejmująca + nawiasem całą wysokość tabeli (p. środowisko block) |
\Left{tekst}{delimiter} | +tekst i delimiter stanowi kolumnę o zerowej szerokości; +konstrukcja służy do wstawienia dodatkowego opisu (składanego antykwą) umieszczonego przed +delimiterem (może nim być jeden z nawiasów ([{}])); delimiter obejmuje całą wysokość tabeli (p. block). |
\Right{delimiter}{tekst} | +tekst i delimiter stanowi kolumnę o zerowej szerokości; + konstrukcja służy do wstawienia dodatkowego opisu (składanego antykwą) umieszczonego po +delimiterze (może nim być jeden z nawiasów ([{}])); delimiter obejmuje całą wysokość tabeli (p. +block). |
\BAenum | dodatkowa kolumna zawierająca numer + kolejny wiersza (szerokość kolumny jest ustalona na + 2em bez względu czy się to komuś podoba czy nie) + |
*{n}{parametry} | n-krotne powtórzenie
+specyfikacji kolumny np:
+ *{3}{|c} jest równoważne |c|c|c |
Parametry którymi można regulować sposób budowania tabeli:
+
Polecenie | opis |
---|---|
\tabcolsep | połowa szerokości odstępu między kolumnami + tablicy (domyślnie 6pt) |
\BAarrayrulewidth | szerokość pionowej linii separującej + kolumny (o ile jest używana -- domyślnie + 0.4pt) |
\BAdoublerulesep | odległość między dwoma liniami pionowymi + stanowiącymi separator kolumn (domyślnie 2pt) |
\arraystretch | ,,mnożnik'' odstępu między
+ wierszami tablicy
+ (np.
+ \renewcommand{\arraystretch}{1.5}
+ zwiększa odstęp o 50%) |
\BAextrarowheight | dodatkowy odstęp między liniami (domyślnie 0pt) |
\BAextraheightafterhline | dodatkowy odstęp po +poziomej linii oddzielającej |
Uwaga:
+W związku z realizacją tabeli występuje efekt uboczny ---
+blokowane jest przenoszenie wyrazów (hyphenation) dla pierwszego
+wyrazu w celi. Efekt możemy wyeliminować
+wstawiając pustą przestrzeń o długości 0pt na początku celi
+(wykorzystując możliwości formowania preambuły tabeli) np.
+>{\hspace{0pt}}p{20mm}
+
+
+W pakiecie jest zdefiniowane polecenie \BAhhline umożliwiające
+uzyskanie ładniejszych wykończeń tabeli:
+Wywołanie:
+\BAhhline{parametry}
+na liście parametrów mogą występować następujące symbole:
+
+= | podwójna linia o szerokości danej kolumny |
+" | podwójna linia przerywana o szerokości danej kolumny |
+- | pojedyncza linia o szerokości danej kolumny |
+. | pojedyncza linia przerywana o szerokości danej kolumny |
+~ | brak linii w danej kolumnie (pozwala zastąpić
+dyrektywą \BAhhline dyrektywę \cline ) |
+| | linia pionowa przecina (ma priorytet) konstrukcję poziomą |
+: | linia pionowa styka się z podwójną poziomą |
+# | skrzyżowanie podwójnych linii |
+t | górne wykończenie rogu (lewe lub prawe w zależności od +sąsiedztwa) |
+b | dolne wykończenie rogu |
+* | powtórzenie sekwencji; np. *{3}{==#} jest równoważne
+==#==#==# |
Przykład ilustruje różne zestawienia połączeń linii poziomych i pionowych +(niekoniecznie poprawnych) +
+ +\begin{blockarray}{||cc||c|c||} + \BAhhline{|t:==:t:==:t|} + a & b & c & d\\ + \BAhhline{|:==:|~|~||} + 1 & 2 & 3 & 4\\ + \BAhhline{#==#~|=#} + i & j & k & l\\ + \BAhhline{||--||--||} + w & x & y & z\\ + \BAhhline{|:==|:==:|} + 1 & 2 & 3 & 4 \\ + \BAhhline{|:==::=|=:|} + 5 & 6 & 7 & 8 \\ + \BAhhline{|:="::"|=:|} + 9 & 10 & 11 & 12 \\ + \BAhhline{||-|.||.|-||} + 13 & 14 & 15 & 16\\ + \BAhhline{|b:==:b:==:b|} + \end{blockarray} ++ | ![]() |
Pakiet udostępnia środowisko block (i block*)
+o następującej postaci wywołania:
+
+\begin{block}{preambuła}
+.
+.
+.
+\end{block}
+lub
+\begin{block*}{preambuła}
+.
+.
+.
+\end{block*}
+może być ono użyte wyłącznie wewnątrz środowiska blockarray
+(może być wielokrotnie zagnieżdżany)
+preambuła powinna być zgodna co do liczby kolumn
+ze specyfikacją kolumn umieszczoną w środowisku blockarray
+(oprócz dostępnych w niej parametrów, dodatkowo mogą wystąpić polecenia
+\BAmulticolumn, obejmujące
+kilka kolumn tabeli oraz \BAmultirow obejmujące wszystkie
+wiersze zawarte w środowisku block).
+Środowisko umożliwia wstawienie kolumn, które będą inaczej
+prezentowane niż określa to specyfikacja środowiska blockarray.
+Wszystkie separatory kolumn i kolumny tabeli muszą być redefiniowane.
+W przypadku użycia konstrukcji nawiasowych w specyfikacji
+tabeli wersja ,,bezgwiazdkowa'' środowiska umożliwia zdefiniowanie
+innych konstrukcji nawiasowych (lub rezygnację z nich). W wersji
+,,gwiazdkowej'' specyfikacja konstrukcji nawiasowych jest ignorowana
+(pozostają w mocy specyfikacje środowiska blockarray; różnice
+najlepiej zilustruje przykład:
+
+\begin{blockarray}{[c|c]c\}} +1111111 & 222222 & 333333 \\ +1 & 2 & 3 \\ +\begin{block*}{(ll)l\}} +1111 & 2222 & 3333 \\ +11 & 22 & 33 \\ +\end{block*} +1 & 2 & 3 \\ +\end{blockarray} + |
+![]() |
+\begin{blockarray}{[c|c]c\}} +1111111 & 222222 & 333333 \\ +1 & 2 & 3 \\ +\begin{block}{(ll)l\}} +1111 & 2222 & 3333 \\ +11 & 22 & 33 \\ +\end{block} +1 & 2 & 3 \\ +\end{blockarray} + |
+![]() |
+\begin{blockarray}{||l|c|c|t{1cm}|c|c||} +\BAhhline{|t:======:t|} +2s & ss &ss &ss &ss&ss\\ +\BAhhline{||------||} +\begin{block}{||l|l|\BAmulticolumn{2}{r}|l|l||} +1 & 2 & 3 4 & 5 & 6\\ +\end{block} +\BAhhline{||------||} +a & b & c & d & e & f\\ +\BAhhline{|b:======:b|} +\end{blockarray} + |
+
+![]() |
+Użycie konstrukcji \BAmultirow w preambule środowiska block +wymaga dodatkowego komentarza. Materiał który ma być składany w bloku o +wysokości wszystkich wierszy środowiska block może być wprowadzany +w jednym lub kilku wierszach (w tak określonej kolumnie). Jeżeli jest on +podany w kilku wierszach to jedynym efektem jest zachowanie podziału na wiersze +(zapis ,,od nowej linii''), będzie on i tak stanowił całość, która będzie pozycjonowana +względem środka wysokości wszystkich wierszy. +
+
+\begin{blockarray}{||l|c|c|t{1cm}|c|c||} +\BAhhline{|t:======:t|} +2s & ss &ss &ss &ss&ss\\ +\BAhhline{||------||} +\begin{block}{||l|l|l|l|l|\BAmultirow{1in}||} +1 & 2 & 3 & 4 & 5 & \relax\\ +1 & 2 & 3 & 4 & 5 & to jest multirow to jest multirow +\\ +1 & 2 & 3 & 4 & 5 & \relax\\ +1 & 2 & 3 & 4 & 5 & \relax\\ +1 & 2 & 3 & 4 & 5 & to jest multirow to jest multirow +\\ +1 & 2 & 3 & 4 & 5 & \relax\\ +1 & 2 & 3 & 4 & 5 & \relax\\ +\end{block} +\BAhhline{||------||} +a & b & c & d & e & f\\ +\BAhhline{|b:======:b|} +\end{blockarray} + |
+![]() |
Uwaga! zawartość kolumn, które nie zawierają materiału wchodzącego +w skład kolumny musi zawierać ,,coś'' np. materiał ,,pusty'' +(\relax). + +
Jeśli wysokość składu materiału przekracza wysokość wszystkich wierszy nie
+wpływa to
+na wysokość delimiterów kolumn, pojawia się efekt widoczny w poniższym
+przykładzie
+
+\begin{blockarray}{||l|c|c|t{1cm}|c|c||} +\BAhhline{|t:======:t|} +2s & ss &ss &ss &ss&ss\\ +\BAhhline{||------||} +\begin{block}{||l|l|l|l|l|\BAmultirow{1in}||} +1 & 2 & 3 & 4 & 5 & \relax\\ +1 & 2 & 3 & 4 & 5 & to jest multirow to jest multirow +to jest multirow to jest multirow to jest multirow \\ +1 & 2 & 3 & 4 & 5 & \relax\\ +1 & 2 & 3 & 4 & 5 & \relax\\ +1 & 2 & 3 & 4 & 5 & to jest multirow to jest multirow \\ +1 & 2 & 3 & 4 & 5 & \relax\\ +1 & 2 & 3 & 4 & 5 & \relax\\ +\end{block} +\BAhhline{||------||} +a & b & c & d & e & f\\ +\BAhhline{|b:======:b|} +\end{blockarray} + |
+![]() |
Pakiet blkarray udostępnia polecenie \BAmultirow,
+umożliwiającą łączenie cel tabeli w pionie, podobnie jak pakiet
+multirow, składnia wywołania jest inna;
+wygląda ona następująco:
+\BAmulticolumn{szerokość}{tekst}
+Składany materiał obejmuje całą wysokość tabeli (jeżeli jest użyte środowisko
+block to materiał będzie powielony (sic!))
+
+\begin{blockarray}{||l|c|c|t{1cm}|c|c||} +\BAhhline{|t:======:t|} +2s & ss &ss &ss &ss&ss\\ +\BAhhline{||------||} +1 & 2 & 3 & 4 & 5 & \\ +1 & 2 & 3 & 4 & 5 & \\ + \BAmultirow{4cm}{to jest multirow to +jest multirow} \\ +1 & 2 & 3 & 4 & 5 & \\ +\begin{block}{||l|l|l|l|l|l||} +1 & 2 & 3 & 4 & 5 & 6\\ +\end{block} +1 & 2 & 3 & 4 & 5 & \\ +1 & 2 & 3 & 4 & 5 & \\ +1 & 2 & 3 & 4 & 5 & \\ +\BAhhline{||------||} +a & b & c & d & e & f\\ +\BAhhline{|b:======:b|} +\end{blockarray} + |
+![]() |
Jeżeli chcemy, aby materiał obejmował jedynie określoną liczbę wierszy (a nie +wszystkie wiersze) w danej kolumnie to należy użyć konstrukcji block +łącząc ją z makroinstrukcją \BAmultirow (p. użycie konstrukcji +\BAmultirow w preambule środowiska block). + + +
+Przykład:
+separator podwójnej celi z prawej strony jest zdefiniowany za pomocą
+znaku &
+
+\begin{blockarray}{||l|c|c&|t{1cm}|c|c||} +\BAhhline{|t:======:t|} +2s & ss &ss &ss &ss&ss\\ +\BAhhline{||------||} +& \BAmulticolumn{2}{c}{a b} & c & d & e\\ +\BAhhline{||------||} +a & b & c & d & e & f\\ +\BAhhline{|b:======:b|} +\end{blockarray} + + |
+![]() |
+\begin{blockarray}{||l|c|c|t{1cm}|c|c||} +\BAhhline{|t:======:t|} +2s & ss &ss &ss &ss&ss\\ +\BAhhline{||------||} +& \BAmulticolumn{2}{c}{a b} & c & d & e\\ +\BAhhline{||------||} +a & b & c & d & e & f\\ +\BAhhline{|b:======:b|} +\end{blockarray} + |
+![]() |
+\begin{blockarray}{l|c|c|t{1cm}|c|c\}} +2s & ss &ss &ss &ss&ss\\ +2s & ss &ss &ss &ss&ss\\ +\BAnoalign{ala ma kota, a kot ma Ale +ala ma kota, a kot ma Ale +ala ma kota, a kot ma Ale} +a & b & c & d & e & f\\ +a & b & c & d & e & f\\ +\end{blockarray} + |
+![]() |
+Wywołanie makroinstrukcji \BAparfootnotes powoduje, że przypisy +będą składane jako jeden akapit (tylko w przypadku \BAtablenotestrue). + + +
Pakiet udostępnia polecenia:
+
\AtBeginPage{coś} | materiał
+coś jest wstawiany na początku obszaru drukowania (lewy
+górny róg) -- uwzględniany jest zwyczajowy margines 1 in na górze i z lewej
+strony |
\PageLayout{coś} | materiał
+coś jest wstawiany na początku kolumny (lewy górny róg) |
Zobacz także pakiet everyship.
+ ++ +
Pakiet jest dostępny pod adresem:
+ftp://ftp.gust.org.pl/TeX/macros/latex/contrib/bophook
boxedminipage
, czyli
+ środowisko minipage
ujęte w ramkę.
+
+Wywołanie:
++\begin{boxedminipage}[vertical positon]{horizontal size}\\ +...\\ +.\\ +.\\ +.\\ +...\\ +\end{boxedminipage} ++ +
t
-- top, c
-- center (wartość
+domyślna), b
-- bottom
+\fboxsep
,
+a za grubość ramki \fboxrule
.
+
++Przykład +
+\begin{boxedminipage}[t]{5cm} +...\\ +.\\ +.\\ +.\\ +... +\end{boxedminipage} ++ +
+Polecenie | opis |
---|---|
+\newcounter{rejestr } | definicja nowego +rejestru; jest on inicjowany wartością 0 |
+\newcounter{rejestr }[inny rejestr ] |
+ definicja nowego rejestru;
+ jest on inicjowany wartością 0
+ i staje się zależny od rejestru
+ inny rejestr. Wykonanie
+ polecenia
+ \stepcounter{inny rejestr } lub
+ \refstepcounter{inny rejestr }
+ powoduje
+ wyzerowanie rejestru rejestr |
+\setcounter{rejestr }{wartość } | ustawienie wartości + rejestru |
+\addtocounter{rejestr }{wartość } | + dodanie do rejestru rejestr wartości |
+\stepcounter{rejestr } | incrementacja rejestru + rejestr |
+\refstepcounter{rejestr } | incrementacja rejestru
+ rejestr;
+ jeżeli oznaczymy etykietą miejsce (label ), to
+ wartością polecenia \ref będzie aktualna
+ wartość rejestru |
\the
rejestr\value{rejestr }
, lub \therejestr
)
+oraz operatorów -
, +
, *
, /
. Działania wykonywane
+są w kolejności zgodnej z przyjętymi zwyczajami. Możemy używać
+notacji nawiasowej (()
) do wymuszenia kolejności wykonania działań.
+
++Przykład +
+\newcounter{x} +\newcounter{y} +\setcounter{x}{2} +\setcounter{y}{3} +\setcounter{y}{(\value{x} + 5) * \value{y}} + +Wartością rejestru y jest \they. ++ +Powyższa sekwencja daje następujący efekt:
Oprócz działań na liczbach mamy możliwość dokonywania działań
+na długościach. Długość może być podawana w jednostkach przyjętych
+w TeX-u:
+
+
+Polecenie | opis |
---|---|
+sp | jednostka w której TeX prowadzi obliczenia + (65536 sp = 1 pt) |
+pt | punkt typograficzny (1/72.27 in = 0.351 mm |
+bp | duży punkt (72 bp = 1 in); używany w postscripcie) |
+dd | didot (1/72 cala francuskiego, = 0.376 mm) |
+mm | milimetr (= 1.845 pt) |
+pc | pica (=12 pt = 4.218 mm) |
+cc | cicero (= 12 dd = 4.531 mm) |
+cm | centymetr (=10 mm = 2.371 pc) |
+in | cal (= 2.54 mm = 72.27 pt = 6.022 pc) |
+ex | miara względna; wynika z wysokości litery x w
+ aktualnie używanym foncie) |
+em | miara względna; wynika z szerokości litery m w
+ aktualnie używanym foncie) |
+mu | jednostka używana we wzorach matematycznych + (18 mu = 1 em) |
+Polecenie | opis |
---|---|
+\newlength{\nazwa } | definicja nowego rejestru + długości |
+\setlength{\nazwa }{długość } | ustawienie wartości |
+\addtolength{\nazwa }{długość } | dodanie + do aktualnej wartości rejestru |
+\settowidth{\nazwa }{tekst } | ustawienie + wartości rejestru nazwa na + wartość równą naturalnej szerokości + tekstu tekst |
+\settoheight{\nazwa }{tekst } | ustawienie + wartości rejestru nazwa na + wartość równą naturalnej wysokości + tekstu tekst |
Parametr długość może być zdefiniowany za pomocą
+wyrażenia arytmetycznego. Proszę pamiętać o sensie fizycznym wykonywanych
+operacji (mają sens następujące operacje:
+długość = długość + długość,
+długość = długość * liczba,
+liczba = \ratio{długość}{długość}
,
+długość = długość / liczba).
+Operatorem
+dzielenia długości przez długość jest makroinstrukcja
+\ratio{długość }{długość }
+a wartość rzeczywistą możemy uzyskać używając makroinstrukcji
+\real{liczba rzeczywista }
+której parametrem jest tekst będący liczbą rzeczywistą (zapis
+z kropką dziesiętną).
+Do dzielenia długości przez liczbę możemy używać znaku /
.
+Należy pamiętać że definicja wyrażenia powinna zaczynać się od
+elementu będącego długością, a w wyniku kolejnych obliczeń wartościami
+pośrednimi muszą być długości. Napis reprezentujący wartość rejestru
+możemy uzyskać poleceniem
+\the\rejestr
1
+
+
+Przyklad:
+
+\newlength{\x} +\newlength{\y} +\setlength{\y}{5cm} +\settowidth{\x}{ala ma kota} +\setlength{\y}{3cm * \ratio{\y}{\x}} +Rejestr y ma wartość: \the\y ++Powyższa sekwencja daje następujący efekt:
Pakiet jest dostępny pod adresem:
+
+ftp://ftp.gust.org.pl/TeX/macros/latex/contrib/required/tools/calc.dtx
+ +
\
+
++ +\captionof{typ}[podpis skrócony]{podpis}
+gdzie:
+typ może przyjmować wartości figure lub
+table, a pozostałe parametry mają znaczenie takie jak
+w makroinstrukcji caption.
+
Pakiet jest dostępny pod adresem:
+
+ftp://ftp.gust.org.pl/TeX/macros/latex/contrib/misc/capt-of.tar
+
+
+Pakiet (v.3.0 -- znacznie zmodyfikowany)
+zmienia definicje standardowego polecenia \caption
+tworzącego opisy obiektów ruchomych
+(standardowo: figure
i table
). Zdefiniowano polecenia
+pozwalające na tworzenie wzorców lub bezpośrednie kształtowanie podpisów.
+Za jego pomocą możemy zdefiniować sposób opisu nowych obiektów tworzonych
+za poleceniami pakietu float, współpracuje również
+z pakietami subfig (który jest swego rodzaju
+nakładką) i~starszym od niego
+subfigure.
+
Polecenie służy do tworzenia podpisów pod obiektami ruchomymi
+(a także środowiska longtable), moża je wywołać na kilka
+sposobów:
+
+\caption{opis}
+
+postać najczęściej spotykana; tekst
+opisu jest identyczny w spisie (o ile taki jest tworzony) i w obiekcie,
+podpis jest opatrzony etykietą (o ile nie zadysponowano inaczej)
+
+\caption[wersja opisu do spisu obiektów]{opis}
+
+postać używana jeśli opis w spisie objektów ma być inny niż w obiekcie;
+podpis jest opatrzony etykietą (o ile nie zadysponowano inaczej)
+
+\caption*{opis}
+
+opis nie jest wstawiany do spisu obiektów i nie jest opatrywany etykietą
+
+\caption[]{opis}
+
+opis nie jest wstawiany do spisu obiektów, ale jest on opatrywany etykietą
+
+\caption*[]{opis}
+
+opis nie jest wstawiany do spisu obiektów i nie jest opatrywany etykietą
+Polecenie \caption zawsze inkrementuje licznik obiektów.
+ +Zdefiniowano też polecenie \captionof słuzące do
+sformatowania tekstu, analogicznie jak obiekt ruchomy:
+
+\captionof{typ obiektu}{tekst opisu}
+\captionof{typ obiektu}[tekst do spisu]{tekst opisu}
+\captionof{typ obiektu}[]{tekst opisu}
+\captionof{typ obiektu}*[]{tekst opisu}
+\captionof{typ obiektu}*{tekst opisu}
+
+gdzie typ obiektu jest zdefiniowanym obiektem ruchomym --
+polecenie inkrementuje licznik skojarzony z tym typem (patrz też pakiet capt-of).
Dodatkowo zdefiniowano polecenie \ContinuedFloat, które powoduje +że nie jest inkrementowany licznik obiektów (powinno ono być użyte przed +poleceniem \caption). Wszystkie inne aspekty formatowania i etykietowania są zachowane.
+ +W nowej wersji pakietu unowocześniono sposób określania
+parametrów składu podpisów z modyfikacji kodu na parametryczny (dla
+kompatybilności pozostawiono również stary sposób). Parametrom można nadawać
+wartości w dwu momentach: przy poleceniu ładowania pakietów np.:
+
+\usepackage[margin=10pt, font={small,it}, labelfont=bf]{caption} ++lub za pomocą polecenia
\captionsetup
(nie wszystkie parametry)
++\usepackage{caption} +\captionsetup{margin=10pt, font={small,it}, labelfont=bf} ++dyspozycje będą dotyczyły podpisów obiektów wszystkich typów; lub
+\captionsetup[nazwa typu obiektu]{margin=10pt, font={small,it}, labelfont=bf}
+
Wartością parametru może być pojedyncza wartość lub lista wartości (ujęta w
+nawiasy {}, wartości oddzielone przecinkiem, w przypadku wartości
+będących w sprzeczności brana jest wartość ostatnia na liście) -- w przypadku parametru
+w którym nie przewidziano wartości (wartość logiczna) nie jest sprawdzana
+poprawność, a w pozostałych przypadkach wartość jest sprawdzana dopiero w momencie
+użycia polecenia \caption
.
Poniższe parametry mogą przyjmować wartości logiczne on lub +off i deklarują współdziałanie (lub nie) z dodatkowymi pakietami. +Powinny one być załadowane przed pakietem caption. Ustawienie wartości +na off może spowodować, że definicja makroinstrukcji \caption +nie zostanie redefiniowana (mechanizmy pakietu caption nie zadziałają). + +
+Parametr | Opis |
---|---|
float | współpraca z pakietem float + |
longtable | współpraca z pakietem longtable + |
rotating | współpraca z pakietem rotating + |
sidecap | współpraca z pakietem sidecap + |
supertabular | współpraca z pakietem supertabular + |
+Parametr | Wartości | Opis |
---|---|---|
+font | zmiana cech pisma całego podpisu (również etykiety) | default | nic nie zmienia -- cechy pisma pozostają bez zmian, + takie jak określono poprzednio | +scriptsize | zmiana wielkości na scriptsize |
+ footnotesize | zmiana wielkości na footnotesize |
+ small | zmiana wielkości na small |
+ normalsize | zmiana wielkości na normalsize |
+ large | zmiana wielkości na large |
+ Large | zmiana wielkości na Large |
+ up | zmiana kroju na upshape |
+ it | zmiana kroju na itshape |
+ sl | zmiana kroju na slshape |
+ sc | zmiana kroju na scshape |
+ md | zmiana kroju na mdseries |
+ bf | zmiana kroju na bfseries |
+ rm | zmiana kroju na rmfamily |
+ sf | zmiana kroju na sffamily |
+ tt | zmiana kroju na ttfamily |
+
+
labelfont | wartości jw, ale zmiana tylko cech pisma etykiety; cechy +niezdefiniowane są dziedziczone z parametru font | |
textfont | wartości jw, ale zmiana tylko cech pisma objaśnienia; cechy +niezdefiniowane są dziedziczone z parametru font | |
margin | +dimen | wielkość lewego i prawego marginesu podpisu |
width | +dimen | szerokość pola przeznaczonego na podpis |
parskip | +dimen | odległość między akapitami, jeśli podpis
+ składa się z wielu akapitów; jeśli wpis do spisu obiektów jest tożsamy
+ z podpisem to w przypadku podpisu wieloakapitowego generowany jest błąd
+ -- wymagane jest aby podpis w spisie obiektów był jednoakapitowy (parametr opcjonalny polecenia
+ \caption |
format | sposób formatowania opisu. Do definiowania
+nowych sposobów formatowania służy polecenie +\DeclareCaptionFormat{nazwa}{ciąg +poleceń} +Do wnęrza drugiego parametru (zawierającego kod formatujący) są przekazywane: jako +#1 -- etykieta, #2 -- separator etykiety i #3 -- +tekst opisu; np.: + +\DeclareCaptionFormat{default}{#1#2#3\par} ++ | |
default | łamanie ,,w ciągu'' | |
hang | efekt wyróżnionego pola etykiety, tekst opisu +jest składany w polu o szerokości pomniejszonej o szerokość etykiety (i +ewentualnie o wielkość marginesów lub skład na polu o szerokości określonej przez +parametr width | |
belowskip | +dimen | dodatkowa odległość pod podpisem (patrz parametr position) |
aboveskip | +dimen | dodatkowa odległość nad podpisem (patrz parametr position) |
indention | +dimen | dodatkowy margines (może być ujemny) względem szerokości + etykiety (ma senes w przypadku formatu typu hang) -- + ustawienie różnych wartości indention i hangindent + może dać efekt + wcięcia akapitowego dla dalszych akapitów |
hangindent | +dimen | dodatkowy margines (może być ujemny) względem szerokości + etykiety (ma senes w przypadku formatu typu hang) -- dotyczy + tylko pierwszego (począwszy od drugiej linii) akapitu podpisu, jeżeli podpis jest + jednoakapitowy jest równoważny wartości indention |
position | deklaruje + położenie podpisu | |
bottom | deklaruje, że podpis będzie na dole obiektu | |
top | deklaruje, że podpis będzie na górze obiektu (odwraca +znaczenie parametrów belowskip i aboveskip | |
labelformat | sposób formatowania etykiety.
+Do definiowania
+nowych sposobów formatowania służy polecenie +\DeclareCaptionLabelFormat{nazwa}{ciąg +poleceń} +Do wnęrza drugiego parametru (zawierającego kod formatujący) są przekazywane: jako +#1 -- nazwa etykiety, #2 -- numer obiektu; np.: + +\DeclareCaptionLabelFormat{simple}{\bothIfFirst{#1}{\nobreakspace}#2} + | |
default | pojawia się etykieta (nazwa obiektu) i numer | |
empty | etykieta jest pusta (pojawi się tylko opis); w + tym wypadku należy parametrowi labelsep przypisać wartość none | |
simple | pojawia się etykieta (nazwa obiektu) i numer | |
parens | pojawia się etykieta (nazwa obiektu) i numer ujęty + w nawaisy () | |
labelsep | obiekt wstawiany po etykiecie.
+Do definiowania
+nowych separatorów służy polecenie +\DeclareCaptionLabelSeparator{nazwa}{ciąg poleceń}, np.: + +\DeclareCaptionLabelSeparator{default}{: } ++ | |
default | wstawiany jest : i spacja | |
none | nic nie jest wstawiane | |
colon | wstawiany jest : i spacja | |
period | wstawiana jest . i spacja | |
space | wstawiana tylko spacja | |
quad | wstawiane jest polecenie \quad | |
widespace | wstawiane \hspace{1em plus .3em} | |
newline | wstawiane jest polecenie \newline | |
justification | sposób formatowania opisu.
+Do definiowania
+nowych sposobów formatowania służy polecenie +\DeclareCaptionJustification{nazwa}{ciąg +poleceń}; np.: + +\DeclareCaptionJustification{centering}{\centering} + | |
default | skład z wyrównaniem do lewego i prawego + marginesu | |
justified | skład z wyrównaniem do lewego i prawego + marginesu | |
centering | wszystkie linie podpisu centrowane | |
centerfirst | pierwsza linia wycentrowana | |
centerlast | ostatnia linia wycentrowana | |
raggedleft | wyrównanie do prawego marginesu | |
raggedright | wyrównanie do lewego marginesu | |
Centering | wszystkie linie centrowane, ale używane jest + polecenie \Centering z pakietu ragged2e (m.in. włączane jest + przenoszenie wyrazów) | |
RaggedLeft | wyrównanie do prawego marginesu, ale używane jest + polecenie \RaggedLeft z pakietu ragged2e (m.in. włączane jest + przenoszenie wyrazów) | |
RaggedRight | wyrównanie do lewego marginesu, ale używane jest + polecenie \RaggedRight z pakietu ragged2e (m.in. włączane jest + przenoszenie wyrazów | |
singlelinecheck | nadanie wartości + true (wystarczy użycie parametru bez + nadawania wartości) powoduje, że jeśli podpis jest + jenolinijkowy, będzie on wycentrowany, bez względu na ustawiony + sposób formatowania | |
on | nadanie wartości true | |
1 | nadanie wartości true | |
true | nadanie wartości true | |
0 | nadanie wartości false | |
off | nadanie wartości false | |
false | nadanie wartości false | |
style | sposób formatowania opisu, służy do
+ nadania różnych cech składu podpisu.
+Do definiowania
+nowych stylów służy polecenie +\DeclareCaptionStyle{nazwa}{opcje} +lub +\DeclareCaptionStyle{nazwa}[dodatkowe opcje]{opcje}; np.: + +\DeclareCaptionStyle{default}[justification=centering]{} ++opcje ustawiają parametry dla całego opisu, a +opcje dodatkowe dla opisów jednolinijkowych, jeśli została + ustawiona flaga singlelinecheck + | |
default | ustawia centrowanie podpisu +dla opisów jednolinijkowych, jeśli została + ustawiona flaga singlelinechech | |
default | jest równoważne + style=default, position=default, aboveskip=10pt, belowskip=0pt |
Zostały również zdefiniowane polecenia \clearcaptionsetup{typ +obiektu}, służące do przywrócenia domyślnych wartości i \showcaptionsetup{typ +obiektu}, służące do wyświetlenia (w zbiorze *.log) +wartości ustawianych poleceniem \captionsetup. + + + + + + + +
+Poniżej wymienione polecenia odniosą skutek, jeśli nie będą używane ich +nowozdefiniowane odpowiedniki. + +
+Polecenie | opis |
---|---|
+\captionsize | Określa wielkość czcionki, używanej do składu
+ podpisu; np:
+ \renewcommand{\captionsize}{\scriptsize} |
+\captionlabelfont | określa rodzaj czcionki; można używać
+ wszystkich poleceń zmiany atrybutów przyjętych
+ w LaTeX2e; np:
+ \renewcommand{\captionlabelfont}{\bfseries} |
+\captionmargin | określa wielkość lewego i prawego
+ marginesu w tekście opisu; np:
+ \setlength{\captionmargin}{2cm} |
Poniższe parametry mogą być używane wyłącznie przy wywołaniu pakietu +caption. + +
+Parametr | opis |
---|---|
+normal | +Jeśli podpis składa się z jodnej linii to jest +centrowany w przeciwnym wypadku, składany jest w pudełko o pełnej szerokości +(bez wyróżniania nazwy obiektu) -- jest to domyślny sposób składu. |
+hang | |
+isu | podpis składany jest tak jak środowisko description ;
+ kolejne linie są ,,wcięte'' na szerokość
+ nazwy obiektu |
+center | tekst opisu jest centrowany |
+centerlast | ostatnia linia opisu jest centrowana |
+anne | |
+Ustalenie standardowej wielkości +czcionki1 | |
+scriptsize | czcionka scriptsize |
+footnotesize | czcionka footnotesize |
+small | czcionka small |
+normalsize | czcionka normalsize |
+large | czcionka large |
+Large | czcionka Large |
+Ustalenie atrybutów czcionki | |
+up | upshape |
+it | itshape |
+sl | slshape |
+sc | scshape |
+md | mdseries |
+bf | bfseries |
+rm | rmfamily |
+sf | sffamily |
+tt | ttfamily |
+ruled | jeśli używany jest pakiet float
+ (patrz. float) i użyte było polecenie
+ \floatstyle{ruled} to opcja ruled spowoduje
+ że nazwa obiektu będzie składana czcionką określoną
+ w opcji lub poleceniem \captionlabelfont , a nie taką
+ jaka wynika z definicji pakietu float |
subfigure
to podpis rysunku podrzędnego
+składany jest czcionką o jeden skok mniejszą
+
+Pakiet jest dostępny pod adresem:
+
+ftp://ftp.gust.org.pl/TeX/macros/latex/contrib/caption/caption.tar
+
+
+Pakiet umożliwia sterowanie składem podpisów pod rysunkami i tabelami. +Stanowi uproszczoną wersję pakietu caption.
+ ++
Opcja | Odpis |
---|---|
+normal + | ustawia \captionstyle na normal + |
+scriptsize + | podpis jest składany podaną wielkością + |
+footnotesize + | podpis jest składany podaną wielkością + |
+small + | podpis jest składany podaną wielkością + |
+normalsize + | podpis jest składany podaną wielkością + |
+large + | podpis jest składany podaną wielkością + |
+Large + | podpis jest składany podaną wielkością + |
+up + | podpis jest składany czcionką upshape + |
+it + | podpis jest składany czcionką itshape + |
+sl + | podpis jest składany czcionką slshape + |
+sc + | podpis jest składany czcionką scshape + |
+md + | podpis jest składany czcionką mdseries + |
+bf + | podpis jest składany czcionką bfseries + |
+rm + | podpis jest składany czcionką rmfamily + |
+sf + | podpis jest składany czcionką sffamily + |
+tt + | podpis jest składany czcionką ttfamily + |
+ruled + |
+ jeśli używany jest pakiet float
+ (patrz. float) i użyte było polecenie
+ \floatstyle{ruled} to opcja ruled spowoduje
+ że nazwa obiektu będzie składana czcionką określoną
+ w opcji lub poleceniem \captionlabelfont , a nie taką
+ jaka wynika z definicji pakietu float |
+boxed + | + tylko wtedy gdy wywołany pakiet float + |
+centerlast + | + ostatnia linia podpisu centrowana + |
+anne + | + ostatnia linia podpisu centrowana + |
+center + | + podpis centrowany + |
+flushleft + | + dosunięty do lewego marginesu + |
+flushright + | + dosunięty do prawego marginesu + |
+oneline + | + podpis jest składany jako pudełko + |
+nooneline + | + podpis jest składany jako akapit + |
+hang+flushleft + | + podpis jest składany tak jak description, + linie są wyrównywane do lewego marginesu + |
+hang+center + | + podpis jest składany tak jak description, + linie są centrowane + |
+hang+centerlast + | + podpis jest składany tak jak description, ale + ostatnia linia jest centrowana + |
+hang + | + podpis jest składany tak jak description + |
+ignoreLTcapwidth + | + |
+isu + | + to samo co hang + |
+indent + | + |
+float + | + |
+longtable + | + |
+subfigure + | + |
+none + | + |
+all + | + |
+
Polecenie | Opis | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
+\captionstyle{styl} | polecenie służy do określenia
+ cech formatowania opisu; styl może przyjmować
+ następujące wartości:
+
|
Polecenie | Opis |
---|---|
+\def\captionsize{wielkość} + | + określenie wielkości (np: \def\captionsize{\scriptsize}) + |
+\def\captionlabeldelim{definicja} + | + określenie znaku wstawianego po etykiecie + (np: \def\captionlabeldelim{:}) + |
+\def\captionlabelsep{definicja} + | + określenie obiektu wstawianego po etykiecie (odległości) + (np: \def\captionlabelsep{\space}) + |
+\def\captionfont{definicja} + | + określenie czcionki (np: \def\captionfont{\scriptsize}) + |
+\def\captionlabelfont{definicja} + | + określenie czcionki etykiety podpisu + (np: \def\captionlabelfont{\bfseries}) + |
+\setcaptionmargin=wartość + | + wielkość lewego i prawego marginesu + |
+\setcaptionwidth=szerokość + | + szerokość podpisu + |
Pakiet jest dostępny pod adresem:
+
+ftp://ftp.gust.org.pl/TeX/macros/latex/contrib/caption/caption2.dtx
+
+
numcases
pozwalające na robienie
+poniżej przedstawionej konstrukcji
+
+
+Przykład
+
+ \begin{numcases}{|x|=} + x, & for $x \geq 0$\\ + -x, & for $x < 0$ + \end{numcases} ++ +
+
+
+
+
+ \begin{subnumcases}{\label{w} w\equiv} + 0 & $c = d = 0$\label{wzero}\\ + \sqrt{|c|}\,\sqrt{\frac{1 + \sqrt{1+(d/c)^2}}{2}} & $|c| \geq |d|$ \\ + \sqrt{|d|}\,\sqrt{\frac{|c/d| + \sqrt{1+(c/d)^2}}{2}} & $|c| < |d|$ + \end{subnumcases} ++ +
Pakiet jest dostępny pod adresem:
+
+ftp://ftp.gust.org.pl/TeX/macros/latex/contrib/misc/cases.sty>
+
+
+Umożliwiają one tworzenie podpisów pod rysunkami i
+tabelami (środowiska figure
i table
) będących
+kontynuacją opisu poprzedniego obiektu (nie jest inkrementowany licznik) oraz
+tworzenia opisów składanych tak jak opis rysunku (caption
)
+w dowolnym miejscu dokumentu.
+
+poniższa konstrukcja da następujący rezultat: +
+\begin{figure} +\caption{podpis pod rysunkiem} +\end{figure} +\begin{figure} +\contcaption{kontynuacja podpisu z poprzedniego rysunku} +\end{figure} ++
+oprócz polecenia \contcaption mamy do dyspozycji jeszcze kilka innych: +
+\legend{tekst} |
+ może być użyta w dowolnym kontekście; tworzy ,,anonimowy'' podpis
+ formatowany tak jak podpisy pod tabelami i rysunkami. Wewnątrz
+ jest wywoływane polecenie formatlegend, tak że możemy
+ dzięki temu
+ tworzyć dodatkowe efekty:
+ + \def\formatlegend#1{{\bfseries mój podpis:}\~#1} + . + . + . + \legend{treść podpisu} ++ | ||||||
+\abovelegendskip | + dodatkowy odstęp przed podpisem + (definiowany w następujący sposób + \setlength{\abovelegendskip}{1cm}) + | ||||||
+\belowlegendskip | + dodatkowy odstęp za podpisem + (definiowany w następujący sposób + \setlength{\belowlegendskip}{1cm}) + | ||||||
+\namedlegend | +polecenie zachowuje sie identycznie jak caption, ale + podpis nie jest numerowany i nie jest wprowadzany do spisu obiektów +(tabel lub rysunków); uwaga -- wewnątrz też jest wywoływane +polecenie formatlegend + | ||||||
+\newfixedcaption{\nazwapolecenia}{nazwaśrodowiska} | + polecenie tworzy nową makroinstrukcję formatującą tekst (można jej + używać w dowolnym miejscu} tak jak + polecenie \caption. Tekst jest opatrzony etykietą i jest numerowany + tak jak podpis środowiska nazwaśrodowiska + | ||||||
+\newfixedcaption[\polecenie]{\nazwapolecenia}{nazwaśrodowiska} + | +tak zdefiniowane polecenie nie numeruje formatowanego tekstu, +a polecenie (musi być zdefiniowane wcześniej) jest wywoływane wewnątrz; +ma analogiczny sens jak wcześniej opisane polecenie \formatlegend + | ||||||
+\renewfixedcaption | podobnie jak wyżej opisywane; +pozwala przedefiniować istniejącą makrodefinicję + | ||||||
+\providefixedcaption | podobnie jak powyżej; pozwala na +utworzenie nowej lub przedefiniowanie istniejącej (jeśli +istnieje) makroinstrukcji + | ||||||
+\newfloatenv[licznik]{nazwa}{ext}{etykieta} | polecenie pozwala na utworzenie nowego obiektu ruchomego
+(zachowującego się tak jak table lub figure) +
| ||||||
+\listfloats{nazwa}{Opis} | +polecenie tworzy wykaz wszystkich obiektów tworzonych za pomocą środowiska +nazwa, opisanych za pomocą polecenia opisującego (\caption lub +własnego tworzonego poleceniem \newfixedcaption). Wykaz jest opatrzony +tekstem Opis + |
Patrz też pakiet caption. +
++Pakiet zawiera makroinstrukcje umożliwiające zaznaczanie tekstu +linią na marginesie, zwykle w ten sposób oznacza się miejsca modyfikowane w +stosunku do poprzedniej wersji. Oznaczenie jest realizowane za +pomocą postscriptu i działa dwuprzebiegowo. + +
Opcja | Opis |
---|---|
+DVItoLN03 | + |
+DVItoPS | + |
+DVIps | domyślnie aktywna + |
+emTeX | + |
+textures | deklaracja sterownika przetwarzającego .dvi ;
+ nie dla wszystkich urządzeń wyjściowych efekt jest widoczny
+ |
+Vtex | + |
+outerbars
+ | linia na marginesie z prawej strony na + stronach nieparzystych (na marginesach wewnętrznych + przy druku dwistronnym) + |
+innerbars
+ | linia na marginesie z prawej strony na + stronach parzystych (domyślnie) (na marginesach zewnętrznych + przy druku dwistronnym) + |
+leftbars
+ | linia zawsze z lewej strony + |
+rightbars
+ | linia zawsze z prawej strony + |
+traceon
+ | + |
+traceoff
+ | + |
+tracstacks
+ | + |
+grey
+ | oznaczenie zmian za pomocą szarej linii (domyślnie
+ aktywna) -- p. changebargrey
+ |
+color
+ | oznaczenie zmian za pomocą koloru (pakiet
+ color jest ładowany); nie jest
+ zdefiniowany żaden domyślny kolor -- p. polecenie
+ \cbcolor
+ |
Polecenie | Opis |
---|---|
+\cbstart[grubość]
+ | początek markera tekstu modyfikowanego
+ -- parametr opcjonalny może
+ zawierać grubośc linii (domyślnie
+ grubość określona przez makro
+ \changebarwidth=2pt )
+ |
+\cbend
+ | koniec markera + |
+\cbdelete
+ | polecenie markujące bieżące miejsce kwadratem na
+ marginesie, wielkość jest ustawiana makroinstrukcją
+ \deletebarwidth=4pt , jest on odległy od tekstu
+ o wielkość ustawioną przez \changebarsep=30pt
+ |
+\begin{changebar}[grubość] | podobnie jak \cbstart , \cbend
+ tylko w formie środowiska (można je zagnieżdzać)
+ |
+\setlength{\changebarwidth}{2pt}
+ | + deklaracja szerokości linii markującej + |
+\setlength{\deletegebarwidth}{4pt}
+ | + deklaracja szerokości linii markującej tekst do skasowania + |
+\setlength{\changebarsep}{30pt}
+ | deklaracja odległości tekstu od lini markującej + |
+\setcounter{changebargrey}{65}
+ | deklaracja stopnia szarości linii (czym więcej tym + bardziej biała) + |
+\cbcolor{color}
+ | definicja koloru linii + |
+\nochangebars
+ | wyłącza polecenia definiujące marker + |
chapter
)
+(lub podrozdziale -- section
w przypadku ,,klasy'' article
).
+W tym przypadku należy określić opcję sectionbib
\usepackage[sectionbib]{chapterbib}
+
+
+Zmieniając definicję polecenia \citeform
(patrz również
+pakiet cite), możemy
+określać w jaki sposób będą podawane numery cytowanych publikacji
+
+
Przyklad:
+
+\newcommand\citeform[1]{\romannumeral 0#1} +\cite{wm-95,wm-94} ++[i, ii] + + +
+\renewcommand\citeform[1]{(#1)} +\cite{wm-95,wm-94} ++[(i), (ii)] + +
+\renewcommand\citeform[1]{\thesection.#1} +\cite{wm-95,wm-94} ++ +[11.1, 11.2] + +
+oraz jak mają one być oddzielane (w poniższym przykładzie +przecinkiem i spacją, ale z zakazem łamania wiersza między pozycjami)
+\def\citepunct{,\penalty10000\ }
+
+
+
chapterbib
):\citeform
\renewcommand\citeform[1]{\romannumeral 0#1}
\renewcommand\citeform[1]{(#1)}
\renewcommand\citeform {\thechapter.}
+\citepunc
+np.
+\renewcommand\citepunct{,}
+sekwencja wstawiana między numerami
+
+
+\citemid
+np.
+\renewcommand\citemid{; }
+sekwencja wstawiana przed notą umieszczaną wewnątrz listy (polecenie
+\cite[nota]{lista cytowanych pozycji}
).
+
+
+\citeleft
+np.
+\renewcommand\citeleft{(}
+sekwencja poprzedzająca listę cytowanych publikacji (standardowo [
)
+
+
+\citeright
+np.
+\renewcommand\citeright{)}
+sekwencja kończąca listę cytowanych publikacji (standardowo ]
)
+
+
+Pakiet posiada następujące opcje: +
verbose
+nospace
+space
+sort
+adjust
+noadjust
++
Przyklad:
+
+\def\citemid{;\ } +\cite{wm-94,wm-95,ein} +\cite{ein,wm-94,wm-95} +\cite[uwaga w cytowanych pozycjach]{ein,ein} ++ +Powyższy ciąg poleceń generuje poniższy tekst:
Opcja + | Opis + |
---|---|
+monochrome + | Wyłącza wszelkie polecenia zmieniające kolor + |
+debugshow + | ??? + |
dvips | .dvi przetwarzany sterownikiem + dvips |
xdvi | jw monochrome |
dvipdf | |
pdftex | pdftex |
dvipsone | |
dviwindo | jw |
emtex | sterowniki emtexa |
dviwin | |
oztex | tak jak dvips |
textures | |
pctexps | |
pctexwin | |
pctexhp | |
pctex32 | |
truetex | |
tcidvi | |
dvipsnames | dołącza zbiór definiujący kolory + (named colors) |
nodvipsnames | kasuje definicje kolorów
+ dostępnych jako named |
usenames | powoduje że wszystkie + nazwy kolorów definiowanych jako named + są dostępne bezpośrednio (tak jak + kolory definiowane explicite -- poleceniem + \definecolor) |
polecenie + | opis + |
---|---|
+\definecolor{nazwa}{model}{definicja} |
+ polecenie definiuje nowy kolor; model i definicja
+ może przyjmować wartości jak w poprzednich poleceniach;
+ model może przyjmować
+ następujące wartości:
+
|
+\DefineNamedColor{named}{nowa nazwa}{model}{definicja} + | |
+ | + pierwszy parametr jest nazwą zdefiniowanego + własnego modelu kolorów (standardowo utworzony jest + właśnie model o nazwie named + pozostałe parametry jak w poprzednich definicjach. + Co prawda w ten sposób można definiować własne + kolory, ale są to definicje jedynie dla TeX-a, + muszą one być zdefiniowane również dla interpretera + postscriptu -- w zbiorze color.pro w przypadku + sterownika dvips -- taka definicja nie + jest tworzona automatycznie (lista dopuszczalnych + nazw zawarta jest w zbiorze dvipsnam.def) + |
+\color{nazwa koloru} | ++ przełącza kolor tekstu; w drugiej wersji możemy + (tak jak w poleceniu \definecolor) | +
+\color[model]{definicja} | |
+\textcolor{nazwa koloru}{tekst} | ++ tekst będzie prezentowany w danym kolorze; + sposób określania koloru jest identyczny jak w poprzednim + poleceniu + |
+\textcolor[model]{definicja}{tekst} | +|
+\colorbox{definicja koloru tła}{tekst} | |
+\colorbox[model]{definicja koloru tła}{tekst} | |
+ tekst jest zamykany w pudełko o określonym + kolorze tła; kolor określemy podobnie jak w poprzednich + poleceniach | |
+\fcolorbox{kolor ramki}{kolor tła}{tekst} | |
+\fcolorbox[model]{definicja koloru ramki}{definicja koloru tła}{tekst} | |
+ tekst jest zamykany w pudełko o określonym + kolorze tła i ramki | |
+\pagecolor{kolor} | ++ określa kolor tła dla strony na której wystąpiło polecenie, + istotna jest ostatnia definicja na stronie |
+\pagecolor[model]{definicja koloru} | +
+Standardowo zdefiniowane są następujące kolory:
+black,
+white,
+red,
+green,
+blue,
+cyan,
+magenta,
+yellow, a w przypadku aktywnej opcji usenames:
+
+
+
+Oczywiście zmiany koloru są dokonywane za pomocą postscriptu. + +
Pakiet udostępnia polecenie umożliwiające zmianę sposobu prezentacji liczników, polegające na podzieleniu liczby na sekcje po trzy cyfry, oddzielone +wskazanym separatorem (domyślnie jest to przecinek). + +
+\renewcommand\thesection{\commaform{section}} ++parametrem polecenia \commaform może być jedynie nazwa licznika. + +
Domyślny separator definiuje polecenie \commaformtoken, możemy
+go zmienić np. w następujący sposób:
+
+\def\commaformtoken{\,} ++teraz wstawia ono mały odstęp między każde trzy cyfry (licząc od końca). + + +
Zobacz także pakiet numprint.
+Pakiet jest dostępny pod adresem:
+ftp://ftp.gust.org.pl/TeX/macros/latex/contrib/carlisle
Pakiet dostarcza środowisko strip
, może ono być użyte wyłącznie w składzie dwuszpaltowym (opcja twocolumn lub polecenie
+\twocolumn) w trybie pionowym (ang. vertical).
+Otwarcie środowiska przerywa skład dwuszpaltowy, z dotychczasowego materiału
+są formowane szpalty (zbalansowane), następnie wstawiana jest zawartość
+środowiska strip na obszarze obu szpalt; podlega ono
+łamaniu na szpalty, ale strona z podzieloną wstawką jest dłuższa --
+są problemy również ze zbalansowaniem szpalt (jak widać na ilustracji).
+
Pakiet jest dostępny pod adresem:
+
+ftp://ftp.gust.org.pl/TeX/macros/latex/contrib/sttools
+
+
Dołączenie pakietu powoduje, że przypisy będą składane +w dwu szpaltach.
+ + + + + +\DFNcolumnsep | parametr określa
+ odległość między szpaltami (parametr typu dimen),
+ np.: + + \DFNcolumnsep=20pt + |
\DFNcolumnwidth | parametr określa
+ szerokość szpalty (parametr typu dimen), np.: + + \DFNcolumwidth=3cm + + standardowo jest określony jako (\textwidth - + \DFNcolumnsep)/2) |
\DFNallowcbreak | dopuszcza + przeniesienie części przypisu do następnej szpalty (domyślnie + aktywny) |
\DFNinhibitcbreak | zabrania + przenoszenia części przypisu do następnej szpalty |
\DFNruleboth | linia oddzielająca tekst + od przypisów pojawi się zarówno po lewej, jak i po prawej + stronie (szpalcie) |
\DFNruleleft | linia oddzielająca tekst + od przypisów pojawi się jedynie po lewej stronie + (domyślnie) |
DFNsloppiness | licznik (standardowo
+ ustawiany na wartość 5000), którego wartość jest przypisywana
+ parametrowi \hbadness (określa ,,kiepskość'' składu
+ przy której TeX ogłasza to komunikatem np: + + \setcounter{DFNsloppiness}{9999} + |
+ +
+Pakiet jest dostępny pod adresem: + +ftp://ftp.gust.org.pl/TeX/macros/latex/contrib/yafoot
+
+Dostarcza makroinstrukcję D
+(wywołanie bez \
na początku),
+która może być argumentem makroinstrukcji \newcolumn
+(p. pakiet blkarray.sty).
+
+
+Wywołanie:
+D{tsep}{dsep}{decimal places}
+
+
+gdzie: +
Przyklad:
+
+\newcolumntype{d}[1]{D{.}{\cdot}{#1}} +\newcolumntype{.}{D{.}{.}{-1}} +\newcolumntype{,}{D{,}{,}{2}} + +\begin{tabular}{|d{-1}|d{2}|.|,|d{3}|d{4}|d{1}|} + 1.2 & 1.2 &1.2 &1,2 &1.2 &1.2&1.2 \\ + 1.23 & 1.23 &12.5 &300,2 &12.5 &300.2&300.2 \\ + 1121.2& 1121.2&861.20 &674,29 &861.20 &674.29&674.29 \\ + 184 & 184 &10 &69 &10 &69&69 \\ + .4 & .4 & &,4 & &.4 &.4 \\ + & &.4 &&.4 & & +\end{tabular} ++ +
Pakiet daje możliwość właściwego pozycjonowania tablicy
+ w trybie matematycznym, względem otaczających ją delimiterów. Składnia
+ makroinstrukcji array
została wzbogacona:
+\begin{array}[p]o{specyfikacja kolumn}z
+ gdzie:
+
c
-- środek, t
-- góra i b
-- dół
+(
)
+)
). Delimiterami
+ mogą być znaki, które mogą wystąpić jako parametry makropolecenia
+ left
i right
(konstrukcja dopasowująca wielkość delimiterów
+ do strony prawej/lewej otaczanego wyrażenia). Parametry o
i z
+ mogą być pominięte (nie może wystąpić tylko jeden, ale mogą być
+ różne. Znak .
(kropka) oznacza delimiter pusty).
+Przyklad:
+ Ilustracja zalet konstrukcji, w porównaniu z konstrukcją
+standardową
+
+$$ + \begin{array}[t]({c}) 1\\2\\3 \end{array} + \begin{array}[c]({c}) 1\\2\\3 \end{array} + \begin{array}[b]({c}) 1\\2\\3 \end{array} + \quad\mbox{not}\quad + \left(\begin{array}[t]{c} 1\\2\\3 \end{array}\right) + \left(\begin{array}[c]{c} 1\\2\\3 \end{array}\right) + \left(\begin{array}[b]{c} 1\\2\\3 \end{array}\right) +$$ ++
leqno
powodującą numerowanie
+wzorów z lewej strony (tylko w środowiskach definiowanych
+w tym pakiecie) i fleqn
powodującej, że wzory są pozycjonowane
+z lewej strony, a nie centrowane (tylko w środowiskach definiowanych
+w tym pakiecie).
+
+Dostępne są środowiska:
++ \begin{equation} + \sin^2\alpha + \cos^2\alpha = 1\label{Demo0} + \end{equation} + \begin{deqn} + \sin (-\alpha) = - \sin \alpha + \end{deqn} ++
+ \begin{equation} + \sin^2\alpha + \cos^2\alpha = 1\label{Demo1} + \end{equation} + \begin{ddeqn} + \sin (-\alpha) = - \sin \alpha + \end{ddeqn} ++
+ \begin{equation} + \sin ( \alpha + \beta ) = + \sin \alpha \cos \beta + \sin \beta \cos \alpha + \end{equation} + \begin{deqarr} + \cos ( \alpha + \beta ) & = + & \cos \alpha \cos \beta - \sin \alpha \sin \beta + \arrlabel{Demo2} \\ + \cos ( \alpha - \beta ) & = + & \cos \alpha \cos \beta + \sin \alpha \sin \beta + \end{deqarr} ++
+ \begin{equation} + \sin ( \alpha + \beta ) = + \sin \alpha \cos \beta + \sin \beta \cos \alpha + \end{equation} + \begin{ddeqar} + \cos ( \alpha + \beta ) & = + & \cos \alpha \cos \beta - \sin \alpha \sin \beta\\ + \cos ( \alpha - \beta ) & = + & \cos \alpha \cos \beta + \sin \alpha \sin \beta + \end{ddeqar} ++
\eqreqno
, \deqreqno
,
+\ddeqreqno
++ \begin{equation} + \sin ( \alpha + \beta ) = + \sin \alpha \cos \beta + \sin \beta \cos \alpha + \end{equation} + \begin{deqrarr} + \cos ( \alpha + \beta ) & = + & \cos \alpha \cos \beta - \sin \alpha \sin \beta \eqreqno[-\jotbaseline]{Demo1} + \cos ( \alpha - \beta ) & = + & \cos \alpha \cos \beta + \sin \alpha \sin \beta + \end{deqrarr} ++
\nonumber
+\arrlabel
+Demo2
wygląda następująco:\rem{tekst}
++ \begin{ddeqar} + \sin 2\alpha & = + & 2 \sin \alpha \cos \alpha \\ + \cos 2\alpha & = + & \cos ^2 \alpha - \sin ^2 \alpha \nydeqno \\ + \rem{or} + & = & 2\cos ^2 \alpha - 1 + \end{ddeqar} ++
\where
+where
++ \begin{ddeqar} + \sin 2\alpha & = + & 2 \sin \alpha \cos \alpha \\ + \cos 2\alpha & = + & \cos ^2 \alpha - \sin ^2 \alpha \nydeqno \\ + \where + & = & 2\cos ^2 \alpha - 1 + \end{ddeqar} ++
\heqno
+\nydeqno
+\nydeleqno
++ $$ + \cos ^2 \alpha - \sin ^2 \alpha \nydeleqno + $$ ++
\deleqno
++ $$ + \cos ^2 \alpha - \sin ^2 \alpha \deleqno + $$ ++
\reqno{etykieta}
+deqrarr
jest zerowany).
++$$ + \cos ^2 \alpha - \sin ^2 \alpha \reqno{Demo1}\label{Demo6} +$$ ++
\rdeqno{etykieta}
+deqrarr
jest incrementowany).
++$$ + \cos ^2 \alpha - \sin ^2 \alpha \rdeqno{Demo0} +$$ +$$ + \cos ^2 \alpha - \sin ^2 \alpha \rdeqno{Demo0} +$$ ++
\rndeqno{etykieta}
+deqrarr
jest zerowany).
++$$ + \cos ^2 \alpha - \sin ^2 \alpha \rdeqno{Demo0} +$$ +$$ + \cos ^2 \alpha - \sin ^2 \alpha \rdeqno{Demo0} +$$ ++
\eqreqno[skip]{etykieta}
+\eqreqno{etykieta}
++\begin{deqarr} + \cos ^2 \alpha - \sin ^2 \alpha \eqreqno{Demo0}\nonumber\\ + \cos ^2 \alpha - \sin ^2 \alpha \eqreqno{Demo0}\nonumber +\end{deqarr} +\begin{deqarr} + \cos ^2 \alpha - \sin ^2 \alpha \eqreqno[10pt]{Demo0}\nonumber\\ + \cos ^2 \alpha - \sin ^2 \alpha \eqreqno[10pt]{Demo0}\nonumber +\end{deqarr} ++
\deqreqno[skip]{etykieta}
+\deqreqno{etykieta}
+deqrarr
++\begin{deqarr} + \cos ^2 \alpha - \sin ^2 \alpha \deqreqno[0pt]{Demo0}\nonumber\\ + \cos ^2 \alpha - \sin ^2 \alpha \deqreqno[0pt]{Demo0}\nonumber +\end{deqarr} +\begin{deqarr} + \cos ^2 \alpha - \sin ^2 \alpha \deqreqno[-\jotbaseline]{Demo0}\nonumber\\ + \cos ^2 \alpha - \sin ^2 \alpha \deqreqno[-\jotbaseline]{Demo0}\nonumber +\end{deqarr} ++
\ddeqreqno[skip]{etykieta}
+\ddeqreqno{etykieta}
+deqrarr
++\begin{deqarr} + \cos ^2 \alpha - \sin ^2 \alpha \ddeqreqno[0pt]{Demo0}\nonumber\\ + \cos ^2 \alpha - \sin ^2 \alpha \ddeqreqno[0pt]{Demo0}\nonumber +\end{deqarr} +\begin{deqarr} + \cos ^2 \alpha - \sin ^2 \alpha \ddeqreqno[-\jotbaseline]{Demo0}\nonumber\\ + \cos ^2 \alpha - \sin ^2 \alpha \ddeqreqno[-\jotbaseline]{Demo0}\nonumber +\end{deqarr} ++
Pakiet zmienia definicję środowisk equation, eqnarray i +\[. Wzory są pozycjonowane od lewego marginesu (wartość +\mathindent), a przestrzeń między końcem wzoru, a jego numerem +jest wypełniana kropkami.
+ +Poniższy tekst ++\[ +\sqrt{1} +\] + +\begin{equation} +\sqrt{1} +\end{equation} +\begin{eqnarray} +\sqrt{1}\\ +\sum_1^\infty x dx +\end{eqnarray} ++daje następujący efekt
Pakiet ma dwie opcje:
+leftjust -- pierwsza kolumna środowiska equnarray jest
+dosuwana do lewego marginesu (domyślnie do prawego)
+nocolsep -- nie jest wstawiany odstęp między kolumnami; przydatne
+jeśli konstrukcji używamy do wyrównania w pionie operatorów.
+
Pakiet jest dostępny pod adresem:
+\year=1963 \month=11 \day=22 +\downame ++W pakiecie jest również makroinstrukcja dowcomp zwracająca numer dnia w tygodniu (0 dla niedzieli), +dla danej daty.
+ +W celu ,,polonizacji'' należy zmienić definicję +polecenia downame +na: +
+\def\dayname{\dowcomp \ifcase\dow niedziela\or poniedziałek\or wtorek\or + środa\or czwartek\or piątek\else sobota\fi} ++ +zbiór dołączamy za pomocą polecenia \input
+
+Dołączenie pakietu daje możliwość śledzenia odwołań do +bibliografii. Zarówno w miejscu powołania (polecenie \cite) +jak i definicji (polecenie \bibitem[nazwa]{etykieta}... i +\bibitem{etykieta}...) +zawsze pokazywana jest etykieta pozycji bibliograficznej (dodatkowo +pozycje są numerowane).. +
+ +Oprócz tego definiowane są parametry podobnie jak w +pakiecie cite. + +
Opcje | Opis |
---|---|
+verbose | ??? |
+tt | nazwy etykiet są składane czcionką tt |
+nospace | pozycje są odzielone tylko przecinkiem + |
+space | pozycje są odzielone przecinkiem i spacją + |
+breakcites | nazwy etykiet podlegają ,,hypenacji'' |
opcje | opis |
---|---|
\bigdrop{wcięcie}{wielkość}{font}{tekst} + | definiuje inicjał: + wcięcie -- określa odległość inicjału id lewego + marginesu + wielkość -- wielkość inicjału (jako krotność + \baselineskip + font -- nazwa fontu, którym jest składany + inicjał + tekst -- tekst inicjału + |
\dropping[wcięcie]{wielkość}{tekst} + | definiuje inicjał: + wcięcie -- określa odległość inicjału id lewego + marginesu; parametr jest opcjonalny (wartość domyślna 0pt) + wielkość -- wielkość inicjału (jako krotność + \baselineskip + tekst -- tekst inicjału + |
+przykład
+
+\dropping[0cm]{4}{B}aa aa aa +aa aa aa aa aa aa aa aa aa aa +aa aa aa aa aa aa aa aa aa aa +aa aa aa aa aa aa aa aa aa aa +aa aa aa aa aa aa aa aa aa aa +aa aa aa aa aa aa aa aa aa aa +aa aa aa aa aa aa aa aa aa aa +aa aa aa aa aa aa aa aa aa aa +aa aa aa aa aa aa aa aa aa aa +aa aa aa aa aa aa aa aa aa aa +aa aa aa aa aa aa aa aa aa aa +aa aa aa aa aa aa aa aa aa aa ++
Pakiet udostępnia środowiska EQ i EQA służące do prezentacji +wzorów matematycznych (jest zgodny z pakietem showkeys). +Główną różnicą w stosunku do środowisk +equation i eqnarray jest to, że wzory są numerowane +tylko wtedy, gdy w tekście występuje do nich odwołanie +(oczywiście przez etykietę).
+ +Pakiet posiada następujące opcje:
+
+allnumber + | + numerowane są wszystkie wzory (definiowane środowiskami EQ + lub EQA) -- nie tylko te do których są odwołania + |
+warning + | + podawane są komunikaty o wzorach etykietowanych, do których nie ma + odwołań + |
+easyold + | + definiowane są środowiska występujące w starszych wersjach pakietu: + EQS, + EQS*, + EQ*, + EQA* + |
+fleqn + | + wzory są dosunięte do lewego marginesu; lewy margines można ustalić + poleceniem \eqleftmargin{długosć}; jeśli + równocześnie jest użyta opcja leqno + to wielkość marginesu musi uwzględnić miejsce + na oznaczenie wzoru |
+leqno + | + oznaczenia wzorów są wstawiane z lewej strony + |
+math + | + powoduje definiowanie dodatkowych makroinstrukcji przydatnych przy + składzie wzorów + |
Prosty przykład
+
++\begin{EQ}\label{eq:1} + \frac{x}{y} = z +\end{EQ} +\begin{EQ}\label{eq:2} + \frac{x}{y} = z +\end{EQ} +I will refer only to \eqref{eq:1} or, +in the old style, \refeq{eq:1}. + | ![]() |
Zarówno środowisko EQ jak i EQA może służyć do budowy +tabel, różnica polega na tym, że w przypadku EQ cały wzór jest +opatrzony jednym numerem, a w przypadku EQA numerem jest +opatrzony +każdy wiersz tabeli (o ile jest on zaetykietowany +i jest do niego odwołanie lub +zostało użyte polecenie \yesnumber).
+
++\begin{EQ}[rcll] + \nabla\cdot(\rho\nabla u)&=&f \qquad + &\mbox{on $\Omega$} \\ + u&=&u_{0}&\mbox{on $A\subset\partial\Omega$} \\ + (\rho\nabla u)\cdot n&=&u_{1} + &\mbox{on $B\subset\partial\Omega$}\label{eq2} +\end{EQ} +in \eqref{eq2} .... + | ![]() |
++\begin{EQA}[rcll] + \nabla\cdot(\rho\nabla u)&=&f \qquad + &\mbox{on $\Omega$} \\ + u&=&u_{0}&\mbox{on $A\subset\partial\Omega$} + \label{eq3}\\ + (\rho\nabla u)\cdot n&=&u_{1} + &\mbox{on $B\subset\partial\Omega$}\label{eq4} +\end{EQA} +in \eqref{eq3} and \eqref{eq4} .... + | ![]() |
l | -- | + do lewej krawędzi + |
c | -- | + centralnie + |
r | -- | + do prawej krawędzi + |
. | -- | + powoduje skasowanie odległości między kolumnami (odpowiada + międzykolumnowej specyfikacji + @{}) + |
+Do łączenia kolumn służy makroinstrukcja \eqmulticol o następującej
+składni:
+
+\eqmulticol{ncol}{align}{zawartość}
+gdzie:
+
+ ncol | -- | + liczba łączonych kolumn + |
+ align | -- | + sposób pozycjonowania kolumny (tak jak w opcjonalnym parametrze + środowisk) + |
+ zawartość | -- | + zawartość kolumny + |
+\yesnumber -- wymusza numerowanie wzoru (lub wiersza tabeli
+w którym jest użyty)
+
+
+\begin{EQ}[rcl]\yesnumber + a & = & \frac{1}{23} \\ + b & = & \sqrt{\frac{1}{23}} +\end{EQ} + |
+![]() |
++\eqlabeltop +\begin{EQ} + \nabla\cdot(\rho\nabla u) = 0 \\ + \nabla\cdot(\rho\nabla u) = 0 \\ + \nabla\cdot(\rho\nabla u) = 0 \label[TOP] +\end{EQ} ++ |
+![]() |
++\eqlabelbot +\begin{EQ} + \nabla\cdot(\rho\nabla u) = 0 \\ + \nabla\cdot(\rho\nabla u) = 0 \\ + \nabla\cdot(\rho\nabla u) = 0 \label[BOT] +\end{EQ} ++ |
+![]() |
++\eqlabelcenter +\begin{EQ} + \nabla\cdot(\rho\nabla u) = 0 \\ + \nabla\cdot(\rho\nabla u) = 0 \\ + \nabla\cdot(\rho\nabla u) = 0 \label[CENTER] +\end{EQ} ++ |
+![]() |
zmiana pozycji oznaczenia wzoru jest możliwa jedynie we wzorach +wieloliniowych. |
+\label{nazwa_etykiety} | -- + | działanie standardowe |
+\label[tekst] | -- + | wzór zostanie oznaczony podanym + tekstem (nie jest definiowana etykieta, + na którą można się powołać) |
+\label[tekst]{nazwa_etykiety} | -- + | wzór zostanie oznaczony podanym + tekstem, nazwa_etykiety jest etykietą, + na którą można się powołać |
+\label(tekst) | -- + | wzór zostanie oznaczony podanym + tekstem, który zostanie ujęty w nawiasy () + (nie jest definiowana etykieta, + na którą można się powołać) |
+\label(tekst){nazwa_etykiety} | -- + | wzór zostanie oznaczony podanym + tekstem, który zostanie ujęty w nawiasy (), + nazwa_etykiety jest etykietą, + na którą można się powołać |
+Przykład:
+
++\begin{EQA}[c] + \nabla\cdot(\rho\nabla u) = 0 + \label(eq.1){eq:custom:a} \\ + \nabla\cdot(\rho\nabla u) = 0 + \label[eq.2]{eq:custom:b} \\ + \nabla\cdot(\rho\nabla u) = 0 + \label[***1***] +\end{EQA} +I will refer to +\eqref{eq:custom:a} and +\eqref{eq:custom:b} ++ |
+![]() |
+W parametrze makroinstrukcji \label można użyć znaku +~ -- oznacza on wstawienie polecenia +\theequation z ostatnio użytą wartością licznika wzorów, bez jego +inkrementacji. W ten sposób łatwo uzyskać efekt dodatkowego numerowania +wzoru +(p. także pakiety +subeqn i subeqnarray) +
+\begin{EQA}[c]\label{dqq}\yesnumber + \nabla\cdot(\rho\nabla u) = 0 \label(~.a){aqq}\\ + \nabla\cdot(\rho\nabla u) = 0 \label(~.b){bqq}\\ + \nabla\cdot(\rho\nabla u) = 0\label(~.c){cqq} +\end{EQA} +\eqref{aqq} \eqref{bqq} \eqref{cqq} ++ |
+![]() |
konieczne jest zdefiniowanie etykiety +na początku (\label{dqq}\yesnumber), +tak aby została zwiększona wartość licznika, w przeciwnym razie +kolejne linie byłyby oznaczane (0.a), (0.b) i (0.c) + |
+\frac[długość]{licznik}{mianownik} + | -- | + | parametr opcjonalny pozwala na zmianę grubości kreski ułamkowej + (z powodu błędów definicji przed wywołaniem + pakietu należy skasować standardową definicję makroinstrukcji + poleceniem \let\frac\relax) + | ||
+\dfrac[długość]{licznik}{mianownik} + | -- | + | licznik i mianownik składany jest zawsze w ,,displaystyle''; parametr opcjonalny pozwala na zmianę grubości kreski ułamkowej + | ||
+\tfrac[długość]{licznik}{mianownik} + | -- | + | licznik i mianownik składany jest zawsze w ,,textstyle''; parametr opcjonalny pozwala na zmianę grubości kreski ułamkowej + | ||
+\eqbox{zawartość} | |||||
+\eqbox(grubość,odległość){zawartość} + | -- | + |
+makroinstrukcja pozwala na ujęcie fragmentu wzoru w ramkę;
+parametr opcjonalny określa grubość ramki i jej odległość od zawartości
+
| ||
+\norm{zawartość} + | -- | + |
+![]() | ||
+\abs{zawartość} + | -- | + |
+![]() | ||
+\ParDer[definicja mianownika]{licznik} + | -- | + | + | ||
+\DIV{zawartość} + | -- | + |
+![]() | ||
+\GRAD{zawartość} + | -- | + |
+![]() | ||
+\LAPLA{zawartość} + | -- | + |
+![]() | ||
+\SUM{od}{do} | |||||
+\SUM[indeks]{od}{do} + | -- | + | + | ||
+\PROD{od}{do} | |||||
+\PROD[indeks]{od}{do} + | -- | + | + |
+ARRAY + | -- |
+ różnicę w stosunku do środowiska array
+ ilustruje przykład (pola tablicy są składane w ,,displaystyle'')
+
| ||
+MATRIX + | -- |
+ różnicę w stosunku do makroinstrukcji matrix
+ ilustruje przykład (odległość między wierszami)
+
|
Pakiet easyeqn
wraz z pakietami pomocniczymi jest dostępny
+pod adresem:
+ftp://ftp.gust.org.pl/TeX/macros/latex/contrib/easy/
+Deklaracja użycia pakietu powoduje że wszystkie rysunki i tabele
+(środowiska figure
i table
) zostaną umieszczone na końcu
+dokumentu (standardowo na końcu umieszczany jest również
+spis rysunków i tabel; jeśli takowe wystąpią).
+W miejscu deklaracji obiektu pojawi się np. napis
+
+[Figure 4 about here.] ++lub +
+[Table 1 about here.] ++
+Treść napisu można zmienić za pomocą makropoleceń:
+\renewcommand{\figureplace}{[\figurename{} \thepostfig\ na końcu]}
+\renewcommand{\tableplace}{[\tablename\ \theposttbl\ na końcu]}
+co da następujący efekt:
+
+[Rys. 4 na końcu] ++lub +
+[Tabela 1 na końcu] ++ +
Uwaga:
+Jeżeli polecenia definiujące treść komunikatu nie kończą akapitu to
+ignorowane są spacje po \end{figure}
(zamiast
+deklaracji środowiska jest wykonywa makroinstrukcja
+\figureplace
(lub \tableplace
)).
+Jeżeli w preambule dokumentu wywołamy makroinstrukcje
+\nofiglist
(lub \notablist
) to nie pojawi się spis rysunków
+(lub tabel). Polecenie \nomarkersintext
blokuje wykonanie
+poleceń \tableplace
i \figureplace
.
+
enumerate
(p. też enumitem). Polecenie otwarcia
+środowiska wygląda następująco:+\begin{enumerate}[parametr] ++parametr może przyjmować następujące wartości: +
EX 1
;
+numeracja będzie wyglądała następująco EX 1
, EX 2
...); pierwszy
+znak zgodny z podaną listą jest traktowany jako definicja sposobu numerowania.
+
++\begin{enumerate}[{Ex--}1] +\item pierwsza pozycja +\item druga pozycja\label{dwa} +\item trzecia pozycja +\end{enumerate} + +odwołanie się do etykiety \ref{dwa} (a nie Ex--2) ++ +
Pakiet reimplementuje środowiska enumerate
, itemize
i description
;
+wprowadzając mechanizmy dzięki którym można łatwiej wpływać na ich własności
+(ich definicje są dalej oparte na środowisku list
). Są dwa sposoby
+zmiany własności: w momencie wywołania środowiska -- określając je w postaci
+parametru (opcjonalnego) np.
+
+\begin{enumerate}[parametry]
+
+lub wywołując specjalne konstrukcje:
+
\setlist{parametry} | określa parametry
+wszystkich środowisk (enumerate , itemize i description )
+na wszystkich poziomach |
\setlist[poziom]{parametry} | jw. ale +tylko dla wskazanego poziomu zagnieżdzenia |
\setenumerate{parametry} | określa parametry
+środowisk enumerate na wszystkich poziomach |
\setenumerate[poziom]{parametry} | jw. ale +tylko dla wskazanego poziomu zagnieżdzenia |
\setitemize{parametry} | określa parametry
+środowisk itemize na wszystkich poziomach |
\setitemize[poziom]{parametry} | jw. ale +tylko dla wskazanego poziomu zagnieżdzenia |
\setdescription{parametry} | określa parametry
+środowisk description na wszystkich poziomach |
\setlist
, następnie przez \setlist
dla danego
+poziomu, później
+\set...
-- właściwe dla
+danego środowiska dla wszystkich poziomów, potem określone dla danego poziomu, a na końcu określone
+przy wywołaniu środowiska. Własności określamy podając listę parametrów
+oddzielonych przecinkiem w postaci nazwa=wartość.
+
+topsep=skip | odległość
+ przed i po zawartości środowiska (p. nolistsep ) | ||||||
partopsep=skip | dodatkowa odległość + przed i po, jeśli środowisko rozpoczyna (kończy) akapit | ||||||
itemsep=skip | odległość
+ między elementami listy (p. noitemsep ) | ||||||
parsep=skip | + odległość między akapitami (dodawana również jeśli element listy + rozpoczyna nowy akapit) | ||||||
leftmargin=długość | wielkość lewego + marginesu tekstu podstawowego środowiska | ||||||
rightmargin=długość | + wartość prawego marginesu | ||||||
listparindent=długość | + wielkość wcięcia akapitowego wewnątrz środowiska | ||||||
labelwidth=długość | + szerokość pola etykiety | ||||||
labelindent=długość | + dodatkowe wcięcie pierwszej linii etykiety | ||||||
labelsep=długość | + odległość etykiety od tekstu podstawowego | ||||||
itemindent=długość |
+ dodatkowe wcięcie pierwszej linii tekstu (zawiera się w
+ labelsep ) | ||||||
calcmargin | ustala szerokość
+ etykiety (labelwidth ) ustalając ją na szerokość: cyfry dla numeracji liczbami w notacji
+ arabskiej, szerokość napisu ,,viii'' dla numeracji liczbami w notacji
+ rzymskiej, szerokość litery ,,m'' dla oznaczeń kolejnymi literami (analogicznie
+ ,,VIII'' i ,,M'' jeżeli używane są wielkie litery) oraz wielkość lewego
+ marginesu jako sumy labelwidth , labelsep i
+ labelindent | ||||||
calcmargin=napis | ustala szerokość
+ etykiety (labelwidth ) jako szerokość podanego napisu oraz wielkość lewego
+ marginesu jako sumy labelwidth , labelsep i
+ labelindent | ||||||
calcsep | ustala szerokość
+ etykiety (labelwidth ) ustalając ją na szerokość: cyfry dla numeracji liczbami w notacji
+ arabskiej, szerokość napisu ,,viii'' dla numeracji liczbami w notacji
+ rzymskiej, szerokość litery ,,m'' dla oznaczeń kolejnymi literami (analogicznie
+ ,,VIII'' i ,,M'' jeżeli używane są wielkie litery) oraz odległość
+ między etykietą, a tekstem (labelsep ) jako wielkość
+ pozostałą po odjęciu od leftmargin labelwidth
+ i labelindent | ||||||
calcsep=napis | ustala szerokość
+ etykiety (labelwidth ) jako szerokość podanego napisu oraz odległość
+ między etykietą, a tekstem (labelsep ) jako wielkość
+ pozostałą po odjęciu od leftmargin labelwidth
+ i labelindent | ||||||
resume | numeracja będzie + kontynuowana (licznikiem tego samego poziomu) | ||||||
start=wartość | ustala + wartość początkową licznika | ||||||
format= |
+ ciąg poleceń, które wywołane zostaną przed treścią etykiety np.
+ format=\sffamily\color{blue} określi czcionkę bezszeryfową
+ w kolorze niebieskim, którą zostanie zaprezentowany numer | ||||||
style=nazwa |
+ istotne tylko dla środowiska description ;
+ nazwa określa nazwę stylu i może przyjmować wartości:
+
| ||||||
label= |
+ polecenie określa sposób wyprowadzania licznika (powinno ono mieć jeden
+ parametr na który zostanie podstawiona wartość, zaznaczamy go
+ symbolicznie znakiem *) podany tekst zostanie po prostu
+ zaprezentowany np.:
+ label=\arabic*. określa wyprowadzenie licznika w postaci
+ liczby w notacji arabskiej oraz znaku kropki | ||||||
ref= |
+ polecenie określa sposób prezentacji etykiety związanej z wartością
+ bieżącą zapamiętaną przez polecenie \label -- domyślnie
+ wartością etykiety jest to samo co pojawia się jako etykieta elementu
+ listy (jest to określone parametrem label ). Może to nie
+ być korzystne; np. należy pozbyć się kropki po numerze lub nawiasów | ||||||
nolistsep | kasuje światło + między elementami listy | ||||||
noitemsep | kasuje światło przed + i po środowisku |
+\psfig{file=xxx, ....} + | obecnie \includegraphic | ||||||||
+\psdraft | to samo co opcja draft | ||||||||
+\psfull | to samo co opcja final | ||||||||
+\epsfig | to samo co \psfig | ||||||||
+\epsfsize{}{} | parametry są ignorowane, wynikiem rozwinięcia + makroinstrukcji jest makro \epsfxsize | ||||||||
+\epsfbox{nazwa zbioru}
+
+\epsfbox[x1 y1 x2 y2]{nazwa zbioru}
+ |
+ wielkość rysunku jest przeskalowana
+ do wymiaru określonego przez parametry:
+ \epsfxsize lub \epsfysize |
+\epsffile | równoważne \epsfbox |
+\epsfclipon | ??? |
+\epsfclipoff | ??? | |
\EveryShipOut
; Tekst będący
+argumentem makroinstrukcji będzie drukowany na początku każdej strony
+
+Przyklad:
+
+\EveryShipout{tekst na każdej stronie\par} ++ +
Zobacz także pakiet bophook.
+ +Pakiet expdlist zmienia definicję środowiska description; +nowa wersja daje większe możliwości wpływu na wygląd listy.
+ +W najprostszej wersjii wywołania: +
+\begin{description} +\item[aqq] bqq +\item[cqq] dqq +\end{description} ++środowisko zachowuje się tak, jak standardowe, ale można również +określić dodatkowe parametry sterujące -- postać wywołania jest następująca: +
+\begin{description}[\breaklabel\setleftmargin{30pt}\compact\setlabelstyle{\itshape}] +\item[aqq] bqq +\item[cqq] dqq +\end{description} ++ +
+gdzie parametr określa dodatkowe własności (są to normalne +wywołania poniżej przedstawionych makroinstrukcji): +
+
parametr | opis |
---|---|
\setleftmargin{rozmiar} | rozmiar
+określa wielkość lewego marginesu +np: +\setleftmargin{30pt} |
\setlabelphantom{tekst} | wielkość lewego
+marginesu jest określana na podstawie rozmiaru zajmowanego przez
+tekst +np: +\setlabelphantom{aqq bqq} |
\breaklabel | jeżeli etykieta jest dłuższa +niż założony rozmiar (wielkość naturalna, wielkość +określona przez parametr \setleftmargin lub \setlabelphantom) +to tekst opisu etykiety zacznie się ,,od nowej'' linii |
\compact | mniejsze odległości +między elementami listy |
\setlabelstyle{określenie czcionki} | +definicja typu (i/lub wielkości) czcionki, którą jest składana etykieta +np: +\setlabelstyle{\itshape} |
+dodatkowo zdefiniowane są dwa nowe makropolecenia
+
polecenie | opis |
---|---|
\listpart{tekst} | polecenie może
+być użyte wewnątrz dowolnego środowiska definiującego listę
+(enumerate, itemize i description). Konstrukcja
+ta służy do wprowadzenia dodatkowego komentarza (tekst)
+wewnątrz listy --
+nie jest ona opatrywana etykietą. +Konstrukcja: + +\begin{itemize} +\item aqq +\begin{enumerate} +\item pierwsza pozycja +\listpart{to jest dodatkowe objaśnienie wewnątrz listy numerowanej} +\item druga pozycja +\end{enumerate} +\item bqq +\end{itemize} + ++daje następujący efekt: + ![]() |
\listpartsep=rozmiar | określa +dodatkową odległość w pionie między konstrukcją określoną +przez polecenie \listpart{tekst}, a resztą tekstu |
+Pakiet jest dostępny pod adresem: + +ftp://ftp.gust.org.pl/TeX/macros/latex/contrib/expdlist.tar
+
latexsym
).
+\rightmark
i
+\leftmark
oraz zdefiniowanie nowych rejestrów.
+
++Polecenie | opis |
---|---|
\markboth{lewy }{prawy } | definiuje
+ wartości rejestrów:
+
|
+\markright{prawy } | definiuje wartość rejestru rightmark
+ (rejestr zachowuje się identycznie
+ jak definiowany poleceniem
+ \markboth |
+\extramarks{górny }{dolny } | definiuje
+ wartości
+ rejestrów: +
|
Polecenie | Opis |
---|---|
+\shadowbox{shadowbox} |
+ ![]() \fboxrule ,
+ a szerokość cienia \shadowsize ), |
+\doublebox{doublebox} |
+ ![]() |
+\ovalbox{ovalbox} |
+ ![]() |
+\Ovalbox{Ovalbox} |
+ ![]() |
+\cornersize{num} + \cornersize*{width} |
+ służące do definicji promienia zaokrąaglenia
+(gdzie num
+ liczba rzeczywista)
+ ![]() + ![]() + Zdefiniowano również makropolecenie fancyoval ,
+ będące wariantem LaTeX'owej instrukcji oval ,
+ różniącej się tym, że \oval robi zaokrąglenia
+ największe z możliwych, a fancyoval wg
+ \cornersize (obie działają w środowisku
+ picture ).
+ |
+Uwaga!
+Pakiet fancybox
powinien być wywołany po pakiecie
+shadow
.
+W pakiecie shadow
też definiowana
+jest makroinstrukcja \shadowbox
(jest ona dostępna również
+pod inną nazwą).
+
+
+
+Oprócz tego dostępne jest środowisko Sbox
pakujące swoją
+zawartość do pudełka (box), którego zawartość można
+uzewnętrznić poleceniem \TheSbox
. Przy jego pomocy
+możemy uzyskać ciekawe efekty.
+
+
+Definiujemy środowisko shadowminipage
+
+\newenvironment{shadowminipage}{\begin{Sbox}% + \begin{minipage}}% + {\end{minipage}% + \end{Sbox}% + \shadowbox{\protect\TheSbox}} +\begin{shadowminipage}{5cm} +Przykład wykorzystania środowiska \comm{Sbox} do zrobienia +środowiska \sym{minipage} otoczonego cieniowaną ramką. +\end{shadowminipage} ++ +
+ +Oprócz tego zdefiniowane są następujące środowiska: +
Bcenter
+Bflushleft
+Bflushright
+Bitemize
+Benumerate
+Bdescription
+Beqnarray
++\fbox{\begin{Bitemize} + \item pozycja 1 + \item pozycja 2 + \item pozycja 3 + \end{Bitemize}} ++ +
l
-- lewa część c
-- środek i
+r
prawa część\lhead[strona parzysta]{strona nieparzysta}
\chead[strona parzysta]{strona nieparzysta}
\rhead[strona parzysta]{strona nieparzysta}
\lfoot[strona parzysta]{strona nieparzysta}
\cfoot[strona parzysta]{strona nieparzysta}
\rfoot[strona parzysta]{strona nieparzysta}
+
+
+Jeżeli nie było deklarowane \twoside
+(druk w układzie dwustronnym -- książkowym) to zawsze brana jest część
+ujęta w nawiasy {}
. Parametr ujęty w nawiasy []
może
+być pominięty, wtedy nagłówki są jednakowe na stronach parzystych i
+nieparzystych. W tekście nagłówka strony można łamać linię poleceniem
+\\
(ale
+ostrożnie, pojawiają się komunikaty o przekroczeniu przewidzianej
+szerokości pola; ,,overfull box
'')
+
+
+Nagłówki/stopki stają się aktywne po użyciu makroinstrukcji
+\pagestyle{fancy}
+\pagestyle{fancyplain}
+\thispagestyle{fancy}
+\thispagestyle{fancyplain}
+
+
+Nagłówek jest podkreślany, część lewa jest dosuwana w lewo,
+część środkowa centrowana, a część prawa dosuwana do prawego marginesu.
+Szerokość nagłówka jest standardowo równa szerokości strony, ale
+można ją ustawić zmieniając definicję polecenia \headwidth
+(szerokość stopki jest zawsze równa szerokości nagłówka).
+
+Możemy zwiększyć szerokość nagłówka tak aby obejmował również
+notę na marginesie:
+\setlength{\headwidth}{\textwidth}
+\addtolength{\headwidth}{\marginparwidth}
+\addtolength{\headwidth}{\marginparsep}
+
+
+Ze względu na podkreślenie należy zwiększyć wysokość nagłówka
+(za wysokość nagłówka odpowiada parametr \headheight
). Grubość
+kreski podkreślającej nagłówek określa parametr \headrulewidth
+(stopkę \footrulewidth
); nadanie tym parametrom wartości 0pt
+spowoduje zniknięcie podkreślenia.
+
+Wyżej opisane definicje nagłówków i stopek stają się aktywne
+jeśli użyjemy polecenia:
+\pagestyle{fancy}
+lub
+\thispagestyle{fancy}
+
+
+Ponieważ polecenia definiujące tytuły zmieniają styl wyświetlania
+stopek i nagłówków na plain
(np. polecenie \chapter
)
+zdefiniowano dodatkowy styl fancyplain
, umożliwiający
+również kontrolę nad stylem plain
. Definiujemy części
+składowe nagłówków w poniższy sposób:
+\lhead[\fancyplain{F1}{F2}]{\fancyplain{F3}{F4}}
+
+
+Na stronie lewej (parzystej) określonej przez styl fancyplain
zostanie
+w części lewej umieszczony nagłówek F2, a na stronie prawej
+(nieparzystej) nagłówek F4; natomiast na stronach
+gdzie jest określony styl plain
odpowiednio: F1
+na stronie lewej, a F3 na stronie prawej.
+
+
+Za grubość
+kreski podkreślającej nagłówek (stopkę) na stronie określonej przez styl
+plain
odpowiada parametr \plainheadrulewidth
+(\plainfootrulewidth
)\footnote{Standardowo obie grubości
+są równe 0pt}.
+
+
Pakiet jest dostępny pod adresem:
+
+ftp://ftp.gust.org.pl/TeX/macros/latex/contrib/fancyhdr.sty>
+ +
l
-- lewa część c
-- środek i
+r
prawa część\lhead[strona parzysta]{strona nieparzysta}
\chead[strona parzysta]{strona nieparzysta}
\rhead[strona parzysta]{strona nieparzysta}
\lfoot[strona parzysta]{strona nieparzysta}
\cfoot[strona parzysta]{strona nieparzysta}
\rfoot[strona parzysta]{strona nieparzysta}
+
+
+Jeżeli nie było deklarowane \twoside
+(druk w układzie dwustronnym -- książkowym) to zawsze brana jest część
+ujęta w nawiasy {}
. Parametr ujęty w nawiasy []
może
+być pominięty, wtedy nagłówki są jednakowe na stronach parzystych i
+nieparzystych. W tekście nagłówka strony można łamać linię poleceniem
+\\
(ale
+ostrożnie, pojawiają się komunikaty o przekroczeniu przewidzianej
+szerokości pola; ,,overfull box
'')
+
+
+Nagłówki/stopki stają się aktywne po użyciu makroinstrukcji
+\pagestyle{fancy}
+\pagestyle{fancyplain}
+\thispagestyle{fancy}
+\thispagestyle{fancyplain}
+
+
+Nagłówek jest podkreślany, część lewa jest dosuwana w lewo,
+część środkowa centrowana, a część prawa dosuwana do prawego marginesu.
+Szerokość nagłówka jest standardowo równa szerokości strony, ale
+można ją ustawić zmieniając definicję polecenia \headwidth
+(szerokość stopki jest zawsze równa szerokości nagłówka).
+
+Możemy zwiększyć szerokość nagłówka tak aby obejmował również
+notę na marginesie:
+\setlength{\headwidth}{\textwidth}
+\addtolength{\headwidth}{\marginparwidth}
+\addtolength{\headwidth}{\marginparsep}
+
+
+Ze względu na podkreślenie należy zwiększyć wysokość nagłówka
+(za wysokość nagłówka odpowiada parametr \headheight
). Grubość
+kreski podkreślającej nagłówek określa parametr \headrulewidth
+(stopkę \footrulewidth
); nadanie tym parametrom wartości 0pt
+spowoduje zniknięcie podkreślenia.
+
+Wyżej opisane definicje nagłówków i stopek stają się aktywne
+jeśli użyjemy polecenia:
+\pagestyle{fancy}
+lub
+\thispagestyle{fancy}
+
+
+Ponieważ polecenia definiujące tytuły zmieniają styl wyświetlania
+stopek i nagłówków na plain
(np. polecenie \chapter
)
+zdefiniowano dodatkowy styl fancyplain
, umożliwiający
+również kontrolę nad stylem plain
. Definiujemy części
+składowe nagłówków w poniższy sposób:
+\lhead[\fancyplain{F1}{F2}]{\fancyplain{F3}{F4}}
+
+
+Na stronie lewej (parzystej) określonej przez styl fancyplain
zostanie
+w części lewej umieszczony nagłówek F2, a na stronie prawej
+(nieparzystej) nagłówek F4; natomiast na stronach
+gdzie jest określony styl plain
odpowiednio: F1
+na stronie lewej, a F3 na stronie prawej.
+
+
+Za grubość
+kreski podkreślającej nagłówek (stopkę) na stronie określonej przez styl
+plain
odpowiada parametr \plainheadrulewidth
+(\plainfootrulewidth
)\footnote{Standardowo obie grubości
+są równe 0pt}.
+
+
+
Pakiet dostarcza środowisko, którego zawartość jest zapisywana do wskazanego +zbioru + (p. też moreverb).
+ + +
+\begin{filecontents}{nazwa zbioru}
+.
+.
+.
+.
+\end{filecontents}
+
\suppressfloats[rozmieszczenie]
(gdzie rozmieszczenie
+określa t
--- top, b
-- bottom). Polecenie zakazuje
+umieszczenia obiektu ruchomego (tablica, rysunek)
+na bieżącej stronie (np. zadeklarowany
+na początku sekcji (rozdziału) rysunek jako ,,top'',
+może zostać umieszczony przed jej rozpoczęciem, wywołanie
+makroinstrukcji \suppress[t]
zapobiegnie takiej sytuacji,
+rysunek zostanie umieszczony na następnej stronie)
+
+polecenie | opis | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
+\floatstyle{styl} | określa standardowy sposób wydrukowania
+obiektu.
+Zdefiniowane są trzy typy parametru styl:
+
| ||||||||||||||||||
+\newfloat{nazwa}{preferencje}{ext}[licznik] | |||||||||||||||||||
+ | definiuje środowisko
+ o własnościach obiektu ruchomego; poszczególne
+ argumenty wywołania oznaczają:
+
| ||||||||||||||||||
+\floatname{nazwa}{tekst} |
+ definiuje tekst etykiety
+ obiektu za pomocą polecenia caption (nazwa
+ jest nazwą środowiska) | ||||||||||||||||||
+\listof{nazwa}{tytuł} | polecenie umieszczenia + spisu obiektów + o nazwie nazwa, tytuł będzie + nagłówkiem spisu. | ||||||||||||||||||
+\restylefloat{nazwa} | zmienia sposób drukowania standardowych
+ obiektów na styl określony poprzedzającym
+ poleceniem floatstyle ;
+ zamiast nazwa może być użyta
+ nazwa standardowego obiektu -- table lub
+ figure . Polecenie służy
+ do przedefiniowania własności
+ standardowych obiektów. | ||||||||||||||||||
+\floatplacement{nazwa}{preferencje} |
+ zmienia domyślne rozmieszczenia obiektów
+(patrz argument preferencje w poleceniu \newfloat ) |
Pakiet jest dostępny pod adresem:
+
+ftp://ftp.gust.org.pl/TeX/macros/latex/contrib/float
+
+
floatingfigure
i floatingtable
+pozwalającego na rozmieszczenie rysunków, i tabel
+które mają być otoczone tekstem
+(tak jak wrapfigure
tylko znacznie lepiej).
+
+Pakiet posiada następujące opcje:
+rflt
,lflt
i vflt
służące do testowania pakietu (włączające różny poziom śledzenia).
+
+Sposób użycia środowisk:\begin{floatingfigure}[położenie]{szerokość}
\caption{tekst opisu}
\end{floatingfigure}
+\begin{floatingtable}[położenie]{specyfikacja}
+.
+.
+.
+\caption{tekst opisu}
+\end{floatingtable}
+
+
+specyfikacja powinna zawierać część tekstu (tablicy) na tej podstawie
+której można obliczyć szerokość obiektu, lub zawierać definicję szerokości
+np. \hsize=5cm
. Tekst zawarty w środowisku jest łamany na tak
+określonej szerokości.
+
+
+
+położenie może przyjmować następujące wartości: +
v | standardowo działa tak jak parametr p , ale jeżeli
+użyta zostanie opcja rflt lub lflt to działa odwrotnie
+w stosunku do parametru p , |
r | rysunek pojawi się z prawej strony, |
l | rysunek pojawi się z lewej strony |
p | na stronach parzystych rysunek pojawi się z prawej strony, +a na nieparzystych z lewej. |
+Jeżeli obiekt nie może być umieszczony w danym miejscu, to jest przemieszczany +do następnego paragrafu (odpowiedni komunikat informuje o tym fakcie). + +
+\begin{floatingfigure}[l]{5cm} +\LARGE AQQ AQQ AQQ +AQQ AQQ AQQ +\caption{Podpis pod rysunkiem} +\end{floatingfigure} +tekst oblewający rysunek +tekst oblewający rysunek +. +. +. + +tekst oblewający rysunek +tekst oblewający rysunek +tekst oblewający rysunek ++ +
+\begin{floatingtable}{\hsize=5cm} +\begin{tabular}{|l|l|} +\hline +AQQ & AQQ\\ +\hline +AQQ & AQQ\\ +\hline +\end{tabular} +\caption{Podpis pod tabelą} +\end{floatingtable} +tekst oblewający tabelę +tekst oblewający tabelę +tekst oblewający tabelę +. +. +. + +tekst oblewający tabelę +tekst oblewający tabelę +tekst oblewający tabelę ++ +
+Uwaga!
+Środowisko nie może być umieszczone przy łamaniu wielokolumnowym.
+W przypadku braku tekstu za definicją środowiska rysunek
+jest ignorowany (na konsoli nie pojawi się komunikat o umieszczeniu tego
+obiektu). Środowisko można otwierać wyłącznie w trybie
+pionowym (vertical mode), czyli między akapitami. W przeciwnym wypadku
+łamanie akapitu jest przerywane w momencie napotkania
+polecenia \begin{floatingfigure}
.
+
+
+Na stronach parzystych rysunek umieszczany jest z lewej strony, a na
+nieparzystych z prawej strony tekstu
+(patrz pakiet wrapfig
).
+
+
Pakiet jest dostępny pod adresem:
+
+ftp://ftp.gust.org.pl/TeX/macros/latex/contrib/floatflt
+
+
Pakiet udostępnia poleceń umożliwiających
+zmianę paginy na stronach zajętych wyłącznie przez rysunki lub
+tabele.
+
+\floatpagestyle{styl}
+ustawinie paginacji dla wszystkich stron zawierających obiekty
+ruchome
+\rotfloatpagestyle{styl}
+dla stron zajmowanych przez rysunki i tabele tworzone za pomocą
+środowisk
+sidewaysfigure
,
+sidewaysfigure*
,
+sidewaystable
,
+sidewaystable*
zdefiniowanych w pakiecie rotating.
+\thisfloatpagestyle{styl
+dla strony zawierającej ten rysunek; polecenia należy
+użyć wewnątrz środowiska definiującego obiekt ruchomy.
styl musi być zdefiniowanym wcześniej +stylem paginacji
+ ++ +
Pakiet jest dostępny pod adresem:
+ftp://ftp.gust.org.pl/TeX/macros/latex/contrib/sttools
Pakiet definiuje środowiska FPfigure
, analogicznego
+do figure
+i FPtable
analogicznego do table
. Środowiska te
+są przeznaczone do prezentacji obiektów, które nie mieszczą się razem
+z podpisem (wypełniają całą kolumnę) na stronie. Z definicji tworzone obiekty
+zajmują całą stronę; podpis jest prezentowany na stronie sąsiedniej; poprzedzającej
+lub następnej.
+
german | opcja współpracy z pakietem varioref +-- pojawią się komunikaty w jęz. niemieckim |
varioref | opcja współpracy z pakietem varioref +-- zostanie on załadowany |
closeFloats | (domyślnie aktywna) opis i rysunek pojawiają się na +sąsiednich stronach (rozkładówka), w przypadkowej kolejności; ale tylko w przypadku użycia +opcji twoside + |
leftFloats | rysunek pojawia się na stronie lewej +(parzystej), a podpis na prawej (nieparzystej) -- tylko w przypadku użycia +opcji twoside |
rightFloats | rysunek pojawia się na stronie prawej +(nieparzystej), a podpis na lewej (parzystej) -- tylko w przypadku użycia +opcji twoside |
CaptionAfterwards | równoważna + leftFloats |
CaptionBefore | równoważna + rightFloats |
draft | pojawią się komentarze na marginesie w miejscu +definicji obiektu |
oneside | najpierw pojawia się opis, a na następnej +stronie rysunek -- nie są brane pod uwagę strony parzyste/nieparzyste +(domyślnie aktywna) + |
twoside | opis i rysunek pojawiają się na sąsiednich +stronach (rozkładówka) + |
noSeparatorLine | nie pojawi się linia oddzielająca + tekst od opisu rysunku |
noHints | nie pojawią się dodatkowe komentarze przy
+podpisie rysunku. Teksty są definiowane tylko dla jęz. angielskiego
+lub niemieckiego (opcja
+german). Są one definiowane poniższymi makroinstrukcjami; +dla języka polskiego mogą to być poniższe definicje: + +\makeatletter + \renewcommand{\FP@guideAfter}{następna strona} + \renewcommand{\FP@guideBefore}{poprzednia} + \renewcommand{\FP@guideOneside}{następna strona} + \renewcommand{\FP@guideFaceBefore}{sąsiednia strona} + \renewcommand{\FP@guideFaceAfter}{sąsiednia strona} + \makeatother + + |
+ +
Pakiet jest dostępny pod adresem:
+ftp://ftp.gust.org.pl/TeX/macros/latex/contrib/fltpage
Pakiet umożliwia wyrównanie długości ostatnich szpalt przy składzie dwuszpaltowym (p. też +balance). +Udostępnia dwa polecenia: \flushend (akcja standardowa) -- szpalty będą wyrównane +i \raggedend -- szpalty nie będą wyrównane. +
+Oprócz tego jest polecenie: \atColsBreak{polecenie}, +polecenie jest wykonywane w miejscu oryginalnego +przełamania kolumn.
+ +Polecenie \showcolsendrule, śłużące do celów testowych, +wstawia linię poziomą na końcu szpalt
+ ++ +
+Pakiet jest dostępny pod adresem: + +ftp://ftp.gust.org.pl/TeX/macros/latex/contrib/sttools
+
\makeendnotes
i wyświetlenie zachowanej listy ---
+polecenie \theendnotes
.
+
++aqq aqq aqqq\footnote{przypis pierwszy}\footnote{przypis drugi} aqq aqq ++
+Wygląd tekstu po przetworzeniu LaTeX-em z załadowania pakietu
+fnpara
+
+
+
Pakiet zawiera polecenia umożliwiające określenie położenia przypisów +względem rysunków (figure) lub tabel (table) umieszczanych na dole strony -- +przed lub za (standardowo w LaTeX-u przypisy są umieszczane bezpośrednio +po tekście).
+\makeFNbottom | przypisy będą zawsze umieszczone na + dole strony również w przypadku składu bez wyrównania + stron na dole (\raggedbottom) -- domyślnie aktywne + (p. też footmisc) + |
\makeFNmid | przypisy będą umieszczone bezpośrednio + po tekście (standard LaTeX-a) |
\makeFNbelow | przypisy będą umieszczane poniżej + innych obiektów ruchomych (domyślnie) |
\makeFNabove | przypisy będą umieszczane powyżej + innych obiektów ruchomych (standard LaTeX-a) |
+ +
+Pakiet jest dostępny pod adresem: + +ftp://ftp.gust.org.pl/TeX/macros/latex/contrib/yafoot
+
bottom + | jeżeli skład jest typu ,,raggedbottom'' + i strona nie jest wypełniona do końca powoduje, że + przypisy są umieszczane na dole strony (a nie tuż po właściwym tekście). + (p. też fnpos) + | |
flushmargin + | przy składzie tekstu przypisu, jego numer jest
+ wysuwany poza margines + ![]() | |
marginal + |
+ przy składzie tekstu przypisu, jego numer jest
+ wstawiany na margines + ![]() | |
multiple + | w przypadku wystąpienia kilku przypisów + w jednym miejscu, numery odsyłaczy są odzielone + przecinkiem, +a ściślej, wartością makroinstrukcji \multfootsep, +którą można sobie zmienić; np: +\def\multfootsep{\negthinspace,\thinspace}, co nieco poprawi +skład. + | |
norule + | + nie jest wstawiana kreska oddzielająca tekst podstawowy od + przypisów + | |
para + | +przypisy są składane jako jeden akapit +(p. pakiet fnpara +lub manyfoot) + | + |
perpage + | + przypisy są numerowane w obrębie jednej strony; numerowanie + jest zawsze prawidłowe -- wymaga co najmniej dwukrotnego + przetworzenia tekstu (p. pakiet footnpag lub pfnote) + | |
splitrule + | jeżeli przypis jest kontynuowany na następnej stronie, + jest on oddzielany od tekstu linią zajmującą pełną szerokość + kolumny + | |
stable + | jeżeli definicja przypisu znajdzie się w tytule, + to użycie tej opcji spowoduje, że nie zostanie wstawiony odsyłacz + do przypisu w spisie treści -- krótko mówiąc, użycie + polecenie \footnote wewnątrz tytułu, zostanie + potraktowana ,,zdroworozsądkowo'' + + | |
symbol + | + przypisy są numerowane symbolami (maksymalnie 9 -- + potem sygnalizowany jest błąd przepełnienia licznika) + | |
symbol* + | + przypisy są numerowane symbolami; + po przekroczeniu 9 przypisów, dalsze są numerowane + liczbami (nie jest sygnalizowany błąd) + |
Polecenie | Opis |
---|---|
+ \FPmessagestrue | włącza komunikaty (domyślnie) |
+ \FPmessagesfalse | wyłącza komunikaty |
+ \FPdebugtrue | włącza śledzenie |
+ \FPdebugfalse | wyłącza śledzenie |
+ \FPset#1#2 | podstawienie #1 := #2
+ np. \FPset{wynik}{10.2} |
+ \FPprint#1 | podaj wynik \FPset{wynik}{10.2} (np.
+ \FPprint{wynik} daje nam 10.2) |
+ \FPadd#1#2#3 | dodawanie #1 := #2 + #3
+ \FPadd{\suma}{składnik}{składnik}
+ (np. \FPset{wynik}{10.2}
+ \FPadd{\suma}{\wynik}{10.2}
+ \FPprint{suma} daje nam: 20.400000000000000000
+ |
+ FPdiv#1#2#3 | dzielenie #1 := #2 / #3
+ \FPdiv{\iloraz}{dzielna}{dzielnik}
+ (np. \FPset{wynik}{10.2}
+ \FPdiv{\iloraz}{\wynik}{5.1}
+ \FPprint{iloraz} daje nam:
+ 2.000000000000000000) |
+ \FPmul#1#2#3 | mnożenie #1 := #2 * #3
+ \FPmul{\iloczyn}{mnożna}{mnożnik}
+ (np. \FPset{wynik}{10.2}
+ \FPmul{\iloczyn}{\wynik}{10.2}
+ \FPprint{iloczyn} daje nam:
+ 104.040000000000000000) |
+ \FPsub#1#2#3 | odejmowanie #1 := #2 - #3
+ \FPsub{\różnica}{odjemna}{odjemnik\ }
+ (np. \FPset{wynik}{10.2}
+ \FPsub{\różnica}{\wynik}{1.2}
+ \FPprint{róznica} daje nam:
+ 9.000000000000000000) |
+ \FPabs#1#2 | wartość absolutna #1 := abs(#2) |
+ \FPneg#1#2 | zmiana znaku #1 := -#2 |
+ \FPsgn#1#2 | znak wyrażenia #1 := sgn(#2) |
+ \FPmin#1#2#3 | minimum #1 = min(#2,#3) |
+ \FPmax#1#2#3 | maksimum #1 = max(#2,#3) |
+ \FPe | wartość stałej Eulera: 2.718281828459045235 |
+ \FPpi | wartość liczby Pi := 3.141592653589793238 |
+ \FPexp#1#2 | potęga liczby e #1 := e\^(#2) |
+ \FPln#1#2 | logarytm naturalny #1 := ln(#2) |
+ \FPpow#1#2#3 | potęgowanie #1 := (#2)\^(#3) |
+ \FProot#1#2#3 | pierwiastkowanie #1 := (#2)\^(1/#3) |
+ \FPpascal#1#2 | #1 := #2 -ta linia trójkąta Paskala |
+ \FPseed=#1 | ustawia punkt startowy ciągu zmiennych
+ losowych generowanych poleceniem
+ \FPrandom |
+ \FPrandom#1 | #1 := liczba losowa z
+ przedziału 0 -- 1 |
+ \FPround#1#2#3 | #1 := #2 zaokrąglone do
+ #3 pozycji po kropce dziesiętnej |
+ \FPtrunc#1#2#3 | #1 := #2 podstawiewnie z obcięciem
+ do #3 pozycji |
+ \FPclip#1#2 | #1 := #2 podstawiewnie z usunięciem
+ nieznaczących zer |
+ \FPsin#1#2 | #1 := sin(#2) |
+ \FPcos#1#2 | #1 := cos(#2) |
+ \FPsincos#1#2#3 | #1 := sin(#3), #2 := cos(#3) |
+ \FPtan#1#2 | #1 := tan(#2) |
+ \FPcot#1#2 | #1 := ctg(#2) |
+ \FPtancot#1#2#3 | #1 := tan(#3), #2 := ctg(#3) |
+ \FParcsin#1#2 | #1 := arcsin(#2) |
+ \FParccos#1#2 | #1 := arccos(#2) |
+ \FParcsincos#1#2#3 | #1 := arcsin(#3), #2 := arccos(#3) |
+ \FParctan#1#2 | #1 := arctan(#2) |
+ \FParccot#1#2 | #1 := arcctg(#2) |
+ \FParctancot#1#2#3 | #1 := arctan(#3), #2 := arcctg(#3) |
+ \FPupn#1#2 | #1 := eval(#2)
+ eval symbolizuje rozwinięcie
+ wyrażenia #2 zapisanego w Polskiej Notacji
+ wewnątrz wyrażenia można używać następujących operatorów:
+ + , add , - , sub , * , mul ,
+ / , div , abs , neg , min ,
+ max , round , trunc , clip , e ,
+ exp , ln , pow , root , pi , sin ,
+ cos , sincos , tan , cot , tancot ,
+ arcsin , arccos , arcsincos , arctan ,
+ arccot , arctancot , pop , swap , copy ;
+ gdzie:
+
+ \FPupn\result{17 2.5 + 17.5 - 2 1 + * 2 swap /} ++ jest równoważne wyrażeniu: + + \result := ((17.5 - (17 + 2.5)) * (2 + 1)) / 2 ++ |
+ \FPeval#1#2 | #1 := eval(#2)
+ eval symbolizuje rozwinięcie wyrażenia. Wewnątrz mogą
+ być używane nawiasy i znane operatory (w przypadku
+ powyższych definicji należy używać nazw bez prefixu FP
+ i backslasha+ Uwaga: nie działa minus unarny, należy użyć operatora + neg |
+ \FPiflt#1#2...\else...\fi | jeśli #1 < #2 |
+ \FPifeq#1#2...\else...\fi | jeśli sym{#1 = #2} |
+ \FPifgt#1#2...\else...\fi | jeśli #1 > #2 |
+ \FPifneg#1 ...\else...\fi | jeśli ujemny (#1 < 0 ) |
+ \FPifpos#1 ...\else...\fi | jeśli nieujemny (#1 >= 0 ) |
+ \FPifzero#1...\else...\fi | jeśli zero (#1 = 0 ) |
+ \FPifint#1 ...\else...\fi | jeśli całkowity (#1 ) |
+ \ifFPtest ...\else...\fi | ostatnio wykonany test |
+ \FPlsolve#1#2#3 | oblicz #1 := x tak, aby
+ #2 * x + #3 = 0 |
+ \FPqsolve#1#2#3#4#5 | oblicz
+ #1,#2 := x tak, aby #3 * x^2 + #4 * x + #5 = 0 |
+ \FPcsolve#1#2#3#4#5#6#7 | oblicz
+ #1,#2,#3 := x tak aby
+ #4 * x^3 + #5 * x^2 + #6 * x + #7 = 0 |
+ \FPqqsolve#1#2#3#4#5#6#7#8#9 | oblicz
+ #1,#2,#3,#4 := x tak aby
+ #5 * x^4 + #6 * x^3 + #7 * x^2 + #8 * x + #9 = 0 |
\twocolumn
). Jeżeli w preambule dokumentu
+(między poleceniem \documentclass...
, a
+\begin{document}
) zmieniamy wartości parametrów:footins
textheight
\preparefootins
, które
+zainicjuje wewnętrzne zmienne zależne od wymienionych parametrów.
+
+Pakiet służy do określenia parametrów strony, podobnie jak +vmargin.sty, ale w sposób +bardziej intuicyjny.
+ +Parametry możemy określać na dwa sposoby:
+
+\usepackage[scale={0.7,0.8},nohead]{geometry} ++
+\geometry{scale={0.7,0.8},nohead} ++powyższą makroinstrukcję można używać wielokrotnie (kolejność +występowania definicji parametrów może mieć znaczenie +
Pojęcia zdefiniowane nieco różnią się od znanych nam ze standardowego +Latex-a: +
paper | - | całkowity rozmiar papieru |
total-body | - | obszar zadrukowany (zawiera +nagłówek i stopkę oraz notki na marginesie) |
body | - | kolumna składu (może być podzielona +na szpalty) |
margins | - | marginesy strony (odległość między +obszarem drukowania (total-body), a krawędzią papieru) |
wartości parametrów | + | rezultat | |||||
left | +width | +right | + | left | +width | +right | |
top | +height | +bottom | + | top | +height | +bottom | |
* | +* | +* | + | m | +l | +m | domyślne |
A | +* | +* | + | A | +R1 | +A | balans |
* | +* | +A | ++ | A | +R1 | +A | balans |
* | +A | +* | ++ | R2 | +A | +R2 | +centrowanie |
A | +B | +* | ++ | A | +B | +R3 | +|
A | +* | +B | ++ | A | +R3 | +B | +|
* | +A | +B | ++ | R3 | +A | +B | +|
A | +C | +B | ++ | A | +R3 | +B | +
Lista opcji: +
nazwa | znaczenie |
---|---|
verbose | + wyświetla komunikaty oraz + obliczone (ustawione) parametry + strony |
nohead | równoważne: + headheight=0pt |
nofoot | równoważne: + footskip=0pt |
noheadfoot | równoważne: + footskip=0pt i + headheight=0pt |
includemp | + przy automatycznym ustalaniu szerokości + łamu, na podstawie rozmiarów papieru + uwzględniane jest miejsce na + notatkę (wielkości marginparsep i + marginparwidth) |
reversemp + reversemarginpar | + notka na marginesie pojawi się + na przeciwległym marginesie + (oczywiście uwzględniana jest + opcja twoside) |
twoside | + ustawia parametry strony tak, aby + uwzględnić druk dwustronny + (notki na marginesie pojawią się + na zewnętrznych marginesach; będą + również różne marginesy -- prawy i lewy) + |
portrait | + ustawia format strony w ,,pionie'' + (ustawienie domyślne) + |
landscape | + ustawia format strony w ,,poziomie'' + (zamienia szerokość z wysokością) + |
dvips | + przekazuje wartości określające + wielkość strony do postscriptu -- + wskazana jeśli dokument będzie przetwarzany + via postscript + |
pdftex | + (tylko dla pdftex-a + przekazuje wartości określające + wielkość strony do pliku wynikowego + .pdf -- ustawia + \pdftexoutput=1 + |
a0paper + a1paper + a2paper + a3paper + a4paper + a5paper + a6paper + b1paper + b2paper + b3paper + b4paper + b5paper + b6paper + letterpaper + executivepaper + legalpaper | + ustawia rozmiar papieru |
reset | + ustawia wartości parametrów na domyślne (nie kasuje ustawionego + rozmiaru paieru) |
paper=nazwa + papername=nazwa | + ustawia rozmiar papieru; np: + paper=a4paper |
paperwidth=szerokość | + ustala szerokość papieru |
paperheight=wysokość | + ustala wysokość papieru |
width + totalwidth | + ustawia szerokość obszaru roboczego strony + (total body -- + patrz rysunek); jeśli równocześnie + jest zdefiniowany parametr + textwidth to definicja + width jest ignorowana |
height + totalheight | + ustawia wysokość obszaru roboczego strony + (total body -- + patrz rysunek); jeśli równocześnie + jest zdefiniowany parametr + textheight to definicja + height jest ignorowana |
left=szerokość + lmargin=szerokość | + ustala lewy margines strony + (kompensowany jest zwyczajowy margines + 1 cal ustawiany w programach drukujących) |
right=szerokość + rmargin=szerokość | + ustala prawy margines strony |
right=szerokość + rmargin=szerokość | + ustala prawy margines strony |
top=wysokość + tmargin=wysokość | + ustala górny margines strony + (kompensowany jest zwyczajowy margines + 1 cal ustawiany w programach drukujących) |
bottom=wysokość + bmargin=wysokość | + ustala dolny margines strony |
hscale=stosunek + | + określa stosunek szerokości obszaru roboczego + (total body) do szerokości papieru |
vscale=stosunek + | + określa stosunek wysokości obszaru roboczego + (total body) do wysokości papieru |
textwidth=szerokość + | + definiuje szerokość składu |
textheight=wysokość + | + definiuje wysokość składu (kolumny) |
marginparwidth=szerokość + marginpar=szerokość | + definiuje szerokość noty na marginesie |
marginparsep=odległość | + odległość między + tekstem, a notą |
headheight=wysokość + head=wysokość | + wysokość nagłówka |
headsep=odległość | + odległość między + tekstem, a nagłówkiem |
footskip=odległość + foot=odległość | + odległość między podstawą + ostatniej linii tekstu na stronie + (baseline), a podstawą + ostatniej linii + stopki |
hoffset=przesunięcie | + dodatkowe przesunięcie całego + drukowanego materiału w poziomie |
voffset=przesunięcie | + dodatkowe przesunięcie całego + drukowanego materiału w pionie |
twosideshift=odstęp | + określa dodatkowy odstęp, + który jest dodawany do lewego + marginesu na stronach nieparzystych i + prawego na stronach + parzystych |
mag=skala | + określa stosunek w jakim będą + przeskalowane wszystkie rozmiary + (również wielkość czcionki) -- + 1000 oznacza wielkość naturalną + (np. dla papieru a4 + (a4paper) mag=1414 + oznacza przeskalowanie rozmiaru + strony do wielkości a3) |
papersize={szerokość,wysokość} | + określenie rozmiarów papieru, + poprzez jawne podanie obu parametrów |
total={szerokość,wysokość} | + określenie rozmiaru roboczego (total body, + patrz rysunek) |
body={szerokość,wysokość} + text={szerokość,wysokość} | + określenie rozmiaru kolumny składu (body) + |
scale={skala x,skala y} + scale={skala} | + określenie obszaru roboczego (total body -- + patrz rysunek) względem rozmiaru papieru |
hmargin={margines lewy,margines prawy} + hmargin={margines} | + określenie lewego i prawego marginesu |
vmargin={margines górny,margines dolny} + vmargin={margines} | + określenie lewego i prawego marginesu |
margin={marginesy poziome,marginesy pionowe} + vmargin={marginesy} | + określenie marginesów strony + (jak łatwo się domyśleć oba (lub wszystkie + cztery) marginesy są jednakowe) |
offset={przesunięcie poziome,przesunięcie pionowe} + offset={przesunięcie} | + dodatkowe przesunięcie całego + drukowanego materiału |
hdivide={margines lewy, + szerokość,margines prawy} | + definicja parametrów strony (w poziomie) -- + w przypadku podania wszystkich trzech + parametrów, może wystąpić konflikt + z określonym rozmiarem papieru, + wartość parametru może być pusta lub + zastąpiona znakiem * -- + wtedy wartość jest obliczana na + podstawie innych znanych parametrów |
vdivide={margines górny, + wysokość,margines dolny} | + definicja parametrów strony (w pionie) -- + w przypadku podania wszystkich trzech + parametrów, może wystąpić konflikt + z określonym rozmiarem papieru, + wartość parametru może być pusta lub + zastąpiona znakiem * -- + wtedy wartość jest obliczana na + podstawie innych znanych parametrów |
divide={margines lewy/górny, + szerokość/wysokość,margines prawy/dolny} | + definicja parametrów strony (w poziomie i pionie) -- + w przypadku podania wszystkich trzech + parametrów, może wystąpić konflikt + z określonym rozmiarem papieru, + wartość parametru może być pusta lub + zastąpiona znakiem * -- + wtedy wartość jest obliczana na + podstawie innych znanych parametrów |
Pakiet nie umożliwia zmiany parametru określającego maksymalną +wysokość obszaru zajmowanego przez przypisy; można go zmienić +następującym poleceniem: +
+\setlength{\dimen\footins}{3cm} ++(oczywiście zamiast 3 cm mozna wstawić dowolną wartość) oraz +odległości między tekstem, a przypisem; można go zmienić poleceniem: +
+\setlength{\skip\footins}{3cm} ++
Główną funkcją pakietu jest dołączenie plików graficznych w różnych +formatach (w przypadku plików nie zawierających deklaracji rozmiaru, +należy go wyspecyfikować). +
+Pakiet korzysta z pakietów graphics (jest jego rozszerzeniem) i keyval, tak więc opisuję polecenia obu pakietów +(jeżeli ładujemy pakiet graphicx, wszystkie one są dostępne). + + +
Opcja + | Opis + | możliwości |
---|---|---|
dvips | .dvi przetwarzany przez + dvips T.Rokickiego | wszystko |
xdvi | wszystko | |
dvipdf | S.Lasenko | wszystko |
dvipdfm | wszystko | |
pdftex | pdftex | wszystko |
dvipsone | Y & Y | wszystko |
dviwindo | jw | wszystko |
emtex | sterowniki emtexa | tylko dołączanie +plików (bez skalowania) |
dviwin | H.Sendoukas | tylko dołączanie plików |
oztex | A.Trevorrow | dołączanie plików, obroty, +kolory |
textures | Blue Sky | ??? |
pctexps | PCTEX | dołączanie plików, obroty, +kolory |
pctexwin | PCTEX | dołączanie plików, obroty, +kolory |
pctexhp | PCTEX | dołączanie plików |
pctex32 | PCTEX | wszystko |
truetex | Kinch | dołączanie plików (ograniczone +kolory) |
tcidvi | Kinch | ??? |
vtex | ???? | ??? |
Opcja + | Opis |
---|---|
+debugshow + | ??? + |
draft | nie jest wstawiana grafika, +(wstawiana jest nazwa pliku) rezerwowane jest +jedynie miejsce |
final | wyłącza opcję draft |
hiderotate | jeżeli driver nie obsługuje +funkcji obrotu tekstu, a w tekście będą użyte takie funkcje +nie będzie sygnalizowany błąd, ale tekst, który ma być obrócony +nie będzie widoczny |
hiresbb | rezerwuje na rysunek miejsce o wymiarach +określonych przez %%HiResBoundingBox, a nie +określonych przez %%BoundingBox + |
hidescale | jeżeli driver nie obsługuje +funkcji skalowania tekstu, a w tekście będą użyte takie funkcje +nie będzie sygnalizowany błąd, ale tekst, który ma być skalowany +nie będzie widoczny |
unknownkeysallowed | opcja dla pakietu keyval |
unknownkeyserror | opcja dla pakietu keyval |
polecenie + | opis + |
---|---|
+\includegraphics[parametry]{nazwa pliku} | +
+ parametry dodatkowe określają dodatkowe
+ operacje na dołączanej grafice (np. obrót, skalowanie) lub
+ określają brakujące dane (np. rozmiar); wartości parametrów
+ określamy w następujący sposób: + nazwa=wartość kolejne + definicje parametrów oddzielamy przecinkiem; +
|
+\rotatebox[parametry]{kąt}{tekst} | +podstawowy argument makroinstrukcji (tekst) jest
+ obracany o zadany kąt (wartość dodatnia oznacza
+ obrót w kierunku przeciwnym do obrotu wskazówek zegara);
+ parametry mogą definiować dodatkowe własności w postaci:
+
|
+\scalebox{przeskalowanie w poziomie}[przeskalowanie w pionie]{tekst} | +przeskalowuje pudełko zawierające tekst o zadane + współczynniki; jeżeli parametr przeskalowanie w pionie + nie jest określony zostanie użyty ten sam współczynnik + co w poziomie (zostaną zachowane proporcje). + |
+\resizebox*{szerokość}{wysokość}{tekst} | +przeskalowuje pudełko zawierające tekst + do zadanych wymiarów (wersja ,,gwiazdkowa'' za podstawę + skalowania bierze + całkowitą wysokość pudełka (totalheigh -- razem z + głębokością), a nie tylko wysokość (height)). + Określenie dowolnej z wartości jako ! powoduje, że + pozostała wartość zostanie obliczona, tak aby zachować + proporcje. + |
+\resizebox{szerokość}{wysokość}{tekst} | +|
+\DeclareGraphicsExtensions{lista rozszerzeń} | +lista rozszerzen stanowi listę dopuszczalnych rozszerzeń nazw +plików zawierających grafikę (elementy listy muszą być +rozdzielone przecinkiem); np. \DeclareGraphicsExtensions{.bmp,.eps} +jeżeli w katalogu bieżącym są dwa pliki o tej samej nazwie lecz +różnym rozszerzeniu nazwy o pobraniu właściwego pliku decyduje kolejność +na liście; deklaracja ma znaczenie jedynie wtedy, kiedy specyfikujemy +nazwy plików bez rozszerzenia i nie wpływa na akceptowalność danego +formatu przez program interpretujący plik .dvi + |
+\graphicspath{lista katalogów} | +lista katalogów określa listę katalogów (oddzieloną przecinkami), +w których poszukiwane +są pliki zawierające grafikę + |
+\DeclareGraphicsRule{ext}{typ}{zbiór}{polecenie} | +polecenie umożliwia ładowania grafiki w innej postaci niż przewiduje
+to driver -- określa ono akcję (np. konwersję, rozkompresowanie) którą należy
+podjąć, aby była ona zrozumiała dla drivera (zadeklarowany program konwersji
+musi produkować wyniki na stdout). +ext określa rozszerzenie nazwy pliku zawierającego grafikę, +typ określa typ grafiki, zbiór -- zbiór zawierający definicję +rozmiaru grafiki (właściwy zbiór zawierający zakodowaną grafikę +jest interpretowany przez driver, a nie przez TeX-a, który potrzebuje +zarezerwować na nią miejsce) +np: +%%BoundingBox: 0 0 596 842 +polecenie określa jaki program należy wywołać, aby doprowadzić +zbiór do grafiki postaci akceptowalnej przez driver +np. + +\DeclareGraphicsRule{.ps.arj}{eps}{.ps.bb}{arj -x #1} + + |
\graphpaper
+ (tylko w środowisku picture
)
+ umożliwiającego narysowanie siatki)
++\graphpaper[skok](x1,y1)(x2,y2) ++parametr opcjonalny skok określa skok siatki -- co ile jednostek +ma być rysowana linia (standardowo 10), współrzędne
x1
, y1
,
+x2
, y2
określają współrzędne lewego dolnego i prawego górnego rogu
+obszaru zakreskowanego. ,,Okrągłe'' pozycje są opisane.
+
++Polecenie | Rezultat |
---|---|
+\overleftharp{...} | ![]() |
+\overrightharp{...} | ![]() |
+\overleftharpdown{...} | ![]() |
+\overrightharpdown{...} | ![]() |
+\underleftharp{...} | ![]() |
+\underrightharp{...} | ![]() |
+\underleftharpdown{...} | ![]() |
+\underrightharpdown{...} | ![]() |
+\begin{table}{H} +.\\ +.\\ +.\\ +\end{table} +
+Zbiór zawierający makroinstrukcję pozwalającą robić ładne obramowania +tabelek (szczególnie podwójne) +(p. pakiet blkarray.sty).
+
+Wywołanie:
+\hhline{parametry}
+na liście parametrów mogą występować następujące symbole:
+
+= | podwójna linia o szerokości danej kolumny |
+- | pojedyńcza linia o szerokości danej kolumny |
+~ | brak linii w danej kolumnie (pozwala zastąpić
+dyrektywą \hhline dyrektywę \cline ) |
+| | linia pionowa przecina (ma piorytet) konstrukcję poziomą |
+: | linia pionowa styka się z podwójną poziomą |
+# | skrzyżowanie podwójnych linii |
+t | górne wykończenie rogu (lewe lub prawe w zależności od +sąsiedztwa) |
+b | dolne wykończenie rogu |
+* | powtórzenie sekwencji; np. *{3}{==#} jest równoważne
+==#==#==# |
+
+ + \begin{tabular}{||cc||c|c||} + \hhline{|t:==:t:==:t|} + a & b & c & d\\ + \hhline{|:==:|~|~||} + 1 & 2 & 3 & 4\\ + \hhline{#==#~|=#} + i & j & k & l\\ + \hhline{||--||--||} + w & x & y & z\\ + \hhline{|:==|:==:|} + 1 & 2 & 3 & 4 \\ + \hhline{|:==::=|=:|} + 5 & 6 & 7 & 8 \\ + \hhline{|b:==:b:==:b|} + \end{tabular} ++ | ![]() |
+Jeżeli dokument jest napisany zgodnie z regułami sztuki, to nie są wymagane +inne zabiegi -- wszystkie odwołania do etykiet, bibliografii, numery +stron w skorowidzu, pozycje w spisach staną się automatycznie +odwołaniami hipertekstowymi (lokalnymi). Oprócz tego możemy umieszczać +odwołania do dokumentów zewnętrznych i definiować etykiety globalne, +na które można się powołać w innych dokumentach. + +
+Odsyłacze, jak i miejsca etykietowane mogą być wyróżnione kolorem
+lub obwódką.
+Sposób oznaczania określamy za pomocą
+parametrów sterujących (opcji). Nadawanie wartości
+parametrom odbywa się w następujący sposób:
+\usepackage[opcja={wartość},
+opcja={wartość},
+...
+opcja={wartość}]{hyperref}
+
+Możemy również utworzyć zbiór hyperref.cfg
+i umieścić w nim wartości parametrów. W tym celu należy
+utworzyć poniższą konstrukcję:
+
+\hypersetup{
+opcja={wartość}},
+...
+opcja={wartość}}
+}
+
+Jak łatwo się domyśleć najpierw analizowany jest zbiór hyperref.cfg,
+a następnie parametry podawane przy wywołaniu pakietu.
+
+
+Pakiet hyperref, w przypadku użycia opcji colorlinks, dołącza +pakiet color (oczywiście można pakiet ten dołączyć niezależnie). +Dołączany jest również pakiet url -- adresy prezentowane za pomocą +polecenia url stają się automatycznie połączeniami hipertekstowymi. + +
+W przypadku dołączenia pakietu xr (z pakietem hyperref
+dostarczana jest zmodyfikowana wersja
+tego pakietu) dostępne jest polecenie \externaldocument.
+Ogólna postać wywołania wygląda następująco:
+
+\externaldocument[prefix]{document}[URL]
+
+gdzie:
+
kategoria | nazwa funkcji |
File | Open, Close, Scan, Save, SaveAs, Optimizer:SaveAsOpt, + Print, PageSetup, Quit |
ImportImage, ImportNotes, + AcroForm:ImportFDF | |
+ ExportNotes, AcroForm:ExportFDF | |
GeneralInfo, OpenInfo, FontsInfo, SecurityInfo, Weblink:Base, + AutoIndex:DocInfo | |
GeneralPrefs, NotePrefs, FullScreenPrefs, Weblink:Prefs, + AcroSearch:Preferences (Windows) lub AcroSearchPrefs (Mac), Cpt:Capture | |
Edit | Undo, Cut, Copy, Paste, Clear, SelectAll, Ole:CopyFile, + TouchUp:TextAttributes, TouchUp:FitTextToSelection, + TouchUp:ShowLineMarkers, TouchUp:ShowCaptureSuspects, + TouchUp:FindSuspect, Properties |
AcroForm:Duplicate, AcroForm:TabOrder | |
Document | Cpt:CapturePages, AcroForm:Actions, CropPages, RotatePages, + InsertPages, ExtractPages, ReplacePages, DeletePages, + NewBookmark, SetBookmarkDest, CreateAllThumbs, + DeleteAllThumbs |
View | ActualSize, FitVisible, FitWidth, FitPage, ZoomTo, FullScreen, + FirstPage, PrevPage, NextPage, LastPage, GoToPage, GoBack, + GoForward, SinglePage, OneColumn, TwoColumns, ArticleThreads, + PageOnly, ShowBookmarks, ShowThumbs |
Tools | Hand, ZoomIn, ZoomOut, SelectText, SelectGraphics, Note, + Link, Thread, AcroForm:Tool, Acro_Movi:MoviePlayer, + TouchUp:TextTool, Find, FindAgain, FindNextNote, + CreateNotesFile |
AcroSrch:Query, AcroSrch:Indexes, AcroSrch:Results, + AcroSrch:Assist, AcroSrch:PrevDoc, AcroSrch:PrevHit, + AcroSrch:NextHit, AcroSrch:NextDoc | |
Window | ShowHideToolBar, ShowHideMenuBar, ShowHideClipboard, Cascade, + TileHorizontal, TileVertical, CloseAll |
Help | HelpUserGuide, + HelpTutorial, HelpExchange, HelpScan, + HelpCapture, HelpPDFWriter, HelpDistiller, HelpSearch, + HelpCatalog, HelpReader, Weblink:Home, About (Windows) |
+\hyperlink{etykieta}{\epsfig{figure=picture,height=1in}} ++
+\hyperref{file:test2.pdf}{equation}{1}{hello} ++
+\hyperdef{equation}{1}{hello} ++
+\PDFPage{/Next}{następna strona} ++
Opcja | Opis |
---|---|
4 | Włączenie rozszerzeń wersji 4 Acrobata??? (Acrobat 4.05 +sygnalizuje błąd przy wczytaniu dokumentu wygenerowanego przez +pdflatexa) |
+draft + | wyłącza wszystkie opcje hipertekstowe |
+debug + | daje informacje o hiperreferencjach |
+a4paper + | wyjściowy format papieru (210x297 mm) |
+a5paper + | wyjściowy format papieru (148x210 mm) |
+b5paper + | wyjściowy format papieru (176x250 mm) |
+letterpaper + | wyjściowy format papieru (8.5x11 in) |
+legalpaper + | wyjściowy format papieru (8.5x14 in) |
+executivepaper + | wyjściowy format papieru (7.25x10.5 in) |
Opcja (po = wartość domyślna) | Opis |
---|---|
+raiselinks={false} + | dla niektórych driwerów ustawia sposób + wyróżnienia opisu odsyłacza -- kolor + albo obniżenie tekstu |
+breaklinks={false} + | włącza/wyłącza możliwość złamania linii + w tekście opisującym link (np. pozycja + spisu treści) |
+pageanchor={true} + | włącza/wyłącza automatyczne hiper etykietowanie +stron etykietą w postaci: page.numer strony; jeśli zostanie +wyłączona spis treści nie będzie realizował hiperodwołań |
+plainpages={true} + | ustawia jak mają być reprezentowane numery stron + w etykietach hipertekstowych; zawsze jako liczba (bez względu na + sposób wizualizacji) lub tak jak określa to makro thepage |
+nesting={false} + | nie używana + |
+hypertexnames={true} + | nazwami hiperodwołań są nazwy LaTeXowe, + a nie nazwy liczników -- bardzo elitarna opcja!! |
+bookmarkstype={toc} + | wprowadza do zbioru zakładek listę obiektów + wprowadzanych do danego zbioru (toc -- + spis treści; nie udało mi się osiągnąć + pozytywnego efektu dla typów różnych od + toc (np: lof -- spis + rysunków) + |
+implicit={true} + | ???????? |
+naturalnames={false} + | ???? |
+frenchlinks={false} | oprócz koloru, wyróżnikiem +hiperodwołania jest skład z użyciem czcionki CapSmall ma to +znaczenie wtedy, kiedy opis hiperwołania jest tekstem, w przypadku spisu +treści zamiana na skład czcionką CapsSmall odbywa się dopiero powyżej +1 poziomu (section)!? |
Opcja | Program przetwarzający |
---|---|
+pdftex + | pdftex'a |
+hyperref + | nic nie robi |
+tekstures + | |
+htex4ht + | htex4ht.def |
+dvipdf + | hdifpdf.def -- dla programu Lesenko |
+dvipdfm + | dla programu dvipdfm |
+nativepdf + | hdvips.def pdfmark.def -- dla dvips'a |
+pdfmark + | synonim do dvipsef |
+dvips + | dvips |
+hypertex + | xdvi, dvips (z opcją + -z) i OzTeX |
+dviwindo + | windowsowa przeglądarka Y&Y + (włącza opcję colorlinks) |
+latex2html + | skrypt perlowy latex2html |
+ps2pdf + | przetwarzanie Ghostscript-em + |
+dvipsone + | dvipsone |
Opcja (po = wartość domyślna) | Opis |
---|---|
+extension={???} + | ciąg znaków dodawany do nazwy zbioru + określonego przez polecenie (związany z + funkcją pakietu xr + -- znak . dodawany + jest automatycznie) + |
+hyperfigures={false} + | ???????? p. hyperimages |
+backref={false} + | jeżeli po każdej pozycji + bibliograficznej + wystąpi pusta linia to dodawana jest lista + numerów sekcji (section) w których + występowało powołanie się tę pozycję + bibliograficzną (opcje backref + i pagebackref nie mogą być razem aktywne) + |
+pagebackref{false} + | na końcu każdej pozycji + bibliograficznej + dodawana jest lista stron na których wystąpiło + powołanie się na tę pozycję (opcje + backref + i pagebackref nie mogą być razem aktywne) + |
+linktocpage={false} + | odsyłaczem (polem aktywnym) w spisie + staje się numer strony, a nie tytuł + |
+hyperindex={true} + | ????? włącza/wyłącza realizację hiperodwołań + dla pozycji skorowidza |
+colorlinks={false} + | włącza/wyłącza kolorowanie odsyłaczy + (jeśli true + dołączany jest pakiet color) |
+linkcolor={red} + | kolor czcionki wyświetlania normalnych + odsyłaczy |
+anchorcolor={black} + | + miejsca etykietowane + są wyświetlane czcionką o tym + kolorze |
+citecolor={green} + | kolor czcionki wyświetlania odsyłacza do bibliografii |
+filecolor={cyan} + | kolor czcionki dla odsyłacza do zbioru -- + (polecenie href odwołujące się + do zbioru) |
+menucolor={red} + | kolor czcionki wyświetlania menu przeglądarki + PDF-ów |
+pagecolor={red} + | nie zauważyłem skutków działania -- wydaje + się być nieużywana |
+urlcolor={magenta} + | kolor czcionki wyświetlania odsyłacza do dokumentu internetowego |
+bookmarks={true} + | jest generowany i dołączany zbiór definiujący + zakładki (jeżeli wartość opcji + jest false to nie jest on dołączany + mimo, że już istnieje) |
+bookmarksopen={false} + | włącza/wyłącza rozwijanie wszystkich + poziomów zakładek |
+bookmarksnumbered={false} | + w zakładkach pojawią się również + numery rozdziałów, a nie tylko tytuły |
+bookmarksopenlevel={\maxdimen} | ???? + określa poziom rozwinięcia zakładek po załadowaniu dokumentu; + wartością parametru jest liczba (a nie długość) + określająca poziom i nie wiem dlaczego + wartością domyślną jest /maxdimen + |
+pdfhighlight={/I} + | zmienia sposób stylizacji ,,przycisków'' przy + ich ,,naciśnięciu'' (/I -- inwersja, + /N -- bez zmian, /O -- outline, + /P -- podświetlenie) + |
+citebordercolor={0 1 0} + | kolor (RGB; nie może być użyta nazwa TeX-owa) ramki obejmującej pozycję cytowaną + (aktywna jeśli wyłączona jest opcja colorlinks) |
+filebordercolor={0 .5 .5} + | kolor (RGB; nie może być użyta nazwa TeX-owa) ramki obejmującej opis odsyłacza + do zbioru + (aktywna jeśli wyłączona jest opcja colorlinks) |
+linkbordercolor={1 0 0} + | kolor (RGB; nie może być użyta nazwa TeX-owa) ramki obejmującej opis odsyłacza + (aktywna jeśli wyłączona jest opcja colorlinks) |
+menubordercolor={1 0 0} + | kolor (RGB; nie może być użyta nazwa TeX-owa) ramki obejmującej opis menu + definiowanego poleceniem AcrobatMenu + (aktywna jeśli wyłączona jest opcja colorlinks) |
+pagebordercolor={1 1 0} + | kolor (RGB; nie może być użyta + nazwa TeX-owa) ramki opisu odsyłacza + dla polecenia PDFPage + (aktywna jeśli wyłączona jest opcja colorlinks) |
+urlbordercolor={0 1 1} + | kolor (RGB; nie może być użyta nazwa TeX-owa) ramki obejmującej opis odsyłacza + do adresu definiowanego przez polecenie url + (aktywna jeśli wyłączona jest opcja colorlinks) |
+pdfborder={0 0 1} + | kolor ramki (RGB; nie może być użyta + nazwa TeX-owa) otaczającej opis odsyłacza + dla poleceń PDFNextPage, PDFPreviousPage i PDFPage + (aktywna jeśli wyłączona jest opcja colorlinks) |
+baseurl={???} + | nie zauważyłem skutków działania |
+pdfpagemode={UseOutlines} + | ustawia tryb pracy przeglądarki; może
+przyjmować następujące wartości:
+
|
+pdftitle={tytuł} + | tytuł dokumentu + -- pojawia się w ,,document + info'' przeglądarki PDF-ów |
+pdfauthor={autor} + | autor dokumentu + -- pojawia się w ,,document + info'' przeglądarki PDF-ów |
+pdfsubject={opis} + | + pojawia się w ,,document + info'' przeglądarki PDF-ów |
pdfcreator={LaTeX with hyperref package}} | |
+ | program za pomocą którego + został utworzony zbiór -- pojawia się w ,,document + info'' przeglądarki PDF-ów |
pdfproducer={dvips + Distiller}} | |
+ | program który wygenerował PDF-a + (może być inna wartość; zależy to od użytych deklaracji driverów) + -- pojawia się w ,,document + info'' przeglądarki PDF-ów |
+pdfkeywords={słowa kluczowe} + | lista słów kluczowych + pojawia się w ,,document + info'' przeglądarki PDF-ów |
+pdfview={FitBH} + | ??? |
+pdfstartpage={1} + | numer strony początkowej, pokazywanej przez + przeglądarkę PDF-ów |
+pdfstartview={Fit} + | ??? |
+pdfpagescrop={n n n n} + | ????? |
+pdfcenterwindow={False} + | strona dokumentu powinna być wycentrowana w + oknie przeglądarki???? |
+pdffitwindow={false} + | strona dokumentu jest skalowana tak, aby + maksymalnie wypełnić okno przeglądarki |
+ +
\ifthenelse{test}{jeśli prawda}{jeśli fałsz}
true
), w przeciwnym wypadku zostanie zrealizowany
+ciąg jeśli fałsz.
+
++Zdefiniowane są następujące makroinstrukcje i relacje: +
= | sprawdzenie równości wartości numerycznej |
< | mniejszy |
> | większy
+ + \newcommand{\toEng}[1]{% + \the\value{#1}% + \ifthenelse{\value{#1} = 1}{$^{\hbox{st}}$}{}% + \ifthenelse{\value{#1} = 2}{$^{\hbox{nd}}$}{}% + \ifthenelse{\value{#1} = 3}{$^{\hbox{rd}}$}{}% + \ifthenelse{\value{#1} > 3}{$^{\hbox{st}}$}{}}% + This is the \toEng{section} section. ++ Daje następujący efekt: This is the ![]() |
\equal{str1}{str2} | porównanie dwóch ciągów znaków |
\boolean{wartość logiczna} | sprawdzenie wartości
+ zmiennej logicznej (np. \boolean{mmode} ---
+ czy aktualnym modem jest mod matematyczny). |
\lengthtest{test} | służy do porównania wartości
+ definiowanych przez polecenie \setlength ;
+ wewnętrz mogą być używane znaki > , < i
+ = |
\isodd{liczba} | czy wartość jest parzysta; |
\whiledo{test}{dopoki prawda} | umożliwia zdefiniowanie
+ pętli np.
+ +\newcounter{count} +\setcounter{count}{1} +\whiledo{\value{count} < 5}{% + the hour is \toEng{count}{} h.\\% + \stepcounter{count}} ++ daje poniższy efekt: + ![]() |
\newboolean{nazwa} | zdefiniowanie nowej zmiennej logicznej;
+ wartość jest ustawiana na false
+ |
\setboolean{nazwa}{wartość} | ustawienie wartości + zmiennej logicznej |
\and
+\or
+\not
+\(
-- otwarcie struktury
+\)
-- zamknięcie struktury
+Pakiet redefiniuje mechanizm tworzenia skorowidza (index), a jego główną +zaletą jest możliwość tworzenia kilku zestawów skorowidzów. +
+ +W przypadku załadowania pakietu, ale używania tylko jednego -- domyślnego -- +skorowidza należy użyć polecenia \makeindex, które tworzy +dla niego odpowiednie mechanizmy.
+ ++
polecenie | Opis | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
\newindex{n1}{n2}{n3}{n4} + \newindex*{n1}{n2}{n3}{n4} + \newindex[n0]{n1}{n2}{n3}{n4} + \newindex[n0]*{n1}{n2}{n3}{n4} |
+ gdzie:
+
| ||||||||||
\renewindex... | analogicznie jak + \newindex -- pozwala na zmianę cech skorowidza + już zdefiniowanego | ||||||||||
\makeindex | polecenie tworzy mechanizmy + dla domyślnego skorowidza | ||||||||||
\index[nazwa skorowidza]{hasło} + \index*[nazwa skorowidza]{hasło} + \index{hasło} + \index*{hasło} | polecenie wprowadza + hasło do skorowidza (domyślnego + lub wskazanego jeśli podana jest jego nazwa w parametrze + opcjonalnym); wersja ,,gwiazdkowa'' wstawia również + hasło do tekstu (w przypadku języka polskiego + może mieć to sens jedynie dla rzeczowników w mianowniku lub + czasowników w bezokoliczniku) | ||||||||||
\disableindex{lista nazw} | + wyłącza aktywność wymienionych w parametrze skorowidzów (nazwy + oddzielamy przecinkiem) + (hasła nie są wyprowadzane do zbioru) -- + polecenie powinno być użyte przed poleceniem + \makeindex lub \newindex. Uwaga! polecenie + nie wyłącza ładowania gotowego zbioru skorowidza przetworzonego + programem makeindex | ||||||||||
\printindex[nazwa skorowidza] | polecenie + dołącza do dokumentu wskazany skorowidz; oczekiwane + jest istnienie zbioru o rozszerzeniu nazwy określonym przez + przedostatni parametr polecenia \newindex, zbiór + ten tworzy program makeindex (plmindex dla jęz. polskiego) + np. makeindex x.adx -o a.and | ||||||||||
\shortindexingon | definiuje synonim + polecenia \index jako _ (podkreślenie) + i \index* + jako ^ (circumflex); przedefiniowanie znaków + specjalnych _^ dotyczy wyłącznie trybu + tekstowego. Zamiast \index[nazwa + skorowidza]{hasło} możemy użyć: + _[nazwa skorowidza]{hasło} | ||||||||||
\shortindexingoff | wyłącza definicję + synonimów | ||||||||||
\proofmodetrue | hasła wprowadzane do skorowidza + są prezentowane na marginesie | ||||||||||
\proofmodefalse | (domyślnie użyta) hasła wprowadzane + do skorowidza nie + są prezentowane na marginesie | ||||||||||
\indexproofstyle{polecenia formatujące} | +polecenia formatujące określają sposób + prezentacji hasła na marginesie |
+W pakiecie zostały przedefiniowane: środowisko theindex, +polecenia: \addcontents, \markright i \markboth -- +ale wyłącznie na użytek reimplementacji mechanizmów tworzenia skorowidzów, +i nie powinno mieć to skutków ubocznych.
++ +
+Pakiet jest dostępny pod adresem: + +ftp://ftp.gust.org.pl/TeX/macros/latex/contrib/index
+
LastPage
na ostatniej stronie tekstu
+(tylko dla \pageref
).
+
+
+Pakiet daje możliwość generowania liczb pseudolosowych;
+robi to polecenie \rand
.
Posiada on następujące opcje:
+
counter=nazwa |
+ nazwa określa nazwę licznika do którego
+ zapisywana jest wartość polecenia \rand
+ |
first=liczba | określa wartość minimalną
+generowaną przez polecenie \rand (standardowo 1) |
last=liczba | określa wartość
+maksymalną
+generowaną przez polecenie \rand (standardowo 2^31-2) |
seed=liczba | określa wartość +startową algorytmu generującego (zakres 1 -- 2^31-1); wartość 1 +powoduje, że generator jest inicjowany wartością dajnika czasu +oraz numerem strony oraz aktualnym numerem linii w zbiorze |
quiet=y | włącza (lub wyłącza --
+wartość n ) generowanie dodatkowych informacji
+na ekran i do log-a |
Dodatkowe polecenie \reintrand[opcje] +umożliwia zmianę lub nadanie wartości opcjom (składnia +jest identyczna jak przy deklaracji użycia pakietu).
+ + ++ +
Pakiet jest dostępny pod adresem:
+ftp://ftp.gust.org.pl/TeX/macros/latex/contrib/lcg
\letterspace
pozwalające na
+zmianę odstępu między literami.
+
+
+Ilustracja działania polecenia \letterspace
.
+
+ \letterspace {Now is the time for all good men} + \letterspace to \hsize {Now is the time for all good men} + \letterspace spread 0.3 \hsize {Now is the time for all good men} + \letterspace to 1.5 \naturalwidth {Now is the time for all good men} + \letterspace spread 0.5 \naturalwidth {Now is the time for all good men} ++ +
+Pakiet definiuje środowisko longtable
pozwalające na
+budowę tabel (p. też. ltxtable i ltabptch)
+o długości większej niż strona
+(konstrukcja longtable
blokuje umieszczenie tekstu
+definiowanego przez \afterpage{...}
oraz umieszczanie rysunków
+na stronie zawierającej kontynuację tabeli.).
+Aby zapewnić
+jednakowe szerokości tych samych kolumn na wszystkich stronach,
+wymagana jest dwukrotna kompilacja (dwa przebiegi TeX'a).
+
Parametr/polecenie | opis |
---|---|
+\setlongtables | polecenie które należy + wykonać przed każdą tablicą mającą + mieć różne szerokości kolumn niż poprzednia + (w szczególności przed pierwszą tablicą) |
+\LTleft | przestrzeń z lewej strony tablicy
+ (wartość standardowa \fill ) |
+\LTright | przestrzeń z prawej strony tablicy\footnote{%
+ Z wartości parametrów można
+ wywnioskować że tablica standardowo
+ jest zawsze wycentrowana.}
+ (wartość standardowa \fill ) |
+\LTpre | przestrzeń powyżej tablicy
+ (wartość standardowa \bigskipamout ) |
+\LTpost | przestrzeń poniżej tablicy
+ (wartość standardowa \bigskipamout ) |
+\LTchunksize | + liczba wierszy (wartość standardowa 20) |
+\LTcapwidth | szerokość łamania podpisu tabeli + (wartość standardowa 4in) |
+opcje polecenia \begin{longtable} | |
+ | tabela jest pozycjonowana wg zmiennych \LTleft i \LTright |
+[c] | tabela jest centrowana |
+[l] | tabela jest dosunięta do lewego marginesu |
+[r] | tabela jest dosunięta do prawego marginesu |
+polecenia wewnątrz tabeli | |
+\endhead | koniec definicji nagłówka (pierwszych wierszy) na kolejnych + stronach |
+\endfirsthead | koniec definicji nagłówka tabeli (pierwszech
+ wierszy) na pierwszej
+ stronie; jeśli definicja nie wystąpi
+ nagłówek będzie taki, jaki został zdefiniowany
+ przez \endhead |
+\endfoot | koniec definicji zamknięcia tabeli (ostatnich wierszy + tabeli) na kolejnych stronach |
+\endlastfoot | koniec definicji zamknięcia tabeli (ostatnich wierszy
+ tabeli) na końcu (jeśli nie wystąpi, brana jest
+ definicja określona przez polecenia \endfoot ) |
+\kill | polecenie powodujące że wiersz nie będzie drukowany;
+ służy do tego żeby określić szerokość cel tabeli
+ na podstawie najszerszej celi; np można zdefiniować
+ wiersz złożony z najszerszych cel w poszczególnych
+ kolumnach i zakończyć go poleceniem \kill ;
+ analogia do środowiska tabbing. |
+\caption{...} | definicja podpisu tabeli |
+\caption[xxx]{...}
+ | xxx określa tekst, który znajdzie się + w spisie tabel (pusta definicja [] + spowoduje że w spisie tabel nie będzie + informacji o tej tabeli) |
+\caption*{...} | definicja podpisu tabeli, bez umieszczania + informacji o tabeli w spisie tabel |
+\newpage | wymuszenie zmiany strony |
+Przykład definicji tabeli (używane są kopnstrukcje pakietu hhline) +
+
++\setlongtables +\begin{longtable}{||l|p{5cm}||} +\hhline{|t:==:t|} +\multicolumn{2}{||c||}{początek}\\ +\hhline{|:==:|} +1-f & 2-f\\ +\hhline{|:==:|} +\endfirsthead +\hhline{|t:==:t|} +1-n & 2-n\\ +\hhline{|:==:|} +\endhead +\hhline{|:==:|} +x-n & y-n\\ +\hhline{|b:==:b|} +\endfoot +\hhline{|:==:|} +x-l & y-l\\ +\hhline{|:==:|} +\multicolumn{2}{||c||}{koniec}\\ +\hhline{|b:==:b|} +\endlastfoot +aqq & bqq\\ +\hhline{||-|-||} +aqq & bqq\\ +\hhline{||-|-||} +aqq & bqq\\ +\hhline{||-|-||} +aqq & bqq\\ +\hhline{||-|-||} +aqq & bqq\\ +\hhline{||-|-||} +aqq & bqq\\ +\hhline{||-|-||} +aqq & bqq\\ +\end{longtable} ++ + | +i efekt definicji |
+![]() |
+Nagłówki należy definiować za pomocą przewidzianych konstrukcji (nawet +jeśli składają się tylko z pojedynczej linii), +w przeciwnym wypadku może się zdarzyć złamanie strony +zaraz po pierwszej linii (lub przed ostatnią). + +
+Pakiet posiada następujące opcje: +
Pakiet jest dostępny standardowo w dystrybucjach LaTeX, a także
+pod adresem:
+
+ftp://ftp.gust.org.pl/TeX/macros/latex/required/graphics/lscape.dtx
+ +
Pakiet modyfikuje działanie środowiska tabularx +(p. pakiet tabularx) +powodując, że zachowuje się ono tak jak +środowisko longtable z pakietu +longtable +(oba są ładowane); p. też pakiet ltxtable.
+ ++ +
+Pakiet jest dostępny pod adresem: + +ftp://ftp.gust.org.pl/TeX/macros/latex/contrib/ltablex
+
Dołączenie pakietu instaluje poprawkę do pakietu longtable.
+ + ++ +
+Pakiet jest dostępny pod adresem: + +ftp://ftp.gust.org.pl/TeX/macros/latex/contrib/ltabptch
+
Pakiet modyfikuje działanie środowiska longtable +(p. pakiet longtable) +powodując, że można podać w specyfikacji +kolumny ,,X'' tak jak w +środowisku tabularx z pakietu +tabularx +(oba są ładowane); p. też pakiet ltablex.
+ +Ze względu na to, że tabela longtable
+zawierająca kolumnę typu ,,X''
+jest składana na pełną szerokość (w tabeli tabularx trzeba
+określić jej całkowitą szerokość) -- szerokość szpalty w tym wypadku;
+wymyślono dosyć pokrętny sposób wymuszenia jej szerokości (jeśli ma być
+ona różna niż szerokość szpalty):
+za pomocą środowiska filecontents
+należy zapisać definicję tabeli do zbioru (lub po prostu mieć zbiór
+z jej definicją), a następnie za pomocą polecenia \LTXtable
+załadować zawartość zbioru. Polecenie ma następującą składnię:
+\LTXtable{szerokość}{zbiór}
+gdzie szerokosć określa całkowitą szerokość tabeli,
+zbiór zawiera definicję tabeli.
+ +
+Pakiet jest dostępny pod adresem: + +ftp://ftp.gust.org.pl/TeX/macros/latex/contrib/carlisle
+
+Chciałbym podkreślić, że jest to mój subiektywny wybór. Informacje o +działaniu pochodzą z książki ,,The LaTeX Companion'' autorów: Michel Gosens, +Frank Mittelbach i Aleksander Samarin (ISBN 0-201-54199-8) oraz +opisów zawartych w samych pakietach. +
+ opisany; wart zauważenia + pożyteczny, ale nieopisany + nie mam zdania (raczej nie podniecający, ale może się przydać) + użyteczność wątpliwa lub mocno wątpliwa
+ ++
+
+latex/contrib/12many/12many +latex/contrib/frankenstein/abbrevs +latex/contrib/abc/abc +latex/contrib/misc/abstbook +latex/contrib/abstract/abstract +latex/contrib/bosisio/accenti +latex/contrib/bezos/accents +latex/contrib/achemso/achemso +latex/contrib/frankenstein/achicago-bst +latex/contrib/frankenstein/achicago +latex/contrib/acmconf/acmconf +latex/contrib/misc/acromake +latex/contrib/acronym/acronym +latex/contrib/newlfm/addrset +latex/contrib/adfathesis/adfathesis +latex/contrib/cdpbundl/adiseal +latex/contrib/psnfssx/adobe/adobe +latex/contrib/adrconv/adrconv +latex/contrib/adrlist/adrlist +latex/contrib/misc/advdate +fonts/ae/tex/aecompl +latex/contrib/aeguill/aeguill +latex/ae/ae +latex/required/tools/afterpage +latex/contrib/aguplus/aguplus +latex/contrib/aiaa/aiaa9pt +latex/contrib/aiaa/aiaa +latex/contrib/algorithms/algorithmic +latex/contrib/algorithm2e/algorithm2e +latex/contrib/algorithms/algorithm +latex/contrib/alg/alg +latex/contrib/xymtex/aliphat +latex/base/alltt +latex/contrib/alnumsec/alnumsec +latex/contrib/oberdiek/alphalph +latex/contrib/jura/alphanum +latex/contrib/altfont/altfont +latex/required/amslatex/other/amsbooka +latex/required/amslatex/math/amsbsy +latex/required/amslatex/math/amscd +latex/required/amslatex/classes/amsclass +latex/required/amslatex/classes/amsdtx +latex/required/amsfonts/amsfonts +latex/required/amslatex/math/amsgen +latex/required/amslatex/math/amsmath +latex/required/amslatex/other/amsmidx +latex/required/amslatex/math/amsopn +latex/required/amslatex/amsrefs/amsrefs +latex/required/amsfonts/amssymb +latex/required/amslatex/math/amstext +latex/required/amslatex/math/amstex +latex/required/amslatex/classes/amsthm +latex/required/amslatex/math/amsxtra +latex/contrib/piff/ams +latex/contrib/misc/anonchap +latex/contrib/answers/answers +latex/contrib/williams/antree +latex/anttor/anttor +latex/contrib/anufinalexam/anufinalexam +latex/contrib/anysize/anysize +latex/contrib/apacite/apacite +latex/contrib/emulateapj/apjfonts +latex/contrib/appendix/appendix +generic/arabic +latex/contrib/arcs/arcs +generic/arrayjob/arrayjob +latex/required/tools/array +generic/diagrams/kuvio/arrsy/arrsy +latex/contrib/arydshln/arydshln +latex/contrib/ar/ar +latex/contrib/asaetr/asaesub +latex/contrib/asaetr/asaetr +latex/contrib/misc/askinclude +latex/contrib/assignment/assignment +latex/contrib/attachfile/attachfile +latex/contrib/frankenstein/attrib +latex/contrib/mdwtools/at +latex/contrib/preprint/authblk +latex/contrib/index/autind +latex/base/autoerr +latex/contrib/calendar/autofilo +latex/exptl/texpower/addons/automata +latex/contrib/extsizes/autopagewidth +latex/contrib/a0posters/a0plsize +latex/contrib/a0poster/a0size +latex/contrib/misc/a4wide +latex/contrib/ntgclass/a4 +latex/contrib/misc/a5comb +latex/contrib/misc/a5 +latex/contrib/hyper/backcite +latex/contrib/backrefx/backrefx +latex/contrib/hyperref/backref +generic/balancedquotes +latex/contrib/preprint/balance +latex/contrib/barkom/bar +latex/contrib/psnfssx/adobe/basker +latex/contrib/bbm/bbm +latex/contrib/beamer/beamer +latex/contrib/begriff/begriff +latex/contrib/misc/beletter +latex/contrib/psnfssx/adobe/bembo +latex/contrib/beton/beton +latex/contrib/bez123/bez123 +latex/contrib/bg/bg +latex/contrib/bibarts/bibarts +latex/contrib/misc/bibcheck +latex/contrib/natbib/bibentry +latex/contrib/bibleref/bibleref +latex/contrib/biblref/biblref +latex/contrib/index/bibref +latex/contrib/harvard/bibtexlogo +latex/contrib/bibtopic/bibtopic +latex/contrib/bibunits/bibunits +latex/contrib/multirow/bigdelim +latex/contrib/multirow/bigstrut +latex/contrib/siunits/binary +latex/contrib/biocon/biocon-old +latex/contrib/biocon/biocon +latex/contrib/textopo/biotex +latex/contrib/bitfield/bitfield +latex/contrib/frankenstein/unsupported/bits +latex/contrib/bizcard/bizcard +latex/dvips/blackdvi +latex/contrib/blindtext/blindtext +latex/contrib/carlisle/blkarray +latex/contrib/frankenstein/blkcntrl +latex/contrib/misc/block +latex/required/tools/bm +latex/contrib/boites/boites +latex/contrib/misc/bold-extra +latex/contrib/booklet/booklet +latex/contrib/booktabs/booktabs +latex/contrib/bophook/bophook +latex/contrib/sttools/boundbox +generic/boxedeps/boxedeps +latex/contrib/misc/boxedminipage +latex/contrib/boxhandler/boxhandler +latex/contrib/bpchem/bpchem +latex/contrib/braille/braille +latex/contrib/misc/braket +latex/contrib/brclc/brclc +latex/contrib/misc/breakcites +latex/contrib/breakurl/breakurl +latex/contrib/ntgclass/brief +latex/contrib/bytefield/bytefield +latex/required/tools/calc +latex/contrib/calendar/calendar +latex/contrib/gene/fundus/calligra +latex/contrib/calrsfs/calrsfs +latex/contrib/camel/camel +latex/contrib/misc/cancel +latex/contrib/captcont/captcont +latex/contrib/misc/captdef +latex/contrib/caption/caption2 +latex/contrib/caption/caption +latex/contrib/misc/capt-of +latex/contrib/xymtex/carom +latex/contrib/misc/cases +latex\contrib\computational-complexity/ccalgo +latex/contrib/ccaption/ccaption +latex/contrib/ccaption/ccapt2 +latex\contrib\computational-complexity/ccaux +latex\contrib\computational-complexity/cccite +latex\contrib\computational-complexity/ccdbs +latex/contrib/ccfonts/ccfonts +latex/contrib/cchess/cchess +latex\contrib\computational-complexity/cclayout +latex\contrib\computational-complexity/ccproof +latex\contrib\computational-complexity/ccqed +latex\contrib\computational-complexity/ccreltx +latex\contrib\computational-complexity/ccthm +latex/contrib/xymtex/ccycle +latex\contrib\computational-complexity/cc2cite +latex\contrib\computational-complexity/cc4amsart +latex\contrib\computational-complexity/cc4apjrnl +latex\contrib\computational-complexity/cc4elsart +latex\contrib\computational-complexity/cc4jt +latex\contrib\computational-complexity/cc4llncs +latex\contrib\computational-complexity/cc4siamltex +latex\contrib\computational-complexity/cc +latex/contrib/cdpbundl/cdpaddon +latex/contrib/cdpbundl/cdpbundl +latex/contrib/cd-cover/cd-cover +latex/contrib/cd/cd +latex/contrib/misc/cea +latex/contrib/cellspace/cellspace +latex/dvilj/cgalbertus +latex/dvilj/cgantiqueolive +latex/dvilj/cgcourier +latex/dvilj/cggothic +latex/dvilj/cgtimes +latex/dvilj/cgunivers +latex/contrib/changebar/changebar +latex/contrib/chappg/chappg +latex/contrib/misc/chappg +latex/contrib/cite/chapterbib +latex/contrib/chapterfolder/chapterfolder +latex/contrib/misc/chbibref +latex/contrib/bezos/checkend +latex/contrib/chemarrow/chemarrow +latex/contrib/oberdiek/chemarr +latex/contrib/chemcompounds/chemcompounds +latex/contrib/chemcono/chemcono +latex/contrib/xymtex/chemist +latex/contrib/xymtex/chemstr +latex/contrib/chemsym/chemsym +latex/contrib/chessboard/chessboard +latex/contrib/china2e/china2e +latex/contrib/misc/chngcntr +latex/contrib/misc/chngpage +latex/contrib/misc/circle +generic/diagrams/circ/circ +latex/contrib/t2/etc/citehack +latex/contrib/citeref/citeref +latex/contrib/cite/cite +latex/contrib/cjw/cjwoutl +latex/contrib/cjw/cjwunits +latex/contrib/cjw/cjw-ltr +latex/contrib/classicthesis/classicthesis +latex/contrib/efval/clefval +latex/contrib/clock/clock +latex/contrib/clrscode/clrscode +latex/contrib/cmap/cmap +latex/cmbright/cmbright +latex/contrib/cmcyralt/cmcyralt +latex/contrib/cmdtrack/cmdtrack +latex/cm-lgc/cmlgc +latex/required/amsfonts/cmmib57 +latex/contrib/cmsd/cmsd +latex/contrib/mdwtools/cmtt +latex/contrib/codepage/codepage +latex/dvips/colordvi +latex/contrib/colorinfo/colorinfo +generic/colortab/colortab +latex/contrib/colortbl/colortbl +latex/required/graphics/color +latex/contrib/combine/combinet +latex/contrib/combine/combine +latex/contrib/combine/combnat +latex/contrib/comicsans/comicsans +latex/contrib/comicsans/comicsans +latex/contrib/commath/commath +latex/contrib/carlisle/comma +latex/contrib/comment/comment +latex/contrib/compactbib/compactbib +latex/exptl/blume/xindex/compare +latex/contrib/complexity/complexity +latex/contrib/frankenstein/compsci +latex/contrib/concmath/concmath +latex/contrib/misc/concrete +latex/contrib/songbook/conditionals +latex/contrib/contour/contour +latex/contrib/cooking/cooking +latex/contrib/cooltooltips/cooltooltips +latex/contrib/coordsys/coordsys +latex/contrib/corridx/corridx +latex/contrib/ms/count1to +latex/couriers/couriers +latex/contrib/coverpage/coverpage +latex/covfonts/covfonts +latex/contrib/covington/covington +generic/cptex/cpps +generic/cptex/cp437 +generic/cpter/cp850 +generic/cptex/cp8859w +generic/cptex/cp8859 +generic/cptex/cp +latex/contrib/creatdtx/creatdtx +latex/contrib/sudokubundle/createsudoku +generic/cropmark +latex/contrib/poemscol/cropmark +latex/contrib/crop/crop +latex/contrib/crossreference/crossreference +latex/contrib/crosswrd/crosswrd +latex/contrib/csquotes/csquotes +latex/contrib/csvtools/csvtools +latex/contrib/ctable/ctable +latex/contrib/cuisine/cuisine +latex/contrib/currvita/currvita +latex/contrib/cursor/cursor +latex/contrib/curves/curvesls +latex/contrib/curves/curves +latex/contrib/curve2e/curve2e +latex/contrib/curve/curve +latex/contrib/sttools/cuted +latex/contrib/cv/cv +latex/contrib/cweb/contrib/cwbl-deutsch +latex/contrib/cweb/contrib/cwbl-french +latex/contrib/cweb/cwbl-german +latex/contrib/cweb/src/cwbl-german +latex/contrib/cweb/contrib/cwbl-italian +latex/contrib/cweb/cwebarray +latex/contrib/cweb/src/cwebx +latex/contrib/cweb/contrib/wagner/cwebzw +latex/contrib/cweb/src/cweb-doc +latex/contrib/gene/crossword/cwpuzzle +latex/required/cyrillic/cyinpenc +latex/required/cyrillic/cyoutenc +latex/required/cyrillic/cyrlatex +latex/contrib/gene/fundus/cyr +latex/contrib/dashbox/dashbox +latex/contrib/dashrule/dashrule +latex/contrib/dateiliste/dateiliste +latex/contrib/datenumber/datenumber +latex/contrib/calendar/dates +latex/contrib/dates/dates +latex/contrib/datetime/datetime +generic/daytime +latex/contrib/misc/dblfloatfix +latex/contrib/yafoot/dblfnote +latex/contrib/bosisio/dblfont +latex/required/tools/dcolumn +latex/contrib/ncctools/dcounter +generic/diagrams/dcpic/dcpic +latex/contrib/fltpoint/deccomma +latex/contrib/decimal/decimal +latex/contrib/fp/defpattern +latex/required/tools/delarray +latex/contrib/deleq/deleq +latex/exptl/delimtxt/delimtxt +latex/contrib/ncctools/desclist +latex/contrib/diagnose/texinput/diagnose +latex/contrib/dialogl/dialogl +latex/contrib/frankenstein/dialogue +latex/contrib/dialogl/dialog +latex/contrib/dichokey/dichokey +latex/contrib/dinbrief/dinbrief +latex/contrib/acrotex/dljslib +latex/contrib/dnaseq/dnaseq +latex/contrib/mdwtools/doafter +latex/contrib/xdoc/docidx2e +latex/contrib/xdoc/docindex +latex/contrib/docmfp/docmfp +latex/contrib/doipubmed/doipubmed +latex/contrib/bezos/dotlessi +latex/contrib/carlisle/dotlessj +latex/contrib/dotseqn/dotseqn +latex/contrib/dottex/dottex +generic/dow +latex/contrib/dpfloat/dpfloat +latex/contrib/draftcopy/draftcopy +latex/contrib/frankenstein/unsupported/drama +latex/contrib/cite/drftcite +latex/contrib/chemcono/drftcono +latex/contrib/dropping/dropping +latex/doublestroke/dsfont +latex/contrib/duerer-latex/duerer-latex +latex/contrib/piff/duplicat +latex/contrib/export/dvipaste +latex/contrib/oberdiek/dvipscol +latex/contrib/easy/easybib +latex/contrib/easy/easybmat +latex/contrib/easy/easyeqn +latex/contrib/easy/easymat +latex/contrib/easy/easytable +latex/contrib/easy/easytitle +latex/contrib/easy/easyvector +latex/contrib/easy/easy +latex/contrib/ebezier/ebezier +latex/contrib/eclbip/ecltree +latex/contrib/relenc/ecsubzcm +latex/contrib/ednotes/ednotes +latex/contrib/ednotes/edtab02 +latex/contrib/eemeir/eemeir +latex/contrib/eepic/eepicemu +latex/contrib/eepic/eepic +latex/contrib/acrotex/eforms +latex/contrib/egplot/egplot +latex/contrib/eiad/eiad +latex/contrib/ellipsis/ellipsis +latex/contrib/elmath/elmath +latex/contrib/elpres/elpres +latex/contrib/elsevier/elsart12 +latex/contrib/elsevier/elsart +latex/contrib/elsevier/elsart +latex/contrib/mh/empheq07 +latex/contrib/mh/empheq +latex/contrib/emp/emp +latex/contrib/emulateapj/emulateapj +latex/contrib/psnfssx/em/em +latex/contrib/endfloat/endfloat +latex/contrib/endheads/endheads +latex/contrib/misc/endnotes +latex/contrib/plates/endplate +latex/contrib/oberdiek/engord +latex/contrib/engpron/engpron +latex/contrib/r_und_s/eng_rs +latex/required/tools/enumerate +latex/contrib/bezos/enumitem +latex/exptl/blume/enum/enum +latex/contrib/envbig/envbig +latex/contrib/envlab/envlab +latex/contrib/epic/epic +latex/contrib/eepic/epic +latex/contrib/epigraph/epigraph +latex/contrib/epsdice/epsdice +latex/required/graphics/epsfig +latex/dvips/epsf +latex/contrib/oberdiek/epstopdf +latex/contrib/eqlist/eqlist +latex/contrib/gene/eqname/eqname +latex/contrib/eqnarray/eqnarray +latex/contrib/eqparbox/eqparbox +latex/contrib/acrotex/eq2db +latex/contrib/esdiff/esdiff +latex/contrib/esieecv/esieecv +latex/contrib/bezos/esindex +latex/contrib/esint/esint +latex/contrib/eskdx/eskdx +latex/contrib/eskd/eskd +latex/contrib/eso-pic/eso-pic +latex/contrib/esvect/esvect +latex/contrib/etaremune/etaremune +latex/required/amsfonts/eucal +latex/required/amsfonts/eufrak +latex/eulervm/eulervm +latex/contrib/euler/euler +latex/contrib/eurofont/eurofont +latex/etc/eurosym +latex/contrib/euro/euro +latex/required/amsfonts/euscript +latex/contrib/calendar/contrib/evautofl +latex/contrib/ms/everysel +latex/contrib/ms/everyshi +latex/contrib/calendar/evntlist +latex/contrib/calendar/contrib/evweek +latex/tipa/exaccent +latex/contrib/rotating/example +latex/contrib/exams/exam +latex/contrib/exam/exam +latex/contrib/examdesign/exam +latex/contrib/exceltex/exceltex +latex/contrib/misc/excludeonly +latex/contrib/exercise/exercise +latex/contrib/acrotex/exerquiz +latex/contrib/expdlist/expdlist +latex/contrib/export/export +latex/base/exscale +latex/contrib/extarrows/extarrows +latex/contrib/ncctools/extdash +latex/contrib/extpfeil/extpfeil +latex/contrib/extract/extract +latex/tipa/extraipa +latex/contrib/fancyhdr/extramarks +latex/contrib/extsizes/extsizes +latex/contrib/facsimile/facsimile +latex/contrib/faktor/faktor +latex/contrib/fancybox/fancybox +latex/contrib/cmcyralt/fancycha +latex/contrib/fancyhdr/fancyhdr +latex/contrib/unswthesis/fancyheadings +latex/contrib/fancynum/fancynum +latex/contrib/fancyref/fancyref +latex/contrib/fancyvrb/fancyvrb +latex/contrib/fbithesis/fbithesis +latex/contrib/feynmf/feynmf +latex/contrib/feynmf/feynmp +latex/contrib/thesis-titlepage-fhac/fhACtitlepage +latex/contrib/figbib/figbib +latex/contrib/preprint/figcaps +latex/contrib/figsize/figsize +latex/contrib/filecontents/filecontents +latex/contrib/fink/fink +latex/contrib/fixfoot/fixfoot +latex/base/fixltx2e +latex/contrib/fancyhdr/fixmarks +latex/contrib/was/fixmath +latex/contrib/fixme/fixme +latex/exptl/texpower/addons/fixseminar +latex/contrib/carlisle/fix2col +latex/base/fix-cm.sty/fix-cm +latex/contrib/flabels/flabels +latex/contrib/flacards/flacards +latex/base/flafter +latex/contrib/flagderiv/flagderiv +latex/contrib/flashcards/flashcards +latex/base/fleqn +latex/contrib/floatflt/floatflt +latex/contrib/sttools/floatpag +latex/contrib/floatrow/floatrow +latex/contrib/float/float +latex/contrib/flowfram/flowfram +latex/contrib/nassflow/flow +latex/contrib/fltpage/fltpage +latex/contrib/fltpoint/fltpoint +latex/contrib/sttools/flushend +latex/contrib/fmp/fmp +latex/contrib/fmtcount/fmtcount +latex/contrib/fnbreak/fnbreak +latex/contrib/fncychap/fncychap +latex/contrib/misc/fncylab +latex/contrib/misc/fnpara +latex/contrib/yafoot/fnpos +latex/contrib/misc/fn2end +latex/contrib/foilhtml/foilhtml +latex/contrib/foiltex/foils |
+latex/etc/fontdoc +latex/etc/fontinst +latex/required/tools/fontsmpl +latex/contrib/fonttable/fonttable +latex/contrib/footbib/footbib +latex/contrib/footmisc/footmisc +latex/contrib/mdwtools/footnote +latex/contrib/footnpag/footnpag +generic/formlett +latex/contrib/formular/formular +latex/contrib/formula/formula +latex/fourier/fourier-orns +latex/fourier/fourier +latex/contrib/fp/fp +latex/contrib/fraktur/fraktur +latex/contrib/misc/framed +latex2html/frames +latex/misc/frcursive +latex/contrib/misc/ftcap +latex/required/tools/ftnright +latex/contrib/preprint/fullpage +latex/contrib/fullpict/fullpict +latex/contrib/functan/functan +latex/contrib/xymtex/fusering +latex/contrib/fancyvrb/contrib/fvrb-ex +latex/contrib/misc/fwlw +latex/exptl/galley/galley2 +latex/contrib/galois/galois +latex/contrib/psnfssx/adobe/garamond +latex/contrib/gauss/gauss +latex/contrib/gb4e/gb4e +latex/contrib/misc/gdgspace +latex/contrib/genmpage/genmpage +latex/contrib/was/gensymb +latex/contrib/geometry/geometry +latex/contrib/mapcodes/german +latex/required/amslatex/amsrefs/getwidth +latex/contrib/cmcyralt/glava +latex/contrib/glossary/glossary +latex/contrib/gloss/gloss +latex/contrib/gnuplottex/gnuplottex +latex/contrib/gene/logic/gn-logic14 +latex/contrib/dialogl/grabhedr +latex/contrib/gradback/gradback +latex/contrib/bosisio/graphfig +latex/exptl/graphicp/graphicp +latex/required/graphics/graphics +latex/contrib/graphicx-psmin/graphicx-psmin +latex/required/graphics/graphicx +latex/base/graphpap +latex/dvilj/graybox +latex/contrib/jknappen/greekctr +latex/contrib/grfpaste/grfpaste +latex/contrib/grnumalt/grnumalt +latex/contrib/grverb/grverb +latex/contrib/guitar/guitar +latex/contrib/guit/guit +latex/contrib/hanging/hanging +latex/contrib/harmony/harmony +latex/contrib/harpoon/harpoon +latex/contrib/harvard/harvard +latex/contrib/har2nat/har2nat +latex/contrib/ha-prosper/ha-prosper +latex/contrib/xymtex/hcycle +latex/contrib/hc/hc +latex/exptl/xhead/head +latex/contrib/hepnames/hepnicenames +latex/contrib/hepnames/heppennames +latex/contrib/hepthesis/hepthesis +latex/contrib/hepunits/hepunits +latex/contrib/hep/hep +latex/etc/here +latex/contrib/xymtex/hetaromh +latex/contrib/xymtex/hetarom +generic/hexdump +latex/hfoldsty/hfoldsty +latex/required/tools/hhline +latex/contrib/bgteubner/hhsubfigure/hhsubfigure +latex/contrib/hhtensor/hhtensor +latex/contrib/hilowres/hilowres +latex/contrib/histogr/histogr +latex/contrib/calendar/hlist +latex/contrib/calendar/hml +latex/contrib/calendar/hmonth +latex/contrib/jknappen/holtpolt +latex/contrib/oberdiek/holtxdoc +latex/contrib/oberdiek/hothread +latex/dvilj/hpfonts +latex/contrib/mapcodes/hproman8 +latex/contrib/hpsdiss/hpsdiss +latex2html/hthtml +latex2html/htmllist +latex2html/html +latex/contrib/hvfloat/hvfloat +latex/contrib/psnfssx/hvmath/hvmaths +latex/contrib/hyper/hxt-bc +latex/contrib/oberdiek/hypbmsec +latex/contrib/oberdiek/hypcap +latex/contrib/misc/hypernat +latex/contrib/hyperref/hyperref +latex/contrib/hyper/hyper +latex/contrib/hyphenat/hyphenat +latex/contrib/misc/iagproc +latex/contrib/mapcodes/ibm850 +latex/contrib/mapcodes/ibm852 +latex/contrib/was/icomma +latex/contrib/ieeeconf/IEEEconf +latex/contrib/ieeepes/ieeepes +latex/contrib/misc/ieeetrans +latex/contrib/ieeetran/tools/ieeetrantools +latex/contrib/ifmslide/ifmslide +latex/contrib/misc/ifmtarg +latex/required/amslatex/amsrefs/ifoption +latex/base/ifthen +latex/contrib/lineno/ilineno +latex/contrib/imac/imac +latex/contrib/misc/import +latex/contrib/frankenstein/unsupported/includex +latex/required/tools/indentfirst +latex/contrib/index/index +latex/contrib/indxcite/indxcite +latex/required/amslatex/amsrefs/inicap +latex/exptl/inpmath/inpmath +latex/contrib/acrotex/insdljs +latex/contrib/invoice/texinput/invoice +latex/contrib/isodate/isodateo +latex/contrib/isodate/isodate +latex/contrib/isostds/iso/isoe +latex/contrib/isorot/isorot +latex/contrib/mpdinbrief/isotoday +latex/contrib/isotope/isotope +latex/contrib/mapcodes/iso88591 +latex/contrib/mapcodes/iso88592 +latex/contrib/lineno/itemrule +latex/required/amslatex/amsrefs/jeb-bibl +latex/contrib/juraabbrev/juraabbrev +latex/contrib/juramisc/jurabase +latex/contrib/jurabib/jurabib +latex/contrib/juramisc/jurabook +latex/contrib/juramisc/juraovw +latex/contrib/jurarsp/jurarsp +latex/contrib/juramisc/juraurtl +latex2html/justify +latex/contrib/kalender/kalender +latex/contrib/keystroke/keystroke +latex/contrib/cweb/keyvald +latex/required/graphics/keyval +latex/contrib/progkeys/keywords +latex/contrib/misc/kix +latex/contrib/kluwer/kluedit +latex/contrib/kluwer/klufloa +latex/contrib/kluwer/klulist +latex/contrib/kluwer/klumac +latex/contrib/kluwer/klumath +latex/contrib/kluwer/klunote +latex/contrib/kluwer/kluopen +latex/contrib/kluwer/klups +latex/contrib/kluwer/kluref +latex/contrib/kluwer/klusec +latex/contrib/kluwer/klutab +latex/contrib/koi8/koi8 +generic/diagrams/kuvio/kuvio +latex/contrib/karnaugh/kvmacros +latex/contrib/labelcas/labelcas +latex/etc/labeldeb +latex/contrib/labels/labels +latex/skak/lambda +latex/contrib/pb-diagram/lamsarrow +latex/contrib/lastpage/lastpage +latex/base/latexsym +latex/contrib/layaureo/SourceFiles/layaureo.sty/layaureo +latex/contrib/layouts/layouts +latex/required/tools/layout +latex/contrib/lazylist/lazylist +latex/contrib/gene/fundus/la +latex/contrib/lcg/lcg +latex/required/cyrillic/lcy +latex/exptl/xbase/ldcsetup +latex2html/ldump +latex/contrib/leaflet/leaflet +latex/contrib/ledmac/ledmac +latex/contrib/leftidx/leftidx +latex/base/leqno +latex/etc/lettersp +latex/contrib/lettrine/lettrine +latex/contrib/lexikon/lexikon +latex/contrib/fp/lfp +latex/contrib/lgreek/lgreek +latex/contrib/lhcyr/lhcyralt/lhcyralt +latex/contrib/lhcyr/lhcyrkoi/lhcyrkoi +latex/contrib/lhcyr/lhcyrwin/lhcyrwin +latex/contrib/lhelp/lhelp +latex/contrib/lifia-th/lifia-th +latex/contrib/gene/limap/limap +latex/contrib/ednotes/linenox0 +latex/contrib/lineno/lineno +latex/contrib/lingtrees/lingtrees +latex/contrib/linguex/linguex +latex/contrib/linguex/linguho +latex/contrib/misc/linsys +latex/contrib/lipsum/lipsum +latex/contrib/frankenstein/lips +latex/contrib/listbib/listbib +latex/contrib/listings/listings +latex/contrib/misc/listing +latex/contrib/listliketab/listliketab +latex/contrib/listofsymbols/listofsymbols +latex/contrib/dialogl/listout +latex/exptl/blume/list/liststyle +latex/lm/lmodern +latex/contrib/ednotes/lnopatch +latex/contrib/localloc/localloc +latex/contrib/xymtex/locant +latex/contrib/coordsys/logsys +latex/required/tools/longtable +latex/contrib/xymtex/lowcycle +latex/required/graphics/lscape +latex/contrib/lsc/lsc +latex/contrib/ltablex/ltablex +latex/contrib/ltabptch/ltabptch +latex/contrib/tugboat/ltugcomn +latex/contrib/tugboat/ltugproc +latex/contrib/revtex/src/ltxgrid +latex/contrib/ltxindex/ltxindex +latex/contrib/carlisle/ltxtable +latex/contrib/psnfssx/lucidabr/lucbmath +latex/contrib/psnfssx/lucidabr/lucidabr +latex/lucida/lucida +latex/contrib/psnfssx/lucidabr/lucidbrb +latex/contrib/psnfssx/lucidabr/lucidbry +latex/contrib/psnfssx/lucidabr/lucmin +latex/contrib/psnfssx/lucidabr/lucmtime +latex/contrib/lucold/lucold +latex/contrib/psnfssx/lucidabr/luctime +latex/exptl/project/expl3/l3basics +latex/exptl/project/expl3/l3chk +latex/exptl/project/expl3/l3doc +latex/exptl/project/expl3/l3expan +latex/exptl/project/expl3/l3int +latex/exptl/project/expl3/l3io +latex/exptl/project/expl3/l3names +latex/exptl/project/expl3/l3precom +latex/exptl/project/expl3/l3prop +latex/exptl/project/expl3/l3quark +latex/exptl/project/expl3/l3seq +latex/exptl/project/expl3/l3tlp +latex/exptl/project/expl3/l3toks +latex/contrib/misc/magaz +latex/contrib/mailing/mailing +latex/contrib/makebox/makebox +latex/contrib/custom-bib/makebst +latex/contrib/makecell/makecell +latex/contrib/makecmds/makecmds +latex/contrib/makedtx/makedtx +latex/contrib/makeglos/makeglos +latex/base/makeidx +latex/contrib/thesis/makendx +latex/contrib/makeplot/makeplot +latex/contrib/manfnt/manfnt +latex/contrib/nassflow/manual +latex/contrib/manuscript/manuscript +latex/contrib/ncctools/manyfoot +latex/contrib/mapcodes/mapcodes +latex/contrib/margbib/margbib +latex/contrib/sttools/marginal +latex/contrib/marginnote/marginnote +latex/contrib/calendar/margins +latex/contrib/poemscol/marn +latex/etc/marvosym +latex/contrib/jknappen/mathbbol +latex/contrib/bosisio/mathcmd +latex/contrib/mathcomp/mathcomp +latex/mathdesign/mathdesign +generic/mathdots +latex/contrib/bosisio/mathenv +latex/contrib/mdwtools/mathenv +latex/mathpazo/mathpazo +latex/contrib/psnfssx/mathtime/mathpi +latex/mathpple/mathpple +latex/contrib/jknappen/mathrsfs +latex/required/amslatex/amsrefs/mathscinet +latex/contrib/t2/etc/mathtext +latex/contrib/psnfssx/mathtime/mathtime +latex/contrib/mh/mathtools +latex/contrib/mattens/mattens +latex/contrib/maybemath/maybemath +latex/contrib/mcaption/mcaption +latex/contrib/mceinleger/mceinleger +latex/contrib/mcite/mcite +latex/contrib/mdwfonts/mdwfonts +latex/contrib/mdwtools/mdwlist +latex/contrib/mdwtools/mdwmath +latex/contrib/mdwtools/mdwtab +latex/contrib/memoir/memfixa +latex/contrib/memoir/memfixb +latex/contrib/memoir/memhfixc +latex/contrib/memoir/memoir +latex/contrib/memoir/mempatch +latex/contrib/mentis/mentis +latex/contrib/dialogl/menus +latex/contrib/menu/menu +latex/contrib/method/method +latex/contrib/xymtex/methylen +latex/contrib/metre/metre +latex/contrib/mff/mff +latex/contrib/mflogo/mflogo +latex/contrib/ednotes/mfparptc +latex/contrib/mftinc/mftinc +latex/t1-fraktur/mf-frak +latex/contrib/mhchem/mhchem +latex/contrib/mhequ/mhequ +latex/contrib/mh/mhsetup +latex/contrib/mhs/mhs +latex/contrib/microtype/microtype +latex/contrib/sttools/midfloat +latex/contrib/misc/midpage +latex/contrib/miller/miller +latex/contrib/tableaux/minimum +latex/contrib/miniplot/miniplot +latex/contrib/minitoc/minitocoff +latex/contrib/hyperref/minitoc-hyper +latex/contrib/minitoc/minitoc +latex/contrib/minutes/minutes +latex/contrib/epic/misc +latex/contrib/misc/mitpress +latex/contrib/mla-paper/mla +latex/contrib/mlbib/mlbib +latex/contrib/mltex/mltex +latex/contrib/moderncv/moderncv +latex/contrib/modroman/modroman +latex/contrib/calendar/monthly +latex/contrib/frankenstein/moredefs +latex/contrib/misc/morefloats +latex/contrib/morehelp/morehelp +latex/contrib/moresize/moresize +latex/contrib/moreverb/moreverb +latex/contrib/movie15/movie15 +latex/contrib/mparhack/mparhack +latex/contrib/mpdinbrief/mpdinbrief +latex/contrib/mpdinbri/mpdinief +latex/contrib/mpfnmark/mpfnmark +latex/contrib/msc/msc +latex/contrib/msg/msg +latex/contrib/mslapa/mslapa +latex/contrib/minitoc/mtcoff +latex/contrib/mtgreek/mtgreek +latex/contrib/psnfssx/adobe/mtimes +latex/contrib/psnfssx/mathtimepro/mtpro +latex/mathtime/mt11p +latex/contrib/multibbl/multibbl +latex/contrib/multibib/multibib +latex/etc/multibox +latex/contrib/multicap/multicap +latex/required/tools/multicol +generic/multido/multido +latex/contrib/multenum/multienum +latex/contrib/bez123/multiply +latex/contrib/multirow/multirow +latex/contrib/ms/multitoc +latex/contrib/mwcls/mwcls +latex/contrib/mwrite/mwrite +latex/contrib/easy/mydoc +latex/contrib/unswthesis/mythesis +latex/contrib/uaclasses/my-title +latex/contrib/hyperref/nameref +latex/contrib/namespc/namespc +latex/contrib/nassflow/nassi +latex/contrib/natbib/natbib +latex/contrib/nath/nath +latex/contrib/ncctools/nccbbb +latex/contrib/ncctools/nccboxes +latex/contrib/ncctools/ncccropmark +latex/contrib/ncctools/nccfancyhdr +latex/contrib/ncctools/nccfloats +latex/contrib/ncctools/nccfoots +latex/contrib/ncclatex/ncchdr +latex/contrib/ncclatex/ncclatex +latex/contrib/ncclatex/nccltrus +latex/contrib/ncctools/nccmath +latex/contrib/ncclatex/nccold +latex/contrib/ncctools/nccparskip +latex/contrib/ncctools/nccpic +latex/contrib/ncctools/nccsect +latex/contrib/ncctools/nccthm +latex/dvips/ncs +latex/contrib/nddiss/nddiss2e +latex/contrib/nddiss/nddiss +latex/contrib/misc/needspace +latex/contrib/nestquot/nestquot +latex/contrib/newalg/newalg +latex/contrib/frankenstein/newclude +latex/contrib/poemscol/newcropmark +latex/contrib/newfile/newfile +latex/contrib/newlfm/newlfm +latex/base/newlfont +latex/contrib/poemscol/newmarn +latex/contrib/piff/newproof +latex/contrib/newthm/newthm +latex/contrib/newvbtm/newvbtm +latex/contrib/misc/nextpage +latex/contrib/units/nicefrac +latex/contrib/niceframe/nicefram +latex/contrib/hyperref/nohyperref +latex/contrib/noitcrul/noitcrul +latex/contrib/misc/nolbreaks +latex/contrib/nomencl/nomencl +latex/contrib/nomentbl/nomenltb +latex/contrib/nomentbl/nomentbl +latex/contrib/nonfloat/nonfloat +latex/contrib/carlisle/nopageno +latex/contrib/notes/notes +latex/contrib/misc/notoccite +latex/contrib/seminar/npsfont +latex/contrib/nrc/nrcdoc +latex/contrib/nrc/nrc1 +latex/contrib/nrc/nrc2 +latex/contrib/nrc/nrc +latex/contrib/ntabbing/ntabbing +latex/contrib/ntgclass/ntgclass +latex/contrib/hyperref/ntheorem-hyper +latex/contrib/ntheorem/ntheorem +generic/nth +latex/contrib/numline/numline +latex/contrib/numprint/numprint +latex/contrib/slidenotes/obox +latex/contrib/ogonek/ogonek +latex/contrib/labels/olabels +latex/contrib/mfnfss/oldgerm +latex/base/oldlfont +latex/contrib/oldstyle/oldstyle +latex/contrib/piff/onepagem +latex/contrib/onlyamsmath/onlyamsmath +latex/contrib/opcit/opcit +latex/contrib/opteng/opteng +latex/contrib/misc/optional +latex/contrib/othello/othello +latex/contrib/platex/ot1patch +latex/required/cyrillic/ot2 +latex/contrib/misc/oubraces +latex/contrib/outliner/outliner +latex/contrib/gene/fundus/outline +latex/contrib/outline/outline +latex/contrib/cite/overcite +latex/contrib/overpic/overpic +latex/contrib/fragments/overrightarrow +latex/contrib/calendar/overword +latex/contrib/objectz/oz +latex/contrib/pagenote/pagenote +latex/contrib/pageno/pageno +latex/contrib/refman/pagepc +latex/contrib/oberdiek/pagesel +latex/contrib/pandora-latex/pandora-latex +latex/contrib/mfnfss/pandora +latex/contrib/paper/paper +latex/contrib/paralist/paralist +latex/contrib/parallel/parallel +latex/contrib/paresse/paresse +latex/contrib/parrun/parrun +latex/contrib/misc/parskip +latex/contrib/patchcmd/patchcmd +latex/contrib/misc/path +latex/contrib/pauldoc/pauldoc +latex/contrib/pdfslide/pause +latex/contrib/pawpict/pawpict +latex/contrib/pbox/pbox +latex/contrib/pbsheet/pbsheet +latex/contrib/pb-diagram/pb-diagram +latex/contrib/pb-diagram/pb-lams +latex/contrib/pb-diagram/pb-xy +latex/required/amslatex/amsrefs/pcatcode +latex/contrib/gene/pl/pcode +latex/contrib/oberdiek/pdfcolmk +latex/contrib/pdfcprot/pdfcprot +latex/contrib/oberdiek/pdfcrypt +latex/contrib/oberdiek/pdflscape +latex/contrib/pdfpages/pdfpages +latex/contrib/pdfscreen/pdfscreen +latex/etc/pdfslides +latex/contrib/pdfslide/pdfslide +latex/contrib/pdftricks/pdftricks +latex/contrib/perltex/perltex +latex/contrib/permute/permute +latex/contrib/misc/perpage +latex/contrib/yafoot/pfnote +latex/contrib/photo/photo +latex/etc/picinpar +latex/contrib/pictex2/pictex2 +latex/contrib/pict2e/pict2e +latex/contrib/misc/placeins +latex/contrib/carlisle/plain +latex/contrib/plari/plari +latex/contrib/plates/plates +latex/contrib/play/play +latex/contrib/platex/plprefix +latex/contrib/gene/pl/pl |
+latex/contrib/pmat/pmat +latex/contrib/pmgraph/pmgraph +generic/petri-nets/pndraw +generic/petri-nets/pnets +generic/petri-nets/pntext +latex/contrib/poemscol/poemscol +generic/tex-ps/poligraf/poligraf +latex/contrib/platex/polski +latex/contrib/xymtex/polymers +latex/contrib/polynom/polynom +latex/contrib/polytable/polytable +latex/contrib/powerdot/powerdot +latex/exptl/texpower/powersem +latex/exptl/ppr-prv/ppr-prv +latex/contrib/pracjourn/pracjourn +latex/contrib/ms/prelim2e +latex/contrib/prettyref/prettyref +latex/contrib/preview/preview +latex/contrib/misc/printlen +latex/contrib/sudokubundle/printsudoku +latex/contrib/printtim/printtim +latex/contrib/misc/proba +latex/contrib/probsoln/probsoln +latex/contrib/prociagssymp/prociagssymp +latex/contrib/siam/proc2e +latex/contrib/progkeys/programs +latex/contrib/program/program +latex/contrib/progress/progress +latex/contrib/proof/proof +latex/contrib/prosper/prosper +latex/contrib/pseudocode/pseudocode +latex/required/psnfss/psfonts +latex/contrib/altfont/psfont +latex/contrib/psfragx/psfragx +latex/contrib/psfrag/psfrag +latex/required/graphics/pstricks/contrib/psgo/psgo +latex/dvips/psgreek +latex/contrib/pslatex/latex/pslatex +latex/contrib/pspicture/pspicture +latex/required/graphics/pstcol +latex/pstrics/pstricks +latex/pstrics/pst-all +latex/required/graphics/pstricks/contrib/pst-blur/pst-blur +latex/pstrics/pst-char +latex/pstrics/pst-coil +latex/pstrics/pst-eps +latex/pstrics/pst-fill +latex/required/graphics/pstricks/contrib/pst-ghsb/pst-ghsb +latex/pstrics/pst-grad +latex/required/graphics/pstricks/contrib/pst-gr3d/pst-gr3d +latex/required/graphics/pstricks/contrib/misc/pst-key +latex/required/graphics/pstricks/contrib/pst-lens/pst-lens +latex/pstrics/pst-node +latex/required/graphics/pstricks/contrib/pst-optic/pst-optic +latex/required/graphics/pstricks/contrib/pst-osci/pst-osci +latex/pstrics/pst-plot +latex/required/graphics/pstricks/contrib/pst-poly/pst-poly +latex/required/graphics/pstricks/contrib/pst-slpe/pst-slpe +latex/pstrics/pst-text +latex/pstrics/pst-tree +latex/pstrics/pst-3d +latex/contrib/ps4pdf/ps4pdf +latex/contrib/linguex/ps-trees +latex/contrib/siam/ptexproc +latex/contrib/punk-latex/punk +latex/contrib/gene/fundus/pvscript +latex/pxfonts/pxfonts +latex/platex/qbookman +latex/contrib/qcm/qcm +latex/platex/qcourier +generic/proofs/taylor/qed +latex/contrib/qobitree/qobitree +latex/platex/qpalatin +latex/etc/qpxmath +latex/etc/qpxsc +latex/platex/qswiss +latex/contrib/qsymbols/qsymbols +latex/platex/qtimes +latex/etc/qtxmath +latex/contrib/quotchap/quotchap +latex/contrib/bosisio/quotes +latex/platex/qzapfcha +latex/contrib/misc/raggedr +latex/contrib/ms/ragged2e +generic/ragged +latex/contrib/randbild/randbild +latex/contrib/randtext/randtext +latex/required/tools/rawfonts +latex/contrib/koi8/rawprint +latex/contrib/rccol/rccol +latex/contrib/rcsinfo/rcsinfo +latex/contrib/rcs/src/rcs-doc +latex/contrib/rcs/rcs +latex/contrib/ipe/recipe +latex/contrib/rectopma/rectopma +latex/contrib/refcheck/refcheck +latex/contrib/oberdiek/refcount +latex/contrib/refstyle/refstyle +latex/contrib/regcount/regcount +latex/contrib/register/register +latex\contrib\computational-complexity/relabel +latex/contrib/relenc/relenc +latex/contrib/stack/relinput +latex/contrib/misc/relsize +latex/contrib/carlisle/remreset +latex/contrib/repeatindex/repeatindex +latex/contrib/revnum/revnum +latex/contrib/revtex/revsymb +latex/contrib/revtex/src/revtex4 +latex/required/amslatex/amsrefs/rkeyval +latex/contrib/rmpage/rmpage +latex/contrib/robustcommand/robustcommand +latex/contrib/robustindex/robustindex +latex/contrib/misc/romanneg +latex/contrib/romannum/romannum +generic/contrib/rotate-textures +latex/dvips/rotate +latex/contrib/rotating/rotating +latex/contrib/rotfloat/rotfloat +latex/contrib/rotpages/rotpages +latex/contrib/rplain/rplain +latex/contrib/rrgtrees/rrgtrees +latex/contrib/rtkinenc/rtkinenc +latex/contrib/rtklage/rtklage +latex/contrib/cmcyralt/russian +latex/contrib/r_und_s/r_und_s +latex/contrib/saferef/saferef +latex/contrib/misc/sansmath +latex/contrib/jknappen/sans +latex/contrib/sauterfonts/sauterfonts +latex/contrib/savefnmark/savefnmark +latex/contrib/savesym/savesym +latex/contrib/savetrees/savetrees +latex/contrib/sauterfonts/sbbm +latex/contrib/scalebar/scalebar +latex/contrib/carlisle/scalefnt +latex/contrib/scale/scale +latex/contrib/schedule/schedule +latex/contrib/pdfscreen/schemes +latex/contrib/sciposter/sciposter +latex/contrib/koma-script/scraddr +latex/contrib/koma-script/scrclass +latex/contrib/koma-script/scrdate +latex/contrib/koma-script/script +latex/contrib/koma-script/scrlettr +latex/contrib/koma-script/scrlfile +latex/contrib/koma-script/scrpage2 +latex/contrib/koma-script/scrpage +latex/contrib/koma-script/scrtime +latex/contrib/misc/secdot +latex/contrib/sectionbox/sectionbox +latex/contrib/misc/section +latex/contrib/sectsty/sectsty +latex/contrib/misc/selectp +latex/contrib/semantic/semantic +latex/contrib/seminar/semcolor +latex/contrib/seminar/semhelv +latex/contrib/seminar/seminar +latex/contrib/semioneside/semioneside +latex/contrib/seminar/semlayer +latex/contrib/seminar/semlcmss +latex/contrib/seminar/semrot +latex/contrib/jknappen/semtrans +latex/contrib/seminar/sem-a4 +latex/contrib/seminar/sem-page +latex/contrib/misc/sepnum +latex/contrib/serial/serial +latex/contrib/newlfm/setdim +latex/contrib/setspace/setspace +latex/contrib/history/sets +latex/contrib/oberdiek/settobox +latex/contrib/sauterfonts/sexscale +latex/contrib/sffms/sffdumb +latex/contrib/sffms/sffms +latex/contrib/sfg/sfg +latex/contrib/sfheaders/sfheaders +latex/contrib/sf298/sf298 +latex/contrib/jknappen/sgmlcmpt +latex/contrib/shadbox/shadbox1 +latex/contrib/shadbox/shadbox +latex/contrib/shadethm/shadethm +generic/shade +latex/contrib/misc/shadow +latex/contrib/shapepar/shapepar +latex/contrib/shortlst/shortlst +latex/contrib/shorttoc/shorttoc +latex/base/shortvrb +latex/contrib/showdim/showdim +latex/contrib/showexpl/showexpl +latex/contrib/geometry/showframe +latex/base/showidx +latex/contrib/chemcono/showkeysff +latex/required/tools/showkeys +latex/contrib/showlabels/showlabels +latex/contrib/sidecap/sidecap +latex/contrib/siggraph/siggraph +latex/contrib/fax/sig +latex/contrib/sistyle/sistyle +latex/contrib/siunits/siunits +latex/skak/skak +latex/contrib/slantsc/slantsc +latex/contrib/slashbox/slashbox +latex/contrib/carlisle/slashed +latex/contrib/frankenstein/slemph +latex/contrib/slidenotes/slidenotes +latex/contrib/seminar/slidesec +latex/platex/slownie +latex/contrib/smallcap/smallcap +latex/contrib/smalltableof/smalltableof +latex/contrib/jknappen/smartmn +latex/contrib/smartref/smartref +latex/contrib/smflatex/smfenum +latex/contrib/smflatex/smfthm +latex/contrib/snapshot/snapshot +latex/contrib/bosisio/sobolev +latex/contrib/sudokubundle/solvesudoku +latex/required/tools/somedefs +latex/contrib/songbook/songbook +latex/exptl/blume/xindex/sort +latex/contrib/soul/soul +latex/contrib/mapcodes/spanish +latex/contrib/misc/sphack +latex/contrib/splitbib/splitbib +latex/contrib/splitindex/splitidx +latex/contrib/sprite/sprite +latex/contrib/srcltx/srcltx +latex/contrib/sseq/sseq +latex/contrib/ssqquote/ssqquote +latex/contrib/sttools/stabular +latex/contrib/stage/stage +latex/contrib/gene/fundus/startrek +latex/contrib/misc/statex +latex/contrib/statistik/statistik +latex/contrib/stdclsdv/stdclsdv +latex/contrib/stdpage/stdpage +latex/contrib/isostds/iso10303/stepe +latex/contrib/sttools/stfloats +latex/contrib/stmaryrd/stmaryrd +latex/contrib/streetex/stree +latex/contrib/utthesis/icde-11/stretch +latex/contrib/struktex/strukdoc +latex/contrib/struktex/struktex +latex/contrib/struktex/struktxf +latex/contrib/struktex/struktxp +latex/contrib/stubs/stubs +latex/contrib/subeqnarray/subeqnarray +latex/contrib/subeqn/subeqn +latex/contrib/misc/subfigmat +latex/contrib/subfigure/subfigure +latex/contrib/subfig/subfig +latex/contrib/subfiles/subfiles +latex/contrib/subfloat/subfloat +latex/contrib/preprint/sublabel +latex/contrib/fragments/subscript +latex/contrib/substr/substr +latex/contrib/sudoku/sudoku +latex/contrib/gene/fundus/suetterl +latex/contrib/bigfoot/suffix +latex/contrib/supertabular/supertabular +latex/contrib/mdwtools/sverb +latex/contrib/svninfo/svninfo +latex/contrib/swimgraf/swimgraf +latex/contrib/switcheml/switcheml +generic/swrule +latex/contrib/sciwordconv/sw2rus +latex/contrib/symbolindex/symbolindex +latex/contrib/mdwtools/syntax +latex/contrib/syntax/syntax +latex/base/syntonly +latex/contrib/synttree/synttree +latex/contrib/tabbing/tabbing +latex/contrib/tableaux/tableau +latex/contrib/misc/tabls +latex/contrib/tabto/tabto +latex/required/tools/tabularx +latex/contrib/tabulary/tabulary +latex/contrib/tabvar/inputs/tabvar +latex/contrib/talk/talk +latex/contrib/tamefloats/tameflts +latex/contrib/jknappen/tccompat +latex/contrib/tcldoc/tcldoc +latex/contrib/tclldoc/tclldoc +latex/contrib/technics/technics +latex/exptl/xbase/template +latex/contrib/tengwarscript/tengwarscript +latex/contrib/bezos/tensind +latex/contrib/piff/tensor +latex/contrib/termcal/termcal +latex/contrib/teubner/teubner +latex/contrib/songbook/contrib/texchord +latex/contrib/texlogos/texlogos +latex/contrib/texmate/texmate +latex/contrib/psnfssx/ly1/texnansi +latex/exptl/texpower/texpower +latex/contrib/texshade/texshade +latex/contrib/sttools/texsort +latex/contrib/textcase/textcase +latex/required/amslatex/amsrefs/textcmds +latex/contrib/gatech-thesis/julesverne/bellswhistles/textcompfix +latex/contrib/gatech-thesis/julesverne/bellswhistles/textcompsym +latex/base/textcomp +latex/contrib/textfit/textfit +latex/contrib/textmerg/textmerg +latex/contrib/textopo/textopo +latex/contrib/textpos/textpos +latex\contrib\computational-complexity/thcc +latex/contrib/thesis/thema +latex/required/tools/theorem +latex/contrib/thesis/thesis +latex/contrib/thmbox/thmbox +latex/contrib/misc/threeparttable +latex/contrib/misc/thrmappendix +latex/contrib/thumb/thumb +latex/contrib/thuthesis/thuthesis +latex/contrib/ticket/ticket +latex/contrib/timesht/timesht +latex/contrib/calendar/timesht +latex/contrib/calendar/timetabl +generic/time +latex/contrib/piff/time +latex/contrib/timing/timing +latex/tipa/tipa +latex/tipa/tipx +latex/contrib/titlefoot/titlefoot +latex/contrib/titlepage-uni-dortmund/titlepage-uni-dortmund +latex/contrib/misc/titleref +latex/contrib/titlesec/titlesec +latex/contrib/frankenstein/titles +latex/contrib/titlesec/titletoc +latex/contrib/titling/titling +latex/contrib/psnfssx/tmmath/tmmathm +latex/contrib/psnfssx/tmmath/tmmaths +latex/tmmath/tmmath +latex/contrib/tocbibind/tocbibind +latex/contrib/ncctools/tocenter +latex/contrib/tocloft/tocloft +latex/contrib/tocvsec2/tocvsec2 +latex/contrib/todo/todo +latex/contrib/tokenizer/tokenizer +latex/contrib/williams/toklist +latex/tipa/tone +latex/contrib/toolbox/toolbox +latex/contrib/misc/topcapt +latex/contrib/topfloat/topfloat +latex/contrib/toptesi/toptesi +latex/contrib/totpages/totpages +latex/contrib/tpcmfont/tpcmfont +latex/exptl/texpower/contrib/tpmultiinc +latex/exptl/texpower/addons/tppstcol +latex/exptl/texpower/addons/tpsem-a4 +latex/exptl/texpower/tpslifonts/tpslifonts +latex/base/tracefnt +latex/required/tools/trace +latex/exptl/trace/trace +latex/contrib/tracking/tracking +latex/contrib/treesvr/trees +latex/contrib/trfsigns/trfsigns +latex/required/graphics/trig +latex/contrib/misc/truncate +latex/contrib/tugboat/tugboat +latex/contrib/seminar/tvz-code +latex/contrib/seminar/tvz-hax +latex/contrib/seminar/tvz-user +latex/contrib/gene/fundus/twcal +latex/contrib/oberdiek/twoopt +latex/contrib/twoup/twoup +latex/txfonts/txfonts +latex/contrib/koma-script/typearea +latex/contrib/typedref/typedref +latex/contrib/carlisle/typehtml +latex/contrib/type1cm/type1cm +latex/contrib/typogrid/typogrid +latex/contrib/t-angles/t-angles +latex/contrib/uaclasses/ua-classes +latex/contrib/uaclasses/ua-title +latex/contrib/unicode/ucshyper +latex/contrib/unicode/ucsutils +latex/contrib/unicode/ucs +latex/contrib/uhrzeit/uhrzeit +latex/contrib/uiucthesis/uiucredborder +latex/contrib/uiucthesis/uiucthesis +latex/contrib/misc/ulem +latex/contrib/ulsy/ulsy +latex/contrib/umlaute/umlaute +latex/contrib/umoline/umoline +latex/contrib/underlin/underlin +latex/contrib/misc/underscore +latex/contrib/undertilde/undertilde +latex/contrib/unitsdef/unitsdef +latex/contrib/units/units +latex/contrib/was/upgreek +latex/contrib/upquote/upquote +latex/required/amslatex/classes/upref +latex2html/url +latex/contrib/misc/url +latex/contrib/ushort/ushort +latex/contrib/stellenbosch/usthesis +latex/contrib/utthesis/utthesis +latex/contrib/fragments/ut-backref +latex/contrib/varindex/varindex +latex/required/tools/varioref +latex/contrib/taupin/varsects +latex/contrib/newvbtm/varvbtm +latex/contrib/misc/varwidth +latex/contrib/gene/fundus/va +latex/contrib/vdm/vdm +latex/contrib/vector/vector +latex/contrib/misc/verbasef +latex2html/verbatimfiles +latex/required/tools/verbatim +latex/contrib/misc/verbdef +latex/contrib/verse/verse +latex/contrib/versions/versions +latex/contrib/misc/version +latex/contrib/misc/vertbars +latex/contrib/history/vhistory +latex/contrib/viiptart/viiptart +latex/contrib/vmargin/vmargin +latex/contrib/volumes/volumes +latex/tipa/vowel +latex/contrib/oberdiek/vpe +latex/contrib/misc/vrbexin +latex/etc/vrflocal +latex/contrib/vrsion/vrsion +latex/contrib/misc/vruler +latex/etc/vversion +latex/contrib/wallpaper/wallpaper +latex/contrib/warning/warning +latex/contrib/warpcol/warpcol +latex/contrib/wasysym/wasysym +latex/contrib/ncctools/watermark +latex/contrib/acrotex/web +generic/weekday +generic/wiggly +latex/contrib/withesis/withesis +latex/etc/wmcropmark +latex/contrib/wordcount/wordcount +latex/contrib/wordlike/wordlike +latex/contrib/misc/wrapfig +latex/contrib/ptptex/wrapft +latex/contrib/xcolor/xcolor +latex/contrib/seminar/xcomment +latex/contrib/xdoc/xdoc2 +latex/exptl/xfrontm/xfmgalley +latex/exptl/xfrontm/xfm-aip +latex/exptl/xfrontm/xfm-arlo +latex/exptl/xfrontm/xfm-plain +latex/exptl/xfrontm/xfm-tub +latex/exptl/xfrontm/xfm-wiley +latex/exptl/xfrontm/xfm +latex/exptl/xfootnote/xfootnote +latex/exptl/xfrac/xfrac +latex/exptl/xhead/xhead +latex/exptl/galley/xhj +latex/contrib/xifthen/xifthen +latex/exptl/blume/xindex/xindex +latex/exptl/xinitials/xinitials +latex/contrib/xkeyval/run/xkeyval +latex/contrib/xkeyval/run/xkvltxp +latex/exptl/xor/xmarks +latex/exptl/xor/xoutput +latex/exptl/xor/xo-alloc +latex/exptl/xor/xo-capt +latex/exptl/xor/xo-final +latex/exptl/xor/xo-float +latex/exptl/xor/xo-grid +latex/exptl/xor/xo-here +latex/exptl/xor/xo-new +latex/exptl/xor/xo-or +latex/exptl/xor/xo-page +latex/exptl/xor/xo-place +latex/exptl/xor/xo-trace +latex/exptl/blume/xpage/xpage +latex/exptl/xbase/xparse +latex/required/tools/xr +latex/required/tools/xspace +latex/contrib/xtab/xtab +latex/exptl/xtheorem/xtheorem +latex/exptl/xbase/xtools +latex/contrib/xymtex/xymtex +generic/diagrams/xypic/xy-3.7/src/xypic +latex/contrib/xytree/xytree +latex/contrib/calendar/yearly +latex/contrib/yfonts/yfonts +latex/contrib/yhmath/yhmath +latex/contrib/york-thesis/york-thesis +latex/contrib/youngtab/youngtab +latex/contrib/jknappen/young +latex/contrib/yplan/yplan +latex/contrib/zed-csp/zed-csp +latex/contrib/misc/ziffer +latex/contrib/misc/2in1 +latex/contrib/relenc/2sidedoc +latex/contrib/seminar/2up +latex/contrib/misc/3parttable +latex/contrib/psnfssx/8r/8r + |
+Chciałbym podkreślić, że jest to mój subiektywny wybór (pakiety +do których brak opisu lub opis był w jakimś pogańskim języku albo +też był niezrozumiały po 30 s lekturze były uznane za nieprzydatne). Informacje o +działaniu pochodzą z książki ,,The LaTeX Companion'' autorów: Michel Gosens, +Frank Mittelbach i Aleksander Samarin (ISBN 0-201-54199-8) oraz +opisów zawartych w samych pakietach. +
+ opisany; wart zauważenia + pożyteczny, ale nieopisany + nie mam zdania (raczej nie podniecający, ale może się przydać) + użyteczność wątpliwa lub mocno wątpliwa
+ +Temat | Pakiety |
---|---|
definiowanie wyglądu tytułów | +anonchap, appendix, fncychap, hypbmsec, nccsect, secdot, sectsty, slidesec, titlesec, titletoc, tocvsec2 |
tworzenie dokumentu w postaci pdf | +cooltooltips, holtxdoc, hothread, hypbmsec, insdljs, pdfcprot, pdflscape, pdfpages, pdfscreen, pdfslides, pdfslide, pdftricks, vpe |
numerowani linii | +ilineno, ledmac, linenox0, lineno, lnopatch, numline |
ramki | +boxedminipage, color, dashbox, fancybox, framed, shadethm, shadow, thmbox, xcolor |
terminarz | +autofilo, calendar, dates, daytime, dow, evautofl, evntlist, evweek, hlist, hml, hmonth, monthly, timesht, timetabl, yearly |
wygląd elementów dokumentu | +adrlist, amsbooka, amsclass, amsdtx, begriff, cclayout, cc4apjrnl, cc4elsart, cc4jt, cc4llncs, cc4siamltex, cc, chappg, combine, cooking, deccomma, decimal, ellipsis, fbithesis, fltpoint, galley2, hanging, icomma, lips, listofsymbols, ltugcomn, ltugproc, magaz, mathdots, memoir, microtype, mwcls, nrcdoc, nrc1, nrc2, nrc, ot1patch, pl, raggedr, ragged2e, ragged, romannum, sepnum, sistyle, tensind, titles, tugboat, unitsdef, units, varsects, xfmgalley, xfm-aip, xfm-arlo, xfm-plain, xfm-tub, xfm-wiley, xfm, xfrac, xhj, york-thesis |
grafika | +bez123, boxedeps, coordsys, curvesls, curves, curve2e, ebezier, eepicemu, eepic, emp, epic, epic, epsfig, epsf, eso-pic, fmp, fullpict, gnuplottex, graphics, graphicx-psmin, graphicx, grfpaste, hilowres, lingtrees, logsys, lsc, makeplot, miniplot, nccpic, overpic, pictex2, pict2e, psfragx, psfrag, pspicture, pstricks, pst-all, pst-blur, pst-char, pst-coil, pst-eps, pst-fill, pst-ghsb, pst-grad, pst-gr3d, pst-key, pst-lens, pst-node, pst-optic, pst-osci, pst-plot, pst-poly, pst-slpe, pst-text, pst-tree, pst-3d, ps4pdf, randbild, rrgtrees, sseq, xypic, xytree |
listy, wykazy | +cjwoutl, enumerate, enumitem, enum, etaremune, expdlist, itemrule, linguex, listliketab, liststyle, mdwlist, multienum, paralist, revnum, shortlst |
nagłówki i stopki | +extramarks, fancyhdr, fancyheadings, fixmarks, fix2col, floatpag, fwlw, head, nccfancyhdr, nopageno, pageno, romanneg, rplain, thumb, underlin, xhead, xmarks |
wzory chemiczne | +aliphat, chemarrow, chemarr, chemcompounds, chemist, chemstr, chemsym, corridx, fusering, hcycle, hetaromh, hetarom, locant, lowcycle, methylen, mhchem, polymers, stree, xymtex |
druk ,,dosłowny'' (verbatim), a także listingi programów (konstrukcje w różnych językach programowania, diagramy syntaktyczne) | +algorithm2e, alltt, clrscode, cmtt, extract, fancyvrb, filecontents, fvrb-ex, grverb, keyvald, listings, listing, method, mftinc, moreverb, newalg, newvbtm, programs, program, pseudocode, shortvrb, sverb, syntax, tcldoc, url, varvbtm, verbasef, verbatim, verbdef, vrbexin |
egzaminy, quizy, krzyżówki, pytania/odpowiedzi | +answers, anufinalexam, crosswrd, dialog, exam, exam, exam, exerquiz, probsoln, qcm, sudoku, web |
notatki na marginesie | +changebar, fixme, framed, marginal, marginnote, marn, mparhack, vruler |
ułatwienie konwersji dokumentu do postaci HTML lub przetwarzanie dokumentu HTML/XML | +foilhtml, frames, hlist, hml, hmonth, hthtml, htmllist, html, justify, ldump, svninfo, typehtml, url, verbatimfiles |
kolor | +blackdvi, colordvi, colorinfo, colortbl, color, framed, pdfcolmk, pstcol, xcolor |
wersje dokumentu | +comment, excludeonly, optional, versions, version, vversion |
powiązania, referencje, hiperreferencje | +autind, backcite, backrefx, bibcheck, biblref, bibref, breakurl, camel, cccite, cc2cite, chapterbib, chbibref, cite, crossreference, drftcite, drftcono, endheads, fancyref, fncylab, hxt-bc, hypbmsec, hypcap, hypernat, iagproc, indxcite, labeldeb, lastpage, overcite, prettyref, refcheck, refcount, refstyle, relabel, saferef, showkeys, showlabels, smartref, titleref, totpages, url, ut-backref, varioref, vrflocal, xr |
matematyka | +12many, accents, amsbsy, amscd, amsfonts, amsgen, amsmath, amsopn, amssymb, amstext, amsxtra, ams, apjfonts, arcs, arrsy, bbm, bm, braket, cancel, cases, cellspace, circle, commath, complexity, concmath, cursor, dblfont, deccomma, delarray, deleq, dotlessj, dotseqn, easybmat, easyeqn, easymat, easyvector, easy, elmath, empheq07, empheq, eqname, eqnarray, esdiff, eucal, eufrak, eulervm, euler, euscript, exscale, extarrows, fixmath, fleqn, formular, fourier, functan, gauss, harpoon, lamsarrow, leftidx, leqno, mathbbol, mathcmd, mathdesign, mathenv, mathenv, mathpazo, mathpple, maybemath, mdwmath, mdwtab, mhequ, moresize, mtgreek, nath, nccmath, oldstyle, oubraces, overrightarrow, paresse, permute, pmat, proba, proof, qsymbols, semantic, slashed, sobolev, statex, stmaryrd, subeqnarray, subeqn, tccompat, tensind, tensor, tmmaths, undertilde, vdm, xfrac, yhmath, zed-csp |
spisy (treści, tabel, rysunków itp.) | +minitocoff, minitoc-hyper, minitoc, titletoc, tocloft |
rysunki (tabele) ,,oblewane'' tekstem, inicjały | +dropping, floatflt, fraktur, lettrine, nccfloats, wrapfig, wrapft, xinitials |
obroty tekstu (i nie tylko) | +example, lscape, pdflscape, rotate-textures, rotate, rotating, rotfloat, rotpages |
liczniki, operacje na licznikach | +chappg, chngcntr, chngpage, count1to, dcounter, fmtcount, refcount, regcount, remreset, sublabel |
używane wewnętrznie przez inne pakiety | +getwidth, ifoption, inicap, mathscinet, mathtools, mhsetup, pcatcode, rkeyval, textcmds |
czas i data | +advdate, isodateo, printtim, time, time |
testowanie przetwarzania, wydruki kontrolne | +autoerr, changebar, checkend, cmdtrack, colorinfo, diagnose, draftcopy, drftcite, fixme, fnbreak, gdgspace, hilowres, labeldeb, layout, preview, printlen, refcheck, regcount, setspace, showkeys, showlabels, snapshot, somedefs, srcltx, syntonly, tracefnt, trace, typogrid, vertbars, vruler, vversion, xo-grid |
dokument hipertekstowy | +backref, hyperref, hyper, minitoc-hyper, nameref, nohyperref, ntheorem-hyper |
diagramy, wykresy słupkowe, schematy | +bar, bitfield, bytefield, circ, cuisine, dcpic, dnaseq, ecltree, feynmf, feynmp, flow, histogr, kuvio, msc, multibox, nassi, othello, pb-diagram, pb-lams, pb-xy, pmgraph, pndraw, pnets, pntext, qobitree, register, rrgtrees, scalebar, schedule, semantic, synttree, tableau, termcal, textopo, timing, trees, t-angles, youngtab |
nuty, muzyka | +guitar |
tworzenie skorowidzów, słowników itp. | +autind, bibref, compare, docidx2e, docindex, glossary, index, ltxindex, makeidx, repeatindex, robustindex, showidx, sort, splitidx, varindex, xindex |
wyróżnienia tekstu ozdobniki (podkreślenia, druk rozstrzelony i t.p.) | +color, compsci, contour, dashrule, fancyvrb, lettersp, oldstyle, scalefnt, shadbox1, shadbox, slemph, soul, textfit, tracking, ulem, umoline, underscore, ushort, wiggly, xcolor |
prezentacje (również PDF) | +attachfile, automata, beamer, dljslib, eforms, eq2db, exerquiz, fixseminar, flowfram, foils, ha-prosper, ifmslide, insdljs, movie15, obox, pause, pdfpages, pdfscreen, pdfslides, pdfslide, pdftricks, powerdot, powersem, ppr-prv, prosper, schemes, semcolor, semhelv, seminar, semlayer, semlcmss, semrot, sem-page, slidenotes, slidesec, talk, texpower, tpmultiinc, tppstcol, tpsem-a4, tpslifonts, web |
skład wielołamowy | +balance, cuted, fixltx2e, fix2col, flushend, midfloat, multicol, parallel, parrun |
przepisy kulinarne | +cuisine |
inne, ciekawe środowiska | +algorithmic, algorithm2e, algorithm, alg, amsthm, answers, attrib, boxedminipage, ccalgo, ccaux, ccproof, ccqed, ccreltx, ccthm, compactbib, compsci, desclist, enumitem, epigraph, eqlist, eqparbox, exercise, filecontents, framed, fvrb-ex, genmpage, listing, mathenv, mhequ, midpage, msg, nccthm, newalg, newproof, newthm, notes, ntabbing, ntheorem-hyper, ntheorem, outliner, outline, qed, raggedr, ragged2e, sets, smfenum, smfthm, sublabel, sverb, syntax, tabbing, thcc, theorem, thmbox, varwidth, verse, vhistory, xtheorem |
akcenty | +accents, arcs, exaccent, textcomp, undertilde |
definiowanie dodatkowych symboli | +aecompl, amssymb, amsxtra, ams, apjfonts, arrsy, chemarr, chemsym, cjwunits, comicsans, complexity, dblfont, dotlessi, dotlessj, esint, esvect, eurosym, extdash, extpfeil, fourier-orns, fourier, fraktur, galois, gensymb, hhtensor, keystroke, latexsym, manfnt, marvosym, mathcomp, mattens, mflogo, mtgreek, nccbbb, nicefrac, noitcrul, overrightarrow, oz, paresse, psgreek, qsymbols, semantic, semtrans, siunits, sobolev, spanish, statex, tccompat, texlogos, tone, trfsigns, vdm, vector, wasysym |
pozostałe pakiety | +acromake, afterpage, alphanum, askinclude, at, authblk, bits, bophook, boundbox, cchess, clock, comma, conditionals, csvtools, curve, dottex, dvipaste, easytitle, eurofont, euro, fancynum, fink, grabhedr, gradback, harmony, hexdump, indentfirst, juraabbrev, kvmacros, lambda, lazylist, lhelp, listout, makedtx, mathenv, menu, metre, minutes, misc, moredefs, mtcoff, needspace, nomencl, nth, numprint, onepagem, pagepc, path, pcode, plain, relinput, relsize, setdim, shapepar, shorttoc, skak, slownie, songbook, swrule, texmate, tvz-code, tvz-hax, tvz-user, volumes, xcomment, xspace |
etykiety, wizytówki | +envlab, flacards, labels, nicefram, olabels |
obiekty ruchome (table, float lub tworzenie nowych) i ich opisy (caption) | +algorithm, boxhandler, captcont, captdef, caption2, caption, capt-of, ccaption, ccapt2, cuted, dblfloatfix, dpfloat, endfloat, figbib, figcaps, figsize, flafter, floatpag, floatrow, float, fltpage, ftcap, graphfig, here, hhsubfigure, hvfloat, mcaption, midfloat, multicap, nonfloat, photo, placeins, plates, rotating, rotfloat, semioneside, sidecap, stfloats, subfigmat, subfigure, subfig, subfloat, topcapt, xo-capt, xo-float |
bibliografia | +amsrefs, apacite, autind, backrefx, backref, bibcheck, bibentry, bibleref, biblref, bibref, bibtexlogo, bibtopic, bibunits, breakcites, ccdbs, chapterbib, chbibref, chemcono, citehack, citeref, cite, drftcite, easybib, footbib, harvard, har2nat, jeb-bibl, jurabib, listbib, makebst, mcite, mlbib, multibbl, multibib, natbib, opcit, overcite, splitbib, tocbibind, ut-backref |
dodatki do jądra LaTeXa | +clefval, dcounter, diagnose, doafter, docmfp, duplicat, dvipaste, dvipscol, everysel, everyshi, export, filecontents, fonttable, ifmtarg, import, inpmath, keyval, ldcsetup, localloc, l3basics, l3chk, l3doc, l3expan, l3int, l3io, l3names, l3precom, l3prop, l3quark, l3seq, l3tlp, l3toks, mff, morehelp, multido, mwrite, namespc, nccboxes, newclude, newfile, newlfont, nextpage, nolbreaks, notoccite, oldlfont, overword, pagesel, patchcmd, perltex, perpage, plprefix, poligraf, polski, regcount, remreset, rmpage, robustcommand, rtkinenc, savesym, selectp, settobox, subfiles, sublabel, substr, tclldoc, template, texsort, textcase, tokenizer, toklist, toolbox, trace, trace, truncate, twoopt, upref, warning, xdoc2, xkeyval, xoutput, xo-alloc, xo-final, xo-here, xo-new, xo-or, xo-page, xo-place, xo-trace, xparse, xtools |
pasery, informacje dla drukarni | +cropmark, cropmark, crop, ncccropmark, wmcropmark |
sterowanie wyglądem dokumentu | +booklet, cd-cover, classicthesis, coverpage, emulateapj, flacards, fullpage, geometry, hepunits, hep, IEEEconf, layouts, margins, multitoc, nddiss2e, picinpar, pracjourn, rotpages, scale, sciposter, scrlettr, semioneside, showframe, textpos, tocenter, twoup, vmargin, watermark, xpage, 2in1, 2up |
podłączanie innych fontów | +ae, altfont, amsfonts, amssymb, anttor, apjfonts, bembo, bold-extra, cmap, cmlgc, cmmib57, concmath, concrete, couriers, cyinpenc, cyoutenc, cyrlatex, dsfont, duerer-latex, em, eucal, eufrak, eulervm, euscript, everysel, extraipa, extsizes, fix-cm, fourier, frcursive, hfoldsty, lcy, lgreek, lhcyralt, lhcyrkoi, lhcyrwin, lmodern, lucbmath, lucidabr, lucida, lucidbrb, lucidbry, lucmin, lucmtime, luctime, mathbbol, mathdesign, mathpazo, mathpi, mathpple, mathtime, mdwfonts, mff, mf-frak, mtimes, mtpro, mt11p, npsfont, oldgerm, ot2, pandora-latex, pdfcprot, proba, psfonts, psfont, pxfonts, qbookman, qcourier, qpalatin, qpxmath, qpxsc, qswiss, qtimes, qtxmath, qzapfcha, russian, sansmath, sans, sexscale, smallcap, ssqquote, startrek, suetterl, texnansi, tipa, tipx, tmmathm, tmmaths, tmmath, tpcmfont, twcal, txfonts, upgreek, va, vowel, yfonts |
biologia | +biotex, texshade |
tablice (tabele), ,,wykończenia tabeli'', pozycjonowanie liczb w tabeli, długie tabele | +arrayjob, array, arydshln, bigdelim, bigstrut, blkarray, booktabs, colortbl, ctable, dcolumn, delarray, easytable, hhline, listliketab, longtable, ltablex, ltabptch, ltxtable, makecell, mdwtab, multirow, polytable, rccol, slashbox, stabular, supertabular, tabls, tabularx, tabulary, threeparttable, warpcol, xtab, 3parttable |
poprawki do jądra LaTeXa lub innych pakietów | +accents, cuted, dblfloatfix, dvipscol, edtab02, fixltx2e, fixmath, fix2col, fix-cm, flushend, footmisc, ftcap, hypcap, hypernat, iagproc, icomma, inpmath, lnopatch, ltabptch, makebox, mfparptc, mparhack, notoccite, onlyamsmath, pdfcolmk, pdflscape, sphack, subscript, tameflts, textcase, xkvltxp |
listy, faxy, korespondencja seryjna | +delimtxt, formlett, mpdinbrief, newlfm, serial, textmerg |
przypisy | +dblfnote, ednotes, endnotes, fixfoot, floatrow, fnbreak, fnpara, fnpos, fn2end, footmisc, footnpag, ftnright, manyfoot, mfparptc, nccfoots, pagenote, pfnote, savefnmark, xfootnote |
obliczenia | +advdate, arabic, brclc, calc, dates, dow, engord, fp, ifthen, labelcas, lcg, lfp, modroman, multiply, permute, polynom, totpages, trig, weekday, xifthen |
+
ruled + | jeżeli na jednej stronie wystąpi kilka typów + przypisów, będą one oddzielone wynikiem działania + polecenia \extrafootnoterule (domyślnie + jest mu nadawana wartość \footnoterule) |
para + | opcja uaktywnia możliwość + utworzenia typu przypisu, który będzie składany + w postaci jednego akapitu (p. też fnpara lub + footmisc) + |
para* + | jak wyżej, ale + w akapicie nie będzie wcinana pierwsza linia + |
Wewnątrz pakietu jest wywoływany pakiet nccfoots, w którym są
+definiowane
+następujące polecenia:
+
+Footnotemark{marker} + | + wstawia odsyłacz do przypisu, jeżeli wartość parametru jest + nieokreślona (pusta), wstawiana jest ostatnio użyta + (zarówno w poleceniu footnote, footnotemark + jak i \Footnotemark i Footnote) + |
+Footnotetext{marker}{tekst + | + wstawia przypis (bez odsyłacza), jeżeli wartość parametru marker + jest + nieokreślona (pusta), wstawiana jest ostatnio użyta + (zarówno w poleceniu footnote, footnotemark + jak i \Footnotemark i Footnote) + |
+Footnote{marker}{tekst + | + wstawia odsyłacz do przypisu (i przypis), jeżeli wartość parametru + marker jest + nieokreślona (pusta), wstawiana jest ostatnio użyta + (zarówno w poleceniu footnote, footnotemark + jak i \Footnotemark i Footnote) + |
Do tworzenia nowych typów przypisów służy następujące polecenie:
+\newfootnote[parametr]{suffix}
+parametr może przyjmować wartości: plain i para
+(tylko w przypadku użycia opcji para lub para*
+przy wywołaniu pakietu).
+
+
Powyższe polecenie tworzy jedynie obiekt ruchomy typu ,,footnote''
+oraz polecenie \Footnotetextsuffix o następującej składni:
+\Footnotetextsuffix{marker}{tekst}; to niestety
+nie wszystko, oprócz tego należy zdefiniować licznik i podstawową
+makroinstrukcję służącą do wstawienia przypisu -- poniżej przykład
+utworzenia dwu nowych typów przypisów:
+
+\newfootnote{A} +\newfootnote{B} +\newcounter{footnoteA} +\newcommand{\footnoteA}{% + \stepcounter{footnoteA}% + \Footnotemark\thefootnoteA \FootnotetextA{}} +\newcounter{footnoteB} +\newcommand{\footnoteB}{% + \stepcounter{footnoteB}% + \Footnotemark\thefootnoteB \FootnotetextB\thefootnoteB} +\renewcommand{\thefootnoteB}{\roman{footnoteB}} ++i ich użycie: +
+to jest tekst +to jest tekst\footnoteA{a to przypis typu A} +to jest tekst\footnoteB{a to przypis typu B} +to jest tekst ++
+Proces tworzenie jest nowego typu przypisu jest nieco uciążliwy,
+proponuję dopisanie poniższego kodu:
+
+\makeatletter +\let\xxx=\newfootnote +\let\newfootnote\relax +\def\newfootnote{% + \@ifnextchar[{\@xnewfootnote}{\@ynewfootnote}} +\def\@xnewfootnote[#1]#2{% +\@newfootnote[#1]{#2}% +} +\def\@ynewfootnote#1{% +\@newfootnote[plain]{#1}% +} +\def\@newfootnote[#1]#2{% + \xxx[#1]{#2} + \expandafter\newcounter{footnote#2} + \edef\@tempa{\noexpand\newcommand + \expandafter\noexpand\csname Footnote#2\endcsname + {% + \noexpand\stepcounter{footnote#2}% + \noexpand\Footnotemark{\noexpand\csname thefootnote#2\endcsname}% + \expandafter\noexpand\csname Footnotetext#2\endcsname{}}}% + \@tempa +} +\makeatother ++składnia polecenie \newfootnote zostaje zachowana, jednak w wyniku jej +działania zostanie utworzony odpowiedni licznik przypisów danego typu, +oraz samo polecenie wstawiania przypisu. +\Footnotesuffix{tekst przypisu}, proszę zwrócić +uwagę, że nie można w tym poleceniu określić parametru opcjonalnego +określającego inny, niż kolejny, numer przypisu. + +
Teraz utworzenie nowych typów przypisów jest proste: +
+\newfootnote{A} +\newfootnote{B} +\renewcommand{\thefootnoteB}{\roman{footnoteB}} ++i ich użycie: +
+to jest tekst +to jest tekst\FootnoteA{a to przypis typu A} +to jest tekst\FootnoteB{a to przypis typu B} +to jest tekst ++
oraz efekt:
+
+
+
Maksymalna wysokość zajmowana przez przypisy danego typu +(a nie przez wszystkie razem) wynosi +\dimen\footins +
+
+polecenie | opis |
---|---|
+\dominitoc | polecenie musi być obowiązkowo użyte przed użyciem
+ polecenia \tableofcontents lub jednego z
+ poniższych |
+\dominilof | polecenie musi być obowiązkowo użyte przed użyciem
+ polecenia \tableoffigures lub jednego z
+ poniższych |
+\dominilot | polecenie musi być obowiązkowo użyte przed użyciem
+ polecenia \tableoftables lub jednego z
+ poniższych |
+\faketableof... | jeżeli rezygnujemy z głównego spisu
+ (polecenie \tableof... ) to
+ zamiast niego należy użyć właśnie tego polecenia
+ zastępczego (zamiast ... należy
+ użyć odpowiedniego określenia: + figures, + tables lub + contents; np. + figures czyli \faketableoffigures ) |
+\minitoc | może być użyte po każdym rozdziale, inicjując lokalny + spis treści |
+\minilot | może być użyte po każdym rozdziale, inicjując lokalny + spis tablic |
+\minilof | może być użyte po każdym rozdziale, inicjując lokalny + spis rysunków |
+\mtcindent | definiuje wielkość lewego i prawego marginesu + w spisie (standardowo 24pt) |
+\minitocdepth | maksymalna głębokość podrozdziału, który + znajdzie się w spisie |
+\mtcfont | definicja podstawowego fontu używanego do składania
+ spisu, argumentem polecenia jest polecenie
+ zmiany czcinonki np.
+ \mtcfont{\normalfonts\bfseries} |
+\mtcSfont | font dla tytuł section |
+\mtcSSfont | font dla tytuł subsection |
+\mtcSSSfont | font dla tytuł subsubsection |
+\mtcPfont | font dla tytuł paragraphs |
+\mtcSPfont | font dla tytuł subparagraphs |
+\mlffont | font dla figures |
+\mltfont | font dla tables |
+\mtifont | font dla tytułu spisu |
+polecenie | opis |
---|---|
+\dosecttoc | polecenie musi być obowiązkowo użyte przed użyciem
+ polecenia \tableofcontents lub jednego z
+ poniższych |
+\dosectlof | polecenie musi być obowiązkowo użyte przed użyciem
+ polecenia \tableoffigures lub jednego z
+ poniższych |
+\dosectlot | polecenie musi być obowiązkowo użyte przed użyciem
+ polecenia \tableoftables lub jednego z
+ poniższych |
+\faketableof... | jeżeli rezygnujemy z głównego spisu
+ (polecenie \tableof... ) to
+ zamiast niego należy użyć właśnie tego polecenia
+ zastępczego (zamiast ... należy
+ użyć odpowiedniego określenia:
+ figures,
+ tables lub
+ contents; np.
+ figures czyli \faketableoffigures ) |
+\secttoc | może być użyte po każdej sekcji, inicjując lokalny + spis treści |
+\sectlot | może być użyte po każdej sekcji, inicjując lokalny + spis tablic |
+\sectlof | może być użyte po każdej sekcji, inicjując lokalny + spis rysunków |
+\stcindent | definiuje wielkość lewego i prawego marginesu + w spisie (standardowo 24pt) |
+\secttocdepth | maksymalna głębokość podrozdziału, który + znajdzie się w spisie |
+\stcfont | definicja podstawowego fontu używanego do składania + spisu, argumentem polecenia jest polecenie + zmiany czcinonki np. + \comm{stcfont\{\bsl normalfonts\bsl bfseries\}} |
+\stcSSfont | font dla tytuł subsection |
+\stcSSSfont | font dla tytuł subsubsection |
+\stcPfont | font dla tytuł paragraphs |
+\stcSPfont | font dla tytuł subparagraphs |
+\slffont | font dla figures |
+\sltfont | font dla tables |
+\stifont | font dla tytułu spisu |
+polecenie | opis |
---|---|
+\doparttoc | polecenie musi być obowiązkowo użyte przed użyciem
+ polecenia \tableofcontents lub jednego z
+ poniższych |
+\dopartlof | polecenie musi być obowiązkowo użyte przed użyciem
+ polecenia \tableoffigures lub jednego z
+ poniższych |
+\dopartlot | polecenie musi być obowiązkowo użyte przed użyciem
+ polecenia \tableoftables lub jednego z
+ poniższych |
+\faketableof... | jeżeli rezygnujemy z głównego spisu
+ (polecenie \tableof... ) to
+ zamiast niego należy użyć właśnie tego polecenia
+ zastępczego (zamiast ... należy
+ użyć odpowiedniego określenia:
+ figures,
+ tables lub
+ contents; np.
+ figures czyli \faketableoffigures ) |
+\parttoc | może być użyte po każdej części, inicjując lokalny + spis treści |
+\partlot | może być użyte po każej części, inicjując lokalny + spis tablic |
+\partlof | może być użyte po każej części, inicjując lokalny + spis rysunków |
+\ptcindent | definiuje wielkość lewego i prawego marginesu + w spisie (standardowo 24pt) |
+\parttocdepth | maksymalna głębokość podrozdziału, który + znajdzie się w spisie |
+\ptcfont | definicja podstawowego fontu używanego do składania
+ spisu, argumentem polecenia jest polecenie
+ zmiany czcinonki np.
+ \mtcfont{\normalfonts\bfseries} |
+\ptcCfont | font dla tytuł chapter (tylko dla klas
+ mających zdefiniowane polecenie
+ \chapter ) |
+\ptcSfont | font dla tytuł section |
+\ptcSSfont | font dla tytuł subsection |
+\ptcSSSfont | font dla tytuł subsubsection |
+\ptcPfont | font dla tytuł paragraphs |
+\ptcSPfont | font dla tytuł subparagraphs |
+\plffont | font dla figures |
+\pltfont | font dla tables |
+\ptifont | font dla tytułu spisu |
polecenie | wartość | podpis dla: |
---|---|---|
+\mtctitle | {Spis rzeczy} | minitoc |
+\mlftitle | {Spis rysunk\'ow} | minilof |
+\mlttitle | {Spis tablic} | minilot |
+\ptctitle | {Spis rzeczy} | parttoc |
+\plftitle | {Spis rysunk\'ow} | partlof |
+\plttitle | {Spis tablic} | partlot |
+\stctitle | {Spis rzeczy} | secttoc |
+\slftitle | {Spis rysunk\'ow} | sectlof |
+slttitle | {Spis tablic} | sectlot |
\mini...
mogą mieć parametr opcjonalny (np:
+\minitoc[c]
); wartością parametru może być jeden ze znaków:
+\domini...
; np. \dominitoc[c]
.
+
+
+
+Poniżej przedstawiam listę pakietów o których zawsze warto pamiętać, +wraz z ich krótką charakterystyką.
+ + ++
nazwa pakietu | krótka charakterystyka |
---|---|
accents | definiuje nowe akcenty + i poprawia pozycjonowanie podwójnych akcentów |
amsthm | umożliwia definiowanie + środowisk z nagłówkiem; typu ,,twierdzenie'', ,,lemat'' + ,,definicja'' itp. |
array | umożliwia definiowanie + własnych typów kolumn w środowiskach + tabularycznych (tabular i array) |
caption | umożliwia łatwe definiowanie + składu podpisami obiektów ruchomych |
changebar | umożliwia zaznaczanie + na marginesie zmienionych lub usuniętych fragmentów tekstu (da się wykorzystać + do tworzenia środowiska z kolorowym tłem bez zamykania tekstu w pudełku, + czyli nie zaburzającego procesu łamania strony) + |
cite | sortowanie listy powołań na + bibliografię, łatwe definiowanie wyglądu tej + listy |
dcolumn | ułatwia pozycjonowanie + w kolumnach zawierających liczby + zmiennoprzecinkowe |
enumitem | redefiniuje środowiska + enumerate, itemize, description umożliwiając zmianę + sposobu ozanczania poszczególnych pozycji |
footmisc | ułatwia sterowanie + składem przypisów |
manyfoot | udostępnia mechanizm tworzenia + nowych obiektów typu ,,przypis'' (footnote) |
fnpos | pakiet zawiera polecenia + umożliwiające określenie położenia przypisów względem + rysunków (figure) lub tabel (table) umieszczanych na + dole strony -- przed lub za |
flushend | umożliwia wyrównanie + szpalt na końcu składu dwuszpaltowego (tak jak + w środowisku multicols) |
mparhack | poprawka do jądra LaTeX-a. + kompensująca błąd polegający na nieprawidłowym + rozmieszczeniu + not na marginesie (\marginpar), przy składzie + dwustronnym (twoside). Algorytm działa + dwuprzebiegowo. |
ltabptch | poprawka do pakietu + longtable |
ltablex | łączy cechy pakietu + tabularx i longtable (ładuje oba pakiety) + -- środowisko tabularx zachowuje się tak jak + longtable (tabela która podlega łamaniu na strony) |
pfnote | wprowadza poprawny mechanizm + numerowania przypisów (jednocześnie wymusza go) w + ramach jednej strony, jest on realizowany + dwuprzebiegowo |
hhline | definiuje konstrukcje do + definiowania obramowań w tabelach |
index | umożliwia tworzenie + kilku zestawów skorowidzów |
multirow | umożliwia łączenie + pól tabeli w pionie |
float | umożliwia definiowanie nowych + obiektów ruchomych |
floatrow | rozszerzenie możliwości pakietu float + pozwala na definiowanie przypisów w obiektach ruchomych, dokładanie ramek + do rysunków, definiowanie rysunków wieloczęściowych |
rotating | definiuje środowiska + i polecenia do obrotu obiektów + (korzysta z postscriptu) |
rotfloat | umożliwia definiowanie nowych + obiektów ruchomych, również w wersji obróconej + (korzysta z postscriptu). + Korzysta z pakietów float + i rotating |
antt | + pakiety ładujące inne zestawy fontów; + z ładnymi ,,ogonkami'' |
antpolt | |
qtimes | |
qcourier | |
qpalatin | |
qbookman | |
qswiss | |
pxfonts | skład matematyki fontem + zbliżonym do Palatino |
txfonts | skład matematyki fontem + zbliżonym do Times-a |
polski | definiuje i zmienia definicję + szeregu makroinstrukcji polonizując LaTeX-a na najniższym + poziomie: kategorie znaków, nazwy miesięcy, standardowe + teksty, np. ,,rozdział'', ,,bibliografia'' itp. |
ulem | umożliwia wprowadzenie dodatkowych + wyróżnień tekstu; np. podkreślenie. Można definiować + własne wyróżnienia |
ragged2e | pakiet udostępnia środowiska + składu z wyrównaniem do prawego/lewego marginesu + z włączonym przenoszeniem wyrazów |
slownie | wypisywanie wartości liczebników + ,,słownie'' |
subscript | definiuje makroinstrukcję + \textsubscript, analogicznie do + \textsuperscript |
url | definiuje makroinstrukcję + \url do wizualizacji adresów internetowych + (łatwa zmiana fontu) |
graphicx | dołączanie grafiki |
expdlist | nowe możliwości środowiska + description |
floatpag | sterowanie paginą na stronach + zajmowanych wyłącznie przez obiekty ruchome |
color | umożliwia kolorowanie + różnych elementów dokumentu |
version | umożliwia tworzenie + dokumentów wielowariantowych |
delarray | poprawne pozycjonowanie + tabel (array), które są obejmowane nawiasami + (konstrukcje \left i \right) |
floatflt | tabele i rysunki ,,oblewane'' + tekstem |
sublabel | umożliwia numerowanie + obiektów licznikiem podrzędnym |
moreverb | zawiera nowe polecenia + rozszerzające możliwości środowisk typu + verbatim |
verbatim | redefiniuje standardowe + środowisko verbatim -- umożliwia tworzenie + nowych środowisk tego typu |
hyperref | tworzy z dokumentu + dokument hipertekstowy (po przetworzeniu do postaci + pdf) |
subfig | tworzenie rysunków złożonych + z kilku części z własnymi podpisami |
+ +
polecenie | Opis |
---|---|
+\begin{verbatimwrite}{zbiór} +. +. +\end{verbatimwrite} + | zawartośc środowiska jest zapisywana + dosłownie do podanego zbioru (jeżeli nie jest podane rozszerzenie, + przyjmowane jest rozszerzenie .tex; p. też filecontents) + |
+\verbatimtabsize + | + domyślny skok tabulatora + (np: \def\verbatimtabsize{8\relax}) + dla środowiska verbatimtab, listing + |
+\listingoffset + | + margines dla środowiska listing -- + odległość między numerem linii, a tekstem + (np: \def\listingoffset{1.5em}) + |
+\begin{listing}[step]{numer} +. +. +\end{listing} + | + tekst jest prezentowany w sposób dosłowny, linie są + numerowane z krokiem step (domyślnie 1) + począwszy od wartości numer + |
+\begin{listing*}[step]{numer} +\end{listing*} + | + podobnie jak poprzednio, ale spacje są oznaczane + specjalnym znakiem) + |
+\begin{verbatimtab}[step] +. +. +\end{verbatimtab} + | + podobnie jak verbatim, ale rozwijane są tabulatory + ze skokiem step (domyślnie + \verbatimtabsize) + |
+\listinginput[skok]{numer}{zbiór} + | + powoduje wczytanie zbioru zbiór bez interpretacji + linie są numerowane ze skokiem skok, a + pierwszej linii będzie nadany numer numer + |
+\verbatimtabinput}[krok]{zbiór} + | + powoduje wczytanie zbioru zbiór bez interpretacji + -- rozwijany jest tabulator ze skokiem krok + |
+\begin{boxedverbatim} +. +. +\end{boxedverbatim} + | + tworzy środowisko verbatim otoczone ramką + |
Pakiet zawiera poprawkę do jądra LaTeX-a. + kompensującą błąd polegający na nieprawidłowym + rozmieszczeniu + not na marginesie (\marginpar), przy składzie + dwustronnym (twoside). Algorytm działa + dwuprzebiegowo.
+ ++ +
+Pakiet jest dostępny pod adresem: + +ftp://ftp.gust.org.pl/TeX/macros/latex/contrib/mparhack
+
+aqq aqq aqqq\footnote{przypis pierwszy}\footnote{przypis drugi} aqq aqq ++
+Wygląd tekstu po przetworzeniu LaTeX-em bez załadowania pakietu
+multfoot
+
+oraz wygląd po przetworzeniu z załadowanym pakietem
+
+
+
\multimake(x,y)(dx,dy)
+ {n}(w,h)[pos]
+ {text1}{text2}...{textn}
\multiframe(x,y)(dx,dy)
+ {n}(w,h)[pos]
+ {text1}{text2}...{textn}
+\begin{picture}(80,80) +\multimake(0,0)(20,20){4}(10,10)[b]{1}{2}{3}{4} +\end{picture} +\begin{picture}(80,80) +\multiframe(0,0)(20,20){4}(10,10)[b]{1}{2}{3}{4} +\end{picture} ++ +
\begin{multicols}{liczba
+ szpalt}[tekst][odstęp]
++... +. +tekst łamany w wielu szpaltach +. +... +\end{multicols} ++ +
+Tekst (lub komenda) ujęty w nawiasy [] (tekst) +jest umieszczany (wykonywana) +przed zmianą łamania na wieloszpaltowe (może być pominięty), ale zawsze +na tej samej stronie (pozwala to na ,,przyklejenie'' tytułu do +tekstu łamanego w kilku szpaltach). odstęp (parametr opcjonalny) +określa minimalną ilość miejsca na stronie, jeżeli na danej +stronie jest zbyt mało miejsca, całe środowisko zostanie przeniesione +na następną stronę. Szpalty są +wyrównywane (balans). + +
+Budową środowiska rządzi kilka zmiennych, zmieniając ich wartości +możemy dostosować go do swoich potrzeb: + +
+parametr | opis |
---|---|
+\premulticols | minimalna ilość miejsca na stronie pozwalająca + na otwarcie środowiska (patrz parametr opcjonalny + przy otwarciu); domyślnie 50pt |
+\postmulticols | tekst znajdujący się za środowiskiem znajdzie się na tej samej + stronie jeżeli jest na niej więcej niż wskazana ilość miejsca, + w przeciwnym wypadku zostanie przerzucony na następną stronę; + domyślnie 20pt |
+\multicolsep | odległość pionowa między tekstem objętym środowiskiem, + a poprzedzającym i następującym (domyślnie 12pt plus 4pt + minus 3pt) |
+\columnsep | odległość między szpaltami (domyślnie 10pt) |
+\linewidth | długość w.g. której jest obliczana szerokość szpalty + ((linewidth -- (n -- 1) * columnsep) / n) |
+\columnseprule | grubość linii oddzielającej szpalty (jeśli + grubość wynosi 0pt to linia jest niewidoczna); domyślnie 0pt |
+\flushcolumns | szpalty są zawsze wyrównywane (balans), jeśli liczba + wierszy nie jest podzielna przez liczbę szpalt + do dostawiane jest dodatkowe światło między liniami + (jest to standardowy sposób) |
+\raggedcolumns | szpalty mają równą długość jeśli liczba wierszy + jest podzielna przez liczbę szpalt, w przeciwnym wypadku ostatnia + szpalta jest krótsza |
+\unbalanced | licznik określający liczbę dodatkowych wierszy, + które mają znależć się + w szpaltach na lewo od ostatniej (razem: licznik * liczba + szpalt) w stosunku do + normalnego procesu łamania (pozwala to na + regulowanie długości ostatniej szpalty) |
\multirow{liczba wierszy}[njot]{szerokość celi}%
+ [vmove]{zawartość}
+Dodatkowo można zdefiniować makroinstrukcję multirowsetup. Jest +ona rozwijana przy każdym rozpoczęciu celi definiowanej +przez multirow +
+\renewcommand{\multirowsetup}{\centering} +\begin{tabular}{|l|l|l|l|} +\hline +\multirow{4}{2cm}{tekst w pierwszej kolumnie} & C2a & +\multirow{4}{2cm}{tekst w trzeciej kolumnie} & C4a\\ + & C2b & & C4b\\ + & C2c & & C4c\\ + & C2d & & C4d\\ +\hline +\end{tabular} ++ +
+\bigstrutjot=1pt% +\begin{tabular}{|l|l|l|l|} +\hline +\multirow{4}{2cm}{tekst w pierwszej kolumnie} & C2a & +\multirow{4}{2cm}{tekst w trzeciej kolumnie} & C4a\\ + & C2b & & C4b\\ + & C2c & & C4c\\ + & C2d & & C4d\\ +\hline +\end{tabular} ++ +
+\begin{tabular}{|l|l|l|l|} +\hline +\multirow{4}{2cm}{tekst w pierwszej kolumnie} & C2a & +\multirow{4}[30]{2cm}{tekst w trzeciej kolumnie} & C4a\\ + & C2b & & C4b\\ + & C2c & & C4c\\ + & C2d & & C4d\\ +\hline +\end{tabular} ++ +
+\begin{tabular}{|l|l|l|l|} +\hline +\multirow{4}{2cm}{tekst w pierwszej kolumnie} & C2a & +\multirow{4}{2cm}[30pt]{tekst w trzeciej kolumnie} & C4a\\ + & C2b & & C4b\\ + & C2c & & C4c\\ + & C2d & & C4d\\ +\hline +\end{tabular} ++
+\begin{tabular}{|l|l|l|l|} +\hline +\multirow{4}{2cm}{tekst w pierwszej kolumnie} & C2a & +\multirow{4}[30]{2cm}[-30pt]{tekst w trzeciej kolumnie} & C4a\\ + & C2b & & C4b\\ + & C2c & & C4c\\ + & C2d & & C4d\\ +\hline +\end{tabular} ++ +
Pakiet umożliwia prezentowanie liczb w znormalizowanej postaci +(również mianowanych).
+ +Zawiera on polecenia:
+
\numprint{liczba} | liczba może zawierać cyfry, znaki +-,
+litery Ee, kropkę oraz przecinek. Cała liczba jest prezentowana w
+trybie matematycznym (ale miano składane jest antykwą). Liczba w postaci 123E123 jest
+prezentowana w postaci ![]() |
\numprint[miano]{liczba} | |
\thousandsep{separator} | definiuje separator +tysięcy (standardowo \,) |
\decimalsignm{znak} | separator części +całkowitej i +ułamkowej (standardowo ,) -- będzie on użyty bez względu +jaki znak (kropka lub przecinek) był użyty w tekście źródłowym |
\productsign{znak} | separator wykładnika +(standardowo \cdot) |
\unitseparator{separator} | definiuje separator +liczby i miana (standardowo \,) |
\expnumprint{liczba1}{liczba2} | prezentuje liczbę
+zapisanš w postaci \expnumprint{123}{123} jako ![]() |
Zobacz także pakiet comma.
+ ++ +
Pakiet jest dostępny pod adresem:
+ftp://ftp.gust.org.pl/TeX/macros/latex/contrib/numprint
+1234567890 to jest liczba pisana standardową czcionką, \textos{1234567890} +--- a +to starym stylem; i analogicznie w trybie matematycznym: +$1234567890$ i $\mathos{1234567890}$ ++
+\overunderbraces{definicja nad}
+ {definicja równania}
+ {definicja pod}
+części równiania są dzielone na sekcje, przez wstawienie znaku \&.
+W definicji nad podajemy od której sekcji (przez wstawienie
+odpowiedniej liczby znaków & oraz ile sekcji
+ma obejmować nawias (przez wywołanie makroinstrukcji \br
;
+pierwszy parametr określa ile sekcji, a drugi tekst umieszczany nad
+nawiasem). Definicja pod jest zbudowana podobnie.
+
+
+
+ \overunderbraces{&\br{2}{x}& &\br{2}{y}} + {a + b + & + c + d + & + e + f & + + & g + h & + + i + j & + + k + l + m} + {& &\br{3}{z}} + = \pi r^2 ++ +
+\overunderbraces{definicja nad}
+ {definicja równania}
+ {definicja pod}
+części równiania są dzielone na sekcje, przez wstawienie znaku \&.
+W definicji nad podajemy od której sekcji (przez wstawienie
+odpowiedniej liczby znaków & oraz ile sekcji
+ma obejmować nawias (przez wywołanie makroinstrukcji \br
;
+pierwszy parametr określa ile sekcji, a drugi tekst umieszczany nad
+nawiasem). Definicja pod jest zbudowana podobnie.
+
+
+
+ \overunderbraces{&\br{2}{x}& &\br{2}{y}} + {a + b + & + c + d + & + e + f & + + & g + h & + + i + j & + + k + l + m} + {& &\br{3}{z}} + = \pi r^2 ++ +
Pakiet służy do przygotowania prezentacji ekranowej. Przygotowany dokument
+można kompilować standardowym TeX-em (tylko w przypadku wersji przeznaczonej do
+druku -- p. opcja print
) lub PDFTex-em, a programem służącym do
+wizualizacji ekranowej Acrobat Reader (niestety aktualny ghostscript (8.50)
+często sygnalizuje błąd przy próbie otwarcia takiego dokumentu). Dołączane są
+pakiety:
+color
,
+comment
,
+hyperref
,
+calc
,
+graphics
,
+shortvrb
,
+amssymb
,
+amsbsy
,
+truncate
oraz
+fancybox
(warto też dołączyć: array
,
+hhline
+dcolumn
+colortbl
).
Za pomocą tego pakietu można przygotować jednocześnie
+dwie wersje dokumentu: do druku i w postaci prezentacji ekranowej. Fragmenty
+specyficzne dla druku należy umieścić wewnątrz środowiska print
, a
+dla wersji ekranowej wewnątrz środowiska screen
(w tym wszystkie
+polecenia dotyczące ustawiania parametrów okna). Wybór fragmentów
+jest realizowany za pomocą opcji wywołania pakietu: screen
lub
+print
.
pdftex | kompilacja
+PDFTeX -em
+ |
dvips | kompilacja standardowym
+TeX-em (następnie przetwarzanie dvips -em)
+ |
dvipsone | przetwarzanie
+standardowym TeX-em, następnie dvipsone
+ |
dvipdf | przetwarzanie
+standardowym TeX-em, następnie dvipdf
+ |
dvipdfm | przetwarzanie
+standardowym TeX-em, następnie dvipdfm
+ |
dviwindo | przetwarzanie
+standardowym TeX-em, następnie dviwindo
+ |
ps2pdf | przetwarzanie
+standardowym TeX-em, następnie ps2pdf
+ |
vtex | przetwarzanie +VTeX-em + |
nocfg | zakaz wczytywania pliku
+pdfscreen.cfg , zawierającego wstępne ustawienia parametrów
+-- standardowo zbiór jest wczytywany (o ile istnieje). W standardowym pliku
+konfiguracyjnym oprócz kolorów zmieniono sposób składu nagłówków rozdziałów i
+podrozdziałów -- numer jest prezentowany na marginesie.
+ |
article | nieistotne + |
amsart | nieistotne + |
book | nieistotne + |
amsbook | nieistotne + |
sidebar | panel sterujący po +lewej stronie + |
panelleft |
+|
leftpanel |
+|
panelright | panel po prawej +stronie + |
rightpanel |
+|
absconsamepage | nieistotne + |
bluelace | ustawienie schematu
+kolorystyki na ,,bluelace'' (nie wiem jak to przetłumaczyć) -- opcja
+analizowana tylko przy użytej opcji nocfg
+ |
chocolate | ustawienie schematu
+kolorystyki na ,,czekoladowo'' -- opcja
+analizowana tylko przy użytej opcji nocfg
+ |
palegreen | ustawienie schematu
+kolorystyki na ,,jasno zielono'' -- opcja
+analizowana tylko przy użytej opcji nocfg
+ |
orange | ustawienie schematu
+kolorystyki na ,,żółto-brązowy'' -- opcja
+analizowana tylko przy użytej opcji nocfg
+ |
gray | ustawienie schematu
+kolorystyki na ,,szaro-niebieski'' -- opcja
+analizowana tylko przy użytej opcji nocfg
+ |
blue | ustawienie schematu
+kolorystyki na ,,niebieski'' (domyślny) -- opcja
+analizowana tylko przy użytej opcji nocfg
+ |
nopanel | brak panelu +sterującego + |
print | nie są analizowane
+fragmenty dokumentu zawarte w środowisku (environment) screen
+ |
screen | nie są analizowane
+fragmenty dokumentu zawarte w środowisku (environment) print
+ |
default | domyślny schemat +kolorystyki + |
paneltoc | na panelu kontrolnym
+zamiast odsyłacza do spisu treści pojawi się spis treści (jako aktywne odsyłacze, tytuły są skracane).
+Jeśli został zadysponowany
+spis treści (polecenie \tableofcontents ) to na panelu nie pojawi
+się spis treści, ani odsyłacz do właściwego spisu. W spisie treści nie będzie
+numer stron. Jeżeli opcja nie jest podana i nie zadysponowano spisu treści,
+odsyłacz do spisu treści wskazuje pierwszą stronę (za stroną tytułową).
+ |
code | definiowane jest
+polecenie \code , analogiczne do \verb (wielkość pisma
+ustawiana jest na small , krój na type writer i kolor
+taki jak dla rozdziału (zależny od schematu kolorystycznego) oraz środowisko
+decl . Uwaga! przed załadowaniem pakietu
+pdfscreen należy załadować pakiety: colortbl i
+array
+ |
sectionbreak | powoduje +przejście do nowej strony przy rozpoczęciu sekcji (rozdziału) + |
english | opis panelu w jęz. +angielskim + |
french | opis panelu w jęz. +francuskim + |
dutch | opis panelu w jęz. +holenderskim + |
czech | opis panelu w jęz. +czeskim + |
norsk | opis panelu w jęz. +??? + |
nynorsk | opis panelu w jęz. +??? + |
slovak | opis panelu w jęz. +słowackim + |
portuges | opis panelu w jęz. +portugalskim + |
spanish | opis panelu w jęz. +hiszpańskim + |
swedish | opis panelu w jęz. +szwedzkim + |
danish | opis panelu w jęz. +duńskim + |
polish | opis panelu w jęz. +polskim + |
russian | opis panelu w jęz. +rosyjskim + |
german | opis panelu w jęz. +niemieckim + |
slovene | opis panelu w jęz. +słoweńskim + |
catalan | opis panelu w jęz. +katalońskim + |
american | opis panelu w jęz. +angielskim + |
austrian | opis panelu w jęz. +angielskim + |
brazil | opis panelu w jęz. +portugalskim + |
breton | opis panelu w jęz. +angielskim + |
croatian | opis panelu w jęz. +angielskim + |
esperanto | opis panelu w jęz. +angielskim + |
finnish | opis panelu w jęz. +angielskim + |
galician | opis panelu w jęz. +angielskim + |
italian | opis panelu w jęz. +angielskim + |
magyar | opis panelu w jęz. +angielskim + |
romanian | opis panelu w jęz. +angielskim + |
turkish | opis panelu w jęz. +angielskim + |
francais | opis panelu w jęz. +francuskim + |
germanb | opis panelu w jęz. +niemieckim + |
\screensize{wysokość}{szerokośc} |
+ustalenie wysokości i szerokości obszaru roboczego (całkowitego) -- p.
+polecenie \margins i \marginsize . W przypadku
+prezentacji pełnoekranowej należy zachować proporcje zgodne z systemowymi
+ustawieniami ekranu. Ponieważ wielkość obrazu może być przeskalowana przez
+przeglądarkę, należy ustawić wymagane wartości proporcjonalnie do wielkości
+pisma. Przy małych wartościach ilość tekstu na stronie będzie mała, ale po
+powiększeniu okna przeglądarki pismo będzie duże; dla dużego okna
+powiększenie będzie niewielkie (lub wręcz trzeba będzie zmniejszyć okno przeglądarki)
+a wielkość pisma może okazać się zbyt mała.
+ | ||||||||||||||||||||||||||||||||||
\margins{lewy}{prawy}{górny}{dolny} | polecenie definiuje wielkości marginesów strony; ma charakter deklaratywny i powinno być użyte przed poleceniem \screensize ; powoduje ono jedynie nadanie wartości parametrom (kolejno):
+ \marginleft ,
+ \marginright ,
+ \margintop oraz
+ \marginbottom ; są one brane pod uwagę przy wyliczaniu
+ proporcji elementów okna
+ | ||||||||||||||||||||||||||||||||||
\marginsize{lewy}{prawy}{górny}{dolny} | polecenie ustawia wielkości marginesów; powinno być użyte po poleceniu \screensize ; wielkość lewego i prawego marginesu powinna uwzględniać szerokość panelu (o ile zadeklarowano jego obecność na ekranie).
+ | ||||||||||||||||||||||||||||||||||
\emblema{plik} | polecenie definiuje
+logo panelu (motyw przewodni) -- będzie nim
+obraz zawarty w wskazanym pliku graficznym. Uwaga! w standardowym pliku
+pdfscreen.cfg jest zdefiniowane że logo określa plik
+univ.jpg
+ | ||||||||||||||||||||||||||||||||||
\shorttitle{tytuł} | polecenie definiuje tekst +pojawiający się na dole w obszarze panelu + | ||||||||||||||||||||||||||||||||||
\urlid{URL} | polecenie definiuje adres
+strony WWW (dodawany jest prefix protokołu http:// ), do której odwoła się przeglądarka po wskazaniu pola ,,Home Page''
+(napis zależy od deklarowanego języka). Jeśli adres nie zostanie zdefiniowany
+pole to jest wskazaniem na pierwszą stronę dokumentu.
+ | ||||||||||||||||||||||||||||||||||
\emailid{adres} | polecenie definiuje adres
+poczty elektronicznej (dodawany jest prefix protokołu mailto: ) --
+ standardowo nieużywane
+ | ||||||||||||||||||||||||||||||||||
\overlay{plik} | polecenie określa plik +graficzny, który będzie tłem obszaru roboczego (bez pola panelu). + | ||||||||||||||||||||||||||||||||||
\overlayempty | wycofanie polecenia
+\overlay
+ | ||||||||||||||||||||||||||||||||||
\changeoverlay | polecenie powoduje, że
+tłem kolejnych stron będą pliki o nazwach overlay1.jpg , overlay2.jpg ,...
+overlay10.jpg (w cyklu), tłem pierwszej strony będzie plik
+wskazany poleceniem \overlay (o ile polecenie zostało użyte).
+Użycie polecenia \overlay wewnątrz dokumentu, kasuje cykl i
+powoduje, że od tego miejsca tłem okna będzie wskazany plik.
+ | ||||||||||||||||||||||||||||||||||
\paneloverlay{plik} | polecenie określa plik
+graficzny, który będzie tłem panelu; grafika zostanie przeskalowana do w pionie
+i poziomie do wielkości panelu, a zatem jej wysokość i szerokość powinna być w
+odpowiednim stosunku. Standardowo rozmiary panelu są określone względem
+całkowitej wielkości okna określonej poleceniem \screensize .
+Szerokość wynosi standardowo 0.15 całkowitej szerokości okna (jeżeli wyniesie mniej niż 1in
+to szerokość zostanie określona na 1in -- parametr
+\panelwidth ), a wysokością jest wysokość okna.
+ | ||||||||||||||||||||||||||||||||||
\paneloverlayempty | wycofanie polecenia
+\paneloverlay
+ | ||||||||||||||||||||||||||||||||||
\topbuttons | na górze strony +pojawi się panel sterujący w postaci napisów + | ||||||||||||||||||||||||||||||||||
\notopbuttons | wyłączenie
+panela wywołanego poleceniem \topbuttons
+ | ||||||||||||||||||||||||||||||||||
\bottombuttons | na dole strony +pojawi się panel sterujący w postaci napisów + | ||||||||||||||||||||||||||||||||||
\nobottombuttons | wyłączenie
+panela wywołanego poleceniem \bottombuttons
+ | ||||||||||||||||||||||||||||||||||
\ClearOverlay | kasuje wszystkie +ustalenia tła (wraz z panelem) + | ||||||||||||||||||||||||||||||||||
\AddToOverlay{definicja} | dodaje +do konstrukcji wyświetlanej na każdej stronie definicję + | ||||||||||||||||||||||||||||||||||
Ustalanie kolorów | |||||||||||||||||||||||||||||||||||
\backgroundcolor{kolor} |
+ ustalenie koloru tła (w przypadku użycia polecenia
+ \overlay nieistotne); kolor musi być zdefiniowany;
+ parametr \calfactor określa szerokość dodatkowej ramki
+ wokół obszaru o podanym kolorze (zawęża go w stosunku do obszaru
+ roboczego) -- ramka ma kolor tła, które można zmienić poleceniem
+ \pagecolor --
+ pakiet color oraz [1]).
+ | ||||||||||||||||||||||||||||||||||
\definecolor{panelbackground}{model}(def} | definicja koloru tła dla panelu (p. opis pakietu +color) + | ||||||||||||||||||||||||||||||||||
\definecolor{buttondisable}{model}(def} | kolor oznaczeń na ,,przyciskach'', które są nieaktywne + | ||||||||||||||||||||||||||||||||||
\definecolor{buttonbackground}{model}(def} | definicje dla koloru ,,przycisków'' na panelu + | ||||||||||||||||||||||||||||||||||
\definecolor{buttonshadow}{model}(def} | definicje dla koloru cienia ,,przycisków'' na panelu (wielkość cienia jest zdefiniowana na stałe
+w poleceniu \addButton i \scrShadowButton --
+nieużywane)
+ | ||||||||||||||||||||||||||||||||||
+\definecolor{section0}{model}(def}
+\definecolor{section1}{model}(def}
+\definecolor{section2}{model}(def}
+\definecolor{section3}{model}(def}
+\definecolor{section4}{model}(def}
+\definecolor{section5}{model}(def} |
+definicje dla koloru nagłówków prezentowanych poleceniami:
+\section , \subsection itp.; w takich kolorach są
+prezentowane są również inne elementy dokumentu np.
+zawartość środowiska verbatim
+ | ||||||||||||||||||||||||||||||||||
\definecolor{tabcolor}{model}(def} | definicja koloru tła dla środowiska decl
+(realizowanego za pomocą środowiska tabular ; p. pakiet
+colortbl oraz [1],
+nazwa koloru tabcolor jest używana do
+nadania wartości zmiennej \columncolor )
+ | ||||||||||||||||||||||||||||||||||
Inne polecenia i parametry | |||||||||||||||||||||||||||||||||||
\LLX{margines} | parametr
+zawiera wielkość lewego marginesu obszaru wewnętrznego (p.
+\calfactor (względem lewej krawędzi okna)
+ | ||||||||||||||||||||||||||||||||||
\LLY{margines} | parametr
+zawiera wielkość górnego marginesu obszaru wewnętrznego (p.
+\calfactor (względem górnej krawędzi okna)
+ | ||||||||||||||||||||||||||||||||||
\def\panelfont{definicja} | polecenie +jest wywoływane przed wyprowadzaniem napisów opisujących ,,przyciski panelu'' i +może służyć do definicji fontu i koloru opisu (należy skorelować wielkość fontu +z wielkością ,,przycisków'') + | ||||||||||||||||||||||||||||||||||
\buttonwidth=szerokość | parametr
+określa szerokość przycisku (standardowo jako 0.7\panelwidth ) | ||||||||||||||||||||||||||||||||||
\calfactor=szerokość |
+ parametr określa szerokość ramki na obszarze roboczym (nie ma związku z
+ wielkościami marginesów), kolorem ramki jest kolor tła całego okna
+ (p. \pagecolor -- pakiet color
+ oraz [1])
+ | ||||||||||||||||||||||||||||||||||
\st{definicja} | polecenie jest używane
+do określania wysokości ,,przycisku'' panelu; użyto do tego celu linii pionowej
+o określonej wysokości i głębokości i zerowej grubości (standardowo:
+\def\st{\hbox{\vrule height10pt depth5pt width 0pt}\panelfont} )
+ | ||||||||||||||||||||||||||||||||||
\buttonbox{treść} | polecenie definiuje +,,pseudoprzycisk'' z podanym opisem (opis otoczony ramką; bez górnego i dolnego +marginesu) + | ||||||||||||||||||||||||||||||||||
\addButton{szerokość}{opis} | polecenie definiuje symbol ,,przycisku'' (wskazanie go nie powoduje żadnej akcji). Tłem napisu jest kolor bottombackground , kolor tekstu pisma (i inne atrybuty) określają makra \Black (definiowany jako \color{black} ) i \panelfont (wywoływane przez makro \st , służącego
+do określenia wysokości i głębokości pudełka)
+ | ||||||||||||||||||||||||||||||||||
\imageButton{szerokość}{wysokość}{plik} | polecenie definiuje ,,przycisk'', którego tłem jest wskazany plik, z definicją nie wiąże się żadna akcja!. Tak naprawdę polecenie jest jedynie wywołaniem makra \includegraphics z parametrami [width=szerokość, height=wysokość]{plik}
+ | ||||||||||||||||||||||||||||||||||
\pagedissolve{specyfikacja} | polecenie
+definiuje sposób przejścia między stronami (tylko w trybie ,,full screen'') i specyfikacja powinna być
+zgodna ze specyfikacją pdf -a dla parametru /Trans ;
+standardowo /R /D 0
+(przed pierwszym znakiem specyfikacji dostawiany jest
+automatycznie / ). W
+specyfikacji mogą wystąpić parametry określające sposób zmiany strony:
+
| ||||||||||||||||||||||||||||||||||
\arg{tekst} |
+polecenie służy do opisów wywołania makr (tekst jest prezentowany
+italikiem i ujmowany w nawiasy {<>} (tekst wraz z <> w kolorze czerwonym,
+{} w kolorze section1 ) (jest definiowane w przypadku użycia opcji
+code )
+ | ||||||||||||||||||||||||||||||||||
\Arg{tekst} |
+polecenie służy do opisów wywołania makr (tekst jest prezentowany
+italikiem i ujmowany w nawiasy {} (tekst wraz w kolorze czerwonym,
+{} w kolorze section1 ) (jest definiowane w przypadku użycia opcji
+code )
+ | ||||||||||||||||||||||||||||||||||
\oarg{tekst} |
+polecenie służy do opisów wywołania makr (tekst jest prezentowany
+italikiem i ujmowany w nawiasy [<>] (tekst wraz z <> w kolorze czerwonym,
+[] w kolorze section1 ) (jest definiowane w przypadku użycia opcji
+code )
+ | ||||||||||||||||||||||||||||||||||
\Oarg{tekst} |
+polecenie służy do opisów wywołania makr (tekst jest prezentowany
+italikiem i ujmowany w nawiasy [] (tekst wraz w kolorze czerwonym,
+[] w kolorze section1 ) (jest definiowane w przypadku użycia opcji
+code )
+ | ||||||||||||||||||||||||||||||||||
|tekst| | polecenia do
+,,szybkiego'' przejścia w tryb verbatim (p. pakiet shortvrb (jest definiowane w przypadku użycia opcji
+code )
+ | ||||||||||||||||||||||||||||||||||
Środowiska | |||||||||||||||||||||||||||||||||||
decl | środowisko służy do
+prezentowania np. kawałków kodu (jest definiowane w przypadku użycia opcji
+code ); jest wystawiane na lewy margines (wielkość określona
+parametrem \leftmarginii ).
+Jest realizowane za pomocą środowiska tabular ,
+do kolorowania używane są polecenia pakietu colortbl (należy go
+dołączyć) -- tłem jest kolor tabcolor (polecenie
+\columncolor ), a kolor ramki ustalony jest
+poleceniem \arrayrulecolor na wartość section1 ;
+p. [1]
+ | ||||||||||||||||||||||||||||||||||
verbatim | w środowisku
+uaktywniono znaki < i >; za ich pomocą można tworzyć konstrukcję do opisu
+parametrów <tekst> -- całość jest prezentowana kolorem
+czerwonym, a tekst italikiem. Tekst w środowisku jest prezentowany
+kolorem section0 wielkości small , krojem
+ttfamily
+ | ||||||||||||||||||||||||||||||||||
slide | zawartość środowiska
+jest wstawiana do środowiska minipage o wielkości obszaru
+roboczego
+ |
+Pakiet wprowadza poprawny mechanizm + numerowania przypisów (jednocześnie wymusza go) + w ramach jednej + strony, jest on realizowany + dwuprzebiegowo (p. też footmisc lub footnpag). + +
+
+Pakiet jest dostępny pod adresem: + +ftp://ftp.gust.org.pl/TeX/macros/latex/contrib/yafoot
+ +
polecenie | opis |
---|---|
\newgray{nazwa}{definicja | + nowy kolor modelu gray; definicja + jest liczbą z zakresu 0 -- 1 |
\newrgbcolor{nazwa}{definicja | + nowy kolor modelu rgb; definicja + określa składowe rgb; trzy liczby z zakresu + 0 -- 1 odzielone spacją |
\newcmykcolor{nazwa}{definicja | + nowy kolor modelu cmyk; definicja + określa składowe cmyk; cztery liczby z zakresu + 0 -- 1 odzielone spacją |
kolory | opis |
darkgray | ciemno szary |
gray | szary |
lightgray | jasnoszary |
gradbegin | ??? |
gradend | ??? |
\leaf
umieszczają na stosie
+swoje parametry, a polecenia \branch
zdejmują ze stosu
+wskazaną pierwszym argumentem liczbę obiektów i łączą je ukośnymi
+liniami; graf jest budowany w odwrotnej kolejności.
+
+
++\leaf{NP\\{\em John}} +\leaf{V\\{\em saw}} +\leaf{NP\\{\em Mary}} +\branch{2}{VP\\{em saw Mary}} +\branch{2}{S\\{\em John saw Mary}} + +\tree +++ + +
+ + + + ++
+Włodzimierz Macewicz
+
+ +Ostatnie zmiany: . + + + diff --git a/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/latex2e/macro/ragged2e.html b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/latex2e/macro/ragged2e.html new file mode 100644 index 00000000000..6640d4f6916 --- /dev/null +++ b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/latex2e/macro/ragged2e.html @@ -0,0 +1,143 @@ + + + +Zastaw ciekawych makroinstrukcji + + + + + + +ragged2e
+ +Pakiet udostępnia (modyfikuje standardowe) środowiska i polecenia +do składu z wyrównaniem do prawego/lewego marginesu, tak że +włączony jest mechanizm przenoszenia wyrazów; polecenia: +\justifying, +\Centering, +\RaggedLeft, +\RaggedRight oraz środowiska: +justify, +Center +FlushLeft, +FlushRight, łatwo się domyśleć, że odpowiadają one oryginalnym +poleceniom i środowiskom. +
+ +Opcje
++
OriginalCommands + originalcommands | (domyślnie aktywna) + powoduje, że standardowe polecenia + \centering, + \raggedleft i + \raggedright oraz środowiska + flushleft, + flushright i + center zachowują się bez zmian (tak jak w standardowym + LaTeX-u) |
NewCommands + newcommands | standardowe polecenia + \centering, + \raggedleft i + \raggedright oraz środowiska + flushleft, + flushright i + center zostaną zmodyfikowane (mn. zostaną + włączone reguły przenoszenia wyrazów), będą się + zachowywały tak jak nowodefiniowane polecenia i środowiska + \RaggedRight, + \RaggedLeft i + \Centering oraz + FlushLeft, + FlushRight i + Center -- polecenia i środowiska + o oryginalnych cechach są dostępne pod nazwami: + Latexnazwa_oryginalna |
OriginalParameters + originalparameters | parametry + nowodefiniowanych poleceń i środowisk zostaną ustawione + tak jak w analogicznych poleceniach i środowiskach + dostępnych w LaTeX-u |
NewParameters + newparameters | parametry składu + są ustawione na wartości inne niż oryginalnie |
raggedrightboxes + | konstrukcje + parbox, minipage i marginpar + oraz kolumny tabel (table i array) typu ,,p'' + będą miały ustawiony skład typu \RaggedRight |
footnotes | przypisy będą składane + z dosunięciem jedynie do lewego marginesu (raggedright + -- jest to realizowane przez załadowanie pakietu + footmisc. + |
document | cały dokument będzie + składany z dosunięciem jedynie do lewego marginesu + (raggedright) |
+Własności składu mogą być regulowane następującymi parametrami (poleceniom
+odpowiadają odpowiednie środowiska) typu length:
+
+Polecenie + | + własność + |
+ \Centering + |
+ \CenteringLeftSkip, + \CenteringRightSkip, + \CenteringParfillskip, + \CenteringParIndent + |
+ \RaggedLeft + |
+ \RaggedLeftLeftskip, + \RaggedLeftRightskip, + \RaggedLeftParfillskip, + \RaggedLeftParIndent + |
+ \RaggedRight + |
+ \RaggedRightLeftskip, + \RaggedRightRightskip, + \RaggedRightParfillskip, + \RaggedRightParIndent + |
+justifying |
+\JustifyingParfillskip +\JustifyingParindent + |
+wszystkie + |
+ \RaggedSpaceskip, + \RaggedXSpaceskip + |
+ +
+Pakiet jest dostępny pod adresem: + +ftp://ftp.gust.org.pl/TeX/macros/latex/contrib/ms
+
Polecenia | Opis |
---|---|
+\relsize{n} + | + zwiększenie (lub zmniejszenie -- -n) o n stopni + |
+\larger{n} + | + zwiększenie o n stopni + |
+\smaller{n} + | + zmniejszenie o n stopni + |
+\textlarger{n}{tekst} + | + tekst jest składany czcionką o n stopni + większą + |
+\textsmaller{n}{tekst} + | + tekst jest składany czcionką o n stopni + mniejszą + |
+\mathsmaller{formuła} + | + formuła jest składana czcionką o stopień + mniejszą (np: displaystyle + na scriptstyle) + |
+\mathlarger{formuła} + | + formuła jest składana czcionką o stopień + większą (np. textstyle na displaystyle) + |
+użycie makroinstrukcji usuwa licznik podrzędny z listy +liczników, które są zerowane po zmianie wartości licznika +licznik glowny. + + diff --git a/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/latex2e/macro/rotate.html b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/latex2e/macro/rotate.html new file mode 100644 index 00000000000..a8e90c6c10a --- /dev/null +++ b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/latex2e/macro/rotate.html @@ -0,0 +1,49 @@ + +
+ +Pakiet makroinstrukcji umożliwiającej obrót lub odbicie obiektu +(patrz także rotating.sty). Transformacje są realizowane w oparciu o +polecenia postscriptowe, tak, że niezbędnym jest przetworzenie +pliku .dvi do postaci postscriptowej
+ +Dostępna jest makroinstrukcja \rotate, opcjonalny parametr
+określa rodzaj transformacji:
+
rotate[f]{obiekt} | + powoduje lustrzane odbicie obiektu |
rotate[u]{obiekt} | + powoduje obrót obiektu o 180 stopni |
rotate[r]{obiekt} | + powoduje obrót obiektu o 90 stopni w prawo -- + szerokość obiektu staje się wysokością |
rotate[l]{obiekt} | + powoduje obrót obiektuo 90 stopni w lewo + (jest to wartość domyślna parametru) -- + szerokość obiektu staje się wysokością |
+Pakiet jest dostępny pod adresem: + +ftp://ftp.gust.org.pl/TeX/macros/generic/dvips/rotate
+
Pakiet dostarcza kilku środowisk umożliwiających obrót +zawartości o zadany kąt (patrz także rotate.sty). Obroty są realizowane w oparciu o +polecenia postscriptowe, tak, że niezbędnym jest przetworzenie +pliku .dvi do postaci postscriptowej
+ +Opcje pakietu:
+
clockwise | +powoduje że standardowo obiekty są obracane przeciwnie niż wskazówki zegara +(domyślnie włączona) + |
counterclockwise | +powoduje że standardowo obiekty są obracane zgodnie z ruchem wskazówek zegara + |
figuresleft | +powoduje że obiekty tworzone poleceniami sidewaystable i sidewaysfigure +są obracane zgodnie z ruchem wskazówek zegara + |
figuresright | +powoduje że obiekty tworzone poleceniami sidewaystable i sidewaysfigure +są obracane przeciwnie niż wskazówki zegara (domyślnie włączona) + |
Dostępne są następujące środowiska:
+
rotate | \begin{rotate}{kąt} + aqq + \end{rotate} + powoduje obrót zawartości (w kierunku przeciwnym + do wskazówek zegara -- opcja counterclockwise zmienia kierunek obrotu) + o zadany kąt. nie jest + rezerwowane miejsce na obracany obiekt |
turn | \begin{turn}{kąt} + aqq + \end{turn} + powoduje obrót zawartości (w kierunku przeciwnym + do wskazówek zegara -- opcja counterclockwise + zmienia kierunek obrotu) o zadany kąt. jest + rezerwowane miejsce na obracany obiekt (zarówno + w pionie jak i poziomie -- uwzględniana jest: + szerokość, głębokość i wysokość obiektu + po transformacji) |
sideways | \begin{sideways} + aqq + \end{sideways} + powoduje obrót zawartości (w kierunku przeciwnym + niż wskazówki zegara -- opcja counterclockwise + zmienia kierunek obrotu) o 90 stopni; + rezerwowane jest miejsce na obracany obiekt |
sidewaysfigure | \begin{sidewaysfigure} + aqq + \end{sidewaysfigure} + służy do tworzenia rysunków (obiekt figure) + obróconych w kierunku przeciwnym + niż wskazówki zegara -- opcja figuresleft + zmienia kierunek obrotu) o 90 stopni; + |
sidewaysfigure* | \begin{sidewaysfigure*} + aqq + \end{sidewaysfigure*} + analogicznie jak powyżej, ale dla rysunków dwuszpaltowych + |
sidewaystable | \begin{sidewaystable} + aqq + \end{sidewaystable} + służy do tworzenia tabel (obiekt table) + obróconych w kierunku przeciwnym + niż wskazówki zegara -- opcja figuresleft + zmienia kierunek obrotu) o 90 stopni; + |
sidewaystable* | \begin{sidewaystable*} + aqq + \end{sidewaystable*} + analogicznie jak powyżej, ale dla tabel dwuszpaltowych + |
Polecenia:
+
\turnbox{kąt}{zawartość} | +powoduje obrót zawartości o wskazany kąt (w kierunku przeciwnym + niż wskazówki zegara -- opcja counterclockwise + zmienia kierunek obrotu) + |
\rotcaption[krótki tekst]{długi tekst} | +polecenie analogiczne do \caption, ale podpis jest obrócony w lewo o +90 stopni -- opcja counterclockwise + zmienia kierunek obrotu + |
+Pakiet jest dostępny pod adresem: + +ftp://ftp.gust.org.pl/TeX/macros/latex/contrib/rotating
+
+\makeatletter +\let\pageno=\c@page +\input selectpages.tex ++
+ +Po czynnościach dostosowawczych dołączamy pakiet zgodnie ze zwyczajami +LaTeX-a poleceniem \usepackage{selectpages}
+
+\diamondpar{ +a a a a a a a a a a a a a a a a a a a a +a a a a a a a a a a a a a a a a a a a a +a a a a a a a a a a a a a a a a a a a a +a a a a a a a a a a a a a a a a a a a a +a a a a a a a a a a a a a a a a a a a a +a a a a a a a a a a a a a a a a a a a a} ++
+\squarepar{a +a a a a a a a a a a a a a a a a a a a a +a a a a a a a a a a a a a a a a a a a a +a a a a a a a a a a a a a a a a a a a a +a a a a a a a a a a a a a a a a a a a a +a a a a a a a a a a a a a a a a a a a a +a a a a a a a a a a a a a a a a a a a a} ++
+\heartpar{a +a a a a a a a a a a a a a a a a a a a a +a a a a a a a a a a a a a a a a a a a a +a a a a a a a a a a a a a a a a a a a a +a a a a a a a a a a a a a a a a a a a a +a a a a a a a a a a a a a a a a a a a a +a a a a a a a a a a a a a a a a a a a a} ++
+\nutpar{a +a a a a a a a a a a a a a a a a a a a a +a a a a a a a a a a a a a a a a a a a a +a a a a a a a a a a a a a a a a a a a a +a a a a a a a a a a a a a a a a a a a a +a a a a a a a a a a a a a a a a a a a a +a a a a a a a a a a a a a a a a a a a a} ++ +
+Zbiór konfiguracyjny (ładowany jeżeli deklarowana jest opcja) +ma następującą postać: +
+\AtEndOfPackage{ + \setlength{\shadeboxsep}{2pt} + \setlength{\shadeboxrule}{.4pt} + \setlength{\shadedtextwidth}{\textwidth} + \addtolength{\shadedtextwidth}{-2\shadeboxsep} + \addtolength{\shadedtextwidth}{-2\shadeboxrule} + \setlength{\shadeleftshift}{0pt} + \setlength{\shaderightshift}{0pt} + \definecolor{shadethmcolor}{named}{Apricot} + \definecolor{shaderulecolor}{named}{Mahogany} +} ++i zawiera polecenia zmiany parametrów, które można zmienić w dowolnym momencie +(ale przed definicją danego środowiska).
parametr | opis |
---|---|
+\shadeleftshift + | + dodatkowy margines z lewej strony + |
+\shadeboxsep + | + odległość ramki od wewnętrznego tekstu + |
+\shadetextwidth + | + szerokość tekstu w pudełku + |
+\shadeboxrule + | + grubość ramki + |
+\shaderightshift + | + dodatkowy margines z prawej strony + |
+Nowe środowisko definiujemy za pomocą poleceń:
+newshadetheorem{name}{text}[counter]
+newshadetheorem{name}[oldname]{text}
+newtheorem{name}[oldname]{text}
+gdzie:
+
+\newshadetheorem{theorem}{Theorem} +\begin{theorem} +$$ +E = mc^2 +$$ +\end{theorem} ++ +
Uwaga!
+Efekt końcowy można uzyskać jedynie przez postscript
+
+
+Zbiór konfiguracyjny (ładowany jeżeli deklarowana jest opcja) +ma następującą postać: +
+\AtEndOfPackage{ + \setlength{\shadeboxsep}{2pt} + \setlength{\shadeboxrule}{.4pt} + \setlength{\shadedtextwidth}{\textwidth} + \addtolength{\shadedtextwidth}{-2\shadeboxsep} + \addtolength{\shadedtextwidth}{-2\shadeboxrule} + \setlength{\shadeleftshift}{0pt} + \setlength{\shaderightshift}{0pt} + \definecolor{shadethmcolor}{named}{Apricot} + \definecolor{shaderulecolor}{named}{Mahogany} +} ++i zawiera polecenia zmiany parametrów, które można zmienić w dowolnym momencie +(ale przed definicją danego środowiska).
parametr | opis |
---|---|
+\shadeleftshift + | + dodatkowy margines z lewej strony + |
+\shadeboxsep + | + odległość ramki od wewnętrznego tekstu + |
+\shadetextwidth + | + szerokość tekstu w pudełku + |
+\shadeboxrule + | + grubość ramki + |
+\shaderightshift + | + dodatkowy margines z prawej strony + |
+Nowe środowisko definiujemy za pomocą poleceń:
+newshadetheorem{name}{text}[counter]
+newshadetheorem{name}[oldname]{text}
+newtheorem{name}[oldname]{text}
+gdzie:
+
+\newshadetheorem{theorem}{Theorem} +\begin{theorem} +$$ +E = mc^2 +$$ +\end{theorem} ++ +
Uwaga!
+Efekt końcowy można uzyskać jedynie przez PostScript.
+
+
Pakiet dostępny jest na:
+
+ftp.gust.org.pl/TeX/macros/latex/contrib/shadethm.
+
+
+Postać ramki można regulować następującymi parametrami: +
\sboxrule
+\sboxsep
+\sdim
+Pakiet dostępny jest na:
+
+ftp.gust.org.pl/TeX/macros/latex/contrib/misc/shadow.sty.
+
+
+\diamondpar{ +a a a a a a a a a a a a a a a a a a a a +a a a a a a a a a a a a a a a a a a a a +a a a a a a a a a a a a a a a a a a a a +a a a a a a a a a a a a a a a a a a a a +a a a a a a a a a a a a a a a a a a a a +a a a a a a a a a a a a a a a a a a a a} ++
+\squarepar{a +a a a a a a a a a a a a a a a a a a a a +a a a a a a a a a a a a a a a a a a a a +a a a a a a a a a a a a a a a a a a a a +a a a a a a a a a a a a a a a a a a a a +a a a a a a a a a a a a a a a a a a a a +a a a a a a a a a a a a a a a a a a a a} ++
+\heartpar{a +a a a a a a a a a a a a a a a a a a a a +a a a a a a a a a a a a a a a a a a a a +a a a a a a a a a a a a a a a a a a a a +a a a a a a a a a a a a a a a a a a a a +a a a a a a a a a a a a a a a a a a a a +a a a a a a a a a a a a a a a a a a a a} ++
+\nutpar{a +a a a a a a a a a a a a a a a a a a a a +a a a a a a a a a a a a a a a a a a a a +a a a a a a a a a a a a a a a a a a a a +a a a a a a a a a a a a a a a a a a a a +a a a a a a a a a a a a a a a a a a a a +a a a a a a a a a a a a a a a a a a a a} ++ +
\MakeShortVerb{znak}
+\verbznak...znak
. Znak znak staje się
+znakiem specjalnym,
+\DeleteShortVerb{znak}
++\MakeShortVerb{|} +|verbatim| ++ +
outercaption | (domyślna) na stronie lewej, podpis +jest umieszczany po lewej stronie rysunku, a na prawej po prawej |
innercaption | rozmieszczenie odwrotne niż +poprzednio opisywane |
leftcaption | opis zawsze po lewej stronie |
rightcaption | opis zawsze po prawej stronie |
Pakiet jest dostępny pod adresem:
+
+ftp://ftp.gust.org.pl/TeX/macros/latex/contrib/sidecap/
+
+
+Opcja | symbol |
---|---|
heavycircles | +\varotimes |
varoast | +\varobar |
\varodot | |
\varoslash | |
\varobslash | |
\varocircle | |
\varoplus | |
\varominus | |
\varbigcirc | |
Mapsto | +\Mapsto |
\Mapstochar | |
mapsfrom | +\mapsfrom |
\mapsfromchar | |
Mapsfrom | +\Mapsfrom |
\Mapsfromchar | |
longarrownot | +\longarrownot |
\arrownot | |
Longarrownot | +\Longarrownot |
\Arrownot | |
Longmapsto | +\Longmapsto |
\Mapstochar | |
longmapsfrom | +\longmapsfrom |
\mapsfromchar | |
Longmapsfrom | +\Longmapsfrom |
\Mapsfromchar |
Pakiet udostępnia polecenia umożliwiające zmianę sposobu numeracji
+wzorów (środowiska: equation
i nowe środowisko
+subeqnarray
)
Jeżeli umieścimy kilka wzorów (środowiska eqation
) wewnątrz
+środowiska subequations
, będą one numerowane licznikiem
+podrzędnym (bez zmiany właściwego licznika wzorów) -- domyślnie licznik
+podrzędny jest reprezentowany jako kolejne, małe, litery alfabetu).
+Pakiet jest bardziej intuicyjny (mniej skomplikowany, ale wystarczający)
+w użyciu niż pakiet subeqnarray
+(p. także easyeqn i sublabel).
+Przykład:
+\begin{subequations} + \label{db} + \begin{equation} + \label{db1} + d^2 + e^2 = f^2 + \end{equation} + We can refer to + equation~\ref{db2}, \ref{db} + and~\ref{db1}. + \begin{equation} + \label{db2} + g^2 + h^2 = i^2 + \end{equation} +\end{subequations} ++
Pakiet udostępnia środowisko analogiczne do eqnarray
--
+różniące się sposobem numerowania poszczególnych wierszy (domyślnie
+jak w poprzednim przykładzie)
+
+\begin{subeqnarray} + \label{dd} + x &=& y+z\label{dd1}\\ + u &=& v+w\label{dd2} +\end{subeqnarray} +This was equation~\ref{dd}, with parts~\ref{dd1} and~\ref{dd2}. ++
Sposób prezentacji licznika możemy zmienić, zmieniając definicję polecenia
+\thesubequation
(definicja licznika podstawowego jest
+definiowana przez makroinstrukcję \themainequation
; którą też
+można zmienić) np:
+
+\def\thesubequation{\themainequation-\alph{equation}} ++definicję tę należy umieścić na zewnątrz środowisk zmieniających sposób +numeracji
+\def\thesubequation{\themainequation-\alph{equation}} +\begin{subequations} + \label{db} + \begin{equation} + \label{db1} + d^2 + e^2 = f^2 + \end{equation} + We can refer to equation~\ref{db2}, \ref{db} and~\ref{db1}. + \begin{equation} + \label{db2} + g^2 + h^2 = i^2 + \end{equation} +\end{subequations} ++
Pakiet jest dostępny pod adresem:
+ftp://ftp.gust.org.pl/TeX/macros/latex/contrib/subeqn
+W przypadku środowiska {\tt subeqnarray} +\begin{subeqnarray} +\label{eqw} +\slabel{eq0} + x & = & a \times b \\ +\slabel{eq1} + & = & z + t\\ +\slabel{eq2} + & = & z + t +\end{subeqnarray} +pierwsze równanie ma numer~\ref{eq0}, a ostatnie~\ref{eq2}. +natomiast całe wyrażenie nosi numer:~\ref{eqw}. + +W przypadku standardowego środowiska +{\tt eqnarray}. +\begin{eqnarray} +\label{eq10} + x & = & a \times b \\ +\label{eq11} + & = & z + t\\ +\label{eq12} + & = & z + t +\end{eqnarray} +pozycje noszą numery:~\ref{eq10},~\ref{eq11} and~\ref{eq12}. ++ +
\subfigure[opis]{treść}
\subfigtopskip
, a pomiędzy rysunkiem i opisem przez parametr
+\subfigcapskip
+
+Działanie zilustruje przykład
++\begin{figure} +\begin{center} +\begin{tabular}[t]{p{4cm}p{4cm}p{4cm}} +\subfigure[pierwszy]{\label{mójrysunek-a}\hbox to 3.5cm{rysunek 1\hfill}} & +\subfigure{\hbox to 3.5cm{rysunek 2\hfill}} & +\subfigure[trzeci]{\hbox to 3.5cm{rysunek 3\hfill}}+ +Parametr ujęty w nawiasy [] polecenia subfigure może +być pominięty; stanowi on opis rysunku. Opis jest łamany na +szerokości wyznaczonej przez szerokość obiektu traktowanego jako +rysunek. + +
+\end{tabular} +\end{center} +\caption{Trzy rysunki} +\label{mójrysunek} +\end{figure} +
+Do rysunków można się odwoływać przez: \ref{mójrysunek} -- +1, \ref{mójrysunek-a} -- 1-a. + +
Pakiet udostępnia mechanizm umożliwiający numerację kolejnych +rysunków (floats) +i tabel (table) licznikiem podrzędnym; analogicznie jak pakiet +subeqn +(p. też pakiet sublabel). +
+ ++
countmax | powoduje zdefiniowanie licznika +subfloatfiguremax i subfloattablemax i nadanie im +wartości odpowiadającej liczbie obiektów ruchomych w ramach danej +serii. |
nocountmax | (domyślnie aktywna) -- nie jest +definiowany licznik obiektów w ramach danej serii |
+Pakiet udostępnia środowiska: subfigures i subtables.
+Jeżeli umieścimy wewnątrz nich kilka środowisk figure lub
+table będą one nosiły ten sam numer główny; inkrementowany
+zostanie licznik dodatkowy (o nazwie subfloatfigure bądź
+subfloattable), np:
+
+\begin{subfigures) +\begin{figure} +\caption{To jest pierwszy rysunek serii} +\end{figure} +\begin{figure} +\caption{To jest drugi rysunek serii} +\end{figure} +\end{subfigures} ++ + +
Sposób wizualizacji numerów definiują makroinstrukcje
+\thesubfloatfigure i \thesubfloattable; standardowo
+są one zdefiniowane jako:
+
+\def\thesubfloatfigure{\themainfigure\alph{subfloatfigure}}
+
+Sposób wizualizacji numeru głównego jest definiowany makroinstrukcją +\themainfigure lub \themaintable. +
+ ++ +
Pakiet jest dostępny pod adresem:
+ftp://ftp.gust.org.pl/TeX/macros/latex/contrib/subfloat
Pakiet udostępnia poleceń: \sublabon
i \sublaboff
,
+umożliwiają one zmianę sposobu numeracji środowisk. Jeżeli otoczymy fragment
+tekstu
+ww parą, podając jako argument nazwę środowiska, którego numerację chcemy
+zmienić, to do numer podstawowy nie będzie
+inkrementowany,
+a zostanie do niego dołożona (w sensie napisu) wartość dodatkowego licznika, prezentowanego w
+zdefiniowany sposób. W prawidłowy sposób jest również generowana wartość
+etykiety.
+
Do definiowania sposobu prezentacji licznika dodatkowego służy polecenie
+\substyle
np.:
+
+\renewcommand{\substyle}[1]{\,\alph{#1}} ++co oznacza, że kolejne pozycje będą numerowane (oprócz podania wartości +podstawowego licznika) jako a, b itp. (z dodatkowa +odległością). Niestety sposób prezentacji ustala się wspólnie dla wszystkich środowisk. + +
Przykład: +
+\def\substyle#1{.\alph{#1}} +\def\eref#1{(\ref{e:#1})} +\def\elabel#1{\label{e:#1}} + +\begin{document} + +\sublabon{equation} +\begin{equation} +\int_1^\infty dx +\elabel{a} +\end{equation} +\begin{equation} +\sqrt{\pi} +\elabel{b} +\end{equation} +\sublaboff{equation} +wzor \eref{a} i \eref{b} +\end{document} ++ +
Pakiet jest dostępny pod adresem:
+ftp://ftp.gust.org.pl/TeX/macros/latex/contrib/preprint
Pakiet definiuje polecenie \textsubscript, analogicznie +jak standardowa makroinstrukcja \textsuperscript. +
+ ++ +
+Pakiet jest dostępny pod adresem: + +ftp://ftp.gust.org.pl/TeX/macros/latex/contrib/fragments
+
polecenie | Opis |
---|---|
+\tablefirsthead{...} | definiuje nagłówek tabeli, pojawiający się + na jej szczycie. Definicja nie jest + obowiązkowa. |
+\tablehead{...} | definiuje nagłówek pojawiający się w przypadku + zmiany strony. |
+\tabletail{...} | definiuje stopkę tabeli pojawiającą się + na dole przed zmianą strony. |
+\tablelasttail{...} | definiuje stopkę pojawiającą się na końcu tabeli. + Definicja nie jest obowiązkowa. |
+\topcaption | ustawia flagę powodującą, że polecenie + \tablecaption umieści podpis + nad tabelą. |
+\bottomcaption | jw. tylko pod tabelą. |
+\tablecaption{...} | + definiuje podpis odpowiadający + poleceniu \caption{...}. Podpis zostanie + umieszczony w zależności od wywołania jednej + z wymienionych powyżej makroinstrukcji (standardowo + podpis umieszczany jest na górze tabeli). Polecenia + zmiany położenia podpisu odnoszą się do wszystkich + tabel w tekście zdefiniowanych po tym poleceniu. + Tabeli zdefiniowanej + w środowisku supertab nie można umieszczać + w obiekcie ruchomym np. table ponieważ + TeX obiekty ruchome umieszcza zawsze na jednej + stronie, stąd konieczność emulacji polecenia + caption, + działającego tylko w obiekcie ruchomym. |
+Uwaga!
+Środowisko to można łączyć z makroinstrukcjami ze zbiorów
+hhline i array.
+
+
+Uwaga!
+Wadą środowiska jest to że decyzja o zmianie strony jest podejmowana
+na podstawie porównania oszacowanej wysokości następnego wiersza
+z pozostałą ilością wolnego miejsca na stronie.
+Szacunek wysokości jest przeprowadzany na podstawie dotychczasowych
+wysokości wierszy z uwzględnieniem współczynnika bezpieczeństwa
+(przyjętego arbitralnie). Często
+zdarza się, że przekraczana jest długość strony, lub wyraźnie widać
+że na danej stronie zmieścił by się jeszcze jeden wiersz. Środowisko
+,,nie lubi'' cel realizowanych specyfikacją p (paragraf) ---
+szczególnie długich (zajmujących kilka wierszy).
+
+
+Uwaga!
+W momencie podjęcia decyzji o przełamaniu tabeli, jest ona zamykana
+i ponownie otwierana na następnej stronie (następna część staje się
+nową tabelą), w związku z tym szerokości tych samych kolumn mogą
+być różne na kolejnych stronach. Wersja ,,gwiazdkowa''
+(\begin{supertabular*}
) zachowuje jednakowe szerokości
+kolumn, ale jest to realizowane przez dostawienie wolnego miejsca
+na początku kolumny.
+
+
+
Pakiet dostarcza środowisk do prezentacji tekstu niepodlegającego łamaniu +np. kodu programu -- rozwijane są tabulatory + (p. też moreverb).
+ +\begin{listing} | zawartość środowiska jest prezentowana bez
+formatowania czcionką typu typewriter , wewnątrz wywoływane jest
+polecenie \listingsize , którego podstawową funkcją jest zmiana
+wielkości czcionki (domyślnie small ), ale może służyć do innych celów np.:
+\def\listingsize{\footnotesize\color{green}} spowoduje również
+zmianę koloru czcionki. Wielkość lewego marginesu jest ustawiana na wartość
+przechowywaną w parametrze \listingindent . Uwaga! wartość tego
+parametru jest ustawiana automatycznie przez polecenie
+\begin{document} , tak więc jeżeli chcemy nadać mu inną wartość,
+n |
\begin{listing*}{end*} | wersja ,,gwiazdkowa'' środowiska, dodatkowy parametr
+ definiuje sekwencję zamykającą środowisko (znak * na końcu
+ sekwencji jest obowiązkowy), oczywiście zamiast end
+ można wpisać dowolny ciąg znaków; to nie jest polecenie w ogólnie
+ rozumianym sensie |
\begin{verbwrite}{zbiór} | zawartość środowiska jest zapisywana do +wskazanego zbioru (p. też filecontents) |
\verbinput{zbiór} | polecenie powoduje +wczytanie wskazanego zbioru (bez formatowania) |
\begin{demo}[x]{tytuł} | zawartość środowiska jest prezentowana dwa razy --
+jako nie formatowany tekst (tak jak verbatim ) oraz w wersji
+podlegającej przetwarzaniu; parametr opcjonalny x może
+przyjmować wartości w -- prezentacja na całą szerokość szpalty i
+n -- obok siebie (wartość domyślna). +Przykład 1 + +\begin{demo}[w]{wzór bez sensu} +\begin{equation} +\sqrt[3]{\int_0^\infty x dx} +\end{equation} +\end{demo} ++ ![]() +Przykład 2 + +\begin{demo}[n]{wzór bez sensu} +\begin{equation} +\sqrt[3]{\int_0^\infty x dx} +\end{equation} +\end{demo} ++ ![]() |
+Dostarcza środowiska tabularx pozwalającego +na określenie kolumny o szerokości trudnej do określenia (w tablicy +może być kilka takich kolumn). Kolumnę o nieznanej szerokości +określamy w preambule parametrem X (proszę zwrócić uwagę że +jednym z parametrów definicji jest całkowita szerokość tabeli).
+ +
+Wywołanie:
+
+\begin{tabularx}{250pt}{|c|X|c|X|} +\hline +\multicolumn{2}{|c|}{Multicolumn entry!}& +THREE & FOUR+ +daje efekt + +
+\hline +one & \raggedright\arraybackslash The width of this column depends on + the width of the table.& +three& +Column four will act in the same way as column two, with the same +width.
+\hline +\end{tabularx} +
+Efekty są gorsze od oczekiwanych. Nie jest przeprowadzana optymalizacja +kar w tak zdefiniowanych kolumnach. Efektem jest to, że wszystkie, tak +określone kolumny, mają tą samą szerokość bez względu na to jak wygląda +tekst w każdej z nich. Powinno być tak aby suma kar za łamanie tekstu +w każdej z kolumn była jak najmniejsza (łącznie). Generalnie środowisko służy +do zastąpienia środowiska tabular*, które dopasowuje +szerokość tabeli do szerokości łamania, ale poprzez zwiększenie +odstępu między kolumnami, a nie szerokości kolumn; czyli jeszcze +gorzej.
+ + + +\newteorem{nazwa środowiska}{tekst nagłówka}
\newteorem{nazwa środowiska drugiego}%
+ [nazwa środowiska]{tekst nagłówka drugiego}
\newteorem{nazwa środowiska drugiego}%
+{tekst nagłówka drugiego}[section]
+Dostępne są polecenia zmieniające: +
\theoremstyle{style}
\theoremheaderfont{font}
+\theorembodyfont{font}
+\theorempreskimamount
+\theorempostskimamount
+
+Przykład
+Poniższe polecenia definiujące nowe środowiska i ich cechy muszą znaleźć
+się w preambule dokumentu (między poleceniem \documentclass...
,
+a \begin{document}
).
+
+
+Licznikiem środowiska Def jest licznik środowiska The, +a licznik środowiska Lem jest zależny od licznika środowiska The. + +
+\theoremstyle{plain} \newtheorem{Cor}{Corollary} + +\theoremheaderfont{\normalfont\bfseries} +\theorembodyfont{\normalfont\slshape} + +\theoremstyle{break} \newtheorem{Exa}{Example} +\theoremstyle{changebreak} \newtheorem{The}{Theorem} +\theoremstyle{marginbreak} \newtheorem{Lem}{Lemma}[The] +\theoremstyle{change} \newtheorem{Def}[The]{Definition} +\theoremstyle{margin} \newtheorem{Rem}{Remark} +\theoremstyle{nonumber} \newtheorem{uwaga}{Uwaga !} +\begin{Cor} +This is a sentence typeset in the theorem environment Cor. +\end{Cor} +\begin{Exa} +This is a sentence typeset in the theorem environment Exa. +\end{Exa} +\begin{The} +This is a sentence typeset in the theorem environment The. +\end{The} +\begin{Lem} +This is a sentence typeset in the theorem environment Lem. +\end{Lem} +\begin{Def}[extra text] +This is a sentence typeset in the theorem environment Def. +\end{Def} +\begin{Rem} +This is a sentence typeset in the theorem environment Rem. +\end{Rem} +\begin{uwaga} +This is a sentence typeset in the theorem environment uwaga. +\end{uwaga} ++ +
+Utworzenie nowego sposobu prezentacji środowiska nie zostało rozwiązane +w sposób elegancki; wymaga dopisania następującej +makroinstrukcji (przykład dla środowiska uwaga), gdzie +nonumber jest nazwą nowego środowiska +(uwaga na znak @) +
+\gdef\th@nonumber{\normalfont\slshape + \def\@begintheorem##1##2{\item[% + \rlap{\vbox{\hbox{\hskip \labelsep\theorem@headerfont ##1}% +\vskip 1ex% + \hbox{\strut}}}]}% +\def\@opargbegintheorem##1##2##3{% + \item[\rlap{\vbox{\hbox{\hskip \labelsep \theorem@headerfont + ##1\ ##2\ (##3)}% + \hbox{\strut}}}]}} ++ +
Pakiet dostarcza środowiska threeparttable
umożliwiającego
+ definiowanie odsyłaczy (,,footnote'') wewnątrz tabeli. Odsyłacze
+ są realizownie w środowisku tablenotes
jako kolejne pozycje
+ \item
. Działanie najlepiej zilustruje przykład.
+
+
+ \begin{threeparttable} + \caption{...} + \begin{tabular}{|l|l|} + \hline + pierwsza kolumna\tnote{a}& druga kolumna\\ + \hline + pierwsza kolumna\tnote{b}& druga kolumna\\ + \hline + \end{tabular} + \begin{tablenotes} + \item [a] objaśnienie uwagi a + \item [b] objaśnienie uwagi b + \end{tablenotes} + \end{threeparttable} ++ +Uwaga
caption
. Pakiet definiuje
+własne polecenie, może ono być użyte wewnątrz
+środowiska threeparttable
; nie koliduje ono z poleceniem
+caption
użytym na zewnątrz omawianego środowiska (w przypadku
+zanurzenia całości w środowisku table
).
+
+
+
+
+
+Pakiet jest dostępny pod adresem: + +ftp://ftp.gust.org.pl/TeX/macros/latex/contrib/misc/threeparttable.sty
+
+Pakiet dostarcza makroinstrukcji umożliwiających +robienie różnych podkreśleń (p. też umoline). +Tekst będący +parametrem makroinstrukcji zostanie podkreślony (są również inne sposoby wyróżnienia). +Tekst ten poddany jest normalnemu procesowi łamania +w odróżnieniu od standardowej makroinstrukcji \underline, która +produkuje box. Mamy do dyspozycji następujące polecenia +
+\uwave{ten tekst jest podkreślony wężykiem} +\uline{ten tekst jest podkreślony} +\uuline{ten tekst jest podkreślony podwójną linią} +\sout{ten tekst jest przekreślony} +\xout{ten tekst jest zamazany ukośnikami} +{\em emphasized\/} +\emph{emphasized} ++ +
+Oraz polecenia \useunder
pozwalającego zmienić
+znaczenie innego polecenia zmieniającego czcionkę na jedno
+z powyższych np:
+
+ \useunder{\uwave}{\bfseries}{\textbf} ++zmienia znaczenie poleceń
\bfseries
(przełącznik) i
+\textbf
(polecenia z parametrem) -- użycie jednego z poleceń
+wyróżni tekst ,,wężykiem''.
+
+
+Grubość linii podkreślającej można ustawić poleceniem:
+\ULthickness
+np: \renewcommand{\ULthickness}{2pt}
,
+a odległość między tekstem, a linią podkreślającą zmieniając
+wartość parametru \ULdepth
.
+
+Poniższe polecenia:
+
+\setlength{\ULdepth}{10pt} +\uline{Ala ma kota} ++ +dają następujący efekt:
+Pakiet posiada następujące opcje: +
Opcja | Opis |
---|---|
+normalem | polecenie \em zachowa swoje pierwotne
+ znaczenie |
+ULforem | polecenie \em staje się przełącznikiem
+ między tekstem podstawowym, a podkreślonym
+ (standardowo opcja jest włączona) |
+normalbf | polecenie \bf zachowa swoje pierwotne
+ znaczenie |
+UWforbf | polecenie \bf powoduje przełączenie
+ na podkreślenie wężykiem (również
+ polecenia \bfseries i
+ \textbf ) |
Pakiet dostarcza poleceń służących do oznaczania tekstu: podkreślenia, +nadkreślenia i przekreślenia nie zaburzających składu (p. też ulem).
+ +Dostępne są następujące polecenia: +
\Underline{tekst} | podkreślenie; położenie
+linii określa parametr \UnderlineDepth |
\Midline{tekst} | przekreślenie; położenie
+linii określa parametr \OverlineHeight |
\Overline{tekst} | nadkreślenie; położenie
+linii określa parametr \MidlineHeight |
\UMOline{wysokość}{tekst} | kreska na
+podanej wysokości względem podstawy (baseline ) linii |
\UMOlineThickness
odpowiada za grubość linii.
+
+Wewnątrz konstrukcji mamy do dyspozycji polecenia: +
\UMOspace{długość}[wartość] | wstawia
+światło poziome, parametr opcjonalny określa preferencje odnośnie złamania
+linii (wartość dodatnia) lub niełamania linii (wartość ujemna), analogicznie
+jak w poleceniach \linebreak i \nolinebreak
+ |
\UMOspace*{długość} | j.w., ale światło nie +jest kasowane przy złamaniu linii |
\UMOnewline | powoduje złamanie linii (analogicznie
+jak \\ ) |
\UMOnewline* | jw. ale złamana linia będzie do końca +podkreślona (przekreślona lub nadkreślona) |
\\
+lub \UMOnewline*
na początku linii wyjściowej pojawi się spacja,
+aby skorygować błąd należy na końcu dołożyć % np. \\%
.
+
+Pakiet udostępnia polecenie
+ utilde
umożliwiające wstawienie ,,wężyka'' pod znakiem
+ (działa tak jak akcent), można go używać tylko w trybie matematycznym.
+ Długość wężyka może się zmieniać w pewnych granicach (do ok. 3 znaków).
Przykład:
+
+$$\utilde{aqqbqqcqq}$$ ++
Pakiet jest dostępny pod adresem:
+ftp://ftp.gust.org.pl/TeX/macros/latex/contrib/undertilde
Opcja | Opis |
---|---|
+ hyphens + | + znak - jest uważany jako dopuszczalne + miejsce przełamania. Jeżeli opcja nie jest podana + to za dopuszczalne miejsce uważa się \- + (znak \ nie jest ignorowany) + |
+ obeyspaces + | + powoduje że spacje wewnątrz adresu nie będą ignorowane + |
+ spaces + | + powoduje że spacja wewnątrz adresu jest dopuszczalnym + miejscem przełamania (kara \relpenalty) + (działa tylko razem z opcją obeyspaces) + |
+ T1 + | + do adresów brane są czcionki w układzie T1 + |
polecenie | Opis |
---|---|
+\urlstyle{font} + | + definiuje rodzaj czcionki, ktrórą będzie składany + adres np: \urlstyle{sf} + |
+\url{adres} + | + w adresie mogą się znajdować również znaki + specjalne (również %, ale staje się + on dopuszczalnym miejscem przełamania). + Argument nie musi być ujęty w znaki + {}, a w dowolną parę znaków + np: \url|aqq| -- wtedy wewnątrz argumentu + mogą znaleźć się również znaki {} + |
+\path{adres} + | + tak jak + url, alle adres jest składany + czcionką type writer + |
+\urldef{\nazwa}\url{adres} + | + tworzy nowe polecenie wstawiające adres + |
+ | + |
Środowisko/polecenie | Opis |
---|---|
+\begin{comment} +. +. +\end{comment} | Tekst +wewnątrz jest traktowany jako komentarz +i nie pojawia się w złamanym tekście |
+\begin{verbatim} +. +. +\end{verbatim} | Tekst +zawarty w środowisku verbatim jest +składany czcionką typewriter +(patrz również pakiet alltt i +moreverbatim) |
+\begin{verbatim*} +. +. +\end{verbatim*} | jak poprzednio, ale spacje są +wyróżniane specjalnym znakiem |
+\verbatiminput{zbiór} | + wczytuje zawartośc wskazanego zbioru, tekst jest prezentowany + ,,dosłownie'' |
+\verbatiminput*{zbiór} | jak poprzednio, ale spacja + jest wyróżniania specjalnym znakiem |
Pakiet dostarcza polecenia \verbdef
, którego przeznaczeniem
+jest tworzenie poleceń prezentujących krótkie (z góry określone) nieformatowane teksty,
+tak utworzone polecenia nie są ,,kruche''
+i mogą być argumentem innych poleceń.
+
+Przykład:
+
+\verbdef\fn|char *file_name| ++użycie polecenia
\fn
wyprowadzi napis
+char *file_name czcionką typu typewriter; konwencja
+rozpoczynania i kończenia napisu jest identyczna jak w polecenie
+\verb
. Wersja ,,gwiazdkowa'' polecenia \verbdef
+zamiast spacji wyprowadza specjalne znaki ilustrujące je.
+
+
+\includeversion{nazwa1}
\excludeversion{nazwa2}
\includeversion{comment}
+\begin{minipage}[t]{0.45\textwidth} +Deklaracja: +\begin{verbatim} +\includeversion{YES} +\excludeversion{NO} +Odpowiedź brzmi +\begin{YES} Tak. +\end{YES} +\begin{NO} Nie. +\end{NO} ++ +da następujący efekt: + +
+Odpowiedź brzmi Tak. + +
+Zmiana deklaracji +
+\includeversion{NO} +\excludeversion{YES} +Odpowiedź brzmi +\begin{YES} Tak. +\end{YES} +\begin{NO} Nie. +\end{NO} ++ +
+da następujący efekt: + +
+Odpowiedź brzmi Nie. + + +
\vref
\vpageref[ta strona][inna strona]{nazwa}
. W zależności od
+kolejności (i odległości) etykiety i powołania się na nią pojawia
+się różny tekst, zdefiniowany przez polecenia:
+Polecenie | Opis | Opis
---|---|
+\reftextfaceafter | + jeśli etykieta jest zdefiniowana na + następnej, widocznej stronie |
+\reftextfacebefore | + jeśli etykieta jest zdefiniowana na + poprzedniej, widocznej stronie |
+\reftextafter | + jeśli etykieta jest zdefiniowana na następnej, + niewidocznej stronie |
+\reftextbefore | + jeśli etykieta jest zdefiniowana na poprzedniej, + niewidocznej stronie |
+\reftexcurrent |
+ jeśli etykieta jest zdefiniowana na stronie
+ bieżącej (tylko \pageref ) |
+\reftexfaraway | + jeśli etykieta jest zdefiniowana na stronie + odległej o więcej niż 1 stronę. |
\reftextvario{tekst dla \pageref}{text dla \ref}
\pageref
i \ref
dla danego
+przypadku (dla \reftextcurrent
pierwszy parametr definiuje tekst
+dla strony bieżącej--prawej, a drugi dla strony bieżącej-lewej wyłącznie
+dla polecenia \pageref
).
+
+
+Przykład
+Dla języka polskiego zostały zdefiniowane następujące napisy:
+
+\def\reftextfaceafter {na \reftextvario{s\k asiedniej}{s\k asiedniej} stronie}% +\def\reftextfacebefore{na \reftextvario{s\k asiedniej}{s\k asiedniej} + stronie}% +\def\reftextafter {na \reftextvario{nast\k epnej}{nast\k epnej} stronie}% +\def\reftextbefore {na \reftextvario{poprzedniej stronie}{poprzedniej + stronie}}% +\def\reftextcurrent {na \reftextvario{bie\.z\k acej}{bie\.z\k acej} stronie}% +\def\reftextfaraway#1{na stronie\pageref{#1}}% ++ +
+Przed użyciem polecenia \usepackage{vrflocal}
musi
+być użyte polecenie
+\usepackage[polish]{multilanguage}
+lub
+\usepackage[english]{multilanguage}
(oryginalny pakiet
+nosi nazwę varioref, wszystkie zdefiniowane w nim napisy
+są w języku angielskim, i nie ma możliwości ich zmiany -- zmodyfikowany
+pakiet współpracuje z moim pakietem polonizacyjnym znajdującym się
+w: IAPW).
+
+
+
orientacja | +landscape |
+ | portrait |
+ rozmiar |
+ A0, A1, A2, ..., A9, + B0, B1, B2, ..., B9, + C0, C1, C2, ..., C9, + USletter, USlegal, USexecutive |
\setmargins{left}{top}{width}{height}{headh}{heads}{footh}{foots}
+left | lewy margines |
+top | margines górny |
+width | szerokość tekstu |
+height | wysokość tekstu (łamanego) |
+headh | wysokość nagłówka |
+heads | odległość nagłówka od tekstu |
+footh | maksymalna wysokość przypisów (footnote) |
+foots | odległość między tekstem, a przypisem + (footnote) |
\setmarginsrb{left}{top}{right}{bottom}{headh}{heads}{footh}{foots}
+left | lewy margines |
+top | margines górny |
+right | prawy margines |
+bottom | dolny margines |
+headh | wysokość nagłówka |
+heads | odległość nagłówka od tekstu |
+footh | maksymalna wysokość przypisów (footnote) |
+foots | odległość między tekstem, a przypisem |
\setmargnohf{left}{top}{textwidth}{textheight}
\setmargnohfrb{left}{top}{right}{bottom}
\setmarg{left}{top}{textwidth}{textheight}
\setmargnohfrb{left}{top}{right}{bottom}
+Uwaga! Przy ustawianiu marginesów jest kompensowany + zwyczajowy margines 1 cala (lewy i górny) + ustawiany w sterownikach drukarek i przeglądarkach, + tak więc podawane marginesy są rzeczywistymi + odległościami od brzegów papieru. + +
Pakiet redefiniuje polecenie \verbatiminput
z pakietu
+verbatim
(i ładuje go).
\vref
\vpageref[ta strona][inna strona]{nazwa}
. W zależności od
+kolejności (i odległości) etykiety i powołania się na nią pojawia
+się różny tekst, zdefiniowany przez polecenia:
+Polecenie | Opis | Opis
---|---|
+\reftextfaceafter | + jeśli etykieta jest zdefiniowana na + następnej, widocznej stronie |
+\reftextfacebefore | + jeśli etykieta jest zdefiniowana na + poprzedniej, widocznej stronie |
+\reftextafter | + jeśli etykieta jest zdefiniowana na następnej, + niewidocznej stronie |
+\reftextbefore | + jeśli etykieta jest zdefiniowana na poprzedniej, + niewidocznej stronie |
+\reftexcurrent |
+ jeśli etykieta jest zdefiniowana na stronie
+ bieżącej (tylko \pageref ) |
+\reftexfaraway | + jeśli etykieta jest zdefiniowana na stronie + odległej o więcej niż 1 stronę. |
\reftextvario{tekst dla \pageref}{text dla \ref}
\pageref
i \ref
dla danego
+przypadku (dla \reftextcurrent
pierwszy parametr definiuje tekst
+dla strony bieżącej--prawej, a drugi dla strony bieżącej-lewej wyłącznie
+dla polecenia \pageref
).
+
+
+Przykład
+Dla języka polskiego zostały zdefiniowane następujące napisy:
+
+\def\reftextfaceafter {na \reftextvario{s\k asiedniej}{s\k asiedniej} stronie}% +\def\reftextfacebefore{na \reftextvario{s\k asiedniej}{s\k asiedniej} + stronie}% +\def\reftextafter {na \reftextvario{nast\k epnej}{nast\k epnej} stronie}% +\def\reftextbefore {na \reftextvario{poprzedniej stronie}{poprzedniej + stronie}}% +\def\reftextcurrent {na \reftextvario{bie\.z\k acej}{bie\.z\k acej} stronie}% +\def\reftextfaraway#1{na stronie\pageref{#1}}% ++ +
+Przed użyciem polecenia \usepackage{vrflocal}
musi
+być użyte polecenie
+\usepackage[polish]{multilanguage}
+lub
+\usepackage[english]{multilanguage}
(oryginalny pakiet
+nosi nazwę varioref, wszystkie zdefiniowane w nim napisy
+są w języku angielskim, i nie ma możliwości ich zmiany -- zmodyfikowany
+pakiet współpracuje z moim pakietem polonizacyjnym znajdującym się
+w: IAPW).
+
+
+
W zbiorze zdefiniowana jest makroinstrukcja +underwiggle. Tekst będący argumentem makroinstrukcji jest podkreślany +wężykiem. W ten sposób można zaznaczać tylko krótkie fragmenty, ponieważ +tekst jest wstawiany do pudełka (box), a więc nie podlega łamaniu +(p. także /contrib/misc/ulem.sty).
+ +Zbiór należy dołączać poleceniem input
+ ++Analizowana jest opcja polish i english zmieniająca +treść dodatkowych nagłówków. Pakiet może współpracować z +pakietem vmargin. +
Wywołanie:
+\begin{wrapfigure}[wysokość]{p}[margines]{szerokość}
+tekst otaczający rysunek
+\end{wrapfigure}
+
+p | oznacza miejsce przewidziane na rysunek; l -- z lewej +strony, r -- z prawej strony, |
+margines | parametr opcjonalny, definiujący ujemny lewy + margines; obiekt będzie ,,zachodził'' na lewy margines. |
+szerokość | szerokość obiektu (podana w dowolnych jednostkach + długości) i |
+wysokość | parametr opcjonalny, wymuszający + wysokość obiektu -- określony + liczbą linii (!). |
+\begin{wrapfigure}{l}[1cm]{5cm} +\LARGE AQQ AQQ AQQ +AQQ AQQ AQQ +\caption{Podpis pod rysunkiem} +\end{wrapfigure} +tekst oblewający rysunek +tekst oblewający rysunek +tekst oblewający rysunek +tekst oblewający rysunek +tekst oblewający rysunek +tekst oblewający rysunek +tekst oblewający rysunek +tekst oblewający rysunek +tekst oblewający rysunek +tekst oblewający rysunek +tekst oblewający rysunek +tekst oblewający rysunek +tekst oblewający rysunek +tekst oblewający rysunek +tekst oblewający rysunek +tekst oblewający rysunek +tekst oblewający rysunek ++ +
+ +Uwaga! +Należy samemu pilnować łamania stron (nie jest blokowane łamanie strony +wewnątrz tego środowiska). Środowisko nie może być zagnieżdżone w innym oraz +zawarty w nim tekst musi być wystarczająco długi, aby otoczył rysunek. +Patrz floatflt + + +
Pakiet jest dostępny pod adresem:
+
+ftp://ftp.gust.org.pl/TeX/macros/latex/contrib/wrapfig
+
+
\externaldocument{nazwa}
\ref{etykieta}
i \pageref{etykieta}
.
+
+Jeżeli występuje konflikt nazw etykiet lub chcemy wyróżnić
+odwołania możemy użyć prefiksu; polecenie deklaracji zbioru
+zewnętrznego wygląda następująco:\externaldocument[prefix-]{nazwa}
\ref{prefix-etykieta}
\pageref{prefix-etykieta}
\ccC
jako
++\newcommand{\ccC}{$^{\circ}$\,C} ++użycie polecenia w tekstach +
+dzisiaj jest 10\ccC ciepła +dzisiaj jest 10\ccC, +a wczoraj było 12\ccC. ++daje następujący rezultat:
+
+Natomiast definicja polecenia \ccC
jako
+
+\newcommand{\ccC}{$^{\circ}$\,C\xspace} ++ +
+daje pożądany efekt (TeX ignoruje wszystkie spacje
+po nazwie wywołanej makroinstrukcji, w pierwszym przypadku
+mogliśmy napisać \ccC{}
)
+
+
+
+
+
Pakiet udostępnia środowisko xtabular pozwalające + na robienie tabel dłuższych niż jedna strona + (jest rozwinięciem pakietu + supertabular, podobny + problem próbuje rozwiązać również pakiet + longtable; tyle że znacznie + lepiej). + + +
Jest możliwość zdefiniowania osobno nagłówka + na początku tabeli, po każdym złamaniu strony oraz + stopki tabeli pojawiającego się przed każdym + złamaniem strony i na końcu tabeli. + +
Postać wywołania jest identyczna jak w przypadku tabular +(jest akceptowany zarówno parametr opcjonalny, jak i wersja ,,gwiazdkowa''). Zwykle +tabelę (środowisko tabular) jest zanurzane w środowisku +table, czego nie należy robić w dla środowiska xtabular. + +
Oprócz tego jest zdefiniowane środowisko mpxtabular dedykowane +dla minipage. + + +
polecenie | Opis |
---|---|
+\tablecaption{opis} |
+ definiuje opis tabeli odpowiadający
+ poleceniu \caption{...}. Podpis zostanie
+ umieszczony w zależności od ustawienia
+ zmiennej logicznej \@topcaption
+ nad lub pod tabelą -- wskazane jest użycie poleceń
+ \topcaption lub
+ \bottomcaption
+ (standardowo
+ podpis umieszczany jest na górze tabeli).
+ |
+\topcaption{opis} | + definiuje podpis, który będzie umieszczony nad + tabelą (sens polecenia jest inny niż w pakiecie supertabular + |
+\bottomcaption{opis} | jw. tylko pod tabelą. |
+\tablefirsthead{...} | definiuje nagłówek tabeli, pojawiający się + na początku. Definicja nie jest + obowiązkowa. |
+\tablehead{...} | definiuje nagłówek pojawiający się w przypadku + zmiany strony (na każdej następnej oprócz ostatniej). |
+\tablelasthead{...} | definiuje nagłówek pojawiający się w ostatnim + fragmencie tabeli. + |
+\notablelasthead | anuluje ostatnie polecenie \tablelasthead
+ |
+\tabletail{...} | definiuje stopkę tabeli pojawiającą się + na dole przed pierwszą zmianą strony. |
+\tablelasttail{...} | definiuje stopkę pojawiającą się na końcu tabeli. + Definicja nie jest obowiązkowa. |
+Uwaga!
+Środowisko to można łączyć z makroinstrukcjami ze zbiorów
+hhline i array.
+
+
+Uwaga! nie udało mi się uzyskać zadowalających rezultatów +z użyciem tego pakietu (wersja 2.2a z 15 lutego 2000). + +
+\newcommand\tableofcontents{% + \if@twocolumn + \@restonecoltrue\onecolumn + \else + \@restonecolfalse + \fi + \chapter*{\contentsname + \@mkboth{% + \MakeUppercase\contentsname}{\MakeUppercase\contentsname}}% + \@starttoc{toc}% + \if@restonecol + \twocolumn + \fi + } ++ + + diff --git a/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/latex2e/spisy/l_chap.html b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/latex2e/spisy/l_chap.html new file mode 100644 index 00000000000..d477671a564 --- /dev/null +++ b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/latex2e/spisy/l_chap.html @@ -0,0 +1,31 @@ + + + + + + +
+\newcommand*\l@chapter[2]{% + \ifnum \c@tocdepth >\m@ne% + \addpenalty{-\@highpenalty}% + \vskip 1.0em \@plus\p@% + \setlength\@tempdima{1.5em}% + \begingroup% + \parindent \z@% + \rightskip \@pnumwidth% + \parfillskip -\@pnumwidth% + \leavevmode% + \bfseries% + \advance\leftskip\@tempdima% + \hskip -\leftskip% + #1% + \nobreak\hfil% + \nobreak\hb@xt@\@pnumwidth{\hss #2}\par% + \penalty\@highpenalty% + \endgroup% + \fi}% +% ++ + + diff --git a/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/latex2e/spisy/l_sec.html b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/latex2e/spisy/l_sec.html new file mode 100644 index 00000000000..e28b4652393 --- /dev/null +++ b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/latex2e/spisy/l_sec.html @@ -0,0 +1,53 @@ + + + + + + +
+\def\addcontentsline#1#2#3{% + \addtocontents{#1}{\protect\contentsline{#2}{#3}{\thepage}}% +}% +% +\long\def\addtocontents#1#2{% + \protected@write\@auxout% + {\let\label\@gobble% + \let\index\@gobble% + \let\glossary\@gobble}% + {\string\@writefile{#1}{#2}}% +}% +% +\def\contentsline#1{\csname l@#1\endcsname}% +% +\def\@dottedtocline#1#2#3#4#5{% + \ifnum #1>\c@tocdepth% + \else% + \vskip \z@ \@plus.2\p@% + {\leftskip #2\relax% + \rightskip \@tocrmarg + \parfillskip -\rightskip% + \parindent #2\relax\@afterindenttrue% + \interlinepenalty\@M% + \leavevmode% + \@tempdima #3\relax% + \advance\leftskip \@tempdima \null% + \hskip -\leftskip% + {#4}% + \nobreak\leaders\hbox{$\m@th% + \mkern \@dotsep mu% + \hbox{.}% + \mkern \@dotsep mu$}% + \hfill \nobreak% + \hb@xt@\@pnumwidth{% + \hfil% + \normalfont% + \normalcolor #5}\par}% + \fi}% +% +\def\numberline#1{\hb@xt@\@tempdima{#1\hfil}}% +% +\def\hb@xt@{\hbox to}% ++ + + diff --git a/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/latex2e/spisy/spis.gif b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/latex2e/spisy/spis.gif new file mode 100644 index 00000000000..574c33b6827 Binary files /dev/null and b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/latex2e/spisy/spis.gif differ diff --git a/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/latex2e/spisy/spis.html b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/latex2e/spisy/spis.html new file mode 100644 index 00000000000..7b17e10cc43 --- /dev/null +++ b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/latex2e/spisy/spis.html @@ -0,0 +1,237 @@ + + + + + + +
Spis treści
++
+
W LaTeX-u zostały, standardowo, zdefiniowane trzy spisy:
+spis treści (\tableofcontents
), spis rysunków
+(\listoffigures
) oraz spis tabel
+(\listoftables
). Wywołanie określonego polecenia
+spowoduje umieszczenie w tym miejscu odpowiedniego spisu.
+
+
Proces tworzenia spisu jest dwuetapowy; w czasie pierwszego +przetwarzania tworzone są odpowiednie zbióry pomocnicze +(osobne dla każdego ze spisów), zawierający +polecenia opisujące spis; w drugim przebiegu zbiory te są dołączane +do zbioru podstawowego (tworzony jest również nowy zbiór pomocniczy). + +Za nazwy list odpowiadają następujące makroinstrukcje: +
\tableofcontenst |
+ \listoffigures |
+ \listoftables |
---|---|---|
\listcontentsname |
+ \listfigurename |
+ \listtablename |
Nagłówki są definiownane przy pomocy poleceń
+\section*{nazwa }
+dla artykułu i
+\chapter*{nazwa }
+dla książki i raportu.
+
+
Pozycja do spisu jest wstawiana przy pomocy polecenia:
+
+
+\addcontentsline{zbiór }{typ }{tekst }
+
+
+lub
+
+
+\addtocontents{zbiór }{tekst }
+
+
+gdzie:
+
.toc
-- spis treści,
+.lof
-- spis rysunków,
+.lot
-- spis tabel)
+chapter
, section
...), a ściśle
+nazwie polecenia \l@typ
(np. \l@section
),
+w przypadku spisu
+tabel -- \l@table
i spisu rysunków -- \l@figure
+\addtocontents
służy do wstawienia dodatkowych
+informacji do spisu np. poleceń wstawiających dodatkowy odstęp
+pionowy
+
++\addtocontents{toc}{\protect\vspace{2ex}} ++ + +Dodatkowo została zdefiniowana makroinstrukcja
\numberline
+służąca do przekazania numeru (identyfikatora) obiektu; np.
+numer rozdziału.
+Przykładowe polecenie wstawiające pozycję do spisu treści wygląda
+następująco:
+
+
+\addcontentsline{toc}{section}{\protect\numberline{\thesection}Structure of
+the Table Contents}
+
+
+
+Polecenie to jest używane automatycznie przez makroinstrukcje
+definiujące nagłówki (rozdział, podrozdział ...) w wersji ,,bezgwiazdkowej''
+oraz polecenie
+\caption
użyte w środowiskach table
+i figure
.
+
+
+
+\contentsline{typ }{tekst }{strona } ++ +gdzie: +
chapter
, section
+... figure
, table
) -- nazwę polecenia
+\l@typ
, które jest tak naprawdę wywoływane
+\contentsline
są przekazywane do
+polecenia \l@...
.
+
+Poleceniami odpowiedzialnymi za wygląd odpowiednich pozycji w spisie są:l@part
l@chapter
l@section
l@subsection
l@subsubsection
l@paragraph
l@subparagraph
l@figure
l@table
+\@dottedtocline{poziom }{wcięcie }{pole numeru }{tekst }{strona } ++ +gdzie: +
\tocdepth
+\l@...
+\@pnumwidth | szerokość pola przeznaczonego + na numer strony + |
\@tocrmarg | szerokość prawego marginesu + (nie obejmuje pola numeru strony) + |
\@dotsep | odległość między dwoma kropkami + (w jednostkach mu1) + |
+\makeatletter +\newcommand{\@pnumwidth}{1.55em} +\newcommand{\@tocrmarg}{2.55em} +\newcommand{\@dotsep}{4.5} +\makeatother ++ + +
+
+
+
+\contentsline {section}{\numberline {1.1}To jest przykładowy tytuł +podrozdziału dla raportu}{1} ++ +gdzie makroinstrukcja
\l@section
jest zdefiniowana jako:
+
++\makeatletter +\newcommand*\l@section{\@dottedtocline{1}{1.5em}{2.3em}} +\makeatother ++ + +oczywiście nie każde polecenie
\l@...
musi
+być zdefiniowane przy pomocy polecenie \@dottedtocline
,
+w szczególności jest tak w przypadku
+\l@chapter
+
+
+
+
+
+1 18 mu = 1 em -- \fontdimen2
+dla fontu symbols
+
+
+
+
+
chapter
report
; w przypadku klasy
+book
różnice są niewielkie.
+ Makroinstrukcje zostały przeformatowane dla
+dla celów prezentacji.
+
+
+
+\newcommand\chapter{%
+ \if@openright% jest to opcja pakietu report i book
+ standardowo: - +
+ rozdzial zacznie sia od nastepnej strony
+ lub nastepnej nieparzystej
+ \cleardoublepage%
+ \else%
+ \clearpage%
+ \fi%
+ \thispagestyle{plain}% nr strony na dole
+ \global\@topnum\z@%
+ \@afterindentfalse% nastepny akapit zawsze bez wciecia !!!!!
+ \secdef\@chapter\@schapter}%
+%
+\def\@chapter[#1]#2{% wersja bez gwiazdkowa
+ \ifnum \c@secnumdepth > \m@ne%
+ \refstepcounter{chapter}% inkrementuj licznik
+ \typeout{\@chapapp\space\thechapter.}%
+ \addcontentsline{toc}{chapter}% do spisu tresci
+ {\protect\numberline{\thechapter}#1}%
+ \else%
+ \addcontentsline{toc}{chapter}{#1}%
+ \fi%
+ \chaptermark{#1}% pagina
+ \addtocontents{lof}{\protect\addvspace{10\p@}}%
+ \addtocontents{lot}{\protect\addvspace{10\p@}}%
+ \if@twocolumn%
+ \@topnewpage[\@makechapterhead{#2}]%
+ \else%
+ \@makechapterhead{#2}%
+ \@afterheading%
+ \fi}%
+%
+\def\@makechapterhead#1{% generacja treści tytułu
+ dla wersji bezgwiazdkowej
+ \vspace*{50\p@}% margines na gorze strony
+ {%
+ \parindent \z@%
+ \raggedright% nie justowany
+ \normalfont%
+ \ifnum \c@secnumdepth >\m@ne%
+ \huge\bfseries%
+ \@chapapp{} \thechapter% nazwa i numer rozdziału
+ \par\nobreak%
+ \vskip 20\p@%
+ \fi%
+ \interlinepenalty\@M%
+ \Huge \bfseries #1% treść tytułu
+ \par\nobreak%
+ \vskip 40\p@% odstęp po tytule
+ }}%
+%
+\def\@schapter#1{% wersja gwiazdkowa
+ \if@twocolumn%
+ \@topnewpage[\@makeschapterhead{#1}]%
+ \else%
+ \@makeschapterhead{#1}%
+ \@afterheading%
+ \fi}%
+%
+\def\@makeschapterhead#1{% generacja tytułu dla wersji gwiazdkowej
+ \vspace*{50\p@}%
+ {%
+ \parindent \z@%
+ \raggedright%
+ \normalfont%
+ \interlinepenalty\@M%
+ \Huge \bfseries #1% tresc tytulu (bez nazwy i numeru)
+ \par\nobreak%
+ \vskip 40\p@%
+ }}%
+%
+
+
+
+Proszę zwrócić uwagę, że do utworzenia nazwy tytułu wywołana
+jest makroinstrukcja \@chapapp
; jest ona zdefiniowana jako:
+
+\newcommand\@chapapp{\chaptername}
+
+
+\chaptername
zawiera tekst:
+Rozdział -- dla języka polskiego
+lub
+Chapter -- dla języka angielskiego
+
+
Informacje o aspektach językowych znajdziesz w +części +omawiającej ,,polonizację'' LaTeX2e. + + + diff --git a/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/latex2e/tytuly/count.html b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/latex2e/tytuly/count.html new file mode 100644 index 00000000000..d9a71e484c2 --- /dev/null +++ b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/latex2e/tytuly/count.html @@ -0,0 +1,27 @@ + +
+ + + + + +\arabic{licznik } |
+ liczby w notacji arabskiej |
\roman{licznik } |
+ liczby w notacji rzymskiej -- małymi literami alfabetu |
\Roman{licznik } |
+ liczby w notacji rzymskiej -- dużymi literami alfabtu |
\alph{licznik } |
+ kolejne, małe litery alfabetu |
\Alph{licznik } |
+ kolejne duże litery alfabetu |
\fnsymbol{licznik } |
+ symbole * , \dager ,
+ \ddager ... |
article
++\newcounter {part} +\newcounter {section} +\newcounter {subsection}[section] +\newcounter {subsubsection}[subsection] +\newcounter {paragraph}[subsubsection] +\newcounter {subparagraph}[paragraph] ++oraz klasy
report
i report
++\newcounter {part} +\newcounter {chapter} +\newcounter {section}[chapter] +\newcounter {subsection}[section] +\newcounter {subsubsection}[subsection] +\newcounter {paragraph}[subsubsection] +\newcounter {subparagraph}[paragraph] ++parametry podane w nawiasach
[]
, czyli nazwy innych liczników,
+definiują licznik nadrzędny.
+Zamiana wartości licznika nadrzędnego powoduje wyzerowanie licznika podrzędnego;
+np. użycie polecenia \chapter
powoduje
+liczenie tytułów na poziomie section
od początku --
+wywołuje to lawinę zmian wartości liczników, w rezultacie wszystkie
+liczniki podrzędne zostaną ustawione na 01
+
++W każdym momencie można dopisać do listy liczników podrzędnych +inny licznik + +
+\makeatletter +\@addtoreset{licznik podrzędny}{licznik nadrzędny} +\makeatother ++ +np.
\@addtoreset{chapter}{part}
+
+
+1
.
+
+
+
+
diff --git a/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/latex2e/tytuly/num.html b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/latex2e/tytuly/num.html
new file mode 100644
index 00000000000..18d2a2e1bc8
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/latex2e/tytuly/num.html
@@ -0,0 +1,27 @@
+
+
+
+
+
++\renewcommand\thepart {\@Roman\c@part} +\renewcommand\thechapter {\@arabic\c@chapter} +\renewcommand\thesection {\thechapter.\@arabic\c@section} +\renewcommand\thesubsection {\thesection.\@arabic\c@subsection} +\renewcommand\thesubsubsection{\thesubsection .\@arabic\c@subsubsection} +\renewcommand\theparagraph {\thesubsubsection.\@arabic\c@paragraph} ++ +W definicjach tych występuje pewna niekonsekwencja: +używane są makroinstrukcje (np.
\@Roman
) operujące
+na wewnętrznych nazwach liczników (np. \c@part
). W
+LaTeXu są zdefiniowane polecenia operujące na LaTeX-owych nazwach
+liczników.
+
+
diff --git a/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/latex2e/tytuly/p1.gif b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/latex2e/tytuly/p1.gif
new file mode 100644
index 00000000000..ebe967f88e7
Binary files /dev/null and b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/latex2e/tytuly/p1.gif differ
diff --git a/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/latex2e/tytuly/p2.gif b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/latex2e/tytuly/p2.gif
new file mode 100644
index 00000000000..acd6e80c724
Binary files /dev/null and b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/latex2e/tytuly/p2.gif differ
diff --git a/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/latex2e/tytuly/p3.gif b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/latex2e/tytuly/p3.gif
new file mode 100644
index 00000000000..0abcdd0f15d
Binary files /dev/null and b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/latex2e/tytuly/p3.gif differ
diff --git a/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/latex2e/tytuly/p3.html b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/latex2e/tytuly/p3.html
new file mode 100644
index 00000000000..251694786db
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/latex2e/tytuly/p3.html
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+Na rysunku widzimy standardowe wartości parametrów
+określających położenie tytułu względem otaczającego tekstu.
+
+
+
proszę zwrócić uwagę, że akapit znajdujący +się po tytule zaczyna się od lewego marginesu. + + + diff --git a/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/latex2e/tytuly/p4.gif b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/latex2e/tytuly/p4.gif new file mode 100644 index 00000000000..a6d62e30bbf Binary files /dev/null and b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/latex2e/tytuly/p4.gif differ diff --git a/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/latex2e/tytuly/p4.html b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/latex2e/tytuly/p4.html new file mode 100644 index 00000000000..88847f157de --- /dev/null +++ b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/latex2e/tytuly/p4.html @@ -0,0 +1,15 @@ + +
+ + + + + +Na rysunku widzimy tytuł zdefiniowany poleceniem +mającym ujemną wartość parametru wcięcie +
+
+
+
+
+
diff --git a/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/latex2e/tytuly/p5.gif b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/latex2e/tytuly/p5.gif
new file mode 100644
index 00000000000..1087bc5243d
Binary files /dev/null and b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/latex2e/tytuly/p5.gif differ
diff --git a/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/latex2e/tytuly/p5.html b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/latex2e/tytuly/p5.html
new file mode 100644
index 00000000000..97394ca67e5
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/latex2e/tytuly/p5.html
@@ -0,0 +1,21 @@
+
+
proszę zwrócić uwagę, że tekst znajdujący się po tytule +stanowi jego przedłużenie. Dodatkowym efektem jest brak dodatkowego +marginesu w drugiej i następnych liniach. Odległość między +liniami wynika z odległości w normalnym akapicie, a nie +z ustawionego w tytule. + + + + + diff --git a/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/latex2e/tytuly/p6.gif b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/latex2e/tytuly/p6.gif new file mode 100644 index 00000000000..87a5ca1529f Binary files /dev/null and b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/latex2e/tytuly/p6.gif differ diff --git a/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/latex2e/tytuly/p6.html b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/latex2e/tytuly/p6.html new file mode 100644 index 00000000000..7060b408a08 --- /dev/null +++ b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/latex2e/tytuly/p6.html @@ -0,0 +1,15 @@ + +
+ + + + + +Na rysunku widzimy tytuł zdefiniowany poleceniem +mającym dodatnią wartość parametru po +proszę zwrócić uwagę, że akapit po tytule jest
+wcięty o wartość \parindent
.
+
+
+
diff --git a/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/latex2e/tytuly/p7.gif b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/latex2e/tytuly/p7.gif
new file mode 100644
index 00000000000..1cf49490cb4
Binary files /dev/null and b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/latex2e/tytuly/p7.gif differ
diff --git a/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/latex2e/tytuly/p7.html b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/latex2e/tytuly/p7.html
new file mode 100644
index 00000000000..f8bba75372d
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/latex2e/tytuly/p7.html
@@ -0,0 +1,20 @@
+
+
+\normalfont\Large\sffamily\bfseries\itshape ++ +polecenie zmieniające krój czcionki tytułu + +
+
+
+
+
+
diff --git a/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/latex2e/tytuly/part.html b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/latex2e/tytuly/part.html
new file mode 100644
index 00000000000..cf78ca24ace
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/latex2e/tytuly/part.html
@@ -0,0 +1,83 @@
+
+
part
report
; w przypadku klas
+article
i book
różnice są niewielkie.
+ Makroinstrukcje zostały przeformatowane dla
+dla celów prezentacji.
+
+
+
+\newcommand\part{%
+ \cleardoublepage% ustaw sie na stronie prawej
+ \thispagestyle{plain}% bez stopki i nagłówka
+ \if@twocolumn%
+ \onecolumn% zawsze jednokolumnowo
+ \@tempswatrue%
+ \else%
+ \@tempswafalse%
+ \fi%
+ \hbox{}% wypełnij stronę kitem
+ \vfil%
+ \secdef\@part\@spart}%
+%
+\def\@part[#1]#2{% wersja bez gwiazdki
+ \ifnum \c@secnumdepth >-2%
+ \relax%
+ \refstepcounter{part}% kwalifikuje się do numerowania tytułów
+ \addcontentsline{toc}{part}{\thepart\hspace{1em}#1}%
+ % wstaw do spisu treści
+ \else%
+ \addcontentsline{toc}{part}{#1}% nie kwalifikuje się do numerowania
+ % tytułów wstaw tylko do spisu treści
+ \fi%
+ \markboth{}{}% skasuj paginę
+ {%
+ \centering% akapit centrowany
+ \interlinepenalty \@M% cały tytuł na jednej stronie
+ \normalfont%
+ \ifnum \c@secnumdepth >-2%
+ \relax% jesli kwalifikuje się do numerowania
+ % prezentuj numer tomu
+ \huge\bfseries \partname~\thepart%
+ \par%
+ \vskip 20\p@%
+ \fi%
+ \Huge \bfseries #2\par% prezentuj tytuł części
+ }%
+ \@endpart}%
+%
+\def\@spart#1{% wersja gwiazdkowa
+ {% prezentuj tylko tytuł tomu
+ \centering%
+ \interlinepenalty \@M%
+ \normalfont%
+ \Huge \bfseries #1\par%
+ }%
+ \@endpart}%
+%
+
+
+
+
+\partname
zawiera tekst:
+Tom -- dla języka polskiego
+lub
+Part -- dla języka angielskiego
+
+
Informacje o aspektach językowych znajdziesz w +części +omawiającej ,,polonizację'' LaTeX2e. + + + + diff --git a/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/latex2e/tytuly/poziom.html b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/latex2e/tytuly/poziom.html new file mode 100644 index 00000000000..81db31f6663 --- /dev/null +++ b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/latex2e/tytuly/poziom.html @@ -0,0 +1,24 @@ + +
+ + + + + ++ | article |
+ report |
+ book |
---|---|---|---|
secnumdepth | 3 | 2 | 2 |
tocdepth | 3 | 2 | 2 |
Spis treści
++
+
+
+
| + |
+
|
wszystkie polecenia wywołujemy w jednakowy sposób, ale
+polecenia \part
i
+\chapter
są definiowane
+inaczej niż pozostałe. Do definiowania poleceń
+\section
,
+\subsection
,
+\subsubsection
,
+\paragraph
,
+\subparagraph
służy jedna uniwersalna konstrukcja
+(\startsection
). Wszelkie zmiany w tej
+konstrukcji mają oczywiście wpływ na wygląd wszystkich
+definiowanych w ten sposób tytułów.
+
+
Definicja makroinstrukcji ,,tytułowej''
+przy pomocy konstrukcji \startsection
+jest sparametryzowana, tak więc w momencie jej definiowania
+mamy duży wpływ na jej działanie.
+
+
+
\section
+\section{tytuł }
+\section[skrót ]{tytuł }
+\section*{tytuł }
++tocdepth ++ +Wszystkie tytuły o numerze poziomu mniejszym lub równym +
tocdepth
(stojące wyżej w hierarchii)
+będą wprowadzane do spisu treści (oczywiście o tym czy spis treści
+będzie dołączony do dokumentu decyduje inny parametr
+p. budowa zestawień)
+
+Wartość parametru tocdepth
możemy zmienić w następujący sposób:
++\setcounter{tocdepth }{3 } ++ + +
article
polecenia \section
+i \subsection
definiują również paginę odpowienio:
+\section
na stronie lewej (parzystej), kasując
+paginę na stronie prawej i
+\subsection
na stronie prawej (nieparzystej). W przypadku
+klas report
i book
polecenie
+\chapter
definiuje paginę na stronie lewej (parzystej),
+kasując paginę na stronie prawej, a
+\section
na prawej (nieparzystej). Pagina na stronie
+lewej jest definiowana przez pierwsze wystąpienie
+odpowiedniego tytułu na stronie (lub wynika ona
+tytuu wcześniejszego),
+natomiast pagina na stronie prawej -- przez ostatnie
+wystąpienie odpowiedniego tytułu.
+
+
+Definiowanie paginy odbywa się przez wywołanie wewnątrz
+makroinstrukcji:
+
+
+zmieniając definicję tych makropoleceń możemy mieć wpływ
+na postać paginy (o zasadach tworzenia paginy, nagłówka i
+stopki możesz przeczyta? w artykule o paginie).
+
+\chaptermark{tytuł }
+\sectionmark{tytuł }
+\subsectionmark{tytuł }
+
+O tym czy tytuł będzie opatrzony numerem decyduje jego poziom
+oraz wartość parametru:
+
+secnumdepth
+
+Wszystkie tytuły o numerze poziomu
+mniejszym
+lub równym (stojące wyżej w hierarchii) będą opatrzone numerem.
+
+Wartość parametru secnumdepth
możemy zmienić w następujący sposób:
+
+\setcounter{secnumdepth }{3 }
+
+
+
+
Każdemu poziomowi odpowiada licznik numerujący +kolejne wystąpienia tytułów. Są one zdefiniowane tak, że zmiana numeru +na wyższym poziomie inicjuje wszystkie liczniki niższych poziomów. + + +
+Uwaga:
+Polecenie \part
nie powoduje inicjowania
+liczników podrzędnych. Polecenia \part
i
+\chapter
+są definiowane inaczej niż wszystkie pozostałe tytuły.
+
+
Numery tytułów są prezentowane za pomocą następujących +makroinstrukcji: +
+\thepart +\thechapter +\thesection +\thesubsection +\thesubsubsection +\theparagraph +\thesubparagraph ++ +Np. polecenie: + +
+\renewcommand\thesection{\thechapter.\@arabic\c@section } ++ +definiuje makroinstrukcję
\thesection
+jako złożenie: \thechapter.
i prezentacji licznika
+podrozdziałów (section) jako liczby w notacji
+arabskiej2.
+
+ Tak zdefiniowany numer jest wprowadzany do spisu treści,
+paginy i jako wartość ew. etykiety zaznaczającej tytuł (pojawi
+się w odwołaniu zamiast \ref{etykieta }
).
+
+
W poleceniach tych określamy jedynie z czego ma się składać +numer oraz w jaki sposób ma być +prezentowana wartość licznika. + + +
W LaTeX2e przewidziano możliwość zmiany
+wyglądu numeru (inna czcionka, kropka
+po numerze, efekty dodatkowe); wewnątrz konstrukcji definiującej wywoływana
+jest makroinstrukcja \@seccntformat
, której
+parametrem jest nazwa tytułu (section
,
+subsection
...):
+
Standardowo jej definicja wygląda następująco:
+
+
+\makeatletter
+\renewcommand{\@seccntformat }[1]{\csname the#1\endcsname\quad }
+\makeatother
+
+
+wstawia ona dodatkowe
+światło między numerem, a samym tytułem (\quad
).
+
+
Przykład:
+
+
+\renewcommand{\thesection }{\fbox{\thechapter.\arabic{section }}}
+\section{Definicja błędna }\label{blad }
+
+Powołanie się na numer podrozdziału~\ref{blad }, daje właśnie taki efekt.
+
+
+
+
+
+
+\makeatletter
+\renewcommand{\@seccntformat }[1]{\fbox{\csname the#1\endcsname }\quad}
+\makeatother
+
+\section{Definicja poprawna }\label{dobrze }
+
+W tym przypadku powołanie się na podrozdział~\ref{dobrze } daje
+poprawny efekt.
+
+
+
+
+
+
+Polecenie \@seccntformat
ma wpływ na prezentację
+numeru tytułów poleceń: \section
, \subsection
,
+\subsubsection
,
+\paragraph
i
+\subparagraph
.
+
+
+Przy pomocy tej makroinstrukcji możemy zaspokoić wymagania
+polskich wydawców, czyli umieścić kropkę po ostatniej
+cyfrze numeru;
+poniższa konstrukcja załatwia ten problem.
+
+
+\makeatletter
+\renewcommand{\@seccntformat }[1]{\fbox{\csname the#1\endcsname }.\quad }
+\makeatother
+
+
+
+
+
\section
,
+\subsection
,
+\subsubsection
,
+\paragraph
i
+\subparagraph
+są definiowane poleceniem
+
++ \@startsection{nazwa }{poziom }{wcięcie }{odległość przed }{odległość po }{jak prezentować } ++ + +
section
(nie może to być part
+ ani chapter
)
+
+
+
+\secnumdepth
i
+ \tocdepth
-- wpływa na umieszczenie
+ w spisie treści i numerowanie tytułów
+
+
+\parindent
.
+
+
+\@seccntformat
).
++\normalfont\Large\sffamily\bfseries\itshape ++
+
+
+
+1 Z taką strategią można by polemizować,
+moim zdaniem do spisu treści powinno być wstawione
+pełne brzmienie tytułu. Natomiast tekst zawarty
+w nawiasach []
, jeżeli wystąpi, powinien
+definiować paginę -- często zdarza się, że tytuł w pełnym brzmieniu
+jest zbyt długi.
+
+
+
+2 polecenie
+\@arabic
jest poleceniem niższej warstwy i operuje
+na TeX-owej nazwie licznika; polecenie LaTeX2e
+\newcounter{licznik }
definiuje
+TeX-ową nazwę licznika jako \c@licznik
+
+
+
+
+
+
+
startsection
+
+
++\newcount\@secpenalty% +\@secpenalty = -300% +\newif\if@noskipsec% +\@noskipsectrue% +% +\def\@startsection#1#2#3#4#5#6{% + \if@noskipsec% + \leavevmode% + \fi% + \par% + \@tempskipa #4\relax% + \@afterindenttrue% + \ifdim \@tempskipa < \z@% + \@tempskipa -\@tempskipa% + \@afterindentfalse% + \fi% + \if@nobreak% + \everypar{}% + \else% + \addpenalty\@secpenalty% + \addvspace\@tempskipa% + \fi% + \@ifstar% + {\@ssect{#3}{#4}{#5}{#6}}% + {\@dblarg{\@sect{#1}{#2}{#3}{#4}{#5}{#6}}}}% +% +% +\def\@sect#1#2#3#4#5#6[#7]#8{% + \ifnum #2> \c@secnumdepth% + \let\@svsec\@empty% + \else% + \refstepcounter{#1}% + \protected@edef\@svsec{\@seccntformat{#1}\relax}% + \fi% + \@tempskipa #5\relax% + \ifdim \@tempskipa > \z@% + \begingroup + #6\relax% + \@hangfrom{\hskip #3\relax\@svsec}% + {\interlinepenalty \@M #8\par}% + \endgroup% + \csname #1mark\endcsname{#7}% + \addcontentsline{toc}{#1}{% + \ifnum #2>\c@secnumdepth% + \else% + \protect\numberline{\csname the#1\endcsname}% + \fi% + #7}% + \else% + \def\@svsechd{#6% + \hskip #3\relax %% \relax added 2 May 90 + \@svsec #8\csname #1mark\endcsname% + {#7}% + \addcontentsline{toc}{#1}{% + \ifnum #2>\c@secnumdepth% + \else% + \protect\numberline{\csname the#1\endcsname}% + \fi% + #7}}% + \fi% + \@xsect{#5}}% +% +\def\@xsect#1{% + \@tempskipa #1\relax% + \ifdim \@tempskipa>\z@% + \par \nobreak% + \vskip \@tempskipa% + \@afterheading% + \else% + \global\@nobreakfalse% + \global\@noskipsectrue% + \everypar{\if@noskipsec% + \global\@noskipsecfalse% + \clubpenalty\@M% + \hskip -\parindent% + \begingroup + \@svsechd + \endgroup% + \unskip% + \@tempskipa #1\relax% + \hskip -\@tempskipa% + \else% + \clubpenalty \@clubpenalty% + \everypar{}% + \fi}% + \fi% + \ignorespaces}% +% +\def\@seccntformat#1{% + \csname the#1\endcsname% + \quad}% +% +\def\@ssect#1#2#3#4#5{% + \@tempskipa #3\relax% + \ifdim \@tempskipa > \z@% + \begingroup% + #4% + \@hangfrom{\hskip #1}% + {\interlinepenalty \@M #5\par}% + \endgroup% + \else% + \def\@svsechd{#4\hskip #1\relax #5}% + \fi% + \@xsect{#3}}% +% +\newif\if@afterindent% +\@afterindenttrue% +% +\def\@afterheading{% + \global\@nobreaktrue% + \everypar{\if@nobreak% + \global\@nobreakfalse% + \clubpenalty \@M% + \if@afterindent% + \else% + {\setbox\z@\lastbox}% + \fi% + \else% + \clubpenalty \@clubpenalty% + \everypar{}% + \fi}}% +% +\def\@hangfrom#1{% + \setbox\@tempboxa\hbox{{#1}}% + \hangindent \wd\@tempboxa% + \noindent\box\@tempboxa}% +% +% +\newcount\c@secnumdepth% +\newcount\c@tocdepth% +% +\def\secdef#1#2{\@ifstar{#2}{\@dblarg{#1}}}% +% +\def\sectionmark#1{}% +\def\subsectionmark#1{}% +\def\subsubsectionmark#1{}% +\def\paragraphmark#1{}% +\def\subparagraphmark#1{}% ++ + + + diff --git a/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/latex2e/tytuly/tc.gif b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/latex2e/tytuly/tc.gif new file mode 100644 index 00000000000..026b5330f56 Binary files /dev/null and b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/latex2e/tytuly/tc.gif differ diff --git a/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/latex2e/tytuly/tc.html b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/latex2e/tytuly/tc.html new file mode 100644 index 00000000000..3c581d11ece --- /dev/null +++ b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/latex2e/tytuly/tc.html @@ -0,0 +1,55 @@ + + + + + + + + +Przykład pokazujący możliwość wycentrowania tytułu + +
+\makeatletter +\newcommand\csection{\@startsection {section}{1}{0cm}% + {3.5ex \@plus -1ex \@minus -.2ex}% + {2.3ex \@plus.2ex}% + {\centering\normalfont\Large\bfseries}} +\makeatother ++ + +
+
+
+Proszę zwrócić uwagę, że obszar centrowany posiada dodatkowy
+lewy margines (zawierający numer). Efekt ,,etykiety'' jest
+uzyskany bardzo głębokim makropoleceniem TeX-a i nie jest
+,,przykrywany'' poleceniem \centering
.
+
+
Udoskonalmy powyższą definicję
+
+
+\makeatletter
+\newcommand\@csection{\@startsection {section}{1}{0cm}%
+ {3.5ex \@plus -1ex \@minus -.2ex}%
+ {2.3ex \@plus.2ex}%
+ {\centering\normalfont\Large\bfseries}}
+\newcommand\csection{%
+\def\@hangfrom##1{%
+ \setbox\@tempboxa\hbox{{##1}}%
+% \hangindent \wd\@tempboxa%
+ \noindent\box\@tempboxa}
+\@csection}%
+\makeatother
+
+
+zmieniając definicję makroinstrukcji odpowiedzialnej za dodatkowy
+margines w tytule. Zmiana definicji jest dokonywana każdorazowo
+i ma charakter lokalny, ma to wpływ jedynie na wygląd
+tytułu uzyskanego poleceniem \csection
+
+
+
+
+
+
diff --git a/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/latex2e/tytuly/tca.gif b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/latex2e/tytuly/tca.gif
new file mode 100644
index 00000000000..71ae6514109
Binary files /dev/null and b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/latex2e/tytuly/tca.gif differ
diff --git a/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/latex2e/tytuly/tl.gif b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/latex2e/tytuly/tl.gif
new file mode 100644
index 00000000000..5a180197379
Binary files /dev/null and b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/latex2e/tytuly/tl.gif differ
diff --git a/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/latex2e/tytuly/tl.html b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/latex2e/tytuly/tl.html
new file mode 100644
index 00000000000..ba72ab4f039
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/latex2e/tytuly/tl.html
@@ -0,0 +1,30 @@
+
+
+
+\makeatletter +\renewcommand\rsection{\@startsection {section}{1}{0cm}% + {3.5ex \@plus -1ex \@minus -.2ex}% + {2.3ex \@plus.2ex}% + {\raggedright\normalfont\Large\bfseries}} +\makeatother ++ + +
+
+
+ +Zachowany jest efekt ,,etykiety'' (kolejne linie tytułu +mają dodatkowy margines wynikający z szerokości numeru). + + + diff --git a/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/latex2e/tytuly/tr.gif b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/latex2e/tytuly/tr.gif new file mode 100644 index 00000000000..c41ccfc06aa Binary files /dev/null and b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/latex2e/tytuly/tr.gif differ diff --git a/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/latex2e/tytuly/tr.html b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/latex2e/tytuly/tr.html new file mode 100644 index 00000000000..a8164bf8905 --- /dev/null +++ b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/latex2e/tytuly/tr.html @@ -0,0 +1,27 @@ + + +
+ + + + + +Przykład pokazujący tytuł dosunięty do prawego marginesu + ++\makeatletter +\renewcommand\lsection{\@startsection {section}{1}{0cm}% + {3.5ex \@plus -1ex \@minus -.2ex}% + {2.3ex \@plus.2ex}% + {\raggedleft\normalfont\Large\bfseries}} +\makeatother ++ + +
+ + + + + diff --git a/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/latex2e/tytuly/tx.gif b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/latex2e/tytuly/tx.gif new file mode 100644 index 00000000000..1638f79f73c Binary files /dev/null and b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/latex2e/tytuly/tx.gif differ diff --git a/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/latex2e/tytuly/tx.html b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/latex2e/tytuly/tx.html new file mode 100644 index 00000000000..cce385f7c13 --- /dev/null +++ b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/latex2e/tytuly/tx.html @@ -0,0 +1,28 @@ + + +
+ + + + + +Przykład pokazujący możliwość numerowania tytułów na marginesie +tekstu. + ++\makeatletter +\renewcommand{\@seccntformat}[1]{\hbox to 2cm{\csname the#1\endcsname}} +\renewcommand\section{\@startsection {section}{1}{-2cm}% + {3.5ex \@plus -1ex \@minus -.2ex}% + {2.3ex \@plus.2ex}% + {\normalfont\Large\bfseries}} +\makeatother ++ + +
+ + + + diff --git a/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/latex2e/tytuly/txx.gif b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/latex2e/tytuly/txx.gif new file mode 100644 index 00000000000..4d4cdd0a6e8 Binary files /dev/null and b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/latex2e/tytuly/txx.gif differ diff --git a/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/latex2e/tytuly/txx.html b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/latex2e/tytuly/txx.html new file mode 100644 index 00000000000..b5f9d0a8746 --- /dev/null +++ b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/latex2e/tytuly/txx.html @@ -0,0 +1,34 @@ + + +
+ + + + + +Przykład pokazujący możliwość skasowania dodatkowego +wcięcia w tytule (efekt ,,etykiety''). + ++\makeatletter +\def\@hangfrom#1{% + \setbox\@tempboxa\hbox{{#1}}% +% \hangindent \wd\@tempboxa% + \noindent\box\@tempboxa} +\renewcommand\section{\@startsection {section}{1}{0cm}% + {3.5ex \@plus -1ex \@minus -.2ex}% + {2.3ex \@plus.2ex}% + {\normalfont\Large\bfseries}} +\makeatother ++ + +
+ +Teraz tytuł jest naprawdę wycentrowany. + + + + + diff --git a/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/manifest.html b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/manifest.html new file mode 100644 index 00000000000..f154eb09c84 --- /dev/null +++ b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/manifest.html @@ -0,0 +1,81 @@ + +
+ + + + +INTERNET
-u. Publikowanie swoich spostrzeżeń i osiągnięć jest tanie, proste
+i niekłopotliwe. Czytelnik może mieć dostęp do informacji natychmiast
+po jej wytworzeniu.
+
+Chciałbym, aby w tym Dziale były umieszczane artykuły poruszające
+różne problemy związane ze składem tekstów przy pomocy programu
+TeX.
+Zachęcam wszystkich do podzielenia się swoją wiedzą z użytkownikami
+sieci INTERNET
. Powstające forum będzie uzupełnieniem
+listy dyskusyjnej
+GUST
-u, gdzie
+życzliwi Subskrybenci odpowiadają na
+,,krótkie pytania''.
+
+
Proponuję, aby zamieszczane publikacje, wzorem twórcy +TeX-a, +stały się własnością świata. Jeżeli Autor wyraźnie nie wniósł +zastrzeżeń, dozwolone jest drukowanie i powielanie informacji +bez żadnych ograniczeń. + +
Artykuły oraz
+wszelkie uwagi i pomysły na temat redakcji działu
+proszę kierować na adres
+W.Macewicz@ia.pw.edu.pl. Służę pomocą, wszystkim chętnym opublikowania
+artykułu,
+w przetłumaczeniu i zredagowaniu go do postaci hipertekstowej
+HTML
. Osoby mające dostęp do komputerów na których pracuje serwer
+WWW
+mogą zgłosić jedynie chęć dołączenia publikacji do Katedry
+TeX-ologii.
+
+
Mam nadzieję, że zamieszczone artykuły będą czytelne dla każdego.
+Standardowym sposobem kodowania jest kod zgodny zgodny z obowiązującą normą
+PN-93 T-42118
i normą ISO-8859
. Artykuły mogą być
+tłumaczone ,,w locie'' na jeden z dostępnych sposobów (wystarczy przełączyć
+kodowanie na stronie głównej).
+
+
+
Zachęcam wszystkich do współpracy w tworzeniu i redakcji tego Działu. +Otwarcie działu w +Wirtualnej +Akademii popularyzującego +program TeX nie jest konkurencją, ale uzupełnieniem działalności + +Grupy +Użytkowników Systemu TeX. Liczę na +współpracę TeXpertów, stanowiących trzon GUST-u, którzy zawsze chętnie +dzielili się swoją wiedzą. + + +
+
+
+
pdfetex -ini -progname=context cont-en
$TEXMF/webc/
+ fmtutil --byfmt cont-en
texexec --make en
$TEXMF/tex/context/config/cont-usr.tex
należy odnaleźć
+wiersze, w których znajdują się ustawienia dla języka polskiego
+i usunąć komentarze z odpowiednich wierszy:
++ \installlanguage [\s!pl] [\c!status=\v!start] % dodaje jęz. polski + \setupcurrentlanguage[\s!pl] % włącza polski jako domyślny + \definefilesynonym [font-cmr] [font-plr] % włącza użycie fontów PL ++Wygenerować format dowolną z powyższych metod. +
texexec
podając dodatkowe opje: texexec --make --bodyfont=plr --language=pl en
+cont-fmt.tex
+ \unprotect + \installlanguage[\s!pl][\c!status=\v!start] + \setupcurrentlanguage[\s!pl] + \definefilesynonym[font-cmr][font-plr] + \protect + \endinput ++Następnie wygenerować format metodą I.1. +
texexec <nazwa_pliku>
+
++Wybrane opcje programu texexec: + +
Opcja | Opis | +
---|---|
--output=[pdftex|dvips] | wybór generowanego pliku wyjściowego | +
równoważne --output=pdftex | +|
--result=<out> | nazwa pliku wynikowego | +
--pages=<lista_stron> | zapisanie do pliku wynikowego + tylko wybranych stron | +
--fast | przetworzenie szybkie (bez ilustracji + itp.) | +
--once | przetworzenie jednokrotne | +
--make | wygenerowanie formatu | +
+Można także wywoływać ConTeXt poleceniem cont-en
:
+ cont-en <plik_wejściowy>
+albo bezpośrednim wywołaniem programu pdfetex:
+ pdfetex -efmt=cont-en -progname=context <plik_wejściowy>
+
+
+emTeX (autorstwa Eberharda Mattesa) jest jedną z najstarszych +implementacji systemu TeX dla środowiska MS DOS +i OS/2. Charakteryzuje się elastycznością +konfiguracji -- +działanie zależy od ustawień zmiennych środowiska. Bardzo dobra +przeglądarka dokumentów (ale nie umożliwia wyświetlania włączonej do tekstu +grafiki +w formacie EPS, jedynie czarno-białe .bmp i .pcx) +i liczne sterowniki umożliwiające druk dokumentu +na szerokiej gamie drukarek.
+ +Dystrybucja emTeX nie zawiera sterownika Dvips (konwersji plików DVI +do PostScript) oraz programu MetaPost, ale są dostępne w archiwach +CTAN oddzielne pakiety +z tymi programami, współpracujące z instalacją emTeX. + +W TeX-u zaimplementowano konwersję znaków na wejściu i wyjściu co +umożliwia tworzenie dokumentów (znaki narodowe) w notacji naturalnej +(w dowolnym kodzie) +-- wygodnej dla autora dokumentu. Kodowanie to jest wkompilowane w plik +formatu, stąd pewna niedogodność -- przy zmianie kodowania niezbędne jest +wygenerowanie nowego pliku formatu. + +
Są kłopoty z uruchomieniem pakietu emTeX (sam TeX i przeglądarka +dokumentów) w środowisku systemu Windows NT. +Przeglądarka dokumentów pracuje w trybie wyłączności, co stwarza +kłopoty w środowisku graficznym (w windows NT/XP uniemożliwia to używanie).
+Dystrybucja emTeX nie zawiera pakietów pozwalających na skład w języku +polskim; należy samodzielnie zainstalować odpowiednie pakiety. +Opis instalacji i polonizacji dostępny jest na serwerze GUST +w pliku +inst-emt.txt. + +
+Niestety coraz bardziej widać, że pakiet pochodzi z poprzedniej epoki, +choć, obficie uzupełniony o dodatkowe programy, działa dobrze, szczególnie +na słabszych komputerach i tylko w systemach MS DOS i OS/2. +Projekt został dawno zarzucony.
+ +O tym, że TeX nie jest reliktem przeszłości świadczy powstawanie +nowych implementacji. Po chwilowym zachłyśnięciu się narzędziami +WIWISIG i ich złudną przyjaznością dla użytkownika nastąpił renesans +systemu TeX. Ostatnio pojawiło się kilka nowych implementacji, a stare +są wciąż uaktualniane. +
+ +Należy pamiętać, że TeX jest zawsze taki sam -- makroprocesor, +interpreter tego samego języka. Różnice implementacyjne polegają +na dostosowaniu programu do różnych systemów operacyjnych (głównie chodzi +o system wejścia/wyjścia), różne są programy pomocnicze. + +
+W przypadku systemu operacyjnego Unix (i wszelkich jego odmian) +nie musimy się zastanawiać -- +bardzo dobrą implementacją był teTeX, na bazie którego +powstała dystrybucja wieloplatformowa +TeX Live. W przypadku +systemów MS DOS i MS Windows różnorodność jest duża, ale wiele projektów +jest już nieaktualnych. + +
+ +Znane są mi dwie implementacje +(Scientific WorkPlace i Visual TeX +firmy MicroPress) +
+Podstawową cechą tych produktów jest ,,zintegrowane środowisko'': +edytor pracujący w trybie pseudo-WIWISIG (również wzory matematyczne), +przeglądarka dokumentów w trybie dokładnym i sam TeX. Moim zdaniem +tworzenie dokumentów przetwarzanych TeX-em to nie tylko profesjonalny skład, +ale i pewna filozofia tworzenia dokumentów (w szczególności LaTeX, TeXinfo), +polegająca na tym, że tworzymy opis struktury dokumentu; autor koncentruje +się na treści, a nie na formie -- wyglądem dokumentu zajmie się TeX +(na podstawie zdefiniowanych reguł). Próbę upodobnienia TeX-a do +wordprocesorów WIWISIG uważam za nieporozumienie -- rezygnujemy z mnóstwa +zalet TeX-a, a dokładamy szereg wad edytorów pracujących +w trybie graficznym. Do niedawna produkty komercyjne charakteryzowały się +lepszym dostosowaniem do środowiska Windows (przeglądarka dokumentów +uwzględniająca dołączane pliki graficzne w różnych postaciach w tym +postscriptowe). Obecnie można zbudować sobie środowisko pracy oparte +na oprogramowaniu shareware i ,,wolnych'' implementacjach TeX-a które mają +podobne własności użytkowe
+ +
+
+
+Przewodnik po systemie TeX (podstawowe informacje)
+
+Podstawy systemu TeX
+
+
+
+O polonizacji TeX-a
+
+
+
+Różne implementacje TeX-a -- co wybrać?
+
+
+Web2C
+Web2C
+
+ Uwaga: MiKTeX (jako ProTeXt) dostępny jest na udostępnianym przez +GUST +DVD TeX Collection 2007 i poniższe uwagi można zastosować +także do tej dystrybucji, np. gdy mamy mało miejsca na dysku. + +
+
c:\inst\
):c:\inst\setup.exe
+
+Poland ftp://ftp.gust.org.pl...
+
+setup.exe
+
+c:\inst
)
+
+c:\texmf
+ podobnie jak i wszystkie pozostałe zapytania aż do zakończenia
+ pracy setup.exe
+
++Do zainstalowanego zestawu ,,Small'' należy teraz dodać polskie pakiety. + +
+Z menu Start -> Programy -> MiKTeX
uruchomić
+MiKTeXOptions
i wybrać
+zakładkę ,,Packages'' a w niej (dla ,,Package repository'')
+przyciskiem ,,Change'' np. ftp://ftp.gust.org.pl...
+Po zaktualizowaniu bazy danych o dostępnych pakietach można dokonać
+wyboru przez zaznaczenie wśród MiKTeX Packages:
+
+
+Documentation -> lshort-polish +Language Support -> Polish (cała gałąź) +Uncategorized -> tex-ps ++ +
+Po zakończeniu wyboru nacisnąć przycisk ,,Zastosuj''. + +
MiKTeXOptions
(bądź z wiersza poleceń
+mo.exe
), w zakładce ,,Languages'' należy zaznaczyć ,,polish''
+i zatwierdzić zmiany przyciskiem ,,Zastosuj''. Teraz w zakładce
+,,TeX Formats'' można wskazać interesujący nas format (np. latex czy mex)
+i wygenerować go przyciskiem ,,Build''. Uwaga: dopiero wtedy LaTeX
+będzie przygotowany do obsługi języka polskiego, tzn. będzie zawierał polskie
+wzorce przenoszenia wyrazów.
+
+
+ Warto pamiętać, że prywatne dodatki (makra, fonty) instalujemy zawsze tylko
+w odpowiednich podkatalogach drzewa c:\localtexmf
, po czym
+odświeżamy bazę danych instalacji z programu MiKTeX Options ->
+General -> Refresh Now
(albo, szybciej, z linii poleceń:
+initexmf -u
).
+
+
+ Od wersji 2.4 MiKTeX zawiera specjalnie skonfigurowany program Ghostscript
+o nazwie mgs.exe
(aktualnie w wersji 8.15), który w zasadzie
+jest wykorzystywany w tle np. przez program podglądu Yap itp. Chcąc
+skorzystać z mgs.exe
z linii poleceń (np. do zadań typu wsadowego)
+należy zadeklarować zmienną systemową
+
+set MIKTEX_GS_LIB=c:\texmf\ghostscript\base;c:\texmf\fonts ++(powyższy wiersz można dodać w Windows 95/98 do +
autoexec.bat
; w Windows
+NT/XP nazwę zmiennej i przypisaną wartość wpisujemy w Panelu
+sterowania -> System -> Zaawansowane -> Zmienne środowiskowe
).
+
++
pdftex
.
+
+
+Poniżej pokazano prosty przykład tworzenia pliku z użyciem
+pakietu Polski
. Pakiet ten dostarcza narzędzi potrzebnych do składu
+dokumentów w języku polskim LaTeXem 2e.
+Autorzy pakietu: Mariusz Olko i Marcin Woliński.
+Więcej informacji na temat samego pakietu -- patrz plik
+czytaj.txt
dystrybucji pakietu Polski (dawniej PLaTeX).
+
+
+Ponadto w dystrybucjach
+dołączono przykładowy plik doc/latex/polski/sample-polski.tex
.
+służący do przetestowania poprawnego
+działania formatu LaTeX. Początkującym użytkownikom zaleca się
+zapoznanie z zawartością tego pliku.
+
+Techniczne szczegóły dotyczące użycia pakietu polski.sty
+(główny element pakietu polski) dostępne są po dwukrotnym uruchomieniu:
+ latex polski.dtx
+ latex polski.dtx
+i wyświetleniu wynikowego polski.dvi
.
+ +
+Format w systemie TeX to wstępnie prekompilowany (aby przyspieszyć
+jego analizę przez program tex/pdftex
) zestaw makrodefinicji oraz reguł
+przenoszenia wyrazów dla wybranego zestawu języków.
+Plik formatu z reguły posiada rozszerzenie .fmt
.
+Tworzenie formatu to, w skrócie, uruchomienie programu
+tex/pdftex
+z opcją --ini
i wczytanie odpowiedniego pliku
+inicjującego (dla LateX jest to plik latex.ltx
).
+W LaTeX 2e zestaw reguł przenoszenia wyrazów jest zwyczajowo
+deklarowany w pliku o nazwie language.dat
.
+Plik ten znajduje się zwykle w podkatalogu
+tex/generic/config/language.dat
lokalnej konfiguracji systemu
+TeX bądź w identycznym podkatalogu katalogu głównego instalacji. Modyfikacja
+language.dat
polega na usunięciu w tym pliku znaku komentarza
+`%' w wierszu
+polish plhyph.tex
+i ewentualnym
+zablokowaniu takim znakiem niepożądanych deklaracji wzorców dzielenia
+wyrazów.
W teTeX/TeX Live należy uruchomić program
+ texconfig
,
+ uaktywnić reguły dzielenia wyrazów dla języka polskiego -- menu
+ Hyphenation
uruchamia edycję pliku
+ language.dat
; po zapisaniu zmian w pliku
+ i zakończeniu edycji, zostanie automatyczne wygenerowany format
+ latex.fmt
zawierający
+ wybrane wzorce dzielenia oraz mechanizm Babel przełączania języków;
+ texconfig
tworzy ponadto dowiązanie (lub program)
+ latex
.
+ Dla dociekliwych: powyższe odpowiada uruchomieniu z linii
+ poleceń:
+ fmtutil --byfmt latex; texlinks
+ zaś na niższym poziomie -- poleceniu
+ pdftex --ini --progname=latex latex.ini
+ (od Web2c wer. 7.5.5 używamy jednego programu pdftex
).
W instalacji MiKTeX należy uruchomić menu
+ MiKTeX Options
, zaznaczyć w podmenu
+ Languages: polish
reguły przenoszenia wyrazów, po czym
+ w menu TeX Formats
wygenerować (przyciskiem
+ Build
) nowy format latex.fmt
, zawierający
+ polskie wzorce.
+ Format pdflatex.fmt
dla tworzenia plików PDF
+ tworzony jest analogicznie.
+W omawianych wyżej przypadkach tworzony jest plik formatu
+ latex.fmt
(lub pdflatex.fmt
), który jest
+ umieszczany w katalogu właściwym dla tego rodzaju
+ plików, oraz tworzony jest program latex
lub
+ pdflatex
+
+
.log
, a także pliki ze spisem treści, skorowidzem itp.
+
+Uruchomienie polecenia:
+latex --translate-file=TCXFILE myfile.tex
+oznacza uruchomienia TeX-a z formatem latex.fmt
+i z odpowiednią tablicą przekodowań (ich lista znajduje się
+poniżej).
+
+Przekodowanie (plik TCX) może być deklarowane bezpośrednio w pliku
+TeX-owym.
+
+Przykładowo, jeśli pierwszy wiersz pliku zawiera
+ komentarz strukturalny postaci
+ %&latex --translate-file=il2-pl
+ to plik może być przetworzony za pomocą polecenia pdftex plik.tex
;
+ zostanie wtedy wczytany format latex.fmt
oraz tablica
+ il2-pl.tcx
+ przekodowania z układu iso8859-2 do układu fontów PL (wewnętrznego
+ dla programu TeX; w LaTeX-u ma on kryptonim OT4).
+
+Tym samym zbędna jest deklaracja w preambule pliku LaTeX-owego:
+ \usepackage[latin2]{inputenc}
+ \usepackage[OT4]{fontenc}
+
+
+W dystrybucjach dostarczono szereg plikow TCX. Można je znaleźć
+w katalogu texmf/web2c/
:
+
amiga-pl.tcx | AmigaPL do PL | +
il2-pl.tcx | iso8859-2 (latin2) do PL | +
cp1250pl.tcx | Windows cp1250 do PL | +
cp852-pl.tcx | IBM cp852 do PL | +
macce-pl.tcx | Apple MacCE do PL | +
maz-pl.tcx | Mazovia do PL | +
+A oto przykład pliku LaTeX-owego: + +
+ %& --translate-file=cp1250pl + \documentclass[a4paper]{article} + \usepackage{polski} + \begin{document} + Polskie literki piszemy w standardzie Windows cp1250: ..... + \end{document} ++ + Jak widać, nasz plik ma krótką preambułę -- pakiet
polski
+ korzysta domyślnie z zainstalowanych fontów PL (odpowiada mu układ
+ OT4, więc zbędna jest deklaracja \usepackage[OT4]{fontenc}
).
+ Jeśli korzystamy
+ z fontów EC nasza preambuła powinna zawierać dodatkowy wiersz:\usepackage[T1]{fontenc}
+
+
+
+
+Przedstawimy tu przykład dotyczący instalacji fontów PL.
+ Pliki .pfb
powinny znaleźć się w podkatalogu
+ texmf/fonts/type1/public/pl/
naszej instalacji, pliki
+ map fontowych (.map
) w katalogu
+ texmf/fonts/map/dvips/pl/
zaś wektory kodowań
+(.enc
) -- w katalogu texmf/fonts/enc/dvips/pl/
+
+W dystrybucjach opartych na Web2c zautomatyzowano, poprzez użycie programu
+updmap
, proces tworzenia map fontowych dla programów
+dvips
, pdftex
+i dvipdfmx
. Poniżej omówiono więc tylko, czego ten proces
+dotyczy.
+
+ Sterownik dvips
(zamieniający wynik pracy TeX-a, plik DVI,
+ do formatu PostScript) wymaga aby deklaracje map fontowych
+ (dla fontów PL konkretnie zawartość texmf/fonts/map/dvips/pl/pl.map
)
+ były dołączone do pliku texmf/fonts/map/dvips/updmap/psfonts.map
.
+ Mapy fontowe można alternatywnie dołączyć w pliku
+ texmf/dvips/config/config.ps
(lub jego lokalnej kopii),
+ dopisując wiersz:
+ p +pl.map
+ po deklaracji głównej mapy fontowej: p psfonts.map
.
+
+ Aby fonty Type 1 były użyte przez program pdfTeX
,
+ należy sprawdzić jakie mapy fontowe są deklarowane w pliku
+ texmf/fonts/map/pdftex/updmap/pdftex.map
-- powinien on także
+ zawierać deklaracje map fontowych dla fontów PL.
+
+W dystrybucjach wszystkie aktualnie dostępne polskie fonty
+Type1 są gotowe do użycia zarówno przez program dvips
,
+pdftex
, jak i dvipdfmx
.
+ +Bardziej szczegółowe omówienie instalacji fontów Type1 zawarte +jest w artykule Instalowanie +fontów Type1/True Type.
+ +
mex.fmt
+(lub pdfmex.fmt
, dla wersji TeX-a tworzącej
+od razu pliki PDF)
+i jego użycie w instalacji zgodnej z Web2c
+(dystrybucje teTeX, TeX Live) a także MiKTeX.
+Szczegółowe informacje nt. pakietu MeX zawarto w pliku
+mexinfo.pol
.
+
+
+W dystrybucji dołączono ponadto prosty plik przykładowy
+doc/polish/mex/base/tstmex.tex
, służący do przetestowania
+poprawnego działania formatu MeX. Początkującym użytkownikom zaleca się
+zapoznanie z zawartością tego pliku.
+Plik ten dostępny jest także na serwerze
+GUST.
+
+
tex/pdftex
) zestaw makrodefinicji oraz reguł
+przenoszenia wyrazów dla wybranego zestawu języków. Plik formatu z reguły
+posiada rozszerzenie .fmt
.+ +Przygotowanie formatu MeX (lub pdfMeX do tworzenia +plików PDF) polega w skrócie na uruchomieniu: +
+tex-engine --ini mex.ini ++ +gdzie tex-engine oznacza program
tex
lub
+pdftex
. Obecnie, od Web2c wer. 7.5.5, używamy jednego programu:
+pdftex
, zaś ,,sposób'' generowania formatu (dla tworzenia
+plików DVI lub PDF) zależny jest od zawartości pliku .ini
.
+Zatem format do tworzenia plików PDF generujemy obecnie poleceniem:
+pdftex --ini pdfmex.ini
.
+Podczas przetwarzania wczytywane są pliki makr formatu MeX, a także
+plain.tex
oraz wzorce przenoszenia wyrazów dla języka polskiego
+i angloamerykańskiego.
+
++Ponieważ wygenerowany plik powinien znaleźć się w odpowiednim +miejscu struktury katalogów, a także powinien zostać ,,zarejestrowany'' +w instalacji, współczesne dystrybucje ułatwiają proces generowania. + +
fmtutil
(fmtutil --help
wyświetla dostępne
+opcje) zaś deklaracje formatów znajdują się w pliku
+texmf/web2c/fmtutil.cnf
(gdy posiadamy drzewo katalogów
+zawierające lokalne pliki konfiguracyjne instalacji systemu TeX, program
+fmtutil
korzysta z lokalnej kopii fmtutil.cnf
;
+dokładne położenie pliku wyświetli uruchomienie polecenia:
+kpsewhich fmtutil.cnf
).Formats
programu texconfig
, które
+pozwala modyfikować plik fmtutil.cnf
,
+co polega na usunięciu znaku #
+przed deklacją wybranego formatu bądź zablokowaniu takim znakiem
+formatów niepożądanych. Po zapisaniu pliku i zakończeniu edycji,
+format zostanie automatyczne wygenerowany.fmtutil.cnf
, po czym
+uruchomić polecenie fmtutil --byfmt=mex
+(lub fmtutil --byfmt=pdfmex
).
+
+MiKTeX Options
podmenu
+TeX Formats
, zaznaczyć format
+MeX
(pdfMeX
) i utworzyć (przyciskiem
+Build
) potrzebny plik formatu.
+
+W obu omawianych przypadkach tworzony jest plik formatu
+mex.fmt
(lub pdfmex.fmt
), który jest
+umieszczany w katalogu właściwym dla tego rodzaju
+plików, oraz tworzony jest program mex
lub pdfmex
+(uruchamia on program pdftex
+z formatem mex
bądź
+z formatem pdfmex
).
.log
, a także pliki ze spisem treści, skorowidzem itp.
+
+Uruchomienie polecenia:
+mex --translate-file=TCXFILE myfile.tex
+oznacza uruchomienia TeX-a z formatem mex.fmt
+i z odpowiednią tablicą przekodowań (ich lista znajduje się
+poniżej). Polecenie mex
tworzone jest zwykle jako dowiązanie
+do programu (obecnie) pdftex
w katalogu zawierającym binaria.
+
+Przekodowanie (plik TCX) może być deklarowane bezpośrednio w pliku
+TeX-owym.
+
+Przykładowo, jeśli pierwszy wiersz pliku zawiera
+ komentarz strukturalny postaci
+ %&mex --translate-file=il2-pl
+ to plik może być przetworzony za pomocą polecenia pdftex plik.tex
;
+ zostanie wtedy wczytany format mex.fmt
oraz tablica
+ il2-pl.tcx
+ przekodowania z układu iso8859-2 do układu fontów PL (wewnętrznego
+ dla programu TeX).
+
+ W dystrybucjach dostarczono szereg plikow TCX. Można je znaleźć
+ w katalogu texmf/web2c/
:
+
+
+
amiga-pl.tcx | AmigaPL do PL | +
il2-pl.tcx | iso8859-2 (latin2) do PL | +
cp1250pl.tcx | Windows cp1250 do PL | +
cp852-pl.tcx | IBM cp852 do PL | +
macce-pl.tcx | Apple MacCE do PL | +
maz-pl.tcx | Mazovia do PL | +
+
+Przedstawimy tu przykład dotyczący instalacji fontów PL.
+ Pliki .pfb
powinny znaleźć się w podkatalogu
+ texmf/fonts/type1/public/pl/
naszej instalacji, pliki
+ map fontowych (.map
) w katalogu
+ texmf/fonts/map/dvips/pl/
zaś wektory kodowań
+(.enc
) -- w katalogu texmf/fonts/enc/dvips/pl/
+
+W dystrybucjach opartych na Web2c zautomatyzowano, poprzez użycie programu
+updmap
, proces tworzenia map fontowych dla programów
+dvips
, pdftex
+i dvipdfmx
. Poniżej omówiono więc tylko, czego ten proces
+dotyczy.
+
+ Sterownik dvips
(zamieniający wynik pracy TeX-a, plik DVI,
+ do formatu PostScript) wymaga aby deklaracje map fontowych
+ (dla fontów PL konkretnie zawartość texmf/fonts/map/dvips/pl/pl.map
)
+ były dołączone do pliku texmf/fonts/map/dvips/updmap/psfonts.map
.
+ Mapy fontowe można alternatywnie dołączyć w pliku
+ texmf/dvips/config/config.ps
(lub jego lokalnej kopii),
+ dopisując wiersz:
+ p +pl.map
+ po deklaracji głównej mapy fontowej: p psfonts.map
.
+
+ Aby fonty Type 1 były użyte przez program pdfTeX
,
+ należy sprawdzić jakie mapy fontowe są deklarowane w pliku
+ texmf/fonts/map/pdftex/updmap/pdftex.map
-- powinien on także
+ zawierać deklaracje map fontowych dla fontów PL.
+
+W dystrybucjach wszystkie aktualnie dostępne polskie fonty
+Type1 są gotowe do użycia zarówno przez program dvips
,
+pdftex
, jak i dvipdfmx
.
+ +Bardziej szczegółowe omówienie instalacji fontów Type1 zawarte +jest w artykule Instalowanie +fontów Type1/True Type.
+ +
+MiKTeX +jest implementacją systemu TeX dla środowiska MS Windows +(95/98/NT/XP). +Charakteryzuje się łatwością konfiguracji -- podobną jak w przypadku +systemu Unix. Widać wyraźnie, że coraz bardziej zbliża się do implementacji +opartych na Web2C, np. posiada strukturę katalogów zgodną ze standardem TDS +i może korzystać z zasobów instalacji sieciowych. +
Bardzo dobra +przeglądarka dokumentów, współpracująca z GhostScriptem -- potrafi +wyświetlać dołączoną grafikę postscriptową (nie wywołuje GhostScripta +przy transformacjach postscriptowych np. obrotach), obsługuje windowsowe +formaty graficzne (np. .wmf). Niestety w dokumencie nie można +mieszać grafiki .wmf z postscriptową (oczywiście mieszać możemy, +ale ne da się tego wydrukować w sensowny sposób -- +chyba że będziemy strony drukowali osobno).
+ +Od wersji 1.20 potrafi konwertowac znaki wg zadanej tablicy
+na wewnętrzny układ danego ,,encodingu''
+(opcja --translate-file=
Od wersji 2.0 MiKTeX jest wyposażony w polskie +pakiety (makra, fonty itp.). Poprawiono sygnalizowane błędy związane +z generowaniem fontów i dodano wygodny program konfiguracyjny, +dostępny z menu systemowego. + + + +
Obecna wersja 2.7 zawiera kilkaset pakietów, stale aktualizowanych +i umożliwia ich wygodną aktualizację z sieci. +Krótki opis zawarto w artykule Szybka +instalacja MiKTeX.
+ ++ polskich znaków w TeXu + (w implementacjach opartych na web2c) + | |
+ Istnieje kilka sposobów kodowania polskich znaków w + dokumencie TeXowym. Najbardziej komfortowa jest notacja + ,,naturalna'' ośmiobitowa, tzn. zastosowanie jakiejś + strony kodowej (np. cp852, cp1250, ISO 8859-2 (Latin 2), + itp.). Są dwa zasadnicze sposoby nauczenia TeXa + przetwarzania tak zapisanego tekstu. Jeden polega na + zastosowaniu znaków aktywnych. Drugi wymaga wsparcia ze + strony samej implementacji TeXa polegającego na + przekodowywaniu znaków z wejścia na odpowiednie + pozycje znaków w stosowanych fontach. + Każdy z wymienionych sposobów ma swoje wady i + zalety. + +Przekodowywanie znaków narodowych przez samego TeXa + jest dostępne od dawna w emTeXu i sbTeXu (MS DOG), + natomiast w popularnych dystrybucjach UNIXowych + opartych na web2c pojawiło się dosłownie przed chwilą + (jeśli pamiętać, że chwila w TeXu może trwać pół + roku; w porównaniu z wiekiem TeXa jest to czas + zaniedbywalny). W związku z tym przekodowanie stało się + dostępne również w fpTeXu --- opartej na web2c + dystrybucji TeXa dla Windows 95/98/NT. A ponieważ + MikTeX (też Windows) nie zamierza być w tej kwestii w + tyle, można mieć nadzieję, że wkrótce praktycznie każdy + liczący się TeX będzie mógł przekodowywać. + +Implementacja przekodowywania, pod
+ tajemniczą nazwą TCX została wprowadzona do dystrybucji
+ web2c już jakiś czas temu. Wkrótce jednak przeciwnicy
+ tego rozwiązania (związani z ekipą LaTeXa 2e) wymogli
+ jego unieczynnienie w źródłach ( Warto tu jeszcze zaznaczyć, że wprowadzenie + przekodowywania nie narusza licencji TeXa. Jak wiadomo, + jedyną osobą władną aby wprowadzać zmiany w TeXu jest + Don Knuth. Nie dotyczy to wszakże drobnych szczegółów + związanych ze specyfiką danego systemu operacyjnego + (środowiska obliczeniowego), w którym dana implementacja + TeXa ma działać. W istocie TeX ma mechanizm zamiany + dowolnego (jednobajtowego) kodu używanego w dokumentach + na reprezentację opartą na ASCII i używaną w pliku .dvi + (reprezentacja ta odzwierciedla układ znaków w fontach). + Mechanizm przekodowywania został przewidziany z myślą o + komputerach pracujących w EBCDICu (który jest istotnie + odmienny od ASCII). Wierzymy, że środowisko + obliczeniowe posługujące się kodem (na przykład) ISO + 8859-2 też jest środowiskiem ,,nie-ASCII'' i że w + związku z tym pracująca w nim implementacja TeXa może + mieć w odpowiednie tablice w programie włożone + odwzorowanie ISO 8859-2 w układ fontów. W związku z + mnogością stosowanych ,,stron kodowych'' zaszycie + odwzorowania w kompilat TeXa jest niepraktyczne. + Dlatego web2c oferuje rewelacyjne uproszczenie: tabelę + opisującą przekodowanie można zadać przy pomocy opcji + polecenia uruchamiającego TeXa. + + | |
+ Jak się tego używa? + + W nowej wersji web2c (7.3) i w konsekwencji teTeXa
+ (1.0) TeX reaguje na dodatkową opcję
+ Przykład: pod Linuksem poniższe wywołanie przetwarza + dokument MeXowy z polskimi znakami w notacji + ,,naturalnej'': + +mex -translate-file=il2-pl mojdokument.tex+ + Istnieje alternatywny sposób informowania TeXa o + sposobie kodowania danego pliku. Web2c ,,od zawsze'' + reagowało na pierwszą linię pliku zaczynającą się w taki + sposób +%&mex+ załadowaniem odpowiedniego formatu (tutaj MeXa). W + nowej wersji ten mechanizm został rozszerzony. + Następująca linia +%&mex --translate-file=il2-pl+ oprócz formatu zadaje również kodowanie pliku. Można + również pominąć nazwę formatu: +%& --translate-file=il2-pl+ Użycie opcji TeX poszukuje pliku opisującego przekodowanie w
+ bieżącym katalogu oraz w miejscu właściwym dla plików
+ .pool czyli domyślnie
+ Opcji -translate-file można używać również w wywołaniu + initexa, ale będzie ona w mocy tylko w czasie jego + pracy. Po co to komu? Można wyobrazić sobie format + oparty na MeXu definiujący makra o nazwach zawierających + polskie znaki. W pliku takiego formatu nazwy makr + byłyby zakodowane w notacji wewnętrznej. A zatem format + byłby nadal niezależny od notacji wejściowej! Przy + przetwarzaniu dokumentu możnaby nadal wskazać dowolną + stronę kodową dla wejścia i dawałaby ona dostęp do makr + o polskich nazwach. Jak się zdaje web2c jest pierwszą + na świecie implementację TeXa o takich + możliwościach. | |
+
|
+teTeX, +autorstwa Thomasa Essera, +był najbardziej dojrzałą implementacją systemu TeX dla środowiska +Unix i Linux. Bardzo dobra +przeglądarka dokumentów (xdvi), współpracująca z GhostScriptem -- potrafi +wyświetlać dołączoną grafikę postscriptową. +teTeX stanowi rdzeń dystrybucji CD TeX Live dla systemów Unix/Linux.
+ +Od wersji 1.0 w TeX-u, pdfTeX-u itd. zaimplementowano konwersję znaków na +wejściu i wyjściu (tablice TCX), co pozwala wygodnie stosować zapis +znaków diakrytycznych w dowolnym ,,standardzie'' +(opcja +--translate-file=xxx; gdzie xxx jest nazwą +tablicy konwersji -- pliku .tcx). +Również od tej wersji teTeX jest wyposażony w podstawowe pakiety +(makra, fonty itp.) wspomagające skład w języku polskim.
+ +W ostatniej wersji (3.0) wprowadzono szereg zmian, m.in. domyślną
+,,maszyną'' dla większości formatów jest teraz pdfetex
,
+zmieniono układ katalogów fontowych zgodnie z TDS1.1, a także
+ulepszono znacznie konfigurację.
Obecnie dystrybucja teTeX nie jest rozwijana; na jej bazie powstała +wieloplatformowa dystrybucja TeX Live.
+ +dvips
, xdvi
lub windvi
),
+łącza TeX-HTML, programy fontowe (szczególnie dotyczące PostScript-u),
+programy do reorganizacji plików DVI i PS a także wiele innych.
+
+TeX i MetaFont zostały napisane w języku WEB, stworzonym specjalnie
+do tego celu przez Donalda E. Knutha. WEB pozwala na staranną
+modularyzację kodu oraz jednocześnie szczegółową dokumentację programu.
+Przeniesienie kodu napisanego w WEB do Pascala i kompilację
+programów zapewnia program tangle
. Z kolei program
+weave
umożliwia utworzenie z tych samych źródeł pliku
+TeX-owego gotowego do składu eleganckiej dokumentacji programu. Dostosowanie
+kodu pascalowego do konkretnej implementacji języka zależne jest jedynie od
+starannie przygotowanych tzw. plików wymiany (ang. change files).
+Zamianę kodu WEB do obecnie powszechnie stosowanego języka C
+zrealizował w 1987 r. Tomas Rokicki, tworząc system TeX-to-C.
+W roku 1990 systemem zajął się Karl Berry i wtedy to zmieniono jego
+nazwę na Web2c. Cały czas udoskonalane i optymalizowane są metody
+kompilacji, znacznie rozszerzyła się gama programów pomocniczych, przede
+wszystkim zaś rozszerzyła się liczba platform systemowych, na które
+w podobny sposób (i coraz łatwiej) można przenieść jednorodne
+środowisko TeX-owe. Od 1997 r. system jest pielęgnowany przez Olafa
+Webera. W marcu 1999 r. udostępniony został Web2c w wersji
+7.3, która zawierała szereg nowości i udoskonaleń działania programów
+(m.in. po raz pierwszy programy Web2c pozwalają na swobodne przekodowanie
+znaków narodowych). Wersja 7.4, która powstała pod koniec 2002 r.,
+to kolejny krok w optymalizacji oprogramowania (zmiany w bibliotece kpathsea,
+znaczne zmiany w pdftex itp.). Wersja 7.5 z 2004 r. wprowadza
+m.in. obsługę nazw plików zawierających spacje, rozszerzenie encTeX,
+uporządkowanie współpracy z różnymi terminalami, obsługę zmienionego
+układu TDS i wiele innych zmian.
+ +Obecnie implementacje oparte na Web2c działają na wielu platformach +Unix (w tym oczywiście Linux), Windows, DOS, Amiga i innych. +Wykorzystując jednorodną strukturę katalogów, zgodną z TDS (TeX +Directory Structure) pozwalają na współdzielenie zasobów przez +różne systemy.
+
+Programy wchodzące w skład Web2c wykorzystują zaawansowane metody
+wyszukiwania w rozległej instalacji plików wymaganych przez programy.
+Metody te udostępnia wspólnie użytkowana biblioteka kpathsea
+(dokumentacja
+
+w kpathsea.html
).
+Opis systemu Web2c zawiera dokumentacja zawarta
+
+w web2c.html
.
+
+
+
+ +
bibtex
+ -- program do tworzenia spisów bibliograficznych;
+dmp
+ -- konwersja troff
do .mpx
(postaci MetaPost-owej
+ niskiego poziomu);
+dvicopy
+ -- program modyfikujący pliki DVI;
+dvitomp
+ -- konwersja DVI do postaci MetaPost-owej niskiego
+ poziomu (pliku .mpx
);
+dvitype
+ -- konwersja DVI na plik tekstowy (ASCII);
+gftodvi
+ -- zamiana fontu GF na plik DVI;
+gftopk
+ -- zamiana fontów w formacie GF na font spakowany PK;
+gftype
+ -- zamiana fontu GF na plik tekstowy (ASCII);
+makempx
+ -- skład materiału tekstowego zawartego w pliku MetaPost-owym
+ i jego konwersja do poleceń niskiego poziomu umieszczanych
+ w pliku .mpx
; program uruchamia kolejno
+ mpto
, tex
i dvitomp
;
+mf
+ -- MetaFont, system do generowania fontów bitmapowych
+ w formacie GF;
+mft
-- skład plików źródłowych MetaFont-a;
+mpost
-- MetaPost, program do tworzenia rysunków oraz diagramów
+ technicznych w formacie PostScript, oparty na języku podobnym do
+ wykorzystywanego przez MetaFont;
+mpto
-- ekstrakcja materiału tekstowego zawartego w pliku
+ MetaPost-owym i konwersja do pliku TeX-owego (domyślnie) lub Troff;
+newer
-- pomocniczy program do porównywania czasów modyfikacji plików;
+patgen
-- program do tworzenia wzorców przenoszenia wyrazów
+ (hyphenation patterns);
+pktogf
-- zamiana fontów w formacie PK na fonty GF;
+pktype
-- zamiana fontu PK na plik tekstowy (ASCII);
+pltotf
-- konwersja tekstowej listy właściwości do TFM
+ (metryki fontu TeX-owego);
+pooltype
-- wyświetlanie WEB-owych plików pool
z numeracją
+ łańcuchów znakowych;
+tangle
-- konwersja kodu WEB do języka Pascal;
+tex
-- program do składu tekstu;
+tftopl
-- konwersja TFM do tekstowej listy właściwości
+ (PL);
+vftovp
-- konwersja fontów wirtualnych do wirtualnej listy
+ właściwości (VPL);
+vptovf
-- konwersja wirtualnej listy właściwości do fontów
+ wirtualnych (.vf
);
+weave
-- konwersja WEB do postaci TeX-owej gotowej do składu.
+pdfetex
-- pdfeTeX, rozszerzenie TeX-a pozwalające tworzyć
+ bezpośrednio pliki w formacie PDF
, funkcjonalnie jest
+ to połączenie dotychczas używanych programów etex
+ (czyli TeX rozszerzony o szereg poleceń pierwotnych)
+ i pdftex
;
+omega
-- Omega, rozszerzenie TeX-a pracujące z fontami ze znakami
+ kodowanymi 16-bitowo (Unicode) i pozwalające na skład w różnych,
+ b. egzotycznych językach;
+aleph
-- program łączący cechy eTeX-a i Omegi, próba
+ stabilizacji projektu Omega, który wciąż jest w fazie eksperymentalnej;
+dvips
-- sterownik DVI do PostScript;
+dvilj
-- sterownik DVI dla drukarek zgodnych ze standardem
+ Hewlett-Packard;
+ dla poszczególnych modeli drukarek istnieje kilka odmian programu np.
+ dvilj2
, dvilj4
, dvilj6
;
+xdvi
-- sterownik ekranowy (wyświetlający pliki DVI)
+ dla X Window (systemy Unix);
+windvi
-- sterownik ekranowy dla Windows 9x/NT;
+xdvi
, jak i windvi
potrafią obecnie
+wyświetlać włączane to tekstu elementy graficzne w formacie
+EPS, jak i obsługiwać fonty w formacie Type1.+ +Wymienione wyżej programy wykorzystują wspólne biblioteki i korzystają +ze wspólnych plików konfiguracyjnych. Całość oprogramowania tworzy zatem +jednorodne środowisko. Ponadto dostępne są skrypty bądź programy, m.in.:
+ +
texconfig
-- skrypt do konfiguracji całego środowiska (dostępny
+ jedynie dla systemów Unix/Linux);
+fmtutil
-- skrypt do generowania formatów;
+updmap
-- skrypt aktualizujący mapy fontowe dla programów
+dvips
, pdftex
oraz dvipdfm
;
+mktexmf
-- skrypt tworzy, w miarę możliwości, plik MetaFont-owy dla nowego
+ fontu (np. cmr11), dla którego istnieje plik źródłowy o zbliżonym stopniu
+ pisma;
+mktextfm
-- skrypt uruchamia program mf
i generuje potrzebny
+ plik TFM;
+mktexpk
-- skrypt generuje potrzebny font bitmapowy w formacie PK;
+mktexnam
-- skrypt wyświetla nazwy i położenie plików MF,
+ TFM i PK dla danego fontu;
+mktexupd
-- skrypt uzupełnia bazę danych instalacji (ls-R
)
+ o nazwę katalogu i nowo powstałego pliku;
+mktexlsr
(texhash
) -- skrypt tworzy lub aktualizuje bazy danych
+ instalacji (pliki ls-R
);
+gsftopk
-- skrypt służący do konwersji fontów
+ PostScript-owych (ostatnio
+ także fontów TTF) na pliki PK, zwykle uruchamiany przez
+ sterownik Xdvi
lub Windvi
; skrypt steruje wywołaniem programu
+ GhostScript, który dokonuje rasteryzacji fontów obwiedniowych;
+kpsewhich
-- program do przeszukiwania ścieżek w instalacji TeX-owej,
+ używany intensywnie przez skrypty ,,mktex...
''; program może być
+ także wykorzystany do diagnostyki problemów.
+--help
.
+
+Wszystkie omówione powyżej programy i skrypty mają dokumentację dostępną
+w man
, info
a także
+w formacie HTML.
+
++Znajomość TEX-a nie jest oczywiście niezbędna do czytania +niniejszego tekstu. Wystarczy jedynie pewne obycie z komputerami. +Autor ma jednak nadzieję, że dotychczasowi użytkownicy TEX-a mogą również +skorzystać z pewnych informacji tu zawartych. +
+W rozdziale Co to jest TEX -- informacje ogólne przedstawione są te cechy programu TEX, które +autor uważa za najistotniejsze. Pojawia się również próba udzielenia +odpowiedzi na pytanie ,,co można składać TEX-em?''. +
+Krótki rozdział Zecernia czy maszyna do pisania? służy omówieniu dwóch linii ewolucji +programów służących do składania tekstów. +
+W następnym rozdziale przedstawione są interpunkcyjne, ortograficzne +i typograficzne zasady przygotowywania tekstów, przeznaczonych +do składania systemem TEX. Ten rozdział jest podręcznikiem +dla najbardziej początkujących TEX-owców, pracujących pod opieką +bardziej zaawansowanych użytkowników tego sytemu. +Stanowi on zarazem kompletny podręcznik dla osób zajmujących +się tworzeniem maszynopisów komputerowych, które mają być +następnie przetwarzane TEX-em. +
+W rozdziale TEX, czyli pan Kazio +omówiona jest ogólna +zasada działania systemu TEX. Porównywany jest on tam do zecera, +pana Kazia. +
+Rozdział Pudełka i kleje zawiera opis części modelu pudełkowo-klejowego, +który jest podstawą konstrukcji stron tworzonych przez TEX-a. + + + + + diff --git a/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/podstawy/2-1coto.html b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/podstawy/2-1coto.html new file mode 100644 index 00000000000..8a51b5c06b5 --- /dev/null +++ b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/podstawy/2-1coto.html @@ -0,0 +1,414 @@ + +
+ + + + + + + + ++Autorem TEX-a jest jeden z najwybitniejszych matematyków i +informatyków na świecie -- profesor Donald Knuth z Uniwersytetu +Stanforda w Stanach Zjednoczonych. +
+Nazwę TEX wymawia się tech, ponieważ są to trzy +duże greckie litery Tau, Epsilon, Chi. Polska wersja TEX-a +nazywa się MEX (wym. mech). Litera E jest +opuszczona w dół i dosunięta do pozostałych, żeby zademonstrować +możliwości sytemu. + + +
+Oznacza to bardzo dużą stabilność tego programu. +Jest to bardzo ważna cecha, gdyż jest to program trudny do opanowania. +Jego stabilność wpływa na bezpieczeństwo użytkownika. Po dość długim +czasie inwestowania w swoją umiejętność obsługi TEX-a, +użytkownik ma gwarancję, że to, +czego się nauczył pozostanie aktualne nawet po wielu latach. Można zatem +z dużą ufnością uczyć się go. Ponadto wszelkie dokumenty (teksty) złożone +za jego pomocą będą mogły być przetwarzane i poprawiane tym samym +systemem mimo upływu czasu. Nie ma obawy co do zmiany ,,sposobu kodowania'' +dokumentów, która uniemożliwiałaby dalszą obróbkę ,,starych'' tekstów. +
+Dobrze jest -- wybierając program tak skomplikowany, jak system +składu -- zwracać uwagę na to, czy zdołamy nauczyć się wszystkich +jego możliwości, zanim -- w kolejnej wersji -- ulegną one zmianie. + +
+Jakże często zdarza się użytkownikom komputerów, że program +wysyła im niezrozumiałe komunikaty (np. sygnały błędów), zalecając +np. zgłoszenie się do wytwórcy z prośbą o wyjaśnienie. Niewielka +to pociecha, jeśli wytwórca jest za oceanem. + +
+Oczywiście, jeśli nie zależy nam na bardzo eleganckich, profesjonalnych +wynikach, to nie musimy używać tak skomplikowanego programu jak TEX. +Jest wiele prostszych programów, służących do podobnych celów. +Należy jednak zdawać sobie sprawę, że używając prostszego programu +prędzej czy później natkniemy się na zadanie, któremu ten program +nie będzie mógł sprostać. W przypadku stosowania TEX-a takie niebezpieczeństwo +nam nie grozi (patrz też -- Rozszerzalność). +
+Różnice pomiędzy TEX-em, a innymi systemami w zakresie złożoności +i zarazem w zakresie szybkości uczenia się i szybkości osiągania +efektów można przedstawić stosując następujące porównanie. +
+Czym się różni rower od samolotu? Obsługi tego pierwszego można się nauczyć +bardzo szybko: kierownica do kierowania, pedały do przyspieszania +i hamulce do hamowania. Prawie nic więcej. W samolocie są tysiące urządzeń, +których obsługi trzeba się nauczyć. Nie oznacza to jednak, że samolot +jest gorszy, albo że ma przestarzały ,,interfejs''. Po prostu latanie +z dużą szybkością i na duże odległości wymaga bardziej skomplikowanej obsługi. +
+Co więcej -- pewne proste zadania, które leżą w zasięgu możliwości +obu tych urządzeń, mogą być wykonane szybciej i sprawniej rowerem. +Jeśli trzeba przejechać kilkaset metrów, to rowerzysta pokona +ten dystans jeszcze zanim pilot samolotu zdąży uruchomić silniki. +Jednak już pokonanie odległości kilkuset kilometrów zajmie rowerzyście +znacznie więcej czasu, niż pilotowi samolotu, nie mówiąc już o wysiłku. +Przebycie oceanu rowerem jest raczej niemożliwe. +Te porównania nie oznaczają oczywiście, że rower jest lepszy, +albo że samolot jest lepszy. Jest jednak jasne, że ktoś, kto jest +pewny, że nigdy nie będzie jeździł na większe odległości nie powinien +wybierać samolotu. +
+Oczywiste jest ponadto, że na świecie jest znacznie więcej rowerzystów,
+niż pilotów samolotów. To znowu nie oznacza, że rower jest lepszy od samolotu,
+ani nie oznacza, że takie pojazdy jak samoloty są w zaniku i wkrótce
+przestaną istnieć.
+
+
+
+
+Nie wszystkie programy public domain na świecie mają jednak
+taki sam status. Na ogół ich autorzy decydują o tym, co w ich przypadku
+oznacza określenie public domain.
+
+W przypadku TEX-a, w ramach szerokiej zgody autora na
+używanie jego dzieła, możliwe jest nawet utworzenie
+własnej implementacji z powszechnie dostępnej źródłowej
+wersji programu i sprzedawanie jej już jako programu
+komercyjnego -- odpłatnego. Przykładem takiej implementacji
+jest wspaniale opracowany program ,,Textures'' firmy Blue
+Sky Research, który jest implementacją TEX-a na komputery
+Macintosh. Jest to produkt komercyjny, którego używanie
+wymaga licencji. Użytkownicy Macintosha mogą też wybrać --
+jeśli wolą -- bezpłatną implementację TEX-a, program
+OzTEX.
+
+Polska wersja systemu TEX, zawierająca standardowy zestaw fontów
+z polskimi znakami diakrytycznymi, polskie reguły przenoszenia
+(dzielenia) wyrazów oraz komplet makr (makrodefinicji) napisanych
+w języku TEX nazywa się MEX i ma również status public
+domain. Jest ona dostępna -- podobnie jak TEX -- w wersji źródłowej.
+
+
+
+Coś jednak zawsze kosztuje. Najwięcej chyba (czasu albo pieniędzy)
+kosztuje nauczenie się obsługi TEX-a. Z pewnością można
+uczyć się go latami i jeszcze być daleko od stwierdzenia
+,,wiem wszystko''. Kosztują też pewne programy związane z
+TEX-em, np. niektóre sterowniki urządzeń zewnętrznych.
+Również większość fontów, nie należących do podstawowego
+kompletu TEX-a można nabyć jedynie odpłatnie.
+
+
+
+Dzięki tym cechom powstały implementacje TEX-a na dziesiątki różnych
+typów komputerów, pod różnymi systemami operacyjnymi. Praktycznie każdy
+typ komputera, poczynając od 16-bitowych ma swoją wersję systemu TEX.
+
+
+
+
+
+Jest to prawdopodobnie jedna z najważniejszych cech TEX-a,
+stanowiących o jego sile i możliwościach
+
+
+
+Istnieje międzynarodowe stowarzyszenie użytkowników TEX-a:
+TEX Users Group z siedzibą w Stanach Zjednoczonych. W Europie prawie w
+każdym kraju zawiązały się narodowe grupy użytkowników.
+
+W Polsce w 1992 r. powstała Polska Grupa Użytkowników Sytemu TEX,
+w skrócie GUST. Grupa wydaje własny biuletyn informacyjny, organizuje
+doroczne konferencje użytkowników oraz współorganizuje szkolenia
+obsługi systemu. Dzięki Grupie istnieje też dostępna elektronicznie
+(dla użytkowników sieci komputerowych) lista dyskusyjna oraz archiwum
+oprogramowania związanego z TEX-em.
+
+
+
+Praca zecera w drukarni polegała na tym, że z gotowych
+czcionek, zawierających poszczególne znaki, odlewanych z
+ołowiu lub innego metalu, układał on kolejne linijki
+tekstu, a następnie -- układając takie linijki jedna nad
+drugą -- montował z nich kolumny tekstu, które następnie,
+spięte odpowiednią ramą, były umieszczane w maszynie
+drukarskiej i służyły do drukowania stron.
+
+Obecnie takie prace wykonuje się komputerowo. Końcowy efekt
+pracy komputera w tym zakresie zależy od oczekiwanego
+stopnia profesjonalizmu lub jakości. W prostszym przypadku
+wynikiem mogą być strony tekstu wydrukowane bezpośrednio na
+papierze za pomocą podłączonej do komputera drukarki
+(laserowej, mozaikowej lub atramentowej). W zastosowaniach
+profesjonalnych, kiedy wynik składu ma być zastosowany w
+druku, tworzy się przezroczystą folię z nieprzezroczystym
+tekstem, naświetloną w urządzeniu zwanym fotonaświetlarką.
+Promień lasera naświetla na błonie fotograficznej małe
+punkciki w miejscach, które mają być nieprzezroczyste.
+Następnie taka błona po wywołaniu służy do wykonania matryc
+drukarskich do tzw. druku offsetowego.
+
+
+
+TEX jest uniwersalnym systemem pozwalającym na wykorzystanie
+go do wszelkich prac związanych z nadawaniem formy tekstom.
+Można nim składać wszystko począwszy od listów i ulotek,
+poprzez wszelkiego rodzaju książki i czasopisma (w tym naukowe
+i nutowe), a skończywszy na wielkich dziełach, jak encyklopedie.
+
+Typowe systemy mają na ogół listę dobrze przygotowanych, ściśle określonych
+czynności, które potrafią zrealizować. Nic poza tą listą nie może
+być wykonane. W przypadku TEX-a trudność
+może polegać jedynie na tym, że jeszcze nie umiemy czegoś
+za jego pomocą zrobić.
+
+Z racji swojego sposobu działania TEX nigdy nie pracuje samotnie.
+W swoim cyklu przetwarzania współpracuje
+z różnymi programami pomocniczymi, między innymi z edytorem i ze
+sterownikami urządzeń zewnętrznych. Od wyboru tych programów
+i sposobu organizacji jego cyklu przetwarzania
+zależą często jego możliwości. Pisząc poniżej, że TEX może to-i-to,
+mamy na myśli, że można tak skonfigurować TEX-a i połączyć go z
+innymi programami, że jest to możliwe.
+
+W szczególności bardzo dużą moc daje TEX-owi połączenie z systemem
+PostScript.
+
+
+
+
+
+Autor TEX-a wyposażył go w rodzinę krojów pisma o nazwie
+Computer Modern. Kroje te, opracowane częściowo na wzór
+rodziny krojów Modern, zostały zaprojektowane przez Donalda Knutha
+we współpracy z jednym z najwybitniejszych współczesnych typografów
+Hermanem Zapfem. Rodzina krojów Computer Modern zawiera dużą liczbę znaków
+przeznaczonych do składania formuł matematycznych i dlatego dobrze nadaje
+się do wykonywania składu prac naukowych.
+
+Program TEX nie jest jednak w żaden sposób związany z rodziną
+Computer Modern. Można w nim wykorzystywać praktycznie wszystkie kroje
+pisma opracowane na świecie. Każda większa firma zajmująca się produkcją
+i sprzedażą komputerowych nośników krojów pisma ma w swojej ofercie
+na ogół około dwa do czterech tysięcy krojów. Wszystkie one mogą być
+używane w TEX-u. Jak zawsze w przypadku TEX-a problemem nie jest
+,,czy można?'', tylko ,,czy już umiem to zrobić?''.
+
+Każdy krój pisma i każda odmiana może być dowolnie skalowana.
+Nie ma (praktycznie) żadnych ograniczeń na wielkość pisma.
+Skład można wykonywać zarówno pismem wielkości ułamka punktu drukarskiego
+(co może mieć zastosowanie do tzw. mikrodruku, stosowanego np. do
+zabezpieczania banknotów), jak też pismem wielkości kilkudziesięciu centymetrów
+czy nawet kilku metrów.
+
+
+
+
+
+Każdy font (font, to zestaw znaków określonego kroju i wielkości)
+używany przez system TEX, reprezentowany jest w pamięci dyskowej
+komputera co najmniej dwoma różnymi plikami.
+
+Pierwszy z tych plików
+to tak zwany plik TFM ( TEX font metrics). Zawiera
+on jedynie informacje o wymiarach znaków, w szczególności szerokość,
+wysokość i głębokość każdego znaku. Nie zawiera informacji
+o kształcie znaku. Zapis w pliku TFM wykorzystywany jest przez
+program TEX podczas składania tekstu.
+Cały komplet plików TFM obejmujący podstawowy zestaw fontów
+TEX-a (w jego polskiej wersji),
+w tym wszystkie fonty specjalne służące do składania wzorów
+matematycznych,
+zajmuje poniżej 180 kilobajtów.
+
+Drugi plik informacyjny o foncie zawiera informacje o kształcie
+każdego znaku. Zapis zawarty w tym pliku przeznaczony jest nie dla
+programu TEX, ale dla jednego ze sterowników ( drajwerów)
+współpracujących z TEX-em. Zapis ten służy przeniesieniu obrazu
+każdego znaku na określone urządzenie zewnętrzne, takie jak ekran
+komputera, drukarka laserowa, atramentowa lub igłowa albo fotonaświetlarka.
+
+W związku z różnorodnością możliwych urządzeń zewnętrznych, ich jakości,
+rozdzielczości i sposobów komunikowania się z nimi programów, różne też
+mogą być zapisy fontów przeznaczonych do przeniesienia na te urządzenia.
+Dlatego też nie ma jednego określonego standardu zapisywania fontów
+TEX-owych przeznaczonych dla urządzeń zewnętrznych. Zwyczajowo jednak
+fonty w postaci map bitowych zapisywane są w tzw. formacie PK.
+Należy jednak pamiętać, że są to fonty przeznaczone dla określonej
+rozdzielczości urządzenia zewnętrznego i dla określonego rodzaju
+sterownika.
+
+Zależnie od ilości i rodzaju używanych urządzeń zewnętrznych
+oraz zależnie od ilości różnych krojów i możliwych wielkości znaków,
+które chcemy mieć stale dostępne, zapis fontów na dysku może zajmować
+mniej lub więcej miejsca. Wydaje się, że minimalna konfiguracja, umożliwiająca
+już pracę z prostymi tekstami, zajmuje poniżej 1 megabajta.
+Możliwości instalowania fontów są praktycznie nieograniczone
+można używać nawet kilku tysięcy krojów pisma. Ich zapis na dysku może zajmować
+dziesiątki i setki megabajtów. Ilość miejsca zajmowanego przez
+fonty jest jednak niezależna od systemu TEX i wynosiłaby
+tyle samo przy jakimkolwiek innym systemie składu.
+
+
+
diff --git a/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/podstawy/2-1kazio.html b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/podstawy/2-1kazio.html
new file mode 100644
index 00000000000..795a4a38db3
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/podstawy/2-1kazio.html
@@ -0,0 +1,355 @@
+
+
+Każdy z nas może zostać szefem pana Kazia. Wystarczy nauczyć się
+sposobu przygotowania mu na piśmie poleceń dotyczących sposobu
+składania.
+
+Nie będziemy jednak zawracać panu Kaziowi głowy i przygotowywać
+poleceń dla niego w jego obecności. Przygotujemy je zawczasu
+i udamy się do niego z prośbą o realizację.
+
+Tu właśnie zaczyna się pierwszy etap pracy.
+
+Polecenia, które przygotujemy, to będą informacje o tym co i w jaki
+sposób należy złożyć. Do przygotowania zbioru poleceń
+użyjemy zwykłego edytora, który jest zwykle zainstalowany na każdym
+komputerze. Powinien to być tzw. edytor typu ASCII.
+
+Napiszmy przykładowy plik tekstowy, zawierający następujące dwie linijki:
+
+Oczywiście w momencie, kiedy piszemy ten tekst, TEX -- pan Kazio --
+go nie widzi.
+
+Po zakończeniu pisania (edycji), tworzymy w pamięci dyskowej
+komputera plik z tekstem. Nazwijmy przygotowany przez nas plik ala.mex.
+Zwyczajowo pliki zawierające dane dla TEX-a mają rozszerzenie .tex,
+a pliki z danymi dla polskiej wersji TEX-a mają rozszerzenie .mex.
+
+Wkrótce wyjaśni się, co oznaczają polecenia napisane w tym tekście
+i jak zrozumie je pan Kazio. Na razie uwierzmy, że będą one dla niego
+zrozumiałe i prześledźmy dalszą drogę wiodącą ku ostatecznemu efektowi.
+
+Teraz już nadeszła pora, żeby poprosić pana Kazia o wykonanie składu
+na podstawie naszych poleceń.
+
+Na każdym komputerze, na którym zainstalowany jest system TEX,
+istnieje specyficzny sposób uruchamiania go. Nie będziemy tu
+wyjaśniać rozmaitych sposobów uruchamiania TEX-a.
+
+
+
+TEX, czyli pan Kazio przystępuje do pracy i realizuje polecenia.
+Po pewnym czasie daje znać, że wszystko gotowe.
+
+Wynik jego pracy zapisany jest na dysku w postaci pliku
+ala.dvi. Oznaczenie dvi jest skrótem od angielskich
+słów ,,device independent'' -- niezależny od urządzenia.
+Pan Kazio podjął wszystkie decyzje dotyczące położenia
+znaków na stronach, ale nie wie jeszcze na jakim urządzeniu
+zewnętrznym zdecydujemy się wydrukować lub wyświetlić wynik
+jego pracy. Z tego powodu przygotowuje wynik swojej pracy w
+postaci niezależnej od urządzenia.
+
+Dodatkowo, jako niezwykle skrupulatny pracownik, pan Kazio
+umieszcza na dysku jeszcze jeden plik, o nazwie ala.log,
+zawierający zapis tego, co podczas jego pracy wyświetlał ekran
+komputera.
+
+Na tym kończy się rola TEX-a -- pana Kazia. Przyniósł nam
+zmontowane, gotowe strony tekstu (w postaci pliku dvi) i dalej
+musimy jakoś sobie radzić. Jak już wspomnieliśmy TEX nigdy nie
+działa samotnie. Pan Kazio byłby bezużyteczny w firmie, gdyby nie
+było w niej innych pracowników. W istocie użyteczność TEX-a w ogromnym
+stopniu zależy od jego powiązań z innymi programami.
+
+Jeden z możliwych sposobów współpracy, to wykorzystanie, po
+zakończeniu pracy TEX-a, jednego
+z wielu programów, które umożliwiają zobaczenie tego, co TEX
+przygotował. Takie programy, zwane sterownikami, służą do wyświetlania,
+drukowania, naświetlania lub jeszcze innych możliwych sposobów
+uwidocznienia wyniku pracy TEX-a.
+
+Użycie TEX-a, a następnie sterownika jest najbardziej popularnym,
+choć nie jedynym sposobem uzyskania wyniku składu.
+
+W przypadku przetwarzania pliku poleceń ala.mex,
+jeśli na naszym komputerze zainstalowany jest sterownik ekranowy,
+to możemy obejrzeć wynik składu na ekranie.
+
+Jak mamy postępować dalej, jeśli nie będziemy usatysfakcjonowani
+tym co zobaczymy? Oczywiście jedynym sposobem poprawienia czegokolwiek
+w końcowym efekcie jest przygotowanie zmienionej wersji poleceń
+dla naszego pana Kazia i powtórzenie całego cyklu przetwarzania.
+
+Każdy chyba zdaje sobie sprawę, jak wiele zależy od organizacji pracy
+w firmie: od zatrudnienia właściwych pracowników i utworzenia odpowiednich
+mechanizmów ich współpracy. Podobnie jest z cyklem przetwarzania,
+którego częścią jest zecer, pan Kazio. Powiązanie jego działalności
+z odpowiednimi programami może dać czasem zdumiewające efekty.
+Ale to jest już temat na osobną pogadankę.
+
+
+
+Przyjrzyjmy się obecnie uważniej plikowi przygotowanemu w poprzednim
+rozdziale. Z punktu widzenia TEX-a/pana Kazia plik ten składa się
+jedynie z komend, czyli poleceń. Przypomnijmy, że
+treścią pliku było:
+
+Pierwsze trzy z nich, to trzy pierwsze litery.
+Każda z nich to polecenie:
+Następna komenda, to odstęp. Oznacza ona polecenie
+Podobnie rzecz się ma z kolejnymi dwoma literami, odstępem i dalszymi
+czterema literami. Również kropka, to po prostu polecenie
+Dwunaste polecenie w tym pliku jest najmniej widoczne.
+Zmiana wiersza (przejście do nowej linii) następująca po
+kropce traktowana jest przez TEX-a jak odstęp i w związku z tym
+oznacza to samo, co zwykły odstęp. (W składzie ten odstęp nie
+będzie widoczny, ponieważ po nim nie następuje już żaden tekst.)
+
+Ostatnie, trzynaste polecenie znacznie różni się od pozostałych.
+Jest ono zapisane nie w postaci pojedynczego znaku, ale w postaci trzech
+liter poprzedzonych znakiem \ (wtyłciach, po angielsku
+ backslash). Większość komend systemu TEX, które oznaczają coś innego
+niż ,,umieść w składzie...'' zapisuje się właśnie w postaci znaku
+w-tył-ciach i następującego po nim ciągu liter. Istnieje jeszcze trzecia
+kategoria komend, którą wkrótce poznamy, zapisywana w postaci
+znaku w-tył-ciach i następującego po nim pojedynczego znaku nie będącego
+literą.
+
+Komenda \end oznacza ,,zakończ pracę''. Jest to jedyne
+polecenie, które musi znaleźć się w każdym pliku danych
+(zestawie poleceń) dla TEX-a.
+
+Uważny czytelnik może zadać pytanie: ,,Skąd pan Kazio wiedział
+jakimi wielkościami liter ma wykonać skład, jaki ma być krój pisma itp.?''
+To bardzo ważne pytanie. Otóż w bardzo wielu sprawach
+szef umówił się z panem Kaziem: ,,jeśli nie napiszę ci tego-i-tego,
+to postępuj tak-i-tak''. W szczególności są umówieni:
+,,jeśli nie napiszę ci jakim krojem pisma masz wykonywać skład, to
+ma to być Computer Modern Roman''.
+
+W istocie liczba tego rodzaju ,,umów'' z panem Kaziem jest
+ogromna i sięga kilkuset. Pozwala to na stosowanie stosunkowo zwartej
+i skrótowej notacji. Dzięki temu, że TEX jest systemem programowalnym,
+możemy zawierać z panem Kaziem własne umowy, specyficzne dla konkretnego
+zastosowania, do którego go wykorzystujemy.
+
+
+
+
+
+
+
+
+System TEX montuje stronę z podobnych elementów, tylko metalowe
+czcionki zostały zastąpione ich obrazem komputerowym i nazywają
+się w TEX-u pudełkami, a odstępy nazywają się klejem. Można
+sobie wyobrazić, że każda strona montowana jest z pudełek, zawierających
+litery i inne znaki, połączonych ze sobą różnymi ilościami elastycznego
+kleju, i dzięki niemu utrzymywanych w odpowiednich odległościach od siebie.
+
+Opracowanie przez autora systemu TEX matemetycznego modelu
+składu drukarskiego jest prawdopodobnie jednym z jego najważniejszych
+osiągnięć związanych ze stworzeniem TEX-a. Podstawowym elementem
+tego modelu jest stwierdzenie, że budowane przez system strony
+są pudełkami o hierarchicznej budowie. Każdy pojedynczy znak jest pudełkiem.
+Z takich znaków można tworzyć pudełka bardziej skomplikowane.
+Na każdym etapie tworzenia pudełek dowolonie skomplikowane pudełko
+może być użyte w takiej samej roli jak pojedynczy znak. Pozwala
+to wyrazić bardzo złożone konstrukcje za pomocą prostych środków.
+
+Poniżej opisujemy podstawowe narzędzia, jakich dostarcza system TEX,
+do konstruowania pudełek.
+
+
+
+Podstawowe dwa nastroje, w jakich bywa TEX -- pan Kazio --
+to nastrój pionowy i poziomy. Zależnie od tego nastroju ma
+zwyczaj umieszczać napotykane przez siebie (w tekście z poleceniami)
+pudełka albo pionowo -- jedno pod drugim, albo poziomo -- jedno
+obok drugiego.
+
+Na początku pracy, przed przeczytaniem pierwszego polecenia
+z pliku wejściowego, TEX znajduje się w nastroju pionowym.
+Pewne wydarzenia mogą jednak wpłynąć na zmianę jego nastroju
+na poziomy.
+
+TEX jest w nastroju poziomym w dwóch rodzajach sytuacji:
+podczas składania akapitu i podczas tworzenia pudełka poziomego.
+Jest to podstawowy nastrój, w którym następuje składanie tekstów.
+Nastrój pionowy służy do montowania w strony elementów
+utworzonych w nastroju poziomym.
+
+Po zakończeniu składania akapitu i po zakończeniu tworzenia pudełka
+poziomego TEX wraca do nastroju, w jakim znajdował się poprzednio.
+
+
+
+Podczas składania akapitu TEX tworzy długą poziomą listę,
+złożoną z pudełek i poziomego kleju. Kolejno napotkane litery
+traktuje jako pudełka, a odstępy między literami zamienia na
+klej i oddziela nim pudełka
+
+W przykładzie cytowanym w poprzednich rozdziałach
+akapit zawierający napis ,,Ala ma psa.'' zostanie przez
+TEX-a zamieniony na następującą konstrukcję złożoną z pudełek i kleju:
+
+
+Po zakończeniu czytania akapitu (TEX w tym wypadku rozpozna koniec akapitu
+po komendzie \end) system dokona połamania akapitu na linijki o szerokości
+takiej jak zadana szerokość kolumny tekstu, zaczynając pierwszą z nich
+wcięciem akapitowym odpowiedniej wielkości oraz kończąc ostatnią z nich
+odpowiednią ilością poziomego kleju, wypełniającą prawą stronę ostatniego
+pudełka.
+
+Każda linijka, która powstaje w wyniku połamania akapitu, jest pudełkiem
+o szerokości takiej jak szerokość kolumny tekstu.
+
+W naszym przykładzie TEX utworzy akapit jednolinijkowy, a zatem
+powstanie linijka zaczynająca się od wcięcia akapitowego i kończąca się
+klejem dopełniającym ją do prawej strony.
+
+Nie zachowując proporcji wymiarów, bo litery rysujemy tu w powiekszeniu
+można by narysować tę linijkę jako:
+
+
+Aby utworzyć w TEX-u poziome pudełko o określonej zawartości
+należy napisać komendę \hbox i po niej w nawiasach klamrowych
+napisać zawartość tego pudełka.
+
+Na przykład, jeśli chcemy utworzyć pudełko zawierające napis:
+,,Od rana jestem dziś w poziomym nastroju.'',
+to musimy w pliku poleceń dla TEX-a napisać:
+
+
+Pudełko takie może być użyte jako element konstrukcujny innych pudełek.
+Na przykład, jeśli przed przeczytaniem tego pudełka TEX znajdował się
+w nastroju pionowym, to potraktuje to pudełko jako element konstrukcyjny
+strony i umieści w obrębie strony pod innymi pudełkami. Jeśli
+znajdował się w nastroju poziomym i był w trakcie składania akapitu,
+to potraktuje to pudełko tak jak inne znaki znajdujące się w akapicie
+i umieści je na liście poziomej przeznaczonej do łamania na linijki.
+
+Należy zwrócić uwagę na różnicę pomiędzy umieszczeniem w akapicie
+zdania ,,Od rana jestem dziś w poziomym nastroju.'' od umieszczenia
+w akapicie pudełka poziomego zawierającego takie zdanie.
+W pierwszym przypadku w różnych miejscach zdania TEX ma prawo
+dokonać łamania listy poziomej na linijki, w tym również z uwzględnieniem
+przenoszenia wyrazów.
+W drugim przypadku całe pudełko traktowane jest jako jeden znak i żadne
+łamanie wewnątrz niego nie może mieć miejsca. Może to być w szczególności
+użyteczne do wprowadzenia lokalnego zakazu łamania na linijki.
+
+
+
diff --git a/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/podstawy/2-1przyg.html b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/podstawy/2-1przyg.html
new file mode 100644
index 00000000000..7414fd74c41
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/podstawy/2-1przyg.html
@@ -0,0 +1,342 @@
+
+
+Poniżej opisujemy niektóre zasady przygotowywania na
+komputerze, edytorem typu ASCII, tekstów, które następnie
+mają być złożone za pomocą systemu składania tekstów TEX.
+
+Wymienione poniżej zasady można podzielić na dwie kategorie:
+
+System składu ,,wyobraża sobie'' akapit najpierw jako jedną
+bardzo długą linijkę, którą ma połamać na krótsze, na
+ogół równej długości linijki, dokonując -- jeśli to konieczne --
+automatycznego przenoszenia (dzielenia) wyrazów.
+
+Przygotowując tekst przeznaczony do złożenia musimy
+,,poinformować'' system składu o treści poszczególnych akapitów.
+Przepisując tekst zwykłym edytorem musimy więc przestrzegać
+następujących zasad:
+
+
+Cudzysłów ,,otwierający'' oznacza się w tekście przy pomocy dwóch
+przecinków, a cudzysłów ,,zamykający'' w postaci dwóch apostrofów.
+Pierwsze dwa wyrazy poprzedniego zdania zostały wpisane do
+pliku jako: Cudzysłów ,,otwierający''. Nawet jeśli w maszynopisie
+lub rękopisie
+cudzysłowy otwierający i zamykający wyglądają tak samo, należy je
+rozróżnić i zaznaczyć tak jak opisano powyżej.
+
+Oprócz opisanych powyżej zwykłych cudzysłowów, czasem stosuje się
+też w tekście tzw. ,,cudzysłowy <<francuskie>>''. Używa się ich wtedy,
+gdy trzeba wyróżnić cudzysłowem fragment zawarty w tekście już
+objętym cudzysłowem zwykłym.
+
+Francuski cudzysłów otwierający oznacza się w tekście
+za pomocą dwóch znaków mniejszości: <<,
+a francuski cudzysłów zamykający
+za pomocą dwóch znaków większości: >>;.
+
+
+
+Nigdy nie należy w roli nawiasu używać ukośnej kreski /, zwanej
+,,łamane'' lub ,,ciach''.
+
+
+
+Pamiętajmy, że wielokropek, to trzy
+kropki, a nie np. cztery.
+
+
+
+Poniżej opiszemy krótko zastosowanie tych znaków i sposób
+ich składania w TEX-u.
+
+
+
+W wyrazach złożonych, np. ,,niebiesko-czarny'', ,,dżentelmen-włamywacz''
+łącznik oddziela poszczególne wyrazy składowe. Jest to krótka kreska
+znajdująca się pomiędzy wyrazami bez dodatkowych odstępów.
+
+Pisząc takie słowa jak ,,żółto-zielony'' należy mieć na uwadze, że
+przymiotnik ,,żółto-zielony'' oznacza ,,częściowo barwy żółtej,
+a częściowo zielonej'', natomiast przymiotnik ,,żółtozielony''
+(pisany jako jedno słowo bez łącznika)
+oznacza ,,barwy żółtej z odcieniem zielonym''.
+
+Słowo złożone występujące w składzie na granicy kolumny może zostać
+podzielone (częściowo przeniesione do następnego wiersza). Reguła
+przenoszenia takich słów jest następująca: każdy z wyrazów składowych
+może zostać podzielony lub podział może nastąpić na granicy wyrazów.
+W tym ostatnim przypadku kreska łącząca wyrazy powinna zostać ,,rozdwojona'',
+to znaczy znaleźć się zarówno na końcu linijki pierwszej, jak też na
+początku linijki drugiej.
+
+Oto możliwe sposoby przeniesienia słowa ,,żółto-zielony'':
+
+
+
+Przygotowując tekst do składania systemem TEX łącznik
+wpisuje się jako parę znaków
+,,\='' (w-tył-ciach, równa się), bez dodatkowych odstępów.
+Symbol ,,\='' jest komendą występującą jedynie w polskiej wersji
+TEX-a (czyli w MEX-u) i pozwala TEX-owi na przenoszenie wyrazów
+złożonych zgodnie z opisaną wyżej regułą.
+
+Są jednak takie konteksty, gdzie chcielibyśmy użyć łącznika,
+nie zezwalając TEX-owi na przenoszenie tak utworzonego napisu.
+Jeśli mówimy o wydziale K-2 stoczni, to nie chcielibyśmy, aby
+TEX w jakiejkolwiek sytuacji przeniósł:
+
+
+
+Może się jednak zdarzyć, że składamy
+tekst w wąskiej kolumnie (np. w jednej ze szpalt gazety), gdzie
+system składu nie ma zbyt wielu możliwości wygodnego łamania na
+linijki. Jeżeli w takim kontekście pojawi się gdzieś w środku
+akapitu długi symbol, np. numer konta bankowego:
+
+Zapisuje się go za pomocą trzech następujących po sobie minusów:
+,,---''.
+Przed myślnikiem i po myślniku należy dodać po jednym odstępie.
+
+
+
+Czasem półpauzy używa się też w roli myślnika.
+Myślniki muszą być jednolite w całym tekście.
+Na ogół stosowanie jednego lub drugiego rodzaju wymaga
+uzgodnienia z redakcją zlecającą skład.
+
+
+
+Formuły matematyczne, to bardzo duży i istotny fragment TEX-a
+i nie sposób tu omówić go szerzej. Możemy jednak nauczyć się
+zapisywać taką prościutką formułkę, jak ,,--5''.
+Otóż jeśli w tekście wejściowym TEX-a umieścimy
+kolejno znaki ,,-'' i ,,5''
+otoczone symbolami dolara, czyli napiszemy: $-5$,
+to TEX potraktuje to jako formułę matematyczną
+i użyta przezeń w składzie kreska pozioma będzie minusem. Gdybyśmy nie
+użyli znaków dolara, TEX złożyłby łącznik, co byłoby zupełnie
+nieodpowiednie; porównajmy niepoprawne: ,,-$5$'' i poprawne: ,,$-5$''.
+
+
+
+
+
+Na przykład przygotowany pod edytorem tekst, zawierający jedynie
+litery i znaki przestankowe:
+
+To nie takie trudne, jak się wydaje...
+
+zostanie złożony -- zgodnie z oczekiwaniem -- jako:
+
+To nie takie trudne, jak się wydaje...
+
+Jednak, jeśli w takim tekście pojawiłyby się znaki, które TEX traktuje
+w sposób szczególny, to zareagowałby na nie zupełnie inaczej.
+Nie będziemy tu opisywać co by się stało. Zapamiętajmy jednak, że
+jeśli chcemy uzyskać jeden z czterech następujących znaków:
+
+
+\& \$ \% \#
+
+A zatem każdy z tych specjalnych znaków należy poprzedzić
+,,w-tył-ciachem'', czyli ,,\''.
+
+
+
+Takie odstępy, na których nie wolno systemowi złamać wiersza,
+zazanacza się w przepisywanym tekście w specjalny sposób,
+pisząc znak ,,tylda'' ~ zamiast odstępu.
+Wymienione wcześniej zdanie należy zatem przepisać jako:
+,,Janek urodził się w~Płocku''.
+
+Jest wiele takich przypadków, kiedy związek fragmentów zdania
+jest tak silny, że nie należy wewnątrz takiego fragmentu
+łamać na linie. Nie zawsze reguła jest tak prosta, jak to
+napisano powyżej. Przyjrzyjmy się kilku przykładom
+poprawnie zaznaczonych fragmentów.
+
+
+
+
+
+
+
+
+
+ Adam Dawidziuk
+
+ TeX, jak wiadomo, nie jest zaopatrzony w standardowy interfejs
+ użytkownika, co daje dużą swobodę wyboru metod przygotowywania
+ dokumentów źródłowych. O ile format plików wejściowych i sposób ich
+ przetwarzania przez TeX-a pozostaje z założenia niezmienny, to
+ narzędzia wspomagające wprowadzanie treści dokumentów we właściwym
+ formacie są nieustannie rozwijane. W artykule jest opisany jeden
+ z możliwych sposobów używania TeX-a w systemie UNIX, ze szczególnym
+ uwzględnieniem pakietu AUC TeX.
+
+ Brak narzuconego i okienkowego interfejsu użytkownika powoduje, że TeX
+ bywa postrzegany jako program przestarzały i trudny. Przeciętny
+ użytkownik komputera zwykle nie jest w stanie zrozumieć sposobu działania
+ TeX-a, a jeszcze trudniej dostrzec mu korzyści, jakie można osiągnąć
+ przygotowując dokumenty w ten właśnie sposób. Pierwszą
+ i najpoważniejszą barierą pojęciową jest fakt, że TeX nie jest systemem
+ kompletnym, ale wymaga korzystania z wielu dodatkowych narzędzi
+ wspomagających pracę. Wprawdzie mało kto wprowadza treść dokumentu
+ z klawiatury w chwili, gdy TeX pokaże na ekranie dwie gwiazdki, ale
+ na pomysł stworzenia sobie wygodnego i efektywnego środowiska pracy też
+ niestety wpada nieliczne grono użytkowników.
+
+ Działanie TeX-a można sprowadzić do przetwarzania
+ plików. TeX czyta dokument źródłowy, zwykle z pliku o nazwie
+ z przyrostkiem
+ Generowanie danych wejściowych do TeX-a to zagadnienie bardzo rozległe
+ i mające wiele praktycznych zastosowań. Sam proces przygotowania danych,
+ ich obróbka i metody generowania mogą być bardzo różne. Wszystko zależy
+ od celu przetwarzania i postawionych wymagań. TeX jest doskonałym
+ narzędziem do formatowania wydruków z baz danych (np. słowniki,
+ sprawozdania) pozwalającym na uzyskanie wysokiej jakości typograficznej przy
+ całkowitej automatyzacji procesu składania tekstu. Często użytkownik (autor
+ tekstu) nie ma bezpośredniego kontaktu z TeX-em i nie musi znać
+ specyficznego dla TeX-a systemu oznaczeń tekstu. Jednak jest to temat znacznie
+ wykraczający poza ramy tego artykułu.
+
+ Większość użytkowników zadowala się zwyczajnym wpisywaniem tekstu.
+ W takim wypadku najważniejszy jest ergonomiczny i dobrze opanowany
+ edytor tekstów. Zwykle każdy ma swój ulubiony edytor, w którym wszystko
+ mu wychodzi najłatwiej. I prawdopodobnie to będzie ten edytor, którego
+ należy użyć tworząc pliki źródłowe do przetwarzania TeX-em. Jeśli jednak
+ zamierzamy pisać dużo, to nie powinniśmy eksperymentować z edytorami zbyt
+ prostymi. Czas poświęcony na poznanie inteligentnego, konfigurowalnego edytora
+ zwróci się już po kilku dniach pisania. Z edytorów dostępnych
+ w systemie UNIX doskonały jest
+ Zwolennicy okienek MS nie powinni czuć się pokrzywdzeni
+ (a przynajmniej nie z powodu braku edytora). Z rzeczy dobrych godny
+ polecenia jest WinEdit, który może bardzo dużo i składnię pliku
+ TeX-owego zna na tyle dobrze, że wyróżnia kolorami odpowiednie
+ fragmenty. Jest łatwo konfigurowalny w zakresie wystarczającym do
+ efektywnej pracy.
+ Między innymi umożliwia powiązanie z polami menu
+ dowolnych skryptów np. przetwarzających pliki źródłowe. Daje się
+ używać bez zbyt częstego sięgania do myszy.
+ Jedną z jego głównych
+ zalet jest sprawdzanie na bieżąco składni wprowadzanych słów -- te
+ których brak w słowniku są wyróżniane.
+ Do podstawowych wad należy
+ konieczność konfigurowania właściwie wszystkiego od początku oraz to,
+ że, w przeciwieństwie do vima i Emacsa nie jest to program
+ bezpłatny. Cena jest jednak umiarkowana.
+
+ Przewidując trwały związek z TeX-em warto
+ usprawnić przetwarzanie
+ pliku źródłowego do postaci
+ wynikowej. Nie ma wielkiego problemu, jeśli przetwarzaniu podlega
+ jeden plik, a formatem wyjściowym jest dvi. Już
+ jednak konwersja pliku dvi do PostScriptu oznacza
+ konieczność uruchomienia dodatkowego programu.
+ Jeśli jeszcze dołożymy do tego
+ tworzone podczas pisania rysunki (w szczególności rysunki
+ generowane, np. MetaPost-em) to liczba programów, które trzeba
+ uruchomić w ściśle określonym porządku, zniechęca do robienia tego
+ ręcznie. Łatwo się pomylić.
+ Dobrym pomysłem jest napisanie skryptu,
+ który wykonuje wszystkie operacje.
+ Przetwarzanie za każdym
+ razem wszystkich plików źródłowych nie zawsze jest konieczne,
+ a znacznie wydłuża czas oczekiwania na wynik. W takiej sytuacji
+ najwygodniej użyć programu
+ Doświadczony użytkownik TeX-a zwykle ma własny zestaw programów, które czynią
+ życie łatwiejszym. Często w skład tego zestawu wchodzi dodatkowo jakiś
+ edytor strumieniowy np. sed, czy częściej awk lub perl (najbardziej
+ wszechstronny). W przypadku umieszczania w dokumentach ilustracji
+ lub zdjęć należy uwzględnić specjalizowane programy do przetwarzania obrazków
+ itd. Podstawową zaletą TeX jest łatwość zintegrowania go z dowolnym
+ używanym systemem.
+
+ Każdy może więc używać TeX dokładnie tak, jak lubi i tak jak mu
+ wygodnie. Trudno jest w jednym krótkim tekście omówić wszystkie typowe
+ przypadki. Ograniczę się do przykładu szczególnego -- systemu
+ UNIX. Przyczyn tego wyboru mógłbym wymienić wiele. Przede wszystkim
+ cały UNIX zbudowany jest z programów wykonujących dobrze określone
+ funkcje, takich ,,klocków'', z których można zbudować dowolnie
+ skomplikowane systemy przetwarzania informacji. Nie posiadający interfejsu
+ użytkownika, przetwarzający pliki w inne pliki i konfigurowalny TeX
+ łatwo daje się dopasować do potrzeb użytkownika UNIXa. Oczywiście
+ istnieje mnóstwo różnych i dobrych sposobów pracy z TeX-em. Zarówno
+ podany przykład edytora (Emacs z AUC TeX-em), jak i techniki
+ przetwarzania dokumentów noszą wyraźne piętno moich osobistych
+ preferencji.
+
+ AUC TeX to dostępne w edytorze
+ Edytor
+ Edytor ten bywa niezbyt lubiany przez początkujących
+ użytkowników ze względu na sposób wydawania poleceń i niezbyt
+ zrozumiałą terminologię stosowaną w dokumentacji
+ i komunikatach.
+ Koncepcja porozumiewania się z edytorem jest
+ rzeczywiście mocno egzotyczna, ale wbrew pozorom ma głęboki
+ sens.
+ Kluczem do sukcesu jest znalezienie klawisza
+
+ Mocną stroną Emacsa jest dokumentacja (
+ Istnieje wiele odmian Emacsa. Na potrzeby tego artykułu założymy sobie, że
+ dysponujemy zainstalowaną, współczesną wersją XEmacsa. Założenie to jest
+ uzasadnione, ponieważ normą są już komputery, na których działające okienka
+ graficzne nie powodują zatrzymania systemu. A XEmacs dobrze wygląda
+ w okienkach. Poza tym w XEmacsie AUC TeX jest domyślnie
+ zainstalowany, co pozwala skrócić ten tekst o rozdział poświęcony
+ instalacji. Dodatkowo nie będę rozwijać problemu konfiguracji, którą
+ w XEmacsie można wykonać za pomocą myszy. Wszystkie ustawienia AUC TeX-a
+ wykonuje się wybierając myszą z menu
+ Jeśli ktoś nie dysponuje XEmacsem lub nie lubi myszy, to będzie musiał wpisywać
+ odpowiednie zaklęcia do pliku
+ I jeszcze jedna uwaga dla początkujących: w Emacsie można zapisać plik
+ z bufora na dysk wciskając
+ Do efektywnego wykorzystania Emacsa na potrzeby języka polskiego jest potrzebna
+ polska klawiatura (każdy robi to jak lubi, jedna z klasycznych metod
+ w systemie XWindow sprowadza się do wykorzystania
+ Po uruchomieniu edytora Emacs utworzenie nowego pliku jest możliwe po
+ wciśnięciu
+ Jeśli powyższe działania nie prowadzą do uruchomienia
+ AUC TeX-a, to albo nie jest on zainstalowany, albo w pliku
+
+ Brak zainstalowanego
+ AUC TeX-a może prowadzić do pomyłek ponieważ Emacs wchodzi w takiej
+ sytuacji w dużo prostszy tryb wspomagania LaTeX-a, a wszystko działa
+ inaczej (w szczególności ,,klawiszologia'' jest inna).
+
+ Przy tworzeniu pliku LaTeX-owego pewne oznaczenia tekstu pojawiają się częściej
+ niż inne. Na szczególną uwagę zasługują mechanizmy AUC TeX-a ułatwiające
+ wpisywanie tych właśnie często występujących słów kluczowych. Najczęściej
+ wprowadza się do tekstu oznaczenia środowisk i ich nazwy, ,,zwykłe'' polecenia
+ TeX-owe, śródtytuły oraz polecenia zmiany kroju pisma.
+
+ Najważniejszą konstrukcją LaTeX-a są środowiska, czyli pary
+
+ Otwarte środowisko można zamknąć poleceniem
+
+ Poza środowiskami w pliku LaTeX-owym często pojawiają się
+ tradycyjne polecenia TeX-a, czyli słowa rozpoczynające się znakiem
+
+ Inny sposób wpisywania makr TeX-owych polega na wykorzystaniu
+ polecenia
+ Wiąże to znak
+
+ AUC TeX domyślnie wstawia parę pustych nawiasów
+ Inaczej oznacza się elementy listy
+ Kolejnym często występującym elementem tekstu są śródtytuły, oznaczane słowami
+ kluczowymi
+ I tak, jeśli ostatnio wstawiony był śródtytuł na poziomie
+
+ AUC TeX udostępnia również silny mechanizm zmiany kroju pisma. Jego
+ podstawą jest polecenie
+ Jeśli polecenie
+ W treści dokumentu pojawiają się nie tylko słowa kluczowe, ale także znaki
+ specjalne: cudzysłów, znak dolara
+ W TeX-u nie używamy znaków
+ Znaki dolara
+ Polecenie
+ Przy wprowadzaniu i usuwaniu znaku komentarza na początku wierszy
+ przydaje się polecenie
+
+
+ W przypadku wprowadzania dużej liczby wzorów matematycznych warto mieć pod ręką
+ mechanizm przyspieszający wpisywanie słów takich jak
+ Pożyteczne bywa podanie argumentu (
+ Bez możliwości definiowania własnych skrótów przydatność trybu matematycznego
+ byłaby znacznie ograniczona. Można to robić modyfikując na prywatne potrzeby
+ listę
+ Powróćmy do rozwijania słów kluczowych. Często się zdarza, że definiujemy
+ własne makra. AUC TeX doskonale nas rozumie. Jeśli wpiszemy definicję
+ LaTeX-ową (
+ AUC TeX rozpoznaje makrodefinicje zapisane w pliku podczas
+ parsowania dokumentu po wydaniu polecenia
+
+ Można wymusić parsowanie dokumentu natychmiast po jego wczytaniu
+ oraz umieszczanie informacji o nim w katalogu
+ auto przy każdym zapisie na dysk np. przez
+ wpisanie do pliku
+ Zmianę pliku
+ Sposób parsowania dokumentu można
+ konfigurować (po
+ szczegóły odsyłam do dokumentacji). Na przykład jeżeli mamy słaby
+ komputer i chcemy, aby rozpoznawane były tylko etykiety musimy zadbać
+ o następujące ustawienia (znów plik
+ Na uwagę zasługuje możliwość uruchamiania TeX-a i oglądania plików .dvi
+ bez konieczności opuszczania Emacsa. Służy do tego polecenie przypisane do
+ sekwencji
+ Standardowe polecenia przetwarzania pliku źródłowego można łatwo rozszerzyć
+ o nasze ulubione:
+ Naprawdę niezwykle użyteczna (i trudna do zaimplementowania poza
+ edytorem) jest możliwość przetworzenia tylko fragmentu pliku źródłowego.
+ W przypadku składania skomplikowanego dokumentu można TeX-ować tylko
+ fragment nad którym pracujemy, co zaoszczędza mnóstwo czasu. Służy do tego
+ polecenie
+ W przypadku wystąpienia błędów w czasie przetwarzania można oglądać je
+ kolejno przy pomocy polecenia
+ Zatrzymajmy się jeszcze nad tym, co widzimy na ekranie. Emacs
+ (w szczególności XEmacs) potrafi inteligentnie zaznaczać odpowiednie
+ fragmenty tekstu kolorami. Konfigurowanie kolorów w XEmacsie jest
+ proste (myszą w sekcji faces -- dlatego
+ warto używać XEmacsa). Jeśli kolorowanie nie włączyło się z własnej
+ woli można je wymusić poleceniem
+ Nawet bez kolorowania treść dokumentu można wprowadzić
+ w niezwykle czytelnej formie dzięki zaawansowanym poleceniom
+ formatowania tekstu.
+ W wolnej chwili warto wypróbować polecenia:
+
+
+ Ograniczona objętość artykułu nie pozwala omówić wszystkich możliwości
+ AUC TeX-a. Nie zmieściły się tematy obszerne, takie jak konfigurowanie
+ działania AUC TeX-a i liczne szczegółowe, np. praca
+ z dokumentami hierarchicznymi. Wszystko można doczytać
+ w dokumentacji. Czytając trzeba pamiętać, że AUC TeX jest częścią
+ edytora Emacs i przez cały czas można korzystać ze wszystkiego, co Emacs
+ oferuje. Przykładem jest niezależny (ale wspierany przez AUC TeX-a) tryb
+ ,,ukrywania'' fragmentów tekstu, włączany/wyłączany poleceniem
+
+ W całej zabawie z Emacsem najmilsze jest to, że wcale nie trzeba
+ go używać. Tekst można przygotować korzystając z jakiegokolwiek
+ edytora (np. ...Emacsa), a pliki źródłowe przetwarzać
+ zewnętrznie. Przypuśćmy, że kolega podesłał nam 46 felietonów, które
+ napisał w ostatnim roku. Wszystkie, to kompletne pliki LaTeX-owe.
+ W takiej sytuacji TeX-owanie z wnętrza edytora zajmie zbyt dużo
+ czasu. Najszybszą metodą będzie umieszczenie wszystkich plików
+ w jednym katalogu i napisanie w terminalu mniej więcej czegoś
+ takiego:
+
+ Nie zawsze jednak jest tak prosto. Często
+ otrzymanie wyniku końcowego wymaga
+ wielu przetworzeń. Wpisywanie ciągu tych samych poleceń po każdej
+ modyfikacji pliku bywa męczące. Dlatego mądrzy
+ ludzie
+ stworzyli program
+ Z zawartości pliku wynika, że pracujemy nad referatem (tworzymy
+ plik
+ Ostatnia reguła zostanie wykorzystana gdy
+ wykonamy polecenia
+ Najważniejszą cechą programu make jest to, że do przetwarzania
+ dochodzi tylko wtedy, gdy program źródłowy był modyfikowany po
+ ostatnim przetworzeniu (plik wynikowy jest starszy od pliku
+ źródłowego). Dzięki temu można w terminalu napisać takie (lub
+ podobne) zaklęcie:
+
+ Tak potraktowany interpretator poleceń co 5 sekund będzie
+ uruchamiał program make, który przetworzy plik źródłowy tylko wtedy,
+ gdy ten ostatni został zapisany na dysk po ostatnim przetworzeniu.
+ Teraz wystarczy tylko myszą wskazać przeglądarkę, żeby zobaczyć, co
+ ,,naskładaliśmy'' do tej pory (przeglądarka powinna reagować na
+ modyfikację przeglądanego pliku). Ta technika jest wrażliwa na
+ zapisywanie pliku z błędem. Oczywiście, jeśli mamy
+ dobry edytor, to wpisanie złego słowa kluczowego,
+ czy nie domknięcie środowiska lub nawiasu nie jest proste.
+
+ Co się jednak stanie, gdy popełnimy błąd, na którym TeX
+ się zatrzyma? Po pierwsze możemy przeczytać uważnie o co chodzi i w
+ edytorze przeskoczyć do właściwego wiersza, a TeX-owi powiedzieć
+ np.
+lub w przypadku XEmacsa:
+
+ i jeżeli używamy Emacsa w którym powiemy
+
+ Korzystanie z emacsowego klienta i serwera pomaga w wielu
+ trudnych sytuacjach. Wyobraźmy sobie książkę mającą 42 rozdziały,
+ każdy zapisany w oddzielnym pliku. Jeśli w kilkunastu plikach zamiast
+
+ Potem wystarczy wciskanie klawisza
+ Bardzo niechętnie używam możliwości przetwarzania pliku
+ TeX-owego z wnętrza edytora.
+ Nawet pisząc niewielki dokument warto (moim zdaniem) korzystać
+ z programu make. Już kilka razy zapomniałem
+ uruchomić
+ Współczesne narzędzia umożliwiają wygodne i bezbolesne
+ korzystanie z dobrodziejstw oferowanych przez TeX-a.
+ We współczesnym sprzęcie karta graficzna i monitor pozwalają na pracę
+ w systemie okienkowym (np. XWindow);
+ można także na bieżąco oglądać
+ w sąsiednim oknie gotowy dokument. W przypadku korzystania z XEmacsa
+ (lub podobnego edytora) pracować z LaTeX-em mogą nawet ci
+ użytkownicy, którzy nie zdejmują ręki z myszy.
+
+ Mam nadzieję, że udało mi się pokazać, jak duże możliwości stoją
+ przed kimś, kto chce wygodnie i efektywnie używać TeX-a. Opisałem
+ tylko najprostsze warianty konfiguracji środowiska pracy. Istnieje
+ wiele sposobów i sposobików, o których nie wspomniałem i jak sądzę,
+ jeszcze więcej takich, o których nigdy nie słyszałem. Wszystkim życzę
+ miłego TeX-owania.
+
+ Adam Dawidziuk
+ Tekst jest przedrukiem z Biuletynu GUST, nr 11/1998,
+s. 58--64.
+Osoby piszące sporo publikacji spotykają się w pewnym momencie z
+problemem cytowania literatury. W różnych dokumentach pojawiają
+się te same odwołania do literatury. Różni wydawcy wymagają różnego
+sposobu formatowania spisów cytowanych publikacji lub różnych form
+odwołań w tekście. Dla pojedynczego dokumentu te problemy są
+nieistotne i zwykle łatwiej w takim przypadku złożyć spis literatury
+ręcznie, używając środowiska Istnieje odpowiednie narzędzie do obróbki bibliografii --
+
+Następny rozdział
+Spis treści rozdziału,
+ Główny spis treści
+Początek dokumentu,
+ Początek rozdziału Korzystając z bibtexa, odwolania do literatury zaznaczamy w zwyczajny
+sposób przy pomocy polecenia 2.1.5. Rozszerzalność
+
+TEX ma wbudowany język programowania (inaczej mówiąc jest językiem
+programowania). Za pomocą tego języka można definiować rozszerzenia
+tego systemu, tworząc specjalizowane systemy składu.
+
+
+2.1.6. Cena
+
+TEX nic nie kosztuje. Ściślej mówiąc jest to program typu public
+domain (dobro wspólne). Autor TEX-a wyraził zgodę na bezpłatne
+rozpowszechnianie i używanie tego programu.
+2.1.7. Przenośność
+
+Kod źródłowy programu TEX jest powszechnie dostępny i zawiera
+dobrze opracowaną dokumentację wewnętrzną. Został on napisany
+w specjalnie opracowanej wersji języka Pascal, w tzw. języku WEB.
+Autor systemu zadbał bardzo starannie o to, żeby cechy programu
+związane ściśle z określonym typem komputera lub systemem operacyjnym,
+m. in. takie jak sposoby zapisywania i czytania plików,
+były starannie wydzielone w tekście programu i łatwe do wymiany.
+Z dużą pieczołowitością opracował też rozmaite działania wewnętrzne
+programu, tak żeby dla tych samych danych program dawał dokładnie
+takie same wyniki, niezależnie od typu komputera, rodzaju procesora użytego
+do obliczeń itp.
+2.1.8. Logiczność w przeciwieństwie do graficzności
+
+,,Logiczność'', to możliwość opisywania w TEX-u
+logicznej struktury składanego tekstu, co bardzo ułatwia
+dokonywanie wszelkich zmian w tekście, już po jego złożeniu.
+2.2. Kim są użytkownicy TEX-a?
+
+Użytkownicy TEX-a, to w znacznej części pracownicy naukowi i studenci
+wyższych uczelni i innych instytucji naukowych, choć nie brakuje też
+wydawców, a także np. wytwórców pieczątek czy wizytówek, agencji
+reklamowych itp.
+
+
+2.3. TEX-owcy, łączcie się
+
+Ze względu na to, że TEX ma stosunkowo niewielu użytkowników,
+
+TEX-owcy zawiązują stowarzyszenia, zwane grupami, w celu łatwiejszej
+wymiany informacji, współpracy, łatwiejszego rozpowszechniania
+oprogramowania itp.
+2.4. Do czego służy TEX?
+
+TEX pozwala komputerowo robić to, co dawniej robili zecerzy.
+2.5. Czy TEX-em można...?
+
+Często użytkownicy różnych programów służących do podobnych
+celów zadają sobie nawzajem pytania w rodzaju: ,,Czy twoim systemem
+można...?''. Podobne pytania mogłyby paść w odniesieniu do systemu
+TEX. Wymienienie wszystkiego, co można zrobić TEX-em nie tylko
+nie jest łatwe, ale jest niemożliwe. Możemy jednak przyjrzeć się
+kilku przykładom.
+2.5.1. Matematyka i inne nauki
+
+TEX nie ma równego sobie systemu w zakresie składu
+prac i książek naukowych, w szczególności matematycznych i fizycznych.
+Większość matematyków używa TEX-a do pisania swoich prac. TEX
+jest standardem Amerykańskiego Towarzystwa Matematycznego (AMS),
+największej organizacji matematyków na świecie.
+
+
+2.5.2. Ilustracje
+
+TEX pozwala na włączanie do tekstu dowolnych ilustracji (w tym zdjęć,
+również barwnych).
+
+
+2.5.3. Nuty
+
+Istnieje co najmniej kilka rozszerzeń TEX-a pozwalających na skład nut.
+Co najmniej jednym z nich można składać nawet najbardziej skomplikowane
+partytury i -- co bardzo ważne -- łączyć skład nut z wszystkimi innymi
+elementami, na które pozwala TEX. W tym samym dokumencie, a nawet na tej
+samej stronie mogą znaleźć się nuty, teksty, formuły matematyczne, zdjęcia itp.
+
+
+2.5.4. Kolory
+
+Przy odpowiednim połączeniu systemu TEX z wyjściowymi urządzeniami
+barwnymi TEX może składać w kolorze. Teksty, tło, ilustracje itp.
+mogą być wielobarwne.
+
+
+2.5.5. Różne kroje pisma
+
+Niektórzy użytkownicy systemu TEX błędnie sądzą, że
+ten program wyposażony jest w skończony, ograniczony i zamknięty
+komplet krojów pisma i że nie można w nim użyć innych krojów.
+2.6. Konfiguracja
+
+TEX jest programem zajmującym w pamięci dyskowej -- zależnie od
+wersji -- około 200--250 kilobajtów.
+Do pracy potrzebne mu są dodatkowo pliki zawierające podstawowe,
+tzw. metryczne informacje o fontach.
+5. TEX, czyli pan Kazio
+
+Aby zrozumieć na czym polega praca TEX-a może być
+pomocne wyobrażenie sobie, że TEX, to taki bardzo posłuszny
+i skrupulatny pracownik firmy zajmującej się składaniem tekstów.
+Na nazwisko ma TEX, na imię Kazimierz; z zawodu zecer. Możemy czasem o nim
+mówić ,,pan Kazio''. Jego zaletą jest to, że zawsze wykonuje
+wszelkie polecenia szefa, jeśli tylko są możliwe do spełnienia.
+Ma jednak taką cechę, że wykonuje te polecenia jedynie, jeśli są przygotowane
+na piśmie w odpowiedni, z góry umówiony sposób.
+
+Ala ma psa.
+\end
+
+5.1. Komendy czyli polecenia
+
+Kontynuujemy tu porównywanie TEX-a do pana Kazia, zecera,
+który realizuje polecenia swojego szefa, przygotowane mu na piśmie.
+Ten szef, to oczywiście użytkownik systemu.
+
+Ala ma psa.
+\end
+
+Plik ten zawiera 13 komend.
+
+,,Umieść w składzie literkę <<A>>'',
+,,Umieść w składzie literkę <<l>>'',
+,,Umieść w składzie literkę <<a>>''.
+
+,,zrób zwykły odstęp międzywyrazowy''.
+
+,,Umieść w składzie kropkę''.
+5.2. Pudełka i kleje
+
+System TEX składając tekst (wykonując polecenia) pracuje
+podobnie do tego jak pracowali dawniej zecerzy. Jeśli zecer
+otrzymywał polecenie (np. czytał je z przygotowanego maszynopisu):
+,,umieść w składzie literę <>'', to sięgał ręką do tzw. kaszty,
+czyli skrzynki, gdzie znajdowały się metalowe czcionki, wyjmował czcionkę
+z literką ,,A'' i ustawiał w odpowiednim miejscu komponowanej strony.
+Podobnie, gdy trzeba było zrobić odstęp, umieszczał w montowanej stronie
+odpowiedni kawałek metalu, który służył do odsuniecia następnych czcionek.
+5.3. Nastroje pana Kazia
+
+TEX zna dwa podstawowe sposoby montowania większych pudełek
+z mniejszych pudełek i kleju. Stosuje jeden z tych sposobów,
+zależnie od nastroju (lub inaczej mówiąc ,,trybu'', w jakim się
+w danej chwili znajduje). Angielskie słowo mode oznaczające
+tryb (rodzaj) wykonywanej pracy jest podobne do słowa mood
+oznaczającego nastrój.
+Wydaje się, że właściwe jest wyobrażanie sobie TEX-a
+(pana Kazia z poprzednich rozdziałów) jako istoty poddającej się
+nastrojom.
+5.4. Składanie akapitu
+
+Początek akapitu TEX rozpoznaje po pewnych typach elementów,
+które stanowią zwykle część akapitu.
+W szczególności, jeśli będąc w trybie pionowym
+TEX napotka w pliku pojedynczą literę, to stwierdzi, że
+chcemy rozpocząć składanie akapitu i zmieni nastrój na poziomy.
+
+Ala ma psa.
+
+
+(jest to dziewięć pudełek i dwa kawałki kleju między nimi).
+
+Ala ma psa.
+\end
+
+
+
+5.4. Składanie pudełka poziomego
+
+Drugim możliwym sposobem umieszczania poziomo obok siebie
+pudełek jest jawne utworzenie tzw. pudełka poziomego.
+Podstawową komendą służącą w TEX-u do tego celu jest komenda
+\hbox (h, to skrót od angielskiego horizontal
+-- poziomy, box, to po angielsku pudełko).
+
+Od rana jestem dziś w poziomym nastroju.
+
+4. Przygotowywanie tekstów do składania
+
+Z każdym systemem składu można pracować
+w ten sposób, że najpierw tekst przepisywany jest odpowiednio
+zwykłym edytorem tekstowym typu ASCII, a następnie
+taki ,,maszynopis komputerowy'' wykorzystywany jest do
+wykonania składu.
+
+
+
+
+4.1 Podział na akapity
+
+Akapitem nazywamy tutaj fragment tekstu,
+który w gotowej książce lub czasopiśmie,
+zaczyna się zwykle od tzw. wcięcia akapitowego,
+składa się z pewnej liczby linijek
+i kończy niepełną linijką. Niniejsze zdanie jest częścią akapitu,
+który zaczął się słowem ,,Akapitem'', a kończy się tą kropką: .
+
+
+
+4.2 Znaki przestankowe
+
+Poniżej opisujemy zasady, jakich należy przestrzegać
+przy przepisywaniu, związane ze znakami przestankowymi.
+
+
+4.2.1 Cudzysłowy
+
+Cudzysłowy zawsze przylegają do tekstu, którego dotyczą,
+tzn. nigdy nie robimy odstępu bezpośrednio wewnątrz, a prawie zawsze robimy na zewnątrz.
+Cudzysłów ,,otwierający'' i ,,zamykający'' różnią się położeniem
+(otwierający jest na dole, a zamykający na górze).
+4.2.2. Nawiasy
+
+Nawiasy (podobnie jak cudzysłowy) zawsze muszą przylegać do tekstu,
+którego dotyczą. Odstępy przy nawiasach mogą (i na ogół muszą) być
+jedynie na zewnątrz (choć zdarzają się wyjątki).
+4.2.3. Podstawowe znaki przestankowe
+
+Przy pisaniu wszystkich podstawowych znaków przestankowych,
+czyli kropki, przecinka, średnika, znaku zapytania, wykrzyknika
+dwukropka oraz wielokropka:
+
+
+. , ; : ? ! ...
+
+
+należy pamiętać, że pomiędzy poprzedzającym taki znak
+wyrazem, a takim znakiem nie może być odstępu, ani
+zmiany wiersza, natomiast po znaku przestankowym zawsze
+piszemy odstęp (prawie zawsze!).
+4.2.4. Kreski poziome
+
+Proste maszyny do pisania posiadają tylko jedną czcionkę
+w kształcie poziomej kreski ,,-''. W profesjonalnym składzie
+drukarskim
+występują aż cztery rodzaje kresek poziomych. Są to:
+łącznik, myślnik, półpauza oraz minus.
+4.2.4.1. Łącznik
+
+Łącznik, zwany też dywizem, jest krótką kreską stosowaną
+w kilku możliwych kontekstach.
+
+
+
+
+Żół-
+to-zielony.
+Żółto-
+-zielony.
+Żółto-zie-
+lony.
+Żółto-zielo-
+ny.
+
+
+
+Podobnie w przypadku komputera K-202, numeru telefonu 34-22
+lub kodu pocztowego 80-309. We wszystkich takich przypadkach
+łącznik zapisujemy w danych dla TEX-a jako pojedynczą kreskę
+,,-''. A zatem wymienione przykłady należy zapisać jako:
+,,K-2'', ,,K-202'', ,,34-22'', ,,80-309''.
+
+K- -2
+
+123456-778899-124-0,
+
+to TEX może mieć trudności ze składem. W takiej sytuacji
+zamiast w danych wejściowych pisać:
+
+123456-778899-124-0,
+
+czyli stosując pojedyncze kreski, można podpowiedzieć TEX-owi
+gdzie może złamać ten długi napis, stosując notację ,,\='':
+
+123456\=778899\=124\=0.
+
+
+Łącznik jest również tym znakiem, którego używa TEX do
+przenoszenia (dzielenia) wyrazów. To jednak odbywa się automatycznie
+i nie wymaga żadnych ingerencji
+użytkownika systemu.
+
+
+4.2.4.2. Myślnik
+
+Myślnik --- to dłuższa kreska używana jako znak przestankowy.
+4.2.4.3. Półpauza
+
+
+Półpauza, zwana też pauzą półfiretową, to kreska o połowę
+krótsza od myślnika. Stosuje się ją przede wszystkim przy pisaniu zakresów
+liczbowych, np. ,,str. 11--13''.
+Zapisuje się ją przy pomocy dwóch następujących po sobie minusów:
+,,--''. A zatem napis ,,11--13'' zapisujemy jako
+,,11--13'' bez odstępów po bokach. Odstępy takie muszą
+się pojawić w sytuacjach takich jak: ,,11 października --
+13 listopada''.
+4.2.4.4. Minus
+
+Minus jest znakiem o podobnym kształcie do poprzednio wymienionych.
+Stosuje się go w formułach matematycznych.
+Nawet takie proste zdanie jak: ,,Na dworze jest dziś -5 stopni.''
+zawiera formułę matematyczną.
+4.3. Znaki specjalne
+
+Niektóre znaki w systemie TEX mają specjalne znaczenie.
+Oznacza to, że system po napotkaniu takiego znaku
+w tekście przeznaczonym do składania wykonuje inne czynności
+niż po prostu umieszczenie takiego znaku na stronie.
+
+& $ % #
+
+
+to musimy wpisać to do pliku wejściowego, jako:
+4.4. Niełamliwe odstępy
+
+Polskie zasady typograficzne nie pozwalają łamać akapitu na linijki
+w taki sposób, żeby na końcu linijki pojawił się jednoliterowy
+spójnik. Np. w zdaniu ,,Janek urodził się w Płocku'' nieładnie
+by było, gdyby na koncu linijki pojawiło się słowo
+,,w'', a dopiero na początku następnej słowo ,,Płocku''. Te słowa są
+silnie ze sobą związane.
+
+godz.~17.00
+od~15 do~40~osób
+na str.~2 napisano
+ul.~Świerkowa
+tel.~25--04--71
+rozdział~2
+2~rozdziały
+p.~Jan Nowak
+I~część IX~Symfonii
+
+
+W większości przypadków
+odpowiednie zaznaczenie wymaga pewnej wprawy i doświadczenia.
+
+
+
+
diff --git a/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/podstawy/2-1zece.html b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/podstawy/2-1zece.html
new file mode 100644
index 00000000000..02c75aa363a
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/podstawy/2-1zece.html
@@ -0,0 +1,59 @@
+
+
+
+
+
+
+
+
+
+3. Zecernia czy maszyna do pisania?
+
+Od czasu, kiedy udało się zautomatyzować pewne czynności
+związane z pisaniem minęło kilkaset lat. Automatyzowanie
+tych czynności zaczęło się od wynalezienia przez Gutenberga druku
+za pomocą ruchomych czcionek.
+Drugim ważnym wydarzeniem było wynalezienie maszyny do pisania.
+Od tego czasu zautomatyzowane pisanie rozwijało się w dwóch nurtach.
+
+Pierwszy nurt, to elegancki, profesjonalny skład drukarski.
+Taki skład wykonywany był na ogół w drukarniach, gdzie pracowali specjaliści
+w tej dziedzinie -- zecerzy.
+
+Drugi nurt realizowany był za pomocą powszechnie dostępnego
+narzędzia -- maszyny do pisania. Możliwości maszyny były
+znacznie mniejsze, niż to, czym dysponował zecer.
+Nie było też potrzeby, ani możliwości dbania o różne subtelne
+szczegóły drukowanego tekstu, stanowiące o jego elegancji.
+
+Z chwilą powstania pierwszych programów komputerowych
+służących do pisania tekstów, przed automatyzacją pisania
+otworzyły się nowe możliwości. Programy, które zaczęły
+powstawać przypominały albo skomputeryzowaną maszynę do pisania,
+albo skomputeryzowaną zecernię.
+
+Niektóre obecnie istniejące programy działają w sposób
+przypominający maszynę do pisania. Do tej grupy należą
+zwłaszcza edytory tekstów typu ASCII, tzn. edytory,
+które zapisują przepisywany tekst jedynie z użyciem zwykłych znaków
+(w kodzie ASCII), bez żadnych dodatkowych wyróżnień, np. kursywy.
+
+Wszystkie znaki w tekście przygotowanym takim edytorem
+mają jednakowe rozmiary, w szczególności takie same szerokości.
+Przykłady takich edytorów na komputerach typu IBM PC,
+to m.in. edytor wbudowany w Norton Commandera, Norton Edytor,
+BRIEF, Multi-Edit.
+
+Drugą grupę stanowią programy przeznaczone do wykonywania
+na komputerze profesjonalnego składu drukarskiego.
+Każdy z tych programów potrafi składać różnymi krojami pisma,
+różnymi wielkościami, łamać tekst w jednej lub wielu kolumnach
+(szpaltach lub tzw. łamach), dbać o różne szczegóły
+wpływające na jakość uzyskiwanego wyniku. Do tej grupy należy
+m.in. Ventura Publisher, Page Maker, Cyfroset, Quark-X-Press
+i TEX.
+
+
+
diff --git a/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/podstawy/bib.html b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/podstawy/bib.html
new file mode 100644
index 00000000000..4b2f1ae5549
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/podstawy/bib.html
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+Bibliografia
+[1-5] Donald Knuth: Computers & Typesetting, Addison Wesley
+Publishing Company, vol. A, B, C, D, E.
+
+
diff --git a/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/podstawy/spis.html b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/podstawy/spis.html
new file mode 100644
index 00000000000..d1aa3521635
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/podstawy/spis.html
@@ -0,0 +1,32 @@
+
+
+
+
+
+
+
+
+
+2. Co to jest TeX -- informacje ogólne
+3. Zecernia czy maszyna do pisania?
+4. Przygotowywanie tekstów do składania
+5. TeX, czyli pan Kazio
+6. Bibliografia
+
+
+
+Zredagował
+Włodzimierz Macewicz
+
+
+
diff --git a/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/podstawy/tex.html b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/podstawy/tex.html
new file mode 100644
index 00000000000..3486906c1c3
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/podstawy/tex.html
@@ -0,0 +1,28 @@
+
+
+
+
+
+
+
+ 2. Co to jest TeX -- informacje ogólne
+ 3. Zecernia czy maszyna do pisania?
+ 4. Przygotowywanie tekstów do składania
+ 5. TeX, czyli pan Kazio
+ 6. Bibliografia
+ Podstawy Systemu
+TEX
+
Używanie TeX-a w systemie UNIX (AUCTeX)
+Przetwarzanie danych
+.tex
, i tworzy obraz kolejnych stron
+ dokumentu w pliku o nazwie kończącej się napisem
+ .dvi
. Zadaniem użytkownika jest przygotowanie
+ plików wejściowych i uruchomienie ciągu przetworzeń, które doprowadzą
+ do pożądanego wyniku. Zarówno przygotowanie danych, jak i ich
+ przetwarzanie można zorganizować w zasadzie w dowolny sposób. Istnieją
+ dwie istotnie różne metody tworzenia plików z danymi wejściowymi:
+ generowanie i wpisywanie.
+vim
. Można go ,,nauczyć''
+ wielu pożytecznych skrótów, a jego ostatnie wersje potrafią rozpoznawać
+ składnię i zwiększać czytelność plików źródłowych przez stosowanie
+ kolorów. Lepszy jest tylko emacs
(tak twierdzą użytkownicy
+ Emacsa). Niestety, zarówno vim
jak i Emacs
+ u niektórych wywołują reakcje alergiczne, a na to rady nie ma.
+make
.
+AUC TeX
+emacs
+ zintegrowane środowisko do tworzenia i przetwarzania dokumentów
+ TeX-owych i LaTeX-owych. Możliwości AUC TeX-a są ogromne, na
+ szczęście nie trzeba wiedzieć wszystkiego, aby z niego
+ korzystać. AUC TeX-a można oswajać ,,krok po kroku'', podobnie jak
+ i samego Emacsa.
+Emacs
+emacs
ma długą historię w systemie UNIX.
+ W dużej części został napisany w języku Lisp
+ (dokładniej w dialekcie Emacs Lisp). Jest to język funkcyjny służący
+ przede wszystkim do porozumiewania się z Emacsem. Lisp bywał chętnie
+ stosowany w tworzeniu tzw. ,,systemów sztucznej inteligencji''. Nie dziwi
+ więc naprawdę nieprzeciętna inteligencja edytora Emacs jeśli uświadomimy sobie,
+ że jest to największy z popularnych programów napisanych w Lispie.
+ A możliwości i umiejętności Emacsa są chyba niezgłębione (strzyże,
+ śpiewa, tańczy, gotuje, krawaty wiąże...).
+Meta
na klawiaturze. Wciśnięcie tego klawisza ze
+ znakiem x
(oznaczane jako Meta-x
+ lub M-x
) rozpoczyna wprowadzanie poleceń.
+ W klawiaturze komputera PC zwykle klawiszem Meta
jest
+ Alt
. Jeśli jednak Alt
został
+ przedefiniowany (np. w celu wprowadzania polskich znaków) to
+ M-x
można wprowadzić sekwencyjnie wciskając
+ najpierw klawisz Esc
, a potem
+ x
. Tego typu problemy nie istnieją z klawiszem
+ Ctrl
. Podstawowymi chwytami są
+ Ctrl-x
i Ctrl-c
, opisywane
+ często jako C-x
i C-c
.
+C-h
). Funkcje przypisane
+ klawiszom zmieniają się w zależności od trybu pracy (mode), co
+ zawsze można sprawdzić wpisując C-h m
. Wiedząc, że Emacs może
+ otwierać wiele plików jednocześnie, ale każdy w innym buforze
+ (buffer), że w środowisku okienkowym może otwierać wiele okien
+ zwanych ramkami (frames) i że każda ramka może być podzielona na
+ wiele ,,okien'' (window) można
+ bez problemu zrozumieć język dokumentacji.
+Options Customize Emacs Wp
+ Tex AUC Tex
, a potem już według uznania. W to samo miejsce
+ można trafić wciskając M-x customize
, tyle że po drodze jest
+ więcej objaśnień i łatwiej się zagubić.
+.emacs
, który znajduje się
+ w katalogu domowym użytkownika. Pomocne może być odszukanie pliku
+ tex.el
i tex-site.el
, które leżą gdzieś
+ z innymi plikami Emacsa (ale w różnych katalogach -- przyda się
+ program find
). Można w nich podejrzeć, jak są zadawane
+ wartości początkowe list i zmiennych i je zmodyfikować. Nie należy
+ przy tym zmieniać pliku tex.el
(ani jego skompilowanej wersji
+ tex.elc
) lecz kopiować co trzeba do pliku .emacs
.
+ Jeśli zmiana ma dotyczyć wszystkich użytkowników należy odpowiedni fragment
+ pliku tex.el
skopiować do pliku tex-site.el
+ i tam pozamieniać wszystko to, co wymaga zmiany.
+C-x C-s
, a pracę
+ z Emacsem zakończyć sekwencją C-x C-c
. Emacs nie jest
+ jednak małym programem, więc szanując swój czas lepiej nie otwierać go
+ i nie zamykać bez wyraźnej potrzeby, zwłaszcza, że raz otwarty mocno nie
+ przeszkadza.
+xmodmap
)
+ oraz polski słownik do programu ispell
. Zagadnienia te są
+ dokładnie omówione w tekstach poświęconych polskim ,,ogonkom''.
+Uruchomienie AUC TeX-a
+C-x C-f
i podaniu nazwy. Podając nazwę pliku
+ z przyrostkiem .tex
zmusimy edytor do wejścia w tryb
+ LaTeX-mode
. Informacja o tym powinna pojawić się
+ w wierszu trybu pracy (Mode Line) w dolnej części okna
+ jako napis LaTeX
. Można też wymusić wejście w tryb
+ LaTeX
wywołując polecenie LaTeX-mode
(M-x
+ LaTeX-mode
). Do rozwijania nazw można użyć znaku klawisza tabulacji
+ (Tab
).
+.emacs
brakuje wiersza
+
+(require 'tex-site)
+
+Słowa kluczowe LaTeX-a
+\begin{*}
\end{*}
. Do wprowadzania środowisk służy
+ polecenie LaTeX-enviroment
domyślnie przypisane do sekwencji
+ C-c C-e
. Po wydaniu tego polecenia AUC TeX pyta
+ o nazwę środowiska i ewentualne dodatkowe dane. Przy pomocy
+ klawisza Tab
lub spacji można rozwijać częściowo wpisane nazwy.
+ AUC TeX zna mnóstwo standardowych środowisk, poza tym potrafi uczyć się
+ nowych analizując włączane pakiety i nagłówek pliku.
+LaTeX-close-enviroment
(C-c ]
).
+ Zdecydowanie jednak najbezpieczniejsze jest wprowadzanie
+ kompletnych środowisk przy użyciu C-c C-e
.
+\
. Zapamiętanie wszystkich poleceń jest trudne,
+ a przy ich wprowadzaniu łatwo o błąd. Dlatego należy korzystać
+ z polecenia LaTeX-complete-symbol
. Jeśli pisane słowo
+ rozpoczyna się znakiem \
to wystarczy wcisnąć
+ M-Tab
aby je zakończyć, lub uzyskać listę możliwych
+ zakończeń.
+TeX-insert-macro
(C-c C-m
).
+ Aby użyć jeszcze innej metody należy np. w pliku
+ .emacs
ustawić różną od nil
+ wartość zmiennej TeX-electric-escape
+
+(setq TeX-electric-escape t)
+
+\
z funkcją
+ TeX-electric-macro
, co umożliwia uruchamianie
+ mechanizmu rozwijania makr przez wpisanie tego znaku. Jest to metoda
+ najszybsza.
+{}
po
+ wpisaniu makra, co zabezpiecza przed ,,zniknięciem'' spację znajdującą się za
+ tym makrem. Jeśli nawiasy nie są mile widziane należy zmiennej
+ TeX-insert-braces
przypisać wartość nil
.
+\item
. Służy do tego polecenie
+ LaTeX-insert-item
(M-Return
), którego działanie
+ zależy od kontekstu.
+\chapter
, \section
itd. Można ułatwić
+ sobie życie korzystając z polecenia LaTeX-section
(C-c
+ C-s
). Wywołanie tego polecenia spowoduje wstawienie oznaczenia
+ śródtytułu, przy czym domyślnie AUC TeX zapyta o tytuł
+ i etykietę związaną z tym śródtytułem (argument polecenia
+ \label
). Domyślny poziom śródtytułu można zmienić wpisując
+ ręcznie właściwe słowo kluczowe (z rozwijaniem) lub podając argument
+ (C-u
) przed wywołaniem polecenia LaTeX-section
. Jeśli
+ argument jest ujemny, to poziom zostanie zmieniony w dół o jeden.
+\subsection
to będzie to aktualny poziom domyślny. Sekwencja
+ C-c C-s
oznacza polecenie wpisania śródtytułu na tym właśnie
+ poziomie. Podanie C-u C-c C-s
to wpisanie
+ \subsubsection
, a C-u -1 C-c C-s
spowoduje
+ wstawienie \section
. Przedrostki nazw w etykietach
+ \label
są kontrolowane zmienną LaTeX-section-label
.
+ Jeśli wartością tej zmiennej jest nil
, to odnośniki nie będą
+ wstawiane.
+TeX-font
(skrót C-c C-f
), po
+ którym podaje się argument określający pożądaną zmianę kroju pisma. I tak
+ C-e
powoduje wpisanie \emph{}
, C-i
--
+ \textit{}
, C-t
-- \texttt{}
itd,
+ włącznie z usuwaniem ustawienia kroju pisma C-d
. Lista możliwości
+ jest wypisywana po podaniu spacji jako argumentu:
+
+Font list:
+
+ C-b \textbf{ }
+ C-c \textsc{ }
+ C-e \emph{ }
+ C-f \textsf{ }
+ tab \textit{ }
+ return \textmd{ }
+ C-n \textnormal{ }
+ C-r \textrm{ }
+ C-s \textsl{ }
+ C-t \texttt{ }
+ C-u \textup{ }
+ C-d -- delete font
+
+TeX-font
jest poprzedzone argumentem
+ (C-u
), to zostanie zmieniony krój pisma w miejscu,
+ w którym znajduje się kursor. Przykładowo jeżeli kursor jest umieszczony
+ na tekście będącym argumentem polecenia \textit{}
, to sekwencja
+ C-u C-c C-f C-e
zmieni polecenie \textit
na
+ \emph
.
+Inne elementy tekstu
+$
, nawiasy klamrowe
+ {}
oraz znak komentarza %
.
+"
na oznaczenie cudzysłowu.
+ W tekstach pisanych po angielsku używamy znaku ``
jako
+ cudzysłowu otwierającego i znaku ''
jako cudzysłowu
+ zamykającego. Jeśli użytkownik wpisuje "
to AUC TeX zadba,
+ aby w tekście pojawiło się to co trzeba. W przypadku języka
+ polskiego (i spolszczonego LaTeX-a) cudzysłów otwierający oznacza się
+ w tekście dwoma przecinkami ,,
. Aby polecenie
+ TeX-insert-quote
wywoływane klawiszem "
zadziałało
+ prawidłowo należy zmiennej TeX-open-quote
przypisać wartość
+ ,,
(czyli dwa przecinki).
+$
w pliku TeX-owym obejmują
+ tekst wzoru matematycznego, a w podwójne dolary $$
+ jest ujęty wzór wyeksponowany w osi strony. W celu lepszej kontroli
+ otwierania i zamykania wzorów wprowadzenie znaku dolara powoduje
+ wywołanie polecenia TeX-insert-dollar
. Polecenie to, oprócz
+ wprowadzenie do pliku znaku $
sprawdza stan
+ sparowania tych znaków. Dzięki temu dokładnie wiadomo, gdzie się
+ zaczyna i gdzie kończy środowisko matematyczne, a przy okazji nie da
+ się wzoru rozpoczętego dwoma dolarami zamknąć tylko jednym.
+TeX-insert-braces
pozwala
+ wprowadzać nawiasy klamrowe parami. Skrót klawiaturowy jest
+ intuicyjny: C-c {
.
+TeX-comment-regin
(C-c ;
).
+ Umożliwia ono wstawienie znaku komentarza na początku każdego wiersza
+ zaznaczonego fragmentu tekstu (region) czyli obszaru od punktu
+ oznaczonego przez C-
spacja do bieżącej pozycji kursora (lub
+ zaznaczonego myszą). Podobnie działa polecenie
+ TeX-comment-paragraph
(C-c %
) dla akapitu. Aby
+ usunąć znak komentarza wpisujemy C-u - C-c ;
lub C-u -
+ C-c %
.
+Matematyka
+\upsilon
czy
+ \rightarrow
. Mechanizm taki uruchamia się (i wyłącza)
+ w AUC TeX-u poleceniem LaTeX-math-mode
(C-c ~
).
+ W trybie matematycznym po wprowadzeniu znaku
+ ,,`
'' klawiatura zmienia znaczenie i zamiast zwykłych znaków
+ pojedynczym klawiszem można wprowadzać symbole matematyczne. I tak
+ (w trybie matematycznym) sekwencja klawiszy `d
spowoduje
+ wpisanie \delta
, `G
-- \Gamma
,
+ a `cN
-- {\cal N}
.
+C-u
) przed
+ symbolem matematycznym. Sekwencja klawiszy C-u `e
+ spowoduje wpisanie do bufora $\epsilon$
-- co
+ znacznie przyśpiesza wstawianie pojedynczych symboli w bloku
+ tekstu.
+LaTeX-math-list
. Nie sprawi też problemu zamiana klawisza
+ `
na jakiś poręczniejszy (jeśli ktoś musi) -- należy zmienić
+ wartość zmiennej LaTeX-math-abberv-prefix
.
+Własne definicje
+\renewcommand
) to AUC TeX ją rozpozna i się
+ jej ,,nauczy'' -- będzie ona dostępna poprzez mechanizm rozwijania początków
+ wyrazów. Możliwe jest również rozpoznawanie definicji TeX-a wprowadzanych jako
+ \def
.
+TeX-normal-mode
(C-c C-n
).
+ Jeśli więc wpiszemy w pliku nową definicję, należy wcisnąć C-c C-n
+ i nie musimy jej dokładnie pamiętać. Informacje
+ o makrodefinicjach zapisywane są w pliku
+ ./auto/nazwa.el
.
+.emacs
następujących
+ wierszy:
+
+; parsowanie przy wczytywaniu:
+(setq TeX-parse-self t)
+; parsowanie przy zapisie:
+(setq TeX-auto-save t)
+
+./auto/nazwa.el
powoduje również
+ wstawienie do tekstu dokumentu nazwy etykiety
+ \label
. Wstawiając odnośnik do tej etykiety
+ (\ref
, \pageref
) można etykietę
+ wybrać z listy etykiet pokazywanej przez mechanizm rozwijania
+ (Tab
). I to jest naprawdę cenna właściwość.
+.emacs
):
+
+(setq-default
+ TeX-auto-regexp-list
+ 'LaTeX-auto-label-regexp-list)
+
+
+Przetwarzanie z wnętrza AUC TeX-a
+C-c C-c
, czyli TeX-command-master
. Po
+ wydaniu tego polecenia AUC TeX zapyta jakie działania ma podjąć. Jeśli
+ w pliku były dokonywane jakieś zmiany, to zaproponuje jego przetworzenie
+ TeX-em. Po przetworzeniu i kolejnym wciśnięciu C-c C-c
+ będzie chciał uruchomić przeglądarkę .dvi
. Jeżeli nie wystąpią
+ żadne błędy w przetwarzaniu, to w okienku obok obejrzymy wynik
+ składu.
+mex
, platex
czy
+ pdftex
. Najłatwiej przez menu XEmacsa. W razie potrzeby
+ można skopiować odpowiedni fragment z pliku tex.el
(czy
+ wręcz tex.elc
). Prawdopodobnie warto zmienioną listę
+ TeX-command-list
wstawić do pliku tex-site.el
--
+ niech się cieszą wszyscy użytkownicy.
+TeX-command-region
przypisane do sekwencji C-c
+ C-r
. Wszystko działa tak samo jak w przypadku
+ TeX-command-master
, z jednym wyjątkiem -- AUC TeX
+ buduje z nagłówka i zaznaczonego fragmentu tekstu nowy plik, który
+ przetwarza TeX-em. Kolejne C-c C-r
umożliwia obejrzenie właściwego
+ pliku .dvi
. Trzeba się tylko pilnować, żeby nie definiować
+ żadnych makr globalnych poza nagłówkiem. W plikach LaTeX-owych końcem
+ nagłówka jest wiersz zawierający napis \begin{document}
. W plikach
+ TeX-owych jest to natomiast %**end of header
. Znacznik końca
+ nagłówka można zdefiniować jako wyrażenie regularne określając wartość zmiennej
+ TeX-header-end
.
+TeX-next-error
(|C-c `|).
+ AUC TeX opatruje błędy TeX-a dodatkowym komentarzem, co może pomóc
+ początkującym użytkownikom.
+I więcej...
+font-lock-mode
.
+LaTeX-fill-paragraph
(C-c C-q C-p
lub M-q
),
+LaTeX-fill-enviroment
(C-c C-q C-e
),
+LaTeX-fill-section
(C-c C-q C-s
) oraz
+LaTeX-fill-region
(C-c C-q C-r
lub M-g
).
+outline-minor-mode
. Pojawiające się dodatkowe pozycje menu
+ (i polecenia) pozwalają wyświetlić zamiast rozdziału, podrozdziału itd.
+ tylko fragment pierwszego wiersza z tytułem (bez zmiany tekstu). Możliwe
+ jest np. pisanie czwartego rozdziału trzy wiersze od końca nagłówka, albo
+ poruszanie się po tekście tak, jakby składał się on tylko ze śródtytułów.
+Przetwarzanie zewnętrzne
+
+~$ for i in *.tex; do latex $i; done
+
+make
+ (lub gnumake
). Wszystkie polecenia wystarczy
+ wpisać raz
+ ale do pliku
+ Makefile
w bieżącym katalogu. W najprostszym
+ przypadku plik ten będzie wyglądał tak:
+
+all: referat.ps
+
+%.dvi: %.tex
+ latex $<
+
+%.ps: %.dvi
+ dvips $<
+
+%.pdf: %.tex
+ pdflatex $<
+
+referat.tex
) i że używamy przeglądarki
+ plików PS.
+ Teraz całe TeX-owanie sprowadza się do uruchomienia
+ w terminalu programu make
. Program ten domyślnie
+ wykona pierwszą regułę z pliku Makefile
+ (all: referat.ps
-- zamiast nazwy
+ all
można wstawić dowolne słowo,
+ np. PsiaBuda
) i dowie się, że jesteśmy
+ zainteresowani plikiem .ps
. Z trzeciej reguły
+ program wywnioskuje, że pliki .ps
robi się z plików
+ .dvi
poleceniem dvips
. Nie ma
+ jednak pliku .dvi
, ale o tym jak go zrobić mówi
+ druga reguła. A plik referat.tex jest na
+ dysku.
+make pdf
-- wtedy
+ zostanie utworzony plik referat.pdf
.
+
+~$ while [ TRUE ]; do make;
+ sleep 5; done
+
+x
. Jeżeli jednak ustawimy zmienną
+ środowiska:
+
+TEXEDIT='emacsclient +%d %s'
+
+
+TEXEDIT='enu +%d %s'
+
+M-x server-start
+ (gnuserv-start
), to możemy odpowiedzieć TeX-owi
+ e
(od edit). Wtedy
+ Emacs wczyta plik z błędem i kursorem wskaże wiersz, co do którego
+ TeX ma wątpliwości. Po zakończeniu poprawek należy zapisać plik
+ (C-x C-s
) i powiedzieć klientowi, że już po
+ wszystkim (C-x #
). Dla jasności: serwer to Emacs, a
+ klient to TeX...
+\ala
omyłkowo wpisaliśmy \ola
,
+ z tym że czasem \ola
jest dobrze i ma zostać, to
+ zanosi się na dłuższe poprawianie. A można z poziomu interpretatora
+ poleceń shell napisać:
+
+~$ gnuclient `grep -l \\ola *.tex`
+
+C-s
+ i czasem C-x e
(pierwszy raz oczywiście również
+ C-x (
i C-x )
). Jeżeli jednak
+ ktoś ma tendencje do zapominania o takich szczegółach jak
+ -l
, to niech lepiej próbuje się uczyć krok po
+ kroku... Na razie. Po jakimś czasie może okazać się potrzebny
+ dodatkowy wiersz w pliku .emacs
:
+
+(gnuserv-start)
+
+dvips
-a (mam drukarkę PS), w efekcie drukując nieaktualną
+ wersję dokumentu. Dlatego mi wystarcza, gdy wewnątrz edytora można
+ wykonać tylko jedno polecenie -- make.
+Podsumowanie
+
+
(c) Polska Grupa Użytkowników Systemu TeX
+
Ostatnia modyfikacja 15.01.2000
+1. Wstęp
+
+
+thebibliography
. Jeżeli jednak
+istnieje potrzeba cytowania tych samych pozycji w różnych dokumentach to
+warto pracę zautomatyzować.bibtex
-- program służący do wspomagania tworzenia spisów
+literatury, napisany przez Orena Patashnika. Program ten korzysta z
+bibliograficznej bazy danych zawartej w plikach typu bib. Pozwala na
+automatyczny wybór cytowanych pozycji spośród wszystkich zawartych w
+bazie (lub bazach -- bibtex
może korzystać jednocześnie z kilku
+plików). Razem z programem dostarczonych jest kilka standardowych
+stylów formatowania spisów literatury oraz odwołań do nich. Style te
+-- zapisane w specjalnym języku -- można modyfikować lub tworzyć nowe
+własne.
+2. Sposób działania programu
+
+
+\cite
, podając jako argument zbiór
+kluczy identyfikujących odpowiednie pozycje np.:
+
+
+ Więcej na ten temat w pracach \cite{raport,bibtex88}
+
+
+
+W miejscu gdzie chcemy
+otrzymać spis literatury zamiast środowiska thebibliography
i
+listy pozycji umieszczamy polecenie \bibliography
listą plików
+zawierających bazę bibliograficzną jako argumentem np.:
+
+
+ \bibliography{rfc, mybib}
+
+
+
W powyższym przykładzie zalecamy utworzenie spisu literatury na
+podstawie dwóch plików: rfc.bib
oraz mybib.bib
.
Dodatkowo w ciele dokumentu (gdzieś między \begin{document}
a
+\end{document}
) musimy podać
+styl
+
+formatowania spisu bibliografii np.:
+
+ \bibliographystyle{plain} ++
Jeśli chcemy umieścić jakąś pozycję w spisie literatury, a nie
+odwołujemy się do nie w dokumentcie poleceniem \cite
, to możemy
+użyć polecenia \nocite
podając jako jego argument klucz
+identyfikujący daną pozycję. Argumentem polecenia \nocite
może
+być także *
-- co oznacza, że chcemy aby wszystkie pozycje
+znajdujące się w bazie danych zostały umieszczone w spisie literatury.
+
+ \nocite{aup} + \nocite{*} ++
W czasie przetwarzania pliku z dokumentem LaTeX zapisuje wszystkie
+odwołania do literatury do pliku .aux
. Zapisuje tam także
+nazwy baz danych, z którym ma korzystać bibtex oraz styl formatowania
+bibliografii. Program bibtex czyta zawartość pliku .aux
, po czym
+wybiera z odpowiednich plików .bib
pozycje literatury, i zapisuje
+do pliku .bbl
formatując zgonie z podanym stylem.
+Następny rozdział, +Poprzedni rozdział +
+Spis treści rozdziału, + Główny spis treści
++Początek dokumentu, + Początek rozdziału
+ + diff --git a/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/prog/bibtex/bibtex-3.html b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/prog/bibtex/bibtex-3.html new file mode 100644 index 00000000000..ba981427b4f --- /dev/null +++ b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/prog/bibtex/bibtex-3.html @@ -0,0 +1,244 @@ + + + +Plik bib zawiera listę rekordów oraz poleceń dodatkowych takich jak
+skróty
+ lub definicja
+nagłówka
+, który ma się pojawić w pliku .bbl
.
+Istnieją różne typy rekordów --
+odpowiednie dla opisania różnych typów publikacji. Każdy z rekordów
+reprezentuje jedną pozycję literatury i składa się z wielu pól. Różne
+typu rekordów mogą zawierać różne pola. Dla każdego typu rekordu
+istnieją trzy zbiory pól:
+
Format zapisu rekordów najlepiej zaprezentować na przykladzie: +
+ @book{PERL, + author = "Larry Wall and Randal L. Schwartz", + title = "Programming perl", + publisher = "O'Reilly \& Associates, Inc.", + year = "1992", + address = "Sebastopol, CA" + } ++
@
określa typ cytowanej pozycji --
+w naszym przypadku jest to książka. PERL
jest kluczem służącym do
+identyfikacji -- to właśnie jego używamy w poleceniu \cite
chcąc
+odwołać się do wybranej pozycji. Dalej następuje lista pól
+rozdzielonych przecinkami. Wartości pól zamknięte są w cudzysłowach.
+Zamiast nich można używać nawiasów klamrowych. Także nawiasy klamrowe
+obejmujące cały rekord można zastąpić nawiasami okrągłymi.
+Spacje wokół znaku =
są opcjonalne.
+Znaki nowego wiersza są traktowane jak spacje, a więcej niż jedna
+spacja tak samo jak pojedyncza. W identyfikatorach pól i typów
+rekordów nie są rozróżniane małe i duże litery.
+Można więc sformatować nasz rekord w równoważnej postaci:
++ @Book(PERL, + AUTHOR={Larry Wall and Randal L. Schwartz}, + Title={Programming perl}, + + + PUBlisHER={O'Reilly \& Associates, Inc.},yEaR={1992}, + aDDRESS={Sebastopol, CA}) ++
Ponieważ bibtex w niektórych stylach zmienia czasem duże litery na
+małe, a nie zawsze jest to dopuszczczalne (np. gdy w tytule występuje
+nazwisko), wzięcie fragmentu tekstu w nawiasy klamrowe {}
+zapobiega takiemu działaniu.
+Na przykła aby nie dostać tytułu ,,Pan tadeusz'' powinniśmy zapisać go
+jako title = "Pan {T}adeusz"
.
Tekst pola może być zastąpiony skrótem. Warto stosować skróty dla +często używanych nazw np. tytułu czasopisma, z którego artykuły +pojawiają się w bazie danych często albo nazwy znanego wydanictwa.
+Skrótem może być dowolny ciąg znaków zaczynający się od litery i nie +zawierający znaków: +
+ " # % ' ( ) , = { } ++ +
Niektóre skróty zdefiniowane są w stylu spisu literatury np.
+trzyliterowe skróty angielskich nazw miesięcy jan
, feb
itd.
Własne skróty można tworzyć posługując się poleceniem @string
+np.:
+
+ @string{acs = "Archives of Control Sciences"} + @string{WNT = "Wydawnictwa Naukowo Techniczne"} ++
+ journal = acs + publisher = WNT ++
+ journal = "Archives of Control Sciences" + publisher = "Wydawnictwa Naukowo Techniczne" ++
Nagłówek definiujemy podobnie jak skróty, nie wpisujemy tutaj jednak +nazwy, ani znaku równości -- tylko ciąg znaków w cudzysłowach. +Nagłówek może służyć do dodania pewnych definicji na początku +bibliografii. +
+ @Preamble{ "\newcommand{\swap}[2]{#2#1}" + # "\renewcommand{\em}{\bf}" } ++
\swap
i
+predefiniowujemy polecenie \em
. Warto zwrócić uwagę, na
+znak konkatenacji #
, dzięki któremu możemy definiować nagłówki
+wieloliniowe. Pelcenia @preamble
można używać wielokrotnie, ale
+bezpieczniej jest używać konkatenacji, do wpisywania nagłówków
+wieloliniowych.
+
+
+Standardowo dostępne są następujące typy rekordów:
+article
+,
+book
+,
+booklet
+,
+conference
+,
+inbook
+,
+incollection
+,
+inproceedings
+,
+manual
+,
+mastersthesis
+,
+misc
+,
+phdthesis
+,
+proceedings
+,
+techreport
+,
+unpublished
+.
Standardowe typy rekordów są następujące:
+address
+,
+annote
+,
+author
+,
+booktitle
+,
+chapter
+,
+crossref
+,
+edition
+,
+editor
+,
+howpublished
+,
+institution
+,
+journal
+,
+key
+,
+month
+,
+note
+,
+number
+,
+organization
+,
+pages
+,
+publisher
+,
+school
+,
+series
+,
+title
+,
+type
+,
+volume
+,
+year
+.
+Następny rozdział, +Poprzedni rozdział +
+Spis treści rozdziału, + Główny spis treści
++Początek dokumentu, + Początek rozdziału
+ + diff --git a/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/prog/bibtex/bibtex-4.html b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/prog/bibtex/bibtex-4.html new file mode 100644 index 00000000000..dff846830bf --- /dev/null +++ b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/prog/bibtex/bibtex-4.html @@ -0,0 +1,168 @@ + + + ++
Artykuł w czasopiśmie. +
Książka. +
Książka bez wydawcy. +
Synonim dla +inproceedings +
+Część książki -- rozdział lub strony. +
Część książki z własnym tytułem. +
Artykuł w materiałach konferencyjnych. +
Dokumentacja techniczna. +
Praca magisterska. +
Publikacja nie pasująca do żadnego innego typu. +
Praca doktorska. +
Materiały konferencyjne. +
Raport uczelni lub innej instytucji, zwykle wchodzący w skład +numerowanej serii. +
Dokument formalnie nie opublikowany. +
Oprócz pól wymienionych na powyższej liście, każdy z rekordów może
+zawierać opcjonalne pole key, wykorzystywane przy sortowaniu,
+tworzeniu odwołań i etykiet dla \bibitem
. Pole takie powinno
+się pojawić dla rekordów, w których brakuje pola author lub
+editor. Nie należy mylić pole key z etykietą używaną w
+poleceniu \cite
.
+Następny rozdział, +Poprzedni rozdział +
+Spis treści rozdziału, + Główny spis treści
++Początek dokumentu, + Początek rozdziału
+ + diff --git a/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/prog/bibtex/bibtex-5.html b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/prog/bibtex/bibtex-5.html new file mode 100644 index 00000000000..f122be06203 --- /dev/null +++ b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/prog/bibtex/bibtex-5.html @@ -0,0 +1,138 @@ + + + ++
Adres wydawcy (zwykle miasto).
+Komentarz -- pole nie wykorzystywana przez standardowe +style. Można jednak napisać styl używający tego pola.
+Imiona i nazwiska autora lub autorów. +Wpisywanie nazwisk. +
+Tytuł książki, której fragment jest cytowany.
+Numer rozdziału.
+Klucz pozycji bibliograficznej do której się odwołuje pozycja bieżąca.
+Wydanie książki.
+Imiona i nazwiska redaktorów. Jeżeli pole to występuje razem z +polem author to oznacza redaktora większej całości, zktórej +pochodzi cytowana praca. +Wpisywanie nazwisk. +
+Sposób wydania nietypowej pozycji.
+Instytucja, która opublikowała pracę.
+Nazwa czasopisma. Dla często cytowanych czasopism warto używać +skrótów. +
+Używany do sortowania jeżeli brakuje pola author lub +editor, a także jako etykieta przy odwoływaniu się z jednej +pozycji do innej przy pomocy crossref.
+Miesiąc wydania lub napisania pracy. Można używać zdefiniowanych w +standardowych stylach skrótów nazw angielskich.
+Dodatkowa informacja dla czytelnika. Pole powinno zaczynać się z +dużej litery.
+Numer czasopisma lub raportu.
+Organizacja wspomagająca konferencję, lub wydająca manual.
+Zakresy lub numery stron. Można wprowadzać więcej niż jeden zakres
+jednocześnie np. 7,10,20--34
.
Nazwa wydawcy.
+Nazwa uczelni, w której obroniona została praca.
+Nazwa serii wydawniczej.
+Tytuł pozycji.
+Rodzaj raportu np. Tajne.
+Tom czasopisma lub wielotomowej książki.
+Rok wydania lub napisania pracy. Powinien składać się z samych +cyfr.
++Następny rozdział, +Poprzedni rozdział +
+Spis treści rozdziału, + Główny spis treści
++Początek dokumentu, + Początek rozdziału
+ + diff --git a/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/prog/bibtex/bibtex-6.html b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/prog/bibtex/bibtex-6.html new file mode 100644 index 00000000000..a8be9092ab6 --- /dev/null +++ b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/prog/bibtex/bibtex-6.html @@ -0,0 +1,50 @@ + + + +Przy formatowaniu nazwisk należy się stosować do pewnej konwencji, aby +uniknąć niepodzianek.
+Przede wszystkim, jeżeli praca ma wielu autorów to należy ich +rozdzielać słówkiem and, a nie przecinkami. Przecinki służą tutaj +do oddzielenia nazwiska od imion np. +
+ author = "Boruta, Jan Maria and Piotr Tomasz Dłucki", ++
W nazwisku mogą występować dodatkowe słówka typu von tak jak np. +
+ author = "Ludwig von Beethoven" + author = "von Bethoven, Ludwig" ++
+Następny rozdział, +Poprzedni rozdział +
+Spis treści rozdziału, + Główny spis treści
++Początek dokumentu, + Początek rozdziału
+ + diff --git a/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/prog/bibtex/bibtex-7.html b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/prog/bibtex/bibtex-7.html new file mode 100644 index 00000000000..af3bc0d9543 --- /dev/null +++ b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/prog/bibtex/bibtex-7.html @@ -0,0 +1,40 @@ + + + +
+Style formatowania spisów literatury pisane są w specjalnym
+nienazwanym języku i przezchowywane w plikach .bst
.
+Standardowo dostępne są cztery style:
+
Istnieje także całe mnóstwo dodatkowych stylów formatowania dostępnych
+np. z sieci archiwów CTAN (katalog biblio/bibtex
).
+Następny rozdział, +Poprzedni rozdział +
+Spis treści rozdziału, + Główny spis treści
++Początek dokumentu, + Początek rozdziału
+ + diff --git a/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/prog/bibtex/bibtex-8.html b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/prog/bibtex/bibtex-8.html new file mode 100644 index 00000000000..758515fb799 --- /dev/null +++ b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/prog/bibtex/bibtex-8.html @@ -0,0 +1,95 @@ + + + +Do porządkowania listy odwołań służy pakiet \cite.sty. Styl +ten sortuje odwołania i tworzy zakresy odwołań np. +[14, 1, 15, 10, 16, 2, 3, 11] przerobi na [1-3, 10, 11, +14-16].
+ +W większych dokumentach z wieloma niezależnymi częściami (np. w
+materiałach konferencyjnych, lub książkach skaładających się z części
+napisanych przez różnych autorów) istnieje potrzeba umieszczenia
+oddzielnych spisów literatury dla każdej z części. Istnieją pakiety
+LaTeXowe, które pomagają poradzić sobie w takiej sytuacji. Jednym z
+nich jest chapterbib
, a drugim bibunits
(ten pakiet nie może
+być używany bez poprawek pod DOSem, gdyż tworzy pliki zawierające dwie
+kropki w nazwie).
+
Przy użyciu tego pakietu można tworzyć oddzielne spisy literatury dla
+części dokumentu włączanych poleceniem \include
. W każdym z
+włączanych plików powinny pojawić się polecenia
+\bibliography
i \bibliographystyle
. Po
+przetworzeniu dokumentu LaTeXem należy uruchomić program Bibtex
+oddzielnie dla każdego z włączanych plików, co spowoduje powstanie
+oddzielnych plików .bbl
, które zostaną włączone w odpowiedznich
+miejscach.
Pakiet bibunits
potrafi stworzyć oddzielne spisy literatury dla
+różnych części dokumentu, którymi mogą być rozdziały
+\chapter
, podrozdziały \section
lub fragmenty
+tekstu zamknięte w środowisku bibunit
. Pakiet rozdziela odwołania
+do literatury z poszczególnych części, do oddzielnych plików, które
+muszą być przetworzone Bibtexem.
Istnieje także wiele programów dodatkowych (mniej lub bardziej +przydatnych) służących do zarządzania bibliograficznymi bazami danych. +Poniżej opisanych jest kilka ciekawszych narzędzi.
++
Skrypt perlowy, który z pliku .aux
tworzy przenośny plik
+.bib
. Porzyteczny kiedy istnieje potrzeba przesłania gdzieś
+pliku LaTeXowego wraz z bibliografią. Skrypt ten wybiera ze
+wszystkich odpowiednich baz pozycje cytowane w tekście i umieszcza
+je w nowym pliku .bib
rozwijając przy okazji wszystkie
+odniesienia i skróty.
Skrypt w csh
, który tworzy z pliku .bib
listę pozycji w
+pliku .dvi
. Lista jest posortowana alfabetycznie względem
+kluczy i zawiera także zawartość pola abstract
.
Pożyteczny program, do sprawdzania poprawności i formatowania baz +bibliograficzych.
+Program napisany pod X-Window, służący do oglądania i edycji baz +bibliograficznych. Niestety plik z polskimi literami uznawany nie +jest przez niego za plik bibtexowy.
++Poprzedni rozdział +
+Spis treści rozdziału, + Główny spis treści
++Początek dokumentu, + Początek rozdziału
+ + diff --git a/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/prog/bibtex/bibtex.html b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/prog/bibtex/bibtex.html new file mode 100644 index 00000000000..f26cc22d10f --- /dev/null +++ b/Master/texmf-dist/doc/generic/tex-virtual-academy-pl/prog/bibtex/bibtex.html @@ -0,0 +1,60 @@ + + + ++
+
+
+
+
+
+
+
+
+ +autor: Maciej Głowacki
+
+DVIDVI
jest programem sygnowanym przez Radical Eye Software (co w praktyce
+oznacza autorstwo Tomasa Rokickiego). Program ten, operując na pliku typu DVI
+wybiera strony, zmienia ich wzajemne położenie i pozycjonuje na arkuszu druku.
+
+
+d:p1[(x1,y1)][,p2[(x2,y2)]]...[,pn[(xn,yn)]] fi fo ++gdzie: +
d
+
+ p
+ d
-1); gdy liczba ta jest poprzedzona znakiem '-',
+w przetwarzaniu brane będą pod uwagę porcje w odwrotnej kolejności, czyli
+począwszy od ostatniej (nie znaczy to że liczba jest ujemna!); w szczególności
+więc możliwy jest zapis '-0' znaczący co innego niż '0'; można określić
+pozycje tylko niektórych stron, można też powtarzać specyfikacje tych samych
+stron (wtedy w pliku wyjściowym te strony pojawią się wielokrotnie);
+x
i y
+ x
i y
są
+równocześnie zerowe, można je wraz z nawiasami pominąć;
+fi
+ .dvi
) można pominąć;
+fo
+ d
+stronach (ewentualnie ostatnia porcja jest uzupełniana pustymi stronami).
+Następnie zaczyna budować arkusze, tworząc plik wyjściowy.
+p(x,y)
; kolejność grup w wywołaniu nie ma znaczenia. Arkuszy
+powstanie tyle, ile zostało utworzonych porcji.
+p
z wywołania -- strony z pierwszej porcji
+(gdy przed p
jest
+'-', to z ostatniej) i umieszczone w pierwszym arkuszu, w miejscu określonym
+przez odpowiadające im (x,y)
.
+p
jest '-') porcji. I te deum.
+DVIDVI
.
+DVIDVI
.
+dvidvi
30:6 we wy (różne od dvidvi
5 we wy)we
do pliku wy
zostanie przeniesiona 7 strona, pod
+warunkiem, że ilość stron w pliku we
nie jest większa niż suma obu
+użytych w wywołaniu liczb.
+
+dvidvi 2:0 we wy1
dvidvi 2:-1 we wy2
DVIDVI
):
+
+
+w pliku wy1
znajdą się strony nieparzyste, a w wy2
parzyste, ale
+w odwrotnej kolejności. W przypadku korzystania z drukarki laserowej wystarczy
+wypuścić arkusze zadrukowane jednostronnie zawartością pliku wy1
do
+odbiornika drukiem w górę (na ogół służy do tego tacka z przodu drukarki),
+i nie odwracając (tak, by ostatnio wydrukowany arkusz stał się pierwszym
+drukowanym z drugiej strony) podstawić pod druk zawartości pliku wy2
(także
+drukiem w górę).
+
+
dvidvi 4:-3,0(5.5in,0in) we wy1
dvidvi 4:1,-2(5.5in,0in) we wy2
+
+Przy założeniu, że na wejściu było od 37 do 40 stron, zostaną one +poprzemieszczane i połączone jak niżej (strzałki kropkowane łączą przeciwne +strony kartki przyszłej książeczki): + +
we
znajdą się strony w formacie A5, to w pliku wy1
+zostaną umieszczone ,,prawe'' strony arkuszy formatu A4, a w wy2
--- w tej
+samej kolejności arkuszy --- ,,lewe''. Tym razem należy w pierwszym przebiegu
+wypuścić arkusze do odbiornika drukiem w dół, po czym cały pakiet odwrócić
+,,na grzbiet'' wzdłuż osi równoległej do krótszego boku kartek i tak podstawić
+do druku z drugiej strony. Dodatkowo po zakończeniu drukowania trzeba arkusze
+odpowiednio potasować.
+
+dvidvi 8:-7,0(4.12in,0in),-5(0in,5.8in),2(4.12in,5.8in) we wy1
dvidvi 8:1,-6(4.12in,0in),3(0in,5.8in),-4(4.12in,5.8in) we wy2
++
DVIDVI
od '0'. Natomiast gdy dla
+ TeX-a nie ma jednostki domyślnej, to w DVIDVI
są aż dwie: jedna to cal,
+a druga --- mocniejsza --- taka, jakiej użyto wcześniej.
+
++
+autor: +Bogusław Jackowski, +Marek Ryćko +
+ +
+
+
+
+
+
+Automatyczne dzielenie wyrazów należy do podstawowych zadań +wykonywanych przez programy komputerowe służące do składania tekstów. + +
+Jednym z najciekawszych algorytmów dzielenia wyrazów, a przy tym +dokładnie opisanych i udokumentowanych, posługuje się system TeX. +Jego ,,ciekawość'' polega na tym, że jest to +algorytm uniwersalny, tzn. dający się przystosować do dzielenia wyrazów +w różnych językach, a jednocześnie zdumiewająco prosty i efektywny +w implementacji. Warto się temu algorytmowi przyjrzeć. + +
+,,(...) Dzielenie wyrazów przy przenoszeniu wyrazów z jednego wiersza do +następnego opiera się w ortografii polskiej na dwóch kryteriach: fonetycznym +i morfologicznym. Kryterium fonetyczne nakazuje przenoszenie części wyrazu +z jednego wiersza do drugiego zgodnie z podzielnością na sylaby, +np. "bu rza", "nie wy trzy ma nie", "li tość", +"po na pi sy wa li by", "za nie po ko jo ny", "wy so ko", "le piej", +"te go", "prze ciw". Kryterium morfologiczne nakazuje przenoszenie +części wyrazu z jednego wiersza do drugiego zgodnie z podzielnością na +przedrostek i rdzeń, a w wyrazach złożonych --- w miejscu złożenia, +np. "przed murze", "pod punkt", "wy brzeże", "roz łąka", +"od dźwięk", "przy kład", "za płata", "na trafić", "wy ścigi", +"o brona", "bez wstyd", "u kładowy", "po dróż", "pod oficer", +"pod oddział", "na przód", "pod o pieczny", "po dmuch", "noc leg", +"konio krad". (...)'' + +
+ +przy czym + +
+,,(...) kryterium morfologiczne jest nadrzędne w stosunku do kryterium +fonetycznego (...)'' + + +
+Zasady ogólne wyglądają prosto i przejrzyście. Omówienie zasad szczegółowych +zajmuje Szymczakowi pięć stron i o ile człowiekowi mogłoby to wystarczyć, +to jednak zalecenia takie jak: + +
+ +,,(...) Jeżeli przejrzystość podziału na przedrostek i rdzeń jest w +dzisiejszej świadomości językowej zatarta (podkr. aut.), grupy +spółgłoskowe znajdujące się na granicy cząstek dzielimy dowolnie, +np. "o błok" a. "ob łok", "o tręby" a. "ot ręby", (...)'' + +
+bardzo trudno zalgorytmizować. + +
+Spróbujmy się zastanowić, czy nie ma takich zasad, od których nie +byłoby wyjątków. + +
+Dobrym kandydatem wydawać by się mogła reguła niedzielenia głosek "cz", +"dz", "rz" oraz "sz". Niestety, są wyjątki od tej reguły: +"tysiąc złotowy", "pod zwrotnikowy", "mar znąć" i "em es zet". +Podobnie miękkie "ni" może ulec rozbiciu, na przykład w słowie +"in iekcja". + +
+To może chociaż da się ustalić, że sylaba nie może składać się z samych +spółgłosek? Jest to w zasadzie dobra reguła, ale ma (co najmniej) jeden +wyjątek: szkocki przedrostek "Mc" wolno oddzielić. Na przykład nazwisko +"McMillan" wolno podzielić "Mc-Millan". Oczywiście implikuje to kłopoty +z rzymskim zapisem liczb --- rok "MCMXCII" komputer mógłby uznać za +szkockie nazwisko. + +
+W takim razie może istnieją nie zakazy, a nakazy dzielenia, od których nie ma +wyjątków? Np. nakaz rozdzielania par identycznych spółgłosek ("świec cy", +"Jagieł ło", "łam my", "pan na", "ar ras", "las so", "get to" itp.). +Odpowiedź, jak łatwo było przewidzieć, brzmi: ,,nie''. Np. kryterium +morfologiczne nakazuje podział "ode ssie", a nie "odes sie", chyba że chodzi +o "Odessę". A jeśli się zgodzić, że przedrostek rodzimy musi być oddzielony, +to będzie kłopot ze słowem "zeppelin", bo jak komputer miałby się domyślić, +że w tym przypadku nie chodzi o przedrostek "ze"? Mógłby wprawdzie +wiedzieć, że żadne słowo w języku polskim nie zaczyna się od "pp" (chociaż +jest słowo zaczynające się od trzech spółgłosek, z czego dwie pierwsze to +"ww" --- proszę zgadnąć jakie to słowo). Ale jeśli jakiś autor chciałby +oddać mowę jąkającego się bohatera pisząc np. "zeppsuuty", to co wtedy? + +
+Niejednoznaczności typu ,,"odessie"'' stanowią dla komputera trudność +praktycznie nie do pokonania. Choć jest ich niewiele, to jednak zdarzają się +i utrudniają życie, np.: "podróżować" --- być w podróży lub pokryć różem +lica; "odziewać" --- ubierać lub odpowiedzieć w taki sam sposób komuś, kto +ziewnął; "podrobić" --- np. karmę ptactwu lub podpis; +"Tarzanie" --- słowo to może oznaczać wzywanie znanego bohatera komiksów +lub czynność tarzania się; "narwali" --- to słowo z kolei można rozumieć +jako czas przeszły dokonany albo dopełniacz liczby mnogiej. + +
+W sytuacjach tego typu jedynie kontekst semantyczny decyduje o podziale +słowa. Rozsądnie jest nie żądać zbyt wiele od programów składających teksty +i zostawić człowiekowi możliwość ingerencji w bardziej skomplikowanych +przypadkach. + +
+Sporo trudności nastręcza dzielenie +nazwisk i nazw własnych. O nazwiskach +szkockich już była mowa. Ale i polskie nazwy potrafią sprawić kłopot. Na +przykład czy w nazwisku "Utnik" głoskę "u" należy traktować jako +przedrostek, tak jak w słowie "u tnie"? Szczególnie trudne do podziału są +słowa będące zbitką dwóch lub więcej słów. Zalecany jest oczywiście podział +w miejscu złożenia: "noc leg", "trzech set letni" itp. Zdarzają się jednak +czasem bardzo osobliwe nazwy własne, np. "Wierzch las". Chociaż taki właśnie +podział wydaje się uzasadniony, to przecież trudno dać głowę, że nazwy tej +nie da się wywieść od "wierzenia" i "chlastania". Podobnie gdyby jakaś +miejscowość nazywała się "Szynkwas", to nazwa mogłaby się wywodzić +ostatecznie --- choć jest to mało prawdopodobne --- od "szyn" i "kwasu". + +
+"Zeppelin" i "szynkwas" to przykłady słów obcych bądź obcego +pochodzenia, które zadomowiły się w naszym języku. Słowa tej kategorii, takie +jak np. "er zac", "jazz man" czy "soft ware", to źródło nowych +utrapień dla kogoś, kto chciałby sformalizować reguły dzielenia wyrazów +w języku polskim. + + +
+W tej sytuacji nie dziwią wyniki testów porównawczych W. Puzy +(W. Puza, praca magisterska pt. ,,Analiza porównawcza wybranych programów +Desktop Publishing (DTP)'', Instytut Poligrafii Politechniki Warszawskiej), +który stwierdził, co następuje: + +
+,,(...) Test sprawdzający poprawność dzielenia polskich słów +wyodrębnił 3 różne poziomy skuteczności testowanych programów: + +
+Można oczywiście polemizować z wytycznymi językoznawców. Zalecany przez +Szymczaka podział "za jrzeć" lub "po jmać" wydaje się dziś anachroniczny. +Pójście dalej tym tropem, przy równoczesnym zasłanianiu się ,,wymaganiami +komputerów'', powoduje, że zbyt kuszące staje się maksymalne upraszczanie +reguł, oczywiście z uszczerbkiem dla języka polskiego. + +
+Autor TeX-a obrał zupełnie inną drogę: szukał takiego algorytmu, który +byłby w zasadzie niezależny od reguł dzielenia wyrazów; reguły dzielenia +miałyby być określone za pomocą danych do tego algorytmu. Algorytm +spełniający te wymagania skonstruował F. M. Liang (rozprawa doktorska +pt. ,,Word Hy-phen-a-tion by Com-put-er'', Uniwersytet Stanforda, USA, +1983). Udało mu się nawet coś więcej: dane są stosunkowo łatwe do +utworzenia, nie jest do tego bynajmniej potrzebna wiedza informatyczna. + +
2s0z1z0
, 2s0z0l0n0
, 2t1ć0
itp. Zamiast cyfry skrajnej może
+wystąpić kropka, np.: .w0e3s2
, .w0w8
, 8r0s0z.
, 8r0z0ł.
itp. Ciągi te
+nazywać będziemy wzorcami.
+
+
+Przypuśćmy teraz, że mamy dane jakieś słowo, np. odkaszlnąć
. Najpierw
+zamieniamy je na postać taką, jaką mają wzorce, wstawiając pomiędzy literami
+cyfrę 0
, a na brzegach kropki, otrzymując .o0d0k0a0s0z0l0n0ą0ć.
+(kropka --- jak stąd widać --- oznacza skraj słowa). Następnie wyszukujemy
+w naszym zbiorze danych wszystkie wzorce, które na to słowo dają się nałożyć
+w taki sposób, że zgadzają się położenia liter i kropek, ale niekoniecznie
+cyfr; w szczególności cyfra może się nakładać na kropkę, ale nie na literę.
+Powiedzmy, że znaleźliśmy następujące wzorce: .o2d2
,
+.o0d3k2
, 0ą1
,
+2d1k0
, 2l1n0
, 2s0z1l0
,
+2s0z0l0n0
, 8ć.
, 0a1
,
+0o1
, 0s4z0
. Jeśli
+je nałożymy na słowo .o0d0k0a0s0z0l0n0ą0ć.
i spośród cyfr
+nakładających się
+na siebie weźmiemy największe, to otrzymamy .o2d3k2a2s4z2l1n0ą8ć.
--- i to
+już wszystko. Zgodnie z algorytmem Lianga słowo wolno podzielić jedynie
+w takim miejscu, w którym pojawia się cyfra nieparzysta. Oznacza to, że
+algorytm dopuszcza w tym wypadku dwa punkty podziału: "od-kaszl-nąć".
+
+
+Wzorce przechowywane są w pamięci komputera jako struktura drzewiasta +(dokładniej "trie"; p. D. E. Knuth, ,,The Art of +Computer Programming'', tom 3, ,,Sorting and Searching''). Pozwala to na +znaczne upakowanie danych przy zachowaniu szybkiego dostępu do informacji, +a równocześnie struktura danych i algorytm są stosunkowo łatwo +implementowalne. + +
+Warto podkreślić, że dzięki efektywności zastosowanej metody TeX może +przechowywać w pamięci kilka różnych zestawów wzorców i dzielić wyrazy +w kilku językach w obrębie jednego dokumentu (a nawet akapitu). + + +
+Problem jedynie w tym skąd wziąć wzorce? + +
+ m := maksymalna długość wzorca + for c := 1 to 9 do + begin + ustal kryteria akceptowalności dla wzorców + for l:=1 to m do + begin + dla każdego słowa w słowniku sprawdź, czy nie + dostarcza ono informacji o możliwości wstawienia + cyfry c we wzorcach długości l przy + zadanych kryteriach akceptowalności + end + end ++ +Innymi słowy program uzupełnia zestaw wzorców kolejno dla coraz +większych cyfr i coraz dłuższych wzorców, zostawiając użytkownikowi na każdym +etapie możliwość ingerencji. Kryteria akceptowalności określa się przez +podanie trzech liczb: wagi dla podziałów poprawnych wp, +wagi dla podziałów niepoprawnych wn i poziomu +akceptowalności p. Wzorzec jest akceptowany, +gdy {kpwp-knwn>= p}, +gdzie kp i kn oznaczają odpowiednio +liczbę poprawnych i niepoprawnych podziałów generowanych przez dany wzorzec. + +
+W niektórych przypadkach może się zdarzyć, że program nie znajdzie zestawu +wzorców dzielącego poprawnie wszystkie słowa. Powodem mogą być błędne dane +(np. w słowniku może się znaleźć dwa razy to samo słowo, ale inaczej +podzielone) bądź niewłaściwy dobór liczb wp, +wn oraz p w kolejnych +iteracjach. Różne strategie dobierania wartości tych współczynników wpływają +na objętość wynikowego zestawu wzorców. Minimalizacja liczby wzorców +w wygenerowanym automatycznie zestawie wymaga pewnej wprawy +i --- oczywiście --- przestudiowania pracy doktorskiej Lianga, gdzie +zagadnienie to jest szczegółowo omówione. + +
+Jak widać ,,nauczenie'' TeX-a zasad dzielenia wyrazów w danym języku jest +właściwie kwestią odpowiednio zasobnego słownika podzielonych poprawnie +wyrazów. Dostarczenie takiego słownika to zadanie dla językoznawców. +Natomiast dalszy etap jest ideowo prosty, nie wymaga znajomości technik +programowania, ani żadnych innych specjalnych umiejętności. Potrzebna jest +jedynie cierpliwość. + +
+W 1984 J. Désarménienowi udało się zamknąć reguły dzielenia +wyrazów dla +języka francuskiego w zestawie liczącym 804 wzorce i dla języka włoskiego +w zestawie liczącym zaledwie 88 wzorców, podczas gdy standardowy zestaw +wzorców dla amerykańskiego TeX-a zawiera ich 4447 +(J. Désarménien, +,,The use of TeX in French: hyphenation and +typography'', w: D. Lucarella (ed.), ,,TeX for Scientific Documentation, +Proc. of the First European Conference, Addison-Wesley, 1984). Sukces +podejścia Désarméniena zainspirował H. Kołodziejską, która +w roku 1987 opublikowała listę 2168 wzorców dla języka polskiego +(H. Kołodziejska, ,,Dzielenie wyrazów w systemie TeX'', Sprawozdania +Instytutu Informatyki Uniwersytetu Warszawskiego, nr 165, 1987). + +Wynik Kołodziejskiej zdawał się potwierdzać wstępne założenia. Niestety. Po +kilku latach intensywnego testowania (maczali w tym palce m.in. autorzy +niniejszej pracy) wzorców znacznie przybyło. Po gruntownej przeróbce +liczebność zestawu wzorców wzrosła do 4053 i wolno przypuszczać, że to +jeszcze nie koniec. + +
+W tych warunkach zasadne staje się pytanie, czy nie należałoby zrewidować +założenia o regularności zasad podziału słów w języku polskim. Jest +prawdopodobne, że program Lianga mógłby wygenerować mniej liczny zestaw +wzorców. + +
+Tym niemniej, jak wynikało z porównań poczynionych przez Puzę (p. wyżej), +zestaw wzorców dla języka polskiego w swojej obecnej postaci daje wyniki +zadowalające. Zważywszy, że Puza w istocie dysponował jedną z wersji +pośrednich zestawu i że zestaw aktualny jest znacznie udoskonalony w stosunku +do tamtej wersji, można oczekiwać jeszcze lepszych rezultatów. + +
+Najaktualniejsza wersja tego zestawu wchodzi w skład pakietu MeX (polskiej +adaptacji TeX-a). Pakiet ten jest dystrubuowany w postaci źródłowej jako +produkt "public domain" przez +GUST. + +
+W przypadku TeX-a nierozsądne byłoby manipulowanie za każdym razem przy +zestawie wzorców. Użytkownik TeX-a może podzielić słowo według własnego +uznania na dwa sposoby. + +
+Pierwszy sposób to umieszczenie go na liście wyjątków, nadrzędnej w stosunku +do wzorców. Jest to, niestety, metoda wygodna jedynie w językach +niefleksyjnych. W języku polskim umieszczenie jakiegoś słowa na liście +wyjątków wiąże się (w przypadku TeX-a) z podaniem od razu wszystkich jego +odmian, co jest raczej nieporęczne. Na szczęście problem taki nie pojawia się +zbyt często. Głównym powodem tego typu zabiegów bywają słowa złożone lub +obcego pochodzenia (bądź i jedno, i drugie). + +
+Drugi sposób polega na wskazaniu w tekście dodatkowych miejsc podziału +(ang. discretionary hyphens). Większość systemów DTP +oferuje taką możliwość użytkownikom. W przypadku TeX-a należy ostrożnie +posługiwać się tą metodą, bo można przeszkodzić TeX-owi w automatycznym +wstawianiu drobnych odstępów między znakami (inaczej podcięć, ang. implicit +kerns). + +
+TeX oferuje użytkownikowi jeszcze parę innych możliwości, pozwalających +na panowanie nad algorytmem podziału wyrazów. + +
+Zabronienie podziału wyrazu jest w TeX-u sprawą trywialną, wystarczy wyraz
+,,zamknąć'' w tzw. pudełko (TeX-owa komenda \hbox
).
+
+
+Użytkownik może też określić minimalną długość oddzielonego początku +i końca słowa. Domyślnie TeX nie podzieli słowa krótszego niż +pięcioliterowe: początek nie może być krótszy niż dwie litery, koniec --- nie +krótszy niż trzy litery. Przy składaniu w wąskiej szpalcie może się pojawić +konieczność złagodzenia tych rygorów, zwłaszcza że w języku polskim za +dopuszczalne uznaje się oddzielanie pojedynczej samogłoski na początku słowa +i dwuliterowej sylaby na końcu. Z drugiej strony w składzie wysokiej jakości +powinno się unikać dzielenia wyrazów w ogóle, a tym bardziej na zbyt krótkie +fragmenty. Możliwość sterowania wielkością dzielonego słowa jest więc bardzo +przydatna w praktyce. + +
+Zasady dobrego składu wymagają, aby wyrazy dzielone nie pojawiały się +w sąsiednich wierszach i by ostatni wiersz na prawej stronie nie zawierał +słowa dzielonego. Składy nie spełniające tych wymogów uważa się (i słusznie) +za brzydkie. TeX dostarcza parametrów pozwalających skutecznie utrudniać +brzydkie składanie. W szczególności można wręcz zabronić umieszczania słowa +dzielonego w ostatnim wierszu na stronie. Może to sprawić pewne kłopoty +algorytmowi łamiącemu wiersze na strony, ale to już zupełnie inna historia. + +
+Zostaje jeszcze problem słów zawierających łącznik, np. "biało-czerwony". +W języku angielskim słowa takie jak "machine-oriented" przenosi się + + +
+ "machine-" + "oriented" ++ +podczas gdy w języku polskim stanowczo zaleca się dostawienie +dodatkowo łącznika na początku następnego wiersza: + + +
+"biało-" +"-czerwony" ++ +TeX pozwala dołączyć do zestawu komend standardowych komendy definiowane +przez użytkownika. W MeX-u została zdefiniowana komenda
\=
,
+którą należy podczas przygotowywania tekstu umieścić w miejscu łącznika.
+Kontynuując przykład, "biało-czerwony" należałoby podać TeX-owi jako
+biało\=czerwony
. Użytkownik musi pamiętać o konsekwentnym
+przestrzeganiu tej zasady, a o resztę zadba już TeX. Pozostawienie zwykłego
+łącznika oznacza słowo niepodzielne. Jest to przydatne w przypadku takich
+słów jak np. "K-202", których oczywiście dzielić nie należy.
+
++Praktyka pokazuje, że bardzo efektywny algorytm automatycznego podziału słów, +w połączeniu z niekoniecznie bardzo wygodnymi możliwościami ingerowania +ręcznego, stwarza użytkownikowi możliwość panowania w pełni nad procesem +dzielenia słów przez system komputerowego składu tekstów. + +
+Wydaje się nam, że rozwiązania zastosowane przez Knutha są na tyle +uniwersalne (a do tego sprawdzone w praktyce), że warto je szerzej +rozpropagować. Mogą się okazać szczególnie przydatne w Polsce, gdzie rynek +software'owy dopiero powstaje i dobre nomen omen wzorce są rzeczą nie +do pogardzenia. + + +
+ +Jedną z wielu zalet systemu TeX jest możliwość wspomagania jego +pracy innymi programami. Na przestrzeni kilku lat powstało ich bardzo +wiele. W tym dziale będę prezentował artykuły omawiające różne +,,postprocesory'' -- przetwarzające wynik pracy TeX'a lub +innych ,,postprocesorów'' oraz inne przydatne programy. + +
Dvidvi
+- M. Głowacki operacje na zbiorze .dvi (10.10.1995)BiBTeX
-- baza bibliograficznaplmindex
-- skorowidzedvips
-- konwerter DVI do PostScript
+(po angielsku)+
+autor: Tomasz Przechlewski +
+ +Prezentowany zestaw makr, z racji swojej prostoty, może być bardzo +łatwo modyfikowany przez użytkownika w zależności od potrzeb. Jest to +podstawowa zaleta stosowania prostej TeX-niki a nie gotowych +formatów. Te ostatnie są skomplikowane, a ich przystosowanie do własnych +potrzeb jest z reguły bardzo trudne. + +
+ +Wstawianie do dokumentu TeX-owego numerów rozdziałów, punktów, tabel +czy równań oraz używanie tych numerów jako odsyłaczy jest złą +praktyką. Należy przyjąć zasadę, że na etapie tworzenia pliku +źródłowego ostateczne numery tych elementów i odsyłacze do +nich są nam nie znane. Elementy dokumentu winny być +numerowane automatycznie przez TeX-a podczas jego kompilowania +i w taki sam sposób (tzn. automatycznie) wstawiane odsyłacze. Tylko +postępując w ten sposób oszczędzimy sobie wiele czasu podczas pracy +nad kolejnymi wersjami dokumentu.
+
+Ideę automatycznego wstawiania odsyłaczy przedstawimy na prostym
+przykładzie systemu służącego do numerowania równań matematycznych.
+Niech plik fermat.tex
zawiera następujący kod:
+
+
+Równanie~(\ref{eq:fermat}) na
+s.~\pref{eq:fermat} przedstawia słynne
+twierdzenie Fermata:
+$$\eqalignno{%
+x^n + y^n &= z^n&\elab{eq:fermat}}$$
+Historia dowodzenia (\ref{eq:fermat})
+ilustruje znaczenie dostatecznie
+szerokich marginesów...
+
+
+
+po kompilacji powinniśmy otrzymać następujący wynik:
+
+
++Równanie (1) na s. 1 przedstawia słynne twierdzenie Fermata: ++ +Zauważmy, że odnośniki mogą wskazywać ,,w tył'' (do tekstu już +przeczytanego) jak i ,,w przód'' (do tekstu nie przeczytanego) +konieczne jest zatem dwukrotne kompilowanie dokumentu do ich +prawidłowego wyznaczenia (pierwsza kompilacja) i wstawienia. + +Użytkownik posługuje się w tym celu +trzema następującymi instrukcjami:- +
+Historia dowodzenia (1) ilustruje znaczenie +dostatecznie szerokich marginesów... +
\elab{etykieta}
+\pref{etykieta}
+\ref{etykieta}
+\elab
zwiększa wartość
+licznika równań o 1, wstawia do dokumentu bieżącą wartość tego licznika
+oraz przesyła do pliku dodatkowego trzy informacje: bieżący numer strony,
+numer równania, etykietę.
+Podczas drugiej kompilacji TeX sprawdza czy ten
+plik dodatkowy istnieje i jeżeli tak to zostaje on wczytany.
+Zawarte tam informacje są wykorzystywane przez instrukcje
+\ref
i \pref
do prawidłowego wstawienia odsyłaczy.+ +Przejdźmy teraz do szczegółów.
+
+Zamiast definować od razu komendę \elab
zdefiniujemy najpierw
+makro \defreference
, mające dwa parametry,
+z których pierwszy będzie etykietą dla odsyłacza,
+a drugi zawierać będzie sam odsyłacz
+oraz numer strony, na której
+znajduje się odesłanie.
+Na przykład jeżeli TeX na 44 stronie
+dokumentu napotkał definicję
+\defreference{eq:fermat}{\the\eqnC}
1
+to jej wykonanie powinno spowodować wysłanie do pliku fermat.crf
+następującej linii (zakładamy, że w chwili wykonywania
+\defreference
licznik \eqnC
był równy 8):
+
+\crlab{eq:fermat}{{8}{44}} ++Co ma oznaczać, że odsyłaczem dla etykiety
eq:fermat
jest 8, a odesłanie
+wskazuje na stronę 44. Niżej przedstawiona definicja wykonuje zadanie
+zapisania odpowiedniej linii do pliku fermat.crf
.
++1. \def\defreference#1#2{% +2. \edef\@tmp{\string\crlab +3. {#1}{{#2}{\noexpand\folio}}}% +4. \write\crfile\expandafter{\@tmp}} ++Makro to musi sobie poradzić z podstawowym problemem: zapisania +jednocześnie prawidłowego numeru odnośnika i prawidłowego numeru +strony na którą ten odnośnik wskazuje. Numer strony nie jest +znany w momencie napotkania instrukcji
\defreference
. Jest
+on ustalany w momencie wykonywania procedury wyjścia
+(output routine).
+Z drugiej strony odnośnik jest znany i winien być zapisany natychmiast.
+Jeżeli jego rozwinięcie zostanie opóźnione to otrzymany numer
+będzie bieżącym numerem odnośnika w czasie wykonywania
+tej procedury.
+
+
+Problem ten jest rozwiązywany w liniach 2--4 makrodefinicji
+\defreference
. Linie 2--3 definiują makro \@tmp
. Zamiast
+\def
użyto \edef
(expanded definition) co gwarantuje, że
+zawartość definicji \@tmp
zostanie rozwinięta natychmiast.
+Nie ma to znaczenia gdy piszemy \defreference{foo}{7}
, ale
+gdy odnośnik jest ustalany automatycznie, np.
+\defreference{foo}{\the\eqnC}
, to chodzi nam o bieżącą
+wartość licznika a nie jego wartość w chwili wykonywania
+output routine.
+
+Sekwencja \noexpand\folio
spowoduje, że komenda
+\folio
(określająca numer strony), nie zostanie rozwinięta przy
+rozwijaniu zawartości definicji \@tmp
. Zostanie to opóźnione do
+czasu rozwijania komendy \write
podczas wykonywania output
+routine.
+
+W linii 4 zawartość definicji \@tmp
zostaje wysłana do pliku
+dodatkowego za pomocą instrukcji \write
. Konstrukcja:
+
+
+\write\crfile\expandafter{\@tmp} ++jest prostym przykładem zastosowania instrukcji
\expandafter
+w celu zmiany porządku rozwinięcia dwóch żetonów (tokens)
+{
oraz \@tmp
. Kiedy TeX napotka konstrukcję \write\crfile
+oczekuje następnie żetonu {
(por. The TeXbook str. 226), a potem
+ciągu żetonów kończącego się }
, który zapisuje do pliku.
+Zapis do pliku jest opóźniony, co oznacza, że cały materiał
+zawarty pomiędzy klamrami {
i }
nie jest rozwijany
+w chwili napotkania instrukcji \write
ale umieszczany
+jako tzw. whatsit na głównej liście pionowej (main
+vertical list) i rozwijany później przy wykonywaniu output
+routine (por. The TeXbook str. 227).
+
+Jednakże wykonując sekwencję instrukcji z linii 4 TeX napotyka
+\expandafter
zamiast {
. Powoduje to przeczytanie
+(czyli rozwinięcie) przez
+TeX-a najpierw makra \@tmp
a dopiero potem
+umieszczenie przed rozwiniętym już makrem \@tmp
żetonu {
.
+W efekcie na główną listę pionową, do późniejszego zapisu do pliku
+fermat.crf
wędruje sekwencja żetonów tworząca makro \@tmp
a nie
+żeton \@tmp
, który jest od tej chwili gotowy do użycia w następnej
+instrukcji \defreference
. Gdyby na główną listę pionową trafiał
+żeton \@tmp
rozwijany podczas wykonywania output routine
+to zawartość (meaning) wszystkich żetonów byłaby jednakowa
+i równa zawartości ostatniego zdefiniowanego żetonu \@tmp
--- rezultat
+całkowicie różny od poprzedniego i raczej przez nas nie oczekiwany!
+
+Makro \elab
można zdefiniować następująco:
+
+5. \newcount\eqnC +6. \def\elab#1{\global\advance\eqnC 1 +7. \defreference{#1}{\the\eqnC}% +8. (\the\eqnC)} ++Po pierwszej kompilacji plik
fermat.crf
zawiera informacje o wszystkich
+odsyłaczach, które wykorzystujemy przy powtórnej kompilacji dokumentu.
+W tym celu najpierw zdefiniujemy komendę \crlab
. Jak widać wyżej,
+posiada ona dwa parametry, z których pierwszy zawiera etykietę odsyłacza
+a drugi łącznie odsyłacz oraz numer strony, na której
+odesłanie się znajduje.
+Zarówno odsyłacz, jak i numer strony zawarte są
+w parze nawiasów klamrowych.
+
++9. \def\crlab#1#2{% +10. \global\expandafter +11. \def\csname #1\endcsname{#2}} ++Wykonanie makra
\crlab{eq:fermat}{{8}{44}}
+spowoduje utworzenie nowego makra o nazwie eq:fermat
+rozwijającego się dokładnie do {8}{44}
.
+Wykorzystanie konstrukcji \csname
...\endcsname
umożliwia definiowanie
+etykiet zawierających znaki o dowolnych ,,egzotycznych'' kodach,
+np. &
, :
, #
, itd. Wręcz wskazane jest umieszczenie takich znaków,
+co zapobiegnie niezamierzonej zmianie znaczenia ,,normalnych'' makr
+o przypadkowo identycznej nazwie.
+
+Teraz możemy zdefiniować instrukcję \ref
. Makro to powinno
+wstawiać odsyłacz a pomijać numer strony. Kopiujemy w tym celu
+pomysłowe rozwiązanie tego problemu z formatu {\LaTeX}, w którym
+znowu w roli głównej występuje instrukcja \expandafter
:
+
++12. \def\@car#1#2{#1} +13. \def\ref#1{% +14. \edef\@tempa{\csname #1\endcsname} +15. \expandafter\@car\@tempa} ++Makrodefinicja
\ref
ma jeden argument --- etykietę odnośnika. W linii
+14 tworzona jest instrukcja \@tempa
, której zawartością jest wykonanie
+makrodefinicji o nazwie tożsamej z nazwą etykiety. W następnej linii
+najpierw rozwijana jest instrukcja \@tempa
, co oznacza rozwinięcie
+jej zawartości do postaci
+{odnośnik}{strona}
.
+Następnie rozwijane jest makro \@car
, które z dwóch swoich
+parametrów wstawia pierwszy a pomija drugi. Proste!
+
+Skonstruowane w analogiczny sposób makro \pref
wstawia
+numer strony a pomija odnośnik:
+
+
+16. \def\@cdr#1#2{#2} +17. \def\pref#1{% +18. \edef\@tempa{\csname #1\endcsname} +19. \expandafter\@cdr\@tempa} ++Teraz określmy wreszcie plik, z którego pobierane +będą odnośniki a następnie otwórzmy go do czytania: + +
+20. \newread\crfile +21. \openin\crfile=\jobname.crf +22. \input \jobname.crf ++Powyższy kod ma jeden poważny minus. Mianowicie gdyby z jakichś +względów plik
fermat.crf
nie istniał (w pierwszej kompilacji
+dokumentu na pewno go nie będzie)
+to wtedy próba wykonania linii
+\input \jobname.crf
spowoduje błąd I can't find file fermat.crf
.
+Lepiej zabezpieczyć się na tę okoliczność używając komendy \ifeof
. Tak
+więc w powyższym fragmencie kodu ostatnią linię należy zastąpić przez:
+
++22. \ifeof\crfile \else +23. \input \jobname.crf \fi ++Wreszcie pozostaje do zdefiniowania plik do którego będą wysyłane +informacje o odesłaniach: + +
+24. \newwrite\crfile +25. \openout\crfile=\jobname.crf ++I te 25 linii kodu pokazane wyżej wystarczą dla TeX-a do prawidłowego +wstawienia odpowiednich odsyłaczy. +Wystarczą TeX-owi ale nie TeX-owcowi, który z pewnością popełniać +będzie błędy. Dlatego powyższe makra należy rozbudować o obsługę +błędów i ostrzeżeń. W szczególności należy zadbać o ostrzeganie +użytkownika o: + +
.log
+i na ekran a także
+oznakować brakujące odnośniki w składanym dokumencie,
+.log
i na ekran.
+@
+w nazwach komend, powinny zostać one zawarte pomiędzy liniami:
+
++\catcode`@=11 +... +\catcode`@=12 ++ +
ftp.gust.org.pl
w katalogu TeX/GUST/bulletin/05
+--- plik tp-crf.tex
. W porównaniu do
+przedstawionych już makrodefinicji dodano następujące ważniejsze komendy:
+
+\nocrwarns
+\nocrfile
+\makecrfile
+\crstatistics
+\bye
wywołuje to makro.
++%% -------------------------------- +%% Cross-reference generic macros +%% Tomasz Przechlewski +%% Date: 02.01.1995 +%% -------------------------------- +\catcode`@=11 +\def\@crwrn#1{\if@crwrns\immediate +\write16{#1}\fi} +\def\@markmissingcr{{\bf ??}\@marginmarker} +\def\@marginmarker{\vadjust{\vbox to0pt{% +\kern-.77\normalbaselineskip +\hbox{{\it\kern\hsize\kern15pt?}}\vss}}} + +\newif\if@crwrns +\global\@crwrnstrue % default +\def\nocrfile{\global\@crfilefalse} +\def\nocrwrns{\global\@crwrnsfalse} + +\def\@car#1#2{#1} +\def\@cdr#1#2{#2} + +\long\def\@ifundefined#1#2#3{% + \expandafter\ifx\csname + #1\endcsname\relax#2\else#3\fi} + +\def\namedef#1{\expandafter + \def\csname #1\endcsname} + +\def\newlabel#1#2{\@ifundefined{#1}{}% +{\@crwrn{-> WARNING: multiple label #1}}% +\global\namedef{#1}{#2}} +\newread\crfile + +\openin\crfile=\jobname.crf +\ifeof\crfile + \@crwrn{-> WARNING: CR-FILE UNDEFINED!!} + \else + \@crwrn{READING REFS FROM \jobname.crf} + \input \jobname.crf +\fi +\closein\crfile + +\def\makecrfile{% + \openout\crfile=\jobname.crf} +\def\nocrfile{\@crwrn{-> WARNING: + CR-FILE not created} + \def\crfile{-1}} + +\def\ref#1{\@nextcrf\@ifundefined{#1}{% + \@markmissingcr + \@crwrn{undefined cr -> \string#1}}% + {\edef\@tempa{\csname #1\endcsname} + \expandafter \@car\@tempa}} + +\def\pageref#1{\@nextpcrf + \@ifundefined{#1}{\@markmissingcr + \@crwrn{undefined cr -> \string#1}}% + {\edef\@tempa{\csname #1\endcsname}% + \expandafter \@cdr\@tempa}} + +\def\defreference#1#2{\@nextdrf% + \edef\save{\string\newlabel{#1}% + {{#2}{\noexpand\folio}}}% + \write\crfile\expandafter{\save}} + +\newcount\@crfC\newcount\@pcrfC +\newcount\@dcrfC +\def\@nextdrf{\global\advance\@dcrfC1} +\def\@nextcrf{\global\advance\@crfC1} +\def\@nextpcrf{\global\advance\@pcrfC1} +\def\crstatistics{% +\@crwrn{==============================} +\@crwrn{= REFERENCE STATISTICS =======} +\@crwrn{= refs defined.... \the\@dcrfC} +\@crwrn{= refs used....... \the\@crfC} +\@crwrn{= page refs used.. \the\@pcrfC} +\@crwrn{==============================}} +\outer\def\bye{\crstatistics\end} +\catcode`@=12 +\endinput ++ +
TUGboat
, 10(3): s. 394--400.
++ +Dział poświęcony dla ,,ortodoksów'' którzy najchętniej programują +w ,,gołym TeX-u'' (tak naprawdę w plainie). Nie jest to bynajmniej ironia z mojej strony; moje +kilkunastoletnie doświadczenie w dziedzinie programowania i używania +różnego rodzaju pakietów oprogramowania mówi mi że czym prostsze +narzędzie tym lepsze rezultaty, czym mniej warstw tym mniej błędów, +oczywiście pod warunkiem +perfekcyjnego opanowania narzędzi. Lepiej używać prostego +i bezbłędnego programu w 99% niż rozbudowanego w 10% (z tego że +jest rozbudowane wynika że posiada błędy i nie da się go bardziej wykorzystać). +
+
+
Należy jednak pamiętać, że plain jest stosunkowo ubogim +zbiorem makroinstrukcji i nie zapewnia automatycznej obsługi wielu typowych sytuacji. Użytkownik ma dwie możliwości: stworzyć własną bibliotekę makroinstrukcji +lub ingerować w skład we wszystkich miejscach, których wygląd ma być odmienny. Działanie +wg. drugiego sposobu niewiele różni się od rzeźbieniem rylcem po glinianej tabliczce. Wynik pracy może być perfekcyjny (klasycznym tego przykładem jest książka +,,The TeXbook''), ale tak złożony dokument jest niepodatny zarówno na zmianę treści (powoduje to zmianę wyglądu) jak i na zmianę wymagań składu (np. szerokość kolumny).
+ +Komputery zostały wymyślone po to, aby ułatwić pracę ludziom -- ich czas pracy +jest znacznie tańszy niż czas pracy człowieka. Możemy więc oczekiwać, że zastosowanie +komputerów przyniesie nie tylko zmianę technologiczną (rylec na klawiaturę i +tabliczka gliniana na zapis magnetyczny), ale i umożliwi nam +automatyczne tworzenie pewnych części dokumentu; np. spisy treści (tabel, rysunków), +skorowidze, spisy bibliografii, uzgadnianie odwołań do wzorów, pozycji bibliograficznych +itp. itd.
+ +Często zachodzi konieczność zmiany parametrów składu (w momencie tworzenia +dokumentów możemy nie znać wymagań redakcji) lub jakiś fragment tekstu pochodzi +z innego dokumentu. W tej sytuacji wygodnym jest nadanie dokumentowi +struktury logicznej i oddzielenie opisu struktury dokumentu od definicji wyglądu +jego składowych. Efekt ten możemy osiągnąć oznakowując dokument znacznikami logicznymi, +a nie poleceniami składu (polecenia składu są przypisane znacznikom logicznym +w innym miejscu). Mamy do wyboru: stworzenie własnej biblioteki lub użycie +jednej z trzech znanych bibliotek makroinstrukcji pozwalających na osiągnięcie tej tezy: +texinfo -- przygotowanie dokumentacji technicznej, LaTeX2e +oraz ConTeXt do dowolnego typu dokumentów.
+ ++
+
Odsyłacze
+- T. Przechlewski (10.10.1995)Poniżej przedstawiam pełną listę poleceń (w porządku alfabetycznym) programów TeX, eTeX i pdfTeX wraz z krótkim +objaśnieniem. Moim celem nie było zrobienie pełnego i wyczerpującego opisu ich działania, do +tego służy książka ,,The TeX book'' Donalda E. Knutha, a jedynie podanie +informacji ,,z czym to się je'' (i zdaję sobie sprawę z tego, że niektóre +wyjaśnienia przypominają wyrocznię Pyti).
+ ++Niestety nie udało mi się wyjaśnić w sposób sensowny kilku poleceń (miejsca +oznaczone ???). Jeżeli +Szanowny Czytelniku, chciałbyś podzielić się swoją wiedzą i podać krótkie +wyjaśnienie brakującego hasła, uściślić lub poprawić istniejące będę wdzięczny za pomoc.
+ +Serdecznie dziękuję P.Strzelczykowi za nadesłanie wyjaśnień kilkudziesięciu +bardziej skomplikowanych oraz rzadziej używanych poleceń.
+ ++kod_znaku |
+ liczba z przedziału 0 -- 255, liczby w TeX-u można specyfikować na wiele
+ sposobów:
+
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+dimen |
+liczba zmiennoprzecinkowa (mianowana) określająca przesunięcie (odległość), podanie
+ kwalifikatora true przed nazwą jednostki powoduje że wartość
+ nie będzie podlegała przeskalowaniu, jeśli takowe zostało określone
+ (p. \mag)
+
+
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+ mdimen | + miara przesunięcia (odległości) w trybie matematycznym, podobnie jak dimen, + ale jedyną dopuszczalną jednostką + jest mu + | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+ glue | miara przesunięcia (odległości); podobnie + jak dimen, ale +charakteryzująca się nie tylko stałym wymiarem, ale ściśliwością i rozciągliwością +(wg zwyczajów inżynierskich można to traktować jako dopuszczalną tolerancję +wymiaru in plus i in minus). TeX w miarę potrzeby ma prawo +bezkarnie zmniejszyć wymiar nominalny lub go powiększyć o zadaną wartość. W +szczególności ściśliwość i rozciągliwość może przyjmować wartość nieskończoną +w trzech zakresach (p. fil, fill +oraz filll). +Uważam że tłumaczenie glue jako ,,klej'' nie oddaje charakteru i +zachowania się tej miary, wydaje mi się, że lepszym określeniem jest +,,sprężyna'', która ma swój wymiar nominalny, jak i dopuszczalną ściśliwość +oraz rozciągliwość (z tą różnicą, że TeX-owe glue może przyjmować +wartości nieskończone i ujemne). +np. 100.5pt plus 10pt minus 5pt + | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+ mglue | + miara przesunięcia (odległości) w trybie matematycznym, podobnie jak glue, + ale jedyną dopuszczalną jednostką + jest mu + |
+\spacja | +wstawienie spacji (space token) + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\/ | +korekcja skosu; polecenie dodaje dodatkowy odstęp (być może o + długości zerowej) + uwzględniający pochylenie (parametr konstrukcyjny + fontu; p. \fontdimen) znaku w prawo -- + ,,wystawanie'' znaku poza pudełko (nie tylko znaki w + foncie italic mają tą wartość niezerową). + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\above dimen | +konstrukcja matematyczna + (np. $1 + {1 \above 2pt 2}$); + dimen określa grubość kreski ułamkowej + (p. \over) + -- licznik i mianownik jest + składany w stylu o jeden stopień niższym + (p. \displaystyle, + \textstyle, + \scriptstyle i + \scriptscriptstyle) niż + bieżący (o ile to możliwe) + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\abovedisplayshortskip=glue | +odległość nad (przed) wzorem eksponowanym + (wystawionym), jeśli jest on + poprzedzony wierszem nie ,,zazębiającym'' + się z treścią wzoru + (p. \abovedisplayskip, +\predisplaysize, + \parfillskip) + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\abovedisplayskip=glue | +odległość nad (przed) wzorem eksponowanym (wystawionym), + jeśli jest on + poprzedzony linią ,,zazębiającą'' się ze wzorem + (p. \abovedisplayshortskip, +\predisplaysize, + \parfillskip) + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\abovewithdelims + delim1delim2dimen | +podobnie jak \above, ale konstrukcja + zostanie otoczona przez delim1 + (z lewej strony) i + delim2 (z prawej + strony); np.: + \abovewithdelims () 2pt; + p. \above + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\accent kod_znaku znak | +wstawienie znaku z akcentem; kod_znaku jest kodem znaku akcentującego + (może to być znak o dowolnym kodzie, ale sensowne jest + używanie znaku + o odpowiedniej definicji, przewidzianym jako akcent), + a znak znakiem do którego dodawany jest akcent; np.: + \accent 95 z -- da literę ,,ż'' (,,z'' z + kropką) + (powoduje przejście w tryb poziomy); + (p. kod_znaku) + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\adjdemerits=wartość | +wartość dodawana do wyliczonego kosztu złamania akapitu + w danym miejscu, jeżeli wiersz poprzedni i bieżący są innej klasy + kiepskości [1] + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\advance\rejestr by wartość | +dodanie wartości do rejestru -- + typy składowych muszą być takie, aby działanie miało sens + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\afterassignment tokem | +token zostanie zapamiętany i wstawiony po wykonaniu + następującego po nim przypisania + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\aftergroup token | +używane wewnątrz grupy; token zostanie zapamiętany i zostanie + wyprowadzany (jednorazowo) po zamknięciu tej grupy (po odwołaniu + wprowadzonych wewnątrz niej zmian) + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+at dimen | +określenie mówiące o przeskalowaniu fontu do wskazanej wielkości + np. \font\mojcmr=plr10 at 12pt + (równoważne \font\mojcmr=plr10 scaled 1200). + Uwaga! Zdefiniowany font \mojcmr to nie to samo co font + plr12 + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\atop | +konstrukcja matematyczna (np. ${x \atop y}$); + p. \above + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\atopwithdelims delim1delim2 | +konstrukcja matematyczna (np. ${x \atopwithdelims() y}$); + p. \above + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\badness | +miara kiepskości składu wiersza + [1] + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\baselineskip=glue | +odległość między liniami bazowymi pisma + p. \lineskip + i \lineskiplimit + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\batchmode | +polecenie przełączające sposób pracy TeX-a; nie zatrzymuje się on po + napotkaniu błędu, raport jest umieszczany wyłącznie w pliku + .log (komunikaty nie są wyświetlane na + konsoli); p. \errorstopmode, + \nonstopmode, + \scrollmode + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\begingroup | +początek bloku (wszelkie zmiany wartości parametrów i definicje są lokalne, + jeśli nie wyspecyfikowano inaczej p. \globaldefs + i \global). Zakończenie bloku + poleceniem \endgroup (nie + }) + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\belowdisplayshortskip=glue | +odległość pod (po wzorze) wzorem, jeśli po nim + następuje krótka linia + (nie ,,zazębiająca'' się z treścią wzoru), + p. \belowdisplayskip, +\predisplaysize, + \parfillskip + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\belowdisplayskip=glue | +odległość pod (po wzorze) wzorem, jeśli po nim + następuje długa linia (,,zazębiająca'' się ze wzorem), + p. \belowdisplayshortskip, +\predisplaysize, + \parfillskip + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\binopenalty=wartość | +kara za złamanie linii po operatorze + binarnym (bin atom); + p. \mathbin + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\botmark | +przyjmuje wartość ostatniego znacznika + (\mark), który pojawił + się na obecnie output-owanej stronie; czyli np. tytuł/tekst ostatniego + podrozdziału/hasła na danej stronie + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\box numer_pudełka | +wstawienie zawartości + wskazanego pudełka, po czym zawartość + pudełka jest kasowana (p. \copy, + \setbox, + \unhbox, + \unvbox, + \unhcopy, + \unvcopy) + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\boxmaxdepth | +maksymalna głębokość (dimen) + dla składanego pudełka (\vbox) + jeśli głębokość złożonego pudełka jest większa od + \boxmaxdepth, + to jest ono odpowiednio ,,podnoszone'' (zwiększana jest jego wysokość, + tak by głębokość była równa \boxmaxdepth); + standardowo \boxmaxdepth=\maxdimen + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+bp | +jednostka miary -- big point + (72 bp = 1 in); + p. true, tablica + jednostek + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\brokenpenalty=wartość | +kara dodawana przy wyliczaniu punktu przełamania strony (nie + akapitu!), + jeśli ostatnia linia strony miałaby wyraz przeniesiony do następnej linii + (a zatem i strony) + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+by | +opcjonalny element w poleceniach dzielenia, + dodawania, mnożenia + np. \advance\count0 by 1 + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\catcode kod_znaku=kategoria | + definicja kategorii znaku, określonego przez kod_znaku;
+ kategoria jest liczbą z zakresu 0--15 i
+ oznacza:
+
+
| |||||||||||||||||||||||||||||||||||||||||||||||||||
+cc | +jednostka miary -- cicero (1 cc = 12 dd); + p. true, tablica + jednostek + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\char kod_znaku | +użycie znaku o podanym kodzie (powoduje przejście w tryb poziomy); + (p. kod_znaku) + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\chardef\nazwa=kod_znaku | +jest alternatywą dla polecenia + \def\nazwa{\char kod_znaku}. + Polecenie \nazwa + jest równoważne użyciu znaku o podanym kodzie; + (p. kod_znaku) + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\cleaders box\hskip glue + \cleaders rule\hskip glue |
+ konstrukcja powtarza specyfikację box lub rule + wypełniając przestrzeń przesunięcia określonego przez + \hskip + glue + (p. \leaders + i \xleaders) -- całość traktowana + jest jak ,,sprężyna'' (glue) + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\closein numer | +zamknięcie kanału wejściowego o wskazanym numerze (od 0 do 15) + otwartego poleceniem \openin; p. też read, \immediate + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\closeout numer | +zamknięcie kanału wyjściowego o wskazanym numerze (od 0 do 15) + otwartego poleceniem \openout; p. też write, \immediate + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\clubpenalty wartość | +kara za złamanie strony po pierwszej linii akapitu + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+cm | +jednostka miary -- centymetr (1 cm = + 0.01 m); p. true, tablica + jednostek + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\copy numer_pudełka | +wyprowadza zawartość + wskazanego pudełka; + zawartość pudełka nie ulega zmianie (p. \box, + \setbox, + \unhbox, + \unhcopy, + \unvbox, + \unvcopy) + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\count specyfikacja_licznika | +użycie wskazanego rejestru (typu count) + (p. \countdef) + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\countdef\nazwa=numer | +zdefiniowanie synonimu \nazwa, + odpowiadającego rejestrowi typu count o wskazanym numerze; + p. \count + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\cr | +oznaczenie końca wiersza w środowiskach tabulacyjnych + (\halign, \valign) + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\crcr | +kończy wiersz tabeli (\halign, + \valign), jeśli wiersz był rozpoczęty -- czyli + działa tak jak \cr, + ale jeśli wystąpi bezpośrednio po \cr, albo + \noalign + nie robi nic + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\csname tokens \endcsname | +konstrukcja służy do zdefiniowania lub + użycia makroinstrukcji tworzonych dynamicznie bądź zawierających znaki nie + będące literami (tokens nie może zawierać elementów + rozwijanych). Użycie makroinstrukcji niezdefiniowanej + nie jest błędem (jest równoznaczne z użyciem \relax) + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\day | +rejestr zawierający numer bieżącego dnia (licząc od początku miesiąca) + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+dd | +jednostka miary -- didot point (1157 dd = 1238 pt); + p. true, tablica + jednostek + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\deadcycles | +liczba wywołań procedury wyjściowej + \output nie powodujących + wysłania strony do pliku DVI (czyli nie wywołujących polecenia + \shipout), każde \shipout zeruje licznik, a + \output inkrementuje go; p. też + \maxdeadcycles + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\def\nazwa{zawartość} | +nowa makrodefinicja np.: + \def\WM{{\it Włodzimierz Macewicz}}; jej + użycie jest równoważne rozwinięciu ,,wnętrza'' + (np. \WM wyprowadzi napis Włodzimierz Macewicz kursywą); + w momencie definiowania użyte wewnątrz makroinstrukcje + nie muszą być zdefiniowane + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+ \def\nazwa#1...#9{zawartość} | +nowa makrodefinicja (p. \def) + z parametrami (#1...#9 oznaczają + kolejne parametry) + np.: \def\persona#1{{\it #1}} + i wywołanie \persona{Włodzimierz Macewicz} + (p. \edef, + \xdef, + \long, \gdef + \global i + \globaldefs) + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\defaulthyphenchar | +rejestr przechowuje kod znaku przenoszenia wyrazów (\hyphenchar) z ostatnio + załadowanego fontu + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\defaultskewchar | +rejestr przechowuje kod znaku + \skewchar z ostatnio + załadowanego fontu + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\delcode + znak="fmxxmfdxxd | +polecenie definiuje warianty: mały i duży dla znaku + znak w przypadku użycia go z operatorem \left lub + \right. f oznacza numer rodziny fontów + (family), a xx kod znaku (wszystkie wartości w kodzie + szesnastkowym). Wartość -1 oznacza że znak nie może być + ogranicznikiem, zdefiniowanie wartości 0 (rodzina i kod) + dla danego wariantu oznacza pominięcie wariantu. + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\delimiter "cfxxfxx | +użycie delimitera; c -- + oznacza klasę znaku (p. tabela klas); dwa zestawy trzech cyfr oznaczają to samo + co w poleceniu \delcode + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\delimiterfactor=f | +współczynnik (liczba całkowita) + służący do obliczenia wielkości delimitera przy użyciu konstrukcji + \left i + \right. Wielkość jest ustalana jako: + x = 2max(y1,y2); y1 -- minimalna + głębokość materiału, y2 -- maksymalna wysokość materiału; + następnie obliczane jest y = x * f/1000, gdzie f jest + współczynnikiem. Ostatecznie wielkość delimitera jest ustalana jako + w = min(y, y - q), gdzie q jest wartością parametru + \delimitershortfall + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\delimitershortfall=dimen | +wartość służąca do obliczania + ostatecznej wielkości delimitera przy użyciu konstrukcji + \left i + \right; + p. \delimiterfactor + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+depth dimen | +głębokość linii np. \hrule width 2cm depth 2mm + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\dimen numer | +rejestr typu dimen (odległość) o wskazanym numerze + (0 -- 255), zamiast + numeru można użyć synonimu; + p. \dimendef + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+ \dimen numer=wartość | +nadanie wartości rejestrowi typu dimen + (odległość) o wskazanym numerze (0 -- 255), + zamiast + numeru można użyć synonimu; + p. \dimendef + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\dimendef\nazwa=numer | +zdefiniowanie synonimu \nazwa, + odpowiadającego + rejestrowi \dimen o podanym numerze + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\discretionary{przed}{po}{bez} | +propozycja miejsca podziału wyrazu; jeśli nastąpi podział token przed + zostanie wstawiony + na końcu linii (zwyczajowo wstawiamy -), token po jest + wstawiany na początku linii następnej (zwyczajowo nic, ale w jęz. polskim + dla określeń typu biało-czerwony, w przypadku + podziału + po znaku dywiz, powinniśmy na początku następnej linii też wstawić + -), token bez wstawiany jeśli nie ma potrzeby + podziału wyrazu w danym miejscu (i tak \- jest zdefiniowany + jako \discretionary{-}{}{} -- wstawienie - na końcu, + jeśli nastąpi podział; nic jeśli nie, natomiast dla jęz. polskiego + \= został zdefiniowany jako \discretionary{-}{-}{-}). W przypadku + użycia polecenia w trybie + matematycznym trzeci parametr musi być pusty; + p. \hyphenchar, + \defaulthyphenchar + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\displayindent=dimen | +Jeżeli wartość + jest niezerowa, powoduje przesunięcie całego materiału wzoru o zadaną + odległość (p. \displaywidth) + wartość parametru jest ustalana na + 0pt lub na wartość określona przez + \handindent) + przed każdym wzorem eksponowanym + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\displaylimits | +polecenie określa miejsce położenia indeksu dolnego i + górnego danego obiektu; dla + trybu \displaystyle na pod/nad obiektem, dla + pozostałych obok obiektu (jako górna lub dolna frakcja) p. też + \limits + oraz \nolimits; + np.: \def\int{\intop\displaylimits} + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\displaystyle | +przełączenie składu matematyki w tryb display + (wielkość czcionki i sposób + ustawiania górnego i dolnego rejestru; p. \limits, + \nolimits, + \displaylimits, + \textstyle, + \scriptstyle, + \scriptscriptstyle, + \textfont, + \scriptfont, + \scriptscriptfont) + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\displaywidowpenalty=wartość | +kara za złamanie strony przed ostatnią + linią akapitu, + jeśli jest nią wzór eksponowany (wystawiony) + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\displaywidth=dimen | +wartość parametru jest ustalana na + \hsize (szerokość szpalty) przed rozpoczęciem każdego wzoru + eksponowanego. Jeżeli przesuniemy materiał wzoru w prawo o + \displayindent powinniśmy o tyleż zmniejszyć + \displaywidth, w przeciwnym razie wzór będzie wystawał + z prawej strony + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\divide\rejestr by wartość | +dzielenie rejestru przez wartość; + uwaga na typ składowych, wynik też musi być sensowny + (typ wyniku przewidziany w TeX-u) + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\doublehyphendemerits=wartość | +wartość dodawana do wyliczonego + kosztu złamania akapitu + w danym miejscu, jeżeli wiersz poprzedni i bieżący kończy się podzielonym + wyrazem [1] (wartość jest wstawiana ,,jak + leci'', podczas gdy kary brane są w ,,kwadracie'', tak więc + wartość parametru ma niewielki wpływ na skład) + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\dp numer_pudełka | +głębokość pudełka o wskazanym numerze + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+ \dp numer_pudełka=dimen | +określenie głębokości pudełka o wskazanym numerze; + p. dimen + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\dump | +polecenie zapisu formatu (tylko initex) + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\edef\nazwa{zawartość} +\edef\nazwa#1...#9{zawartość} |
+ nowa makrodefinicja z parametrami (lub bez) + np.: \edef\persona#1{{\it #1}} + i wywołanie \persona{Włodzimierz Macewicz}. zawartość + jest rozwijana w momencie tworzenia definicji, a zatem wszystkie + używane wewnątrz konstrukcje muszą być + zdefiniowane (p. \def, + \gdef, + \long, + \xdef + \global i \globaldefs) + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\else | +opcjonalna element w instrukcji warunkowej oznacza: ,,w przeciwnym razie'',
+ np.: + \if warunek + SPEŁNIONY + \else + NIESPEŁNIONY + \fi + + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+em | +jednostka miary, równa szóstemu parametrowi bieżącego fontu + p. \fontdimen + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\emergencystretch=dimen | +jeśli TeX nie może sobie poradzić w + dwu przebiegach ze złamaniem akapitu (zachowując zadaną jakość), + a wartość rejestru jest większa od zera, + TeX rozpocznie trzecie podejście do tego problemu. + Wartość parametru oznacza zgodę na bezkarne zwiększenie światła + międzywyrazowego w wierszu o podaną wielkość; + p. dimen + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\end | +kończy pracę TeX-a + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\endcsname | +koniec konstrukcji \csname + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\endgroup | +koniec grupy (p. \begingroup) + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\endinput | +wymuszenie końca zbioru, wszelkie dane po tym poleceniu są + ignorowane + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\endlinechar=kod_znaku | +znak wstawiany na końcu każdej wczytanej + linii (jeśli wartość kod_znaku jest ujemna lub większa od 255 + żaden znak nie jest wstawiany); + (p. kod_znaku) + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\eqno{materiał} | +konstrukcja umieszczająca materiał + (w trybie matematycznym) + z prawej strony wzoru + wystawionego (display), służąca do + numerowania (oznaczania) wzorów z prawej strony + (p. \leqno) + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\errhelp | +???? + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\errmessage materiał | +wyprowadza materiał (po rozwinięciu) do pliku log + i ewentualnie na konsolę, w zależności od trybu obsługi błędów + następuje (bądź nie) przerwanie pracy; + p. message + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\errorcontextlines | +ustala liczbę wyświetlanych linii kodu wejściowego (kontekst) + po napotkaniu błędu (domyślnie 5) + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\errorstopmode | +tryb pracy TeX-a -- wstrzymuje on pracę po + napotkaniu błędu i czeka na polecenie z konsoli (jest to normalny tryb + pracy); p. \batchmode, + \nonstopmode, + \scrollmode + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\escapechar kod_znaku | +definicja znaku, na który + zostanie zamieniony znak kategorii 0 (escape) przez polecenie + \string; + (p. kod_znaku) + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\everycr{materiał} | +materiał wstawiany po użyciu polecenia + \cr lub \crcr + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\everydisplay{materiał} | +materiał jest wyprowadzany przy wejściu + w tryb matematyczny eksponowany (wystawiony) + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\everyhbox{materiał} | +materiał jest wyprowadzany przy rozpoczęciu + każdego poziomego pudełka + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\everyjob{materiał} | +materiał jest wyprowadzany przy rozpoczęciu + pracy (rozpoczęcie przetwarzania zbioru + głównego) + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\everymath{materiał} | +materiał jest wyprowadzany przy wejściu + w tryb matematyczny wewnątrzliniowy (nieeksponowany) -- również + przy zmianie niejawnej; np. przy \eqno + lub \leqno + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\everypar{materiał} | +materiał jest wyprowadzany przy rozpoczęciu + każdego akapitu + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\everyvbox{materiał} | +materiał jest wyprowadzany przy rozpoczęciu + każdego pionowego pudełka + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+ex | +jednostka miary, równa wysokości litery x w + bieżącym foncie, + a ściślej, równa wartości piątego parametru bieżącego fontu + p. \fontdimen + + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\exhyphenpenalty=wartość | +kara za przeniesienie wyrazu po znaku - + (lub ligaturze kończącej się na -); dla języka + polskiego powinna być ustawiona na 10000 + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\expandafter token | +TeX wczytuje token wstrzymując jego rozwijanie, + aż do wczytania kolejnego tokenu + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\fam=numer | +grupa fontów (zestawów znaków). W wielu definicjach znaków + matematycznych oprócz kodu podaje się numer grupy (może ich + być 15), co pozwoliło na zwiększenie liczby dostępnych + symboli matematycznych + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\fi | +koniec konstrukcji warunkowej \if + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+fil | +miara ścisku lub rozciągu sprężyny (glue), + większa od największej + dającej wyrazić się liczbą (może być zwielokrotniana + np. \hskip 0pt + plus 2fil) + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+fill | +miara ścisku lub rozciągu sprężyny (glue), + większa niż dowolnie + zwielokrotniona fil + (może być zwielokrotniana + np. \hskip 0pt + plus 2fill) + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+filll | +miara ścisku lub rozciągu sprężyny (glue), + większa niż dowolnie zwielokrotniona fill + (może być zwielokrotniana + np. \hskip 0pt + plus 2filll) + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\finalhyphendemerits=wartość | +wartość dodawana do wyliczonego kosztu złamania akapitu + w danym miejscu, jeżeli wiersz bieżący kończy się podzielonym + wyrazem i jest to przedostatni wiersz akapitu + [1] (wartość jest wstawiana ,,jak + leci'', podczas gdy kary brane są w ,,kwadracie'', tak więc + wartość parametru ma niewielki wpływ na skład) + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\firstmark | +przyjmuje wartość pierwszego znacznika + (\mark), który pojawił + się na obecnie output-owanej stronie; czyli np. tytuł/tekst pierwszego + podrozdziału/hasła na danej stronie + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\floatingpenalty=wartość | +kara dodawana do ogólnego kosztu przełamania strony + (poprzez rejestr \insertpenalties), + w przypadku gdy nastąpił podział + wstawki (float) między strony, np. gdy przypis nie mieści się na stronie + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\font\nazwa=nazwa_zbioru | +\nazwa + staje się nazwą fontu + np. \font\tenrm=cmr10 lub jeśli użyjemy skalowania: + \font\tenrm=cmr10 at 12pt lub + \font\tenrm=cmr10 scaled 1200 + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+ \font\nazwa=nazwa_zbioru skalowanie + | ||||||||||||||||||||||||||||||||||||||||||||||||||||
+\fontdimen n \nazwa_fontu | +n-ty parametr fontu (liczba parametrów jest zmienna --
+ zależna od fontu, dla fontów tekstowych standardowo są to:
+
| |||||||||||||||||||||||||||||||||||||||||||||||||||
+\fontname \nazwa | +podaje nazwę zbioru, którego nazwa jest synonimem + (np. jeśli była wcześniej użyta makroinstrukcja + \font\tenrm=cmr10 at 12pt + to \fontname\tenrm + rozwinie się w cmr10 at 12pt) + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\futurelet\nazwa + token1 token2 | +makropodstawienie, polecenie \nazwa będzie utożsamione + z token2, token1 i token2 + zostaną rozwinięte (w tej kolejności) + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\gdef ... | +równoważna \global\def + (p. \globaldefs, \def) + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\global | +polecenie ustalające globalny zasięg działania następującej po nim konstrukcji + (p. \globaldefs) + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\globaldefs=liczba | +jeżeli liczba jest dodatnia, + polecenie sprawia, że wszelkie zmiany wartości (makr, rejestrów itp.) mają charakter + globalny; automatycznie jest dodawany kwalifikator + \global; jeśli liczba jest ujemna, wszelkie + modyfikacje mają charakter lokalny (mimo że są poprzedzone + kwalifikatorem \global) + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\halign {materiał} | +definiuje środowisko tabularyczne, materiał logicznie dzieli
+ się na dwie części: 1. preambułę, czyli definicję kolumn i sposobu ich
+ formatowania (wzorzec), 2. tekst tworzący zawartość tabeli. W preambule fakt
+ istnienia materiału kolumny sygnalizujemy znakiem #, a
+ separatorem kolumn jest znak &. Przykład:
+ + \halign{\hfill # \hfill & \hfill #\cr + 1234 & 1 \cr + 1 & 1234 \cr} ++ pierwsza kolumna jest centrowana, a druga dosunięta do prawej krawędzi, + jak widać poleceniem końca wiersza jest \cr; p. + \crcr, + \noalign, + \span, + \omit oraz + \valign + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\hangafter n | +n liczba całkowita określająca które linie + akapitu podlegają działaniu polecenia \hangindent; + i tak: jeśli n >= 0 dodatkowy margines + jest wstawiany począwszy od linii n (licząc od zera), + jeśli i < 0 margines będzie wstawiony + w n pierwszych liniach; p. też \parshape + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\hangindent dimen | +polecenie definiuje dodatkowy margines w akapicie; + jeśli dimen > 0 + margines będzie wstawiony z lewej strony, + jeśli dimen < 0 -- + z prawej strony. Margines wstawiany jest na obszarze określonym przez + \hangafter (pierwsza linia jest niezależnie wcinana o + \parindent); p. też \parshape + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\hbadness wartość | +wartość progowa; + jeżeli przy składzie akapitu ,,kiepskość'' przekroczy tę wartość pojawi + się komunikat + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\hbox{materiał} | +wstawienie materiału poziomego (niełamliwego), zachowana + jest nominalna szerokość. Użycie konstrukcji nie powoduje + przejścia w tryb poziomy [3] + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+ \hbox to dimen{materiał} | +j.w., ale materiał będzie zajmował szerokość dimen (z możliwością niedomiaru + lub przepełnienia) + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+ \hbox spread dimen{materiał} | +j.w., ale szerokość nominalna jest powiększana o + podaną wielkość dimen + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+height dimen | +wysokość linii pionowej lub grubość poziomej + (np. \vrule height 3mm) + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\hfil | +równoważny + \hskip 0pt plus 1fil, + p. fil + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\hfill | +równoważny + \hskip 0pt plus 1fill, + p. fill + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\hfilneg | +równoważny + \hskip 0pt plus -1fil, + p. fil + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\hfuzz dimen | +dopuszczalne niesygnalizowane przekroczenie prawego marginesu przy + składzie akapitu (wartość nie ma wpływu na działanie algorytmu składu) + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\hoffset dimen | +dodatkowe przesunięcie kompletnego materiału strony o wskazaną + wartość w prawo (w lewo jeśli ujemna) + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\holdinginserts | +jeśli jest ustawiane na wartość większą od zera, to + podczas wywoływania, procedury wyjściowej (output routine), wstawki + nie są usuwane z listy; według Knutha może to być wykorzystane podczas + próbnego wywołania output-a, ale jedynym pakietem jaki to wykorzystuje + jest triptest (test zgodności implementacji TeX-a ze wzorcem + Knutha) + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\hrule | +linia pozioma o długości zależnej od kontekstu użycia o + grubości 0.4 pt i głębokości + 0 pt + odkładana na liście pionowej; + można wyspecyfikować inne parametry np.: + \hrule width 3cm depth 1mm height 0.5mm + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\hsize=dimen | +szerokość kolumny (podstawowego obszaru roboczego); + p. dimen + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\hskip glue | +wstawienie pustego obszaru (justunku) do listy poziomej (może być + ściśliwy i/lub rozciągliwy); + p. glue + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\hss | +sprężyna (glue) o zerowej długości działająca w poziomie + o nieskończonym ścisku i rozciągu; równoważna + \hskip 0pt + plus 1fil + minus 1fil + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\ht numer_pudełka | +wysokość pudełka o wskazanym numerze + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+ \ht numer_pudełka=dimen | +określenie wysokości pudełka o wskazanym numerze; + p. dimen + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\hyphenation{lista} | +lista definiuje wyjątki w regułach przenoszenia + wyrazów, należy podać wszystkie dopuszczalne miejsca + przeniesienia wstawiając znak -; wyrazy + powinny być oddzielone ,,białym znakiem'' (spacja, tabulator + nowa linia); np.: \hyphenation{pszczół-ka pszczół-ki} + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\hyphenchar\nazwa_fontu=kod_znaku | +określenie + symbolu (znaku) przenoszenia wyrazu w danym foncie (standardowo jest to + -) wstawianego przy podziale wyrazu oraz + jest to znak (lub ligatura kończąca sie tym + znakiem) + po którym dostawiane jest polecenie \discretionary{}{}{} + (p. kod_znaku) + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\hyphenpenalty=wartość | +kara za przeniesienie wyrazu + (w miejscu wyznaczonym wg + reguł lub sugerowanym przez \-, + p. \discretionary, + \language, + \doublehyphendemerits + i + \finalhyphendemerits) + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\if token1 token2 | +początek instrukcji + warunkowej: czy kody porównywanych znaków są jednakowe; + p. \fi, \else + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\ifcase liczba + tekst_dla_zera + \or + tekst_dla_jedynki + \or + ... + \or + tekst_dla_n + \else + tekst_dla_pozostałych_przypadków +\fi |
+ instrukcja wyboru; wartość liczby określa która część + instrukcji będzie wybrana, jeżeli liczba jest mniejsza od zera lub większa niż + n zostanie wybrana ostatnia (po \else) ewentualność + (o ile została określona, + bowiem nie musi ona wystąpić); + p. \fi, \else + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\ifcat token1 token2 | +początek instrukcji + warunkowej: czy kategorie porównywanych znaków są jednakowe + (p. tabela kategorii); + p. \fi, \else, + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\ifdim dimen1 rel dimen2 | +początek + instrukcji + warunkowej porównującej wartości typu dimen; rel oznacza znak + relacji i może przyjmować postać: + = -- równość, + > -- większy + < -- mniejszy; + p. \fi, \else + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\ifeof numer | +czy koniec danych na strumieniu wejściowym + numer, p. \openin, + \fi, \else + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\iffalse | +początek instrukcji warunkowej; zawsze fałsz!; + p. \fi, \else + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\ifhbox numer | +początek instrukcji warunkowej sprawdzającej czy pudełko (poziome) + o podanym numerze jest puste; + p. \fi, \else + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\ifhmode | +początek instrukcji warunkowej czy jesteśmy w trybie poziomym [3]; + p. \fi, \else + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\ifinner | +początek instrukcji warunkowej; czy jesteśmy w + wewnętrznym trybie pionowym [3]; + p. \fi, \else + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\ifmmode | +początek instrukcji warunkowej czy + jesteśmy w trybie matematycznym; + p. \fi, \else + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\ifnum liczba1 rel liczba2 | +początek instrukcji + warunkowej porównującej wartości typu liczba (całkowita); rel oznacza znak + relacji i może przyjmować postać: + = -- równość, + > -- większy + < -- mniejszy; + p. \fi, \else + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\ifodd liczba | +początek instrukcji warunkowej sprawdzającej czy + liczba (całkowita) jest nieparzysta; + p. \fi, \else + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\iftrue | +początek instrukcji warunkowej; zawsze prawda!; + p. \fi, \else + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\ifvbox numer_pudełka | +początek instrukcji warunkowej + sprawdzającej czy wskazane (p. \setbox) pudełko (pionowe) + jest puste; + p. \fi, \else + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\ifvmode | +początek instrukcji warunkowej czy jesteśmy w trybie pionowym [3]; + p. \fi, \else + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\ifvoid numer_pudełka | +początek instrukcji warunkowej sprawdzającej czy pudełko + o podanym numerze jest puste; + p. \fi, \else + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\ifx token1 token2 | +początek instrukcji + warunkowej: czy tokeny są zgodne co do typów i + rozwinięć; + p. \fi, \else + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\ignorespaces | +TeX przetwarza kolejne tokeny i je ignoruje, aż + napotka token różny od space token + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\immediate operacja we/wy | +klauzula powodująca natychmiastowe wykonanie operacji we/wy (bez oczekiwania na wyprowadzenie strony + do pliku dvi) +openout, +openin, +closeout, +closein, +write, +read. + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+in | +jednostka miary; cal + (1 in = 2.54 cm), p. true, + tablica jednostek + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\indent | +wstawienie pustego pudełka o szerokości + \parindent, jeśli TeX jest w trybie pionowym + następuje przejście + w tryb poziomy (oraz wstawienie tokenu \everypar) + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\input nazwa_zbioru | +wczytaj wskazany zbiór (domyślne rozszerzenie nazwy: tex); + zostanie on dołączony w bieżącym miejscu + tak jakby zawartość była wstawiona bezpośrednio (z zachowaniem + trybu pracy itp.) + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\inputlineno | +w tym rejestrze umieszczany jest numer bieżącej linii przetwarzanego + zbioru wejściowego + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\insert n {materiał} | +polecenie konstruujące wstawkę o numerze n (insert)
+ zawierającą materiał, który może przemieszczać się między stronami,
+ każda wstawka ma powiązane ze sobą rejestry (o tych samych numerach lub
+ synonimach):
+
| |||||||||||||||||||||||||||||||||||||||||||||||||||
+\insertpenalties | +ma dwa znaczenia, podczas normalnego składu, trzyma + sumę wartości kar za złamanie wstawek (inserts) dla ostatnio + rozpatrzonego punktu łamania strony; podczas procedury wyjściowej + \insertpenalties równy jest + liczbie wstawek, które nie zmieściły + się na aktualnej stronie i oczekują na kolejne wywołane output-u + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\interlinepenalty wartość | +kara (liczba całkowita) wstawiana między + liniami akapitu w procesie łamania strony + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\jobname | +rejestr przechowuje nazwę przetwarzanego zbioru (głównego) + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\kern dimen | +przesunięcie następującego za nim materiału (może być ujemne) w + poziomie lub pionie w zależności od aktualnego trybu pracy; + p. dimen + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\language=wartość | +ustawienie numeru języka (liczba całkowita), jego bieżąca wartość + określa reguły przenoszenia wyrazów, + jeśli wartość nie + wskazuje na zdefiniowany zbiór reguł, mechanizm przenoszenia + jest wyłączany; p. \setlanguage, + \lefthyphenmin, + \righthyphenmin + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\lastbox | +wstawienie do składu (tylko w trybie poziomym) + zawartości ostatnio użytego rejestru pudełkowego; + p. \copy, + \setbox, + \unhcopy, + \unhbox, + \unvcopy, + \unvbox + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\lastkern | +rejestr zawierający wartość sumy ostatnich, + następujących po sobie przesunięć, + realizowanych poleceniem \kern + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\lastpenalty | +rejestr zawiera wartość ostatnio wstawionych kar (ew ich sumę) + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\lastskip | +rejestr zawiera wartość wstawionego poprzednio przesunięcia + poleceniem \hskip, + \vskip + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\lccode kod_znaku=kod_znaku | +drugi parametr określa kod znaku będącego odpowiednikiem ,,lowercase'' + dla znaku określonego pierwszym parametrem + (p. \lowercase); + (p. kod_znaku) + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+ \leaders box\hskip glue + \leaders rule\hskip glue |
+ konstrukcja powtarza specyfikację box lub rule + wypełniając przestrzeń przesunięcia określonego przez \hskip + glue (p. \cleaders + i \xleaders) -- całość traktowana + jest jak ,,sprężyna'' (glue) + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\left delim | +operator wymuszający wielkość delimitera i wymuszający + kategorię na ,,otwierający''; p + \delimietrfactor i + \delimitershortfall. + Dla każdego \left musi istnieć + \right. Znak kropki + (.) oznacza delimiter pusty + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\lefthyphenmin liczba | +minimalna długość fragmentu wyrazu (liczba liter) + pozostawianego na końcu linii przy przenoszeniu + (p. \language i \righthyphenmin) + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\leftskip=glue | +parametr określa moc ,,sprężyny'' (glue) wstawianej + z lewej strony materiału strony + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\leqno{materiał} | +konstrukcja umieszczająca materiał (w trybie matematycznym) + z lewej strony wzoru + wystawionego (display), służąca do numerowania (oznaczania) + wzorów z lewej strony + (p. \eqno) + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\let\makro=inne_makro | makropodstawienie, przypisanie + makroinstrukcji wartości innego makra (bez rozwijania) + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\limits | +polecenie określające miejsce położenia indeksu (frakcji) dolnego i górnego; zawsze + nad/pod obiektem; p. też \displaylimits + oraz \nolimits; + np.: \def\int{\intop\limits} + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\linepenalty=wartość | +kara (liczba całkowita) wstawiana w każdej + linii (na wyjściu) + przez TeX-a w procesie łamania akapitu; może jako mechanizm wpływający + na liczbę linii akapitu (p. też \looseness, + [1]) + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\lineskip=glue | +odległość między liniami (dołem linii górnej, a górą linii + bieżącej -- + nie liniami bazowymi wierszy!); + jeśli + (p. \lineskiplimit), + \baselineskip - dn-1 - hn + > \lineskiplimit + odległością staje się \lineskip, + w przeciwnym razie + będzie nią \baselineskip + (ale jako odległość + między liniami bazowymi + wierszy) (dn-1 -- głębokość poprzedniej + linii, hn -- wysokość bieżącej linii) + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\lineskiplimit=dimen | +wartość progowa kiedy \baselineskip zmieniany + jest na \lineskip + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\long | +polecenie modyfikujące sens poleceń \def, + \edef, + \xdef i \gdef + tak, że + parametr może zawierać kilka akapitów (np: \long\def\mmm#1{{\bf #1}}) + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\looseness=liczba | +sugeruje TeX-owi, aby złożył akapit + (liczba dodatnia) o wskazaną liczbę linii dłuższy + lub krótszy (liczba ujemna); sugestia zostanie wzięta + pod uwagę jeśli parametry składu zostaną zachowane + (p. też \linepenalty) + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\lower dimen box | +zawartość pudełka box jest obniżana o dimen + (tylko w trybie poziomym); p. \raise, \hbox, + \vbox, \copy, + \unhbox, \unvbox + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\lowercase{materiał} | +zamiana wielkich liter na małe, a ściślej na odpowiedniki + zdefiniowane przez \lccode + dla użytych znaków + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\mag=wartość | +wartość jest współczynnikiem + skalującym cały dokument (za wyjątkiem wielkości oznaczonych jako + true), w obliczeniach brana jest wartość/1000. + Polecenia tego można użyć zanim nie zostanie wyprowadzona strona do + pliku dvi, brana jest pod uwagę ostatnia dysponowana zmiana + współczynnika + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\mark{tekst} | +wstawia tekst będący jego argumentem (po rozwinięciu) jako znacznik. + Tekst ten jest dostępny dla poleceń: \topmark, + \firstmark, + \splitfirstmark, + \botmark + i \splitbotmark. + Polecenie to umożliwia np. synchronizację + zawartości żywej paginy z składaną treścią + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\mathaccent "CFXX materiał | +użycie akcentu w trybie matematycznym + o kodzie XX; C oznacza klasę znaku + (p. tabela klas), a F oznacza rodzinę + (p. \fam); + p. \mathchar + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\mathbin | +deklaruje, że obiekt jest typu ,,binarny'' + np. + (p. tabela odległości); + p. \binoppenalty + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\mathchar "CFXX | +użycie znaku o kodzie XX; C oznacza klasę znaku + (p. tabela klas), a F oznacza rodzinę + (p. \fam); + p. \mathchardef + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\mathchardef\nazwa="CFXX | +jest alternatywą dla sekwencji: + \def\nazwa{\mathchar "CFXX} + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\mathchoice{D}{T}{S}{SS} | + konstrukcja matematyczna. W zależności od bieżącego trybu zostanie
+ rozwinięty odpowiedni parametr: + D dla displaystyle, + T dla tekststyle, + S dla scriptstyle, + SS dla scriptscriptstyle + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\mathclose | +deklaruje, że obiekt jest typu ,,zamykający'' np. nawias + (p. tabela odległości) + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\mathcode znak="CFXX | +określa kodowanie (XX -- pozycja w tabeli kodowej) + znaku oraz klasę znaku (p. tabela + klas) + (C) dla rodziny F (p. rodzina + fontów) + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\mathinner | +deklaruje, że obiekt jest typu ,,inny'' (p. tabela + odległości) + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\mathopen | +deklaruje, że obiekt jest typu ,,otwierający'' np. nawias + otwierający + (p. tabela odległości) + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\mathop | +deklaruje, że obiekt jest typu ,,operator'' np. znak sumy + (p. tabela odległości) + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\mathord | +deklaruje, że obiekt jest typu ,,ord'' np. litery greckie + (p. tabela odległości) + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\mathpunct | +deklaruje, że obiekt jest typu ,,separator'' np. przecinek + (p. tabela odległości) + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\mathrel | +deklaruje, że obiekt jest typu ,,relacja'' + np. = (p. tabela odległości); + p. \relpenalty + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\mathsurround=dimen | +dodatkowa odległość wstawiana przed i po + konstrukcji matematycznej nieeksponowanej (wewnątrzakapitowej); + p. dimen + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\maxdeadcycles | +maksymalna liczba wywołań procedury wyjściowej + nie wywołujących polecenia \shipout -- po jej przekroczeniu + pojawia się komunikat błędu i wywoływania jest standardowa + procedura wyjściowa -- ma to zapobiegać zapętleniu procedury + wyjściowej; p. też + \deadcycles + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\maxdepth | +maksymalna głębokość (dimen) + dla output-owanej strony, jeśli + głębokość ostatniego pudełka na stronie jest większa od + \maxdepth, + to jest ono odpowiednio ,,podnoszone'' (zwiększana jest jego wysokość, + tak by głębokość mieściła się w zadanym zakresie) + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\meaning token | +polecenie pokazuje naturę parametru; np. jeśli + token reprezentuje makroinstrukcję zostanie + pokazana jej definicja + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\medmuskip=mglue | +matematyka; rejestr określający moc sprężyny trybu matematycznego + (mglue) + domyślnie: 4mu plus 2mu + minus 4mu; + p. \mskip + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\message{materiał} | +materiał zostanie wyświetlony (po rozwinięciu) na konsoli i umieszczany w pliku + log; p. errmessage + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+minus dimen | +kwalifikator określający ,,ścisk'' sprężyny (wielkości typu + glue); p. dimen + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+ \mkern mdimen | +dodatkowe przesunięcie (dodatnie lub ujemne) o mdimen + w trybie matematycznym + (dopuszczalna jednostka mu) + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+mm | +jednostka miary -- milimetr (1 mm = 0.1 cm); + p. true, tablica + jednostek + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\month | +rejestr zawierający numer bieżącego miesiąca + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\moveleft dimen box | +przesunięcie pudełka box w lewo o dimen + (tylko w trybie pionowym); + p. moveright, dimen + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\moveright dimen box | +przesunięcie pudełka box w prawo o dimen + (tylko w trybie pionowym) p. moveleft, dimen + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\mskip mglue | +dodatkowe przesunięcie typu mglue + w trybie matematycznym (dopuszczalna + jednostka mu) + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+mu | +jednostka miary (mathematical unit) jednostka używana w + określaniu odległości w trybie + matematycznym -- równa 1/18 6 parametru fontu + (fontdimen6) drugiej rodziny + bieżącego stylu + (jej wielkość zmienia się w miarę + przełączania trybu + displaystyle, + textstyle, + scriptstyle i + scriptscriptstyle, ponieważ + wtedy zmienia się wielkość fontu) + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\multiply\rejestr by wartość | +mnożenie rejestru przez wartość; + uwaga na typ elementów -- wynik musi być sensowny + (typ wyniku przewidziany w TeXu) + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\muskip numer | +rejestr typu muskip o wskazanym numerze (0 -- 255) + zawierający wielkość przesunięcia w trybie matematycznym); + p. \muskipdef + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+ \muskip numer=mglue | +nadanie wartości rejestrowi o wskazanym numerze; + p. \muskipdef, mglue + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\muskipdef\nazwa=numer | +zdefiniowanie synonimu \nazwa, odpowiadającego + rejestrowi \muskip o podanym + numerze + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\newlinechar=kod_znaku | +definiuje znak, który jest zamieniany na znak powrotu karetki + na liście tokenów polecenia \write; + (p. kod_znaku) + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\noalign{materiał} | +polecenie stosowane w + konstrukcjach tabularycznych, powoduje że materiał nie podlega + pozycjonowaniu (p. \halign + i \valign) + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\noboundary | +powoduje przejście w tryb poziomy, polecenie ma wpływ na + realizację skrajnych ligatur i kernów. Prawdopodobnie ma to związek + z możliwością definiowania w foncie ligatur z niewidocznymi znakami. + Knuth bardzo enigmatycznie wyjaśnił znaczenie tego polecenia. + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\noexpand | +zapobiega rozwijaniu następnego tokena + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\noindent | +akapit jest rozpoczynany ,,bez wcięcia'' (przełącza w tryb poziomy) + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\nolimits | +kwalifikator określający miejsce położenia indeksu (frakcji) dolnego i + górnego; zawsze obok obiektu (jako górna lub dolna frakcja) + p. też \displaylimits oraz + \limits; + np.: \def\int{\intop\nolimits} + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+ \nonscript glue | +polecenie powoduje, że następujące po nim przesunięcie nie jest + kasowane w trybie \scriptstyle i + \scriptscriptstyle + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\nonstopmode | +TeX nie przerywa przetwarzania w przypadku napotkania błędu; + p. \errorstopmode, + \batchmode, + \scrollmode + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\nulldelimiterspace=dimen | +szerokość pustego delimitera (generowanego + poleceniem \left. + lub \right.); + p. dimen + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\nullfont | +font (pseudofont) zawsze gotowy do użycia + (zawiera pusty zestaw znaków) + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\number liczba_całkowita | +polecenie wyprowadza liczbę całkowitą w postaci + reprezentującego ją napisu, + w postaci znormalizowanej (np. początkowe zera + są pomijane) + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\omit | +polecenie powoduje pominięcie deklaracji sposobu formatowania rubryki tabelki, może wystąpić + tylko na początku rubryki, czyli po + \cr, & albo + \noalign. Daje taki + efekt jakby w wzorcu tabeli w danej rubryce wystąpił tylko znak + #; p. halign, \valign + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\openin liczba=nazwa_pliku | +otwarcie pliku do + odczytu, będzie mu przyporządkowany kanał o numerze liczba (z + zakresu 0--15); p. \read i + \closein, \immediate + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\openout liczba=nazwa_pliku | +otwarcie pliku do + zapisu, będzie mu przyporządkowany kanał o numerze liczba (z + zakresu 0--15); p. \write i + \closeout, \immediate + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\or | +część instrukcji wyboru p. \ifcase + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\outer | +ustawia atrybut ,,zewnętrzna'' dla następującej po nim + definicji; makrodefinicje definiowane z tym atrybutem, nie mogą wystąpić + wewnątrz innych definicji, ani w parametrze innego makra. Przykładem + makrodefinicji z tym modyfikatorem jest \bye + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+ \output materiał | +jest to rejestr żetonowy (token) -- ma charakter + procedury; jest on automatycznie + wywoływany w momencie znalezienia dobrego punktu podziału strony, + w tym momencie w pudełku 255 (\box255) znajduje się zawartość + gotowej strony (current page), a + w odpowiednich pudełkach zawartości + wstawek, oraz mnóstwo ustawionych stosownie rejestrów -- zarówno + liczbowych (np. \outputpenalty, + \insertpenalties), jak np. znaczników + (\mark). Wewnątrz materiału powinny znaleźć się + konstrukcje budujące + kompletną stronę (np. dołączające paginę -- + (w szczególności musi zostać opróżnione pudełko 255) i (najczęściej) zapisać ją + (poleceniem \shipout) do pliku DVI; wewnątrz procedury wyjściowej + TeX pracuje w nieco inaczej niż normalnie (na ten temat jest cały + rozdział 23 TeXbooka) w szczególności np. materiał złożony w procedurze + wyjściowej trafia z powrotem na listę bieżącej strony _przed_ + materiałem pozostałym na liście ostatnich elementów (recent contributions) + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\outputpenalty=wartość | +wartość kary na której nastąpiło ostatnie przełamanie + strony; jeśli złamanie nastąpiło na obiekcie innym niż kara, + \outputpenalty + ma wartość 10000 + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\over | +konstrukcja matematyczna -- ułamek; np.: + $1 + {1 \over 1+x}$ (licznik i mianownik jest + składany w stylu o jeden stopień niższym + (p. \displaystyle, + \textstyle, + \scriptstyle + i \scriptscriptstyle); + p. \above + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\overfullrule dimen | +szerokość ,,sztabki'', którą TeX + oznacza przekroczenie rozmiaru pudełka, nadanie wartości 0pt likwiduje + oznaczenie, ale oczywiście nie likwiduje problemu; mechanizm zwykle używany + przy wydrukach kontrolnych; + p. hfuzz + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\overline{materiał} | +konstrukcja matematyczna; + materiał będzie nadkreślony + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\overwithdelims delim1delim2 | +podobnie jak \over, ale konstrukcja + zostanie otoczona przez delim1 i + delim2; + p. \above + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\pagedepth | +aktualna głębokość (dimen) materiału + na stronie (current page), używana + przez algorytm łamania na strony; można modyfikować tą wartość choć efekty + nie są łatwe do przewidzenia + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\pagefilllstretch | +aktualne + rozciągliwości wyższego stopnia (odpowiednio ilość klejów zawierających + filll) materiału na stronie (current page), używane przez + algorytm łamania na strony; można modyfikować te wartości choć efekty + nie są łatwe do przewidzenia; + p. \pagefilstretch,\pagefillstretch + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\pagefillstretch | +aktualne + rozciągliwości wyższego stopnia (odpowiednio ilość klejów zawierających + fill) materiału na stronie (current page), używane przez + algorytm łamania na strony; można modyfikować te wartości choć efekty + nie są łatwe do przewidzenia; + p. \pagefilstretch,\pagefilllstretch + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\pagefilstretch | +aktualne + rozciągliwości wyższego stopnia (odpowiednio ilość klejów zawierających + fil) materiału na stronie (current page), używane przez + algorytm łamania na strony; można modyfikować te wartości choć efekty + nie są łatwe do przewidzenia; + p. \pagefillstretch,\pagefilllstretch + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\pagegoal | +pożądana wysokość (dimen) materiału + na stronie (current page), używana + przez algorytm łamania na strony; w uproszczeniu, jest to wartość + \vsize + ,,zakonserwowana'' na początku strony, można modyfikować tą wartość choć + efekty nie są łatwe do przewidzenia + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\pageshrink | +aktualna ściśliwość (dimen) materiału + na stronie (current page), używana + przez algorytm łamania na strony; można modyfikować tą wartość choć efekty + nie są łatwe do przewidzenia + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\pagestretch | +aktualna rozciągliwość (dimen) materiału + na stronie (current page), + używana przez algorytm łamania na strony; można modyfikować tą wartość choć + efekty nie są łatwe do przewidzenia + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\pagetotal | +aktualna wysokość (dimen) materiału + na stronie (current page), używana + przez algorytm łamania na strony; można modyfikować tą wartość choć efekty + nie są łatwe do przewidzenia + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\par | +koniec akapitu (równoważne pustej linii) + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+ \parfillskip=glue | +sprężyna dodawana na końcu akapitu (po ostatnim znaku); standardowo o ,,mocy'' + 0pt plus 1fil. + Powoduje że ostatnia linia akapitu ma swoją nominalną długość, + taką, jaka wynika z jej zawartości. Zmiana jej długości + nominalnej spowoduje wyłączenie mechanizmu kontroli odległości + przed i po wzorze ,,eksponowanym'' (odległość będzie ustawiana zawsze na + \belowdisplayskip i + \abovedisplayskip) + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\parindent=dimen | +wielkość wcięcia akapitowego; + p. dimen + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\parshape=n m1 l1 ... + mn ln | +polecenie pozwala + nadać dowolny kształt akapitu; n określa liczbę linii akapitu + podlegających modyfikacji, pary liczb: mn ln + określają lewy margines i długość wiersza w poszczególnych liniach akapitu, + jeżeli akapit będzie miał więcej niż n wierszy, pozostałe będą miały + cechy takie jak w ostatniej wyspecyfikowanej linii (wartość + parametru jest zerowana po zakończeniu akapitu), p.  też \hangafter, \hangindent + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\parskip=glue | +rejestr zawiera wielkość odstępu między akapitami + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\patterns{definicje} | +definicje określają reguły + przenoszenia wyrazów (tylko initex) + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\pausing liczba | +jeśli liczba jest większa od zera, TeX + wstrzymuje pracę po wczytaniu każdej linii tekstu i wyświetla ją na konsoli, + można ją zatwierdzić lub wprowadzić inny tekst + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+pc | +jednostka miary -- pica (1 pc = 12 pt); + p. true, tablica + jednostek + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\penalty=wartość | +kara (liczba całkowita) o podanej wartości wstawiana w miejscu + użycia (wartość 10000 oznacza nieskończoność); + znaczenie zależy od kontekstu + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+plus dimen | +kwalifikator określający ,,rozciąg'' sprężyny (wielkości + typu glue); + p. dimen + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\postdisplaypenalty=wartość | +kara (liczba całkowita) za złamanie + strony po wzorze eksponowanym (wystawionym) + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\predisplaypenalty=wartość | +kara (liczba całkowita) za złamanie strony + przed wzorem eksponowanym (wystawionym) + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\predisplaysize | +do rejestru \predisplaysize wpisywana jest efektywna szerokość wiersza +poprzedzającego równanie (p) zgodnie z następującymi regułami: jeżeli +przed równaniem nie wystąpił żaden wiersz (na przykład jeśli znacznik $$ +wystąpił bezpośrednio po instrukcji \noindent +lub po zamykającym inne równanie +znaczniku $$), p przyjmuje wartość -16383.99999pt (-\maxdimen, czyli +najmniejszy dopuszczalny wymiar). W przeciwnym razie TeX sprawdza pudełko +utworzone przez poprzedni wiersz i określa wartość p jako równą szerokości +wnętrza pudełka, plus przesunięcie pudełka w prawo, plus dwie jednostki em z +bieżącego fontu. Jeśli jednak szerokość wnętrza pudełka zależy od ściśliwości +lub rozciągliwości odstępów -- jeśli na przykład klej \parfillskip ma wartość +skończoną -- wówczas p przyjmuje wartość \maxdimen. + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\pretolerance=wartość | +akceptowalna kiepskość składu akapitu. jeżeli jest + spełniona (w pierwszym przebiegu + TeX próbuje złożyć akapit bez przenoszenia wyrazów) to nie nastąpi drugi przebieg, + jeżeli nie zostanie + osiągnięta następuje drugie podejście do składu uwzględniając reguły przenoszenia + wyrazów, wartość -1 oznacza rezygnację z pierwszego + przebiegu [1] + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\prevdepth | +zawiera głębokość (dimen) ostatniego pudełka dołączonego + do listy + pionowej, wartość ta używana jest przy ustalaniu odstępów międzyliniowych; + bywa użyteczna do kompensowania głębokości pudełka + np. \vskip-\prevdepth; + wartość tą można także modyfikować; uwaga -- gdy lista pionowa jest pusta + \prevdepth przyjmuje wartość -1000pt, + tą samą wartość, ma po wstawieniu + do listy, a także po użyciu makra \nointerlineskip + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\prevgraf | +rejestr zawiera liczbę linii (count) w ostatnio złożonym akapicie (lub jego osobno + złożonej części -- np. przed wzorem eksponowanym) -- wykorzystywana przez + polecenia \hangafter i + \parshape; wartość tą można modyfikować; + uwaga: każdy wzór eksponowany jest liczony jako trzy linie + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+pt | +jednostka miary -- punkt typograficzny + (1 pt = 1/12 pc); + p. true, tablica + jednostek + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\radical="f1XXf2YY | +konstrukcja pierwiastka: f1, + f2 rodzina dla wersji ,,małej'' i ,,dużej'' + XX, YY kody znaków dla odpowiadających im rodzin + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\raise dimen box | +zawartość pudełka box jest podnoszona o dimen + (tylko w trybie poziomym); p. \lower, \hbox, + \unhbox, \unvbox, + \vbox, \copy + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\read numer to \skewencja_sterująca | +wczytanie linii z kanału wejściowego numer + (p. \openin, \immediate) i umieszczeniu jej ,,pod nazwą'' + \sekwencja_sterująca + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\relax | +NIC, ale jego użycie powoduje zakończenie analizy poprzedzającego tokenu + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\relpenalty=wartość | +kara za złamanie linii po operatorze relacji + (rel atom); p. \mathrel + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\right delim | +operator wymuszający wielkość delimitera i ustawiający + kategorię na ,,zamykający''; + p. \delimiterfactor + i \delimitershortfall. + Dla każdego \right musi istnieć + \left. Znak kropki + . oznacza delimiter pusty + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\righthyphenmin=liczba | +minimalna długość fragmentu wyrazu (liczba liter) + przenoszonego do następnej linii przy przenoszeniu + (p. \language i \lefthyphenmin) + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\rightskip=glue | +parametr określa moc ,,sprężyny'' (glue) dodawanej + z prawej strony materiału strony + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\romannumeral wartość | +wyprowadza wartość w postaci + zapisu ,,rzymskiego'' (tylko część całkowita) + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+scaled współczynnik | +mnożnik określający przeskalowanie fontu + (mnożnik = 1/1000 * współczynnik) + np.: font\xii=plr10 scaled 1200 + (równoważny + font\xii=plr10 at 12pt) + Uwaga! Zdefiniowany font \xii to nie to samo co font + plr12 + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\scriptfont f = \nazwa_fontu | +ustalenie fontu dla + \scriptstyle dla rodziny o numerze f (0--15); + p. \font + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\scriptscriptfont f = \nazwa_fontu | +ustalenie fontu dla + \scriptscriptstyle dla rodziny o + numerze f (0--15); + p. \font + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\scriptscriptstyle | +przełączenie składu matematyki w tryb scriptscript + (p. \limits, + \nolimits, + \displaylimits, + \displaystyle, + \textstyle, + \scriptstyle, + \textfont, + \scriptfont, + \scriptscriptfont) + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\scriptspace=dimen | +dodatkowa odległość po konstrukcji subscript + (_{...}) i + superscript (^{...}) + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\scriptstyle | +przełączenie składu matematyki w tryb script + (p. \limits, + \nolimits, + \displaylimits, + \displaystyle, + \textstyle, + \scriptscriptstyle, + \textfont, + \scriptfont, + \scriptscriptfont) + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\scrollmode | +TeX nie przerywa przetwarzania w przypadku pojawienia się + błędu; p. \errorstopmode, + \batchmode, + \nonstopmode + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\setbox numer_pudełka=box | +zapamiętuje zawartość pudełka + box w wskazanym rejestrze pudełek + (box może być jednym z obiektów: + \hbox, + \vbox, + \vtop, + \box, + \copy, + \vsplit, + \lastbox) + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\setlanguage numer | +wybiera bieżący język (zestaw reguł przenoszenia + wyrazów), słuzy do chwilowego przełączanie reguł wewnątrz akapitu, + Zestawy reguł są konstruowane (i numerowane) w czasie działania + iniTeX-a; p. \language, \patterns + + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\sfcode kod_znaku=wartość | +wartość mająca wpływ na obliczenie odległości
+ między wyrazami,
+ standardowo jest predefiniowana dla każdego znaku w foncie i przyjmuje
+ zwykle następujące wartości: 0 dla nawiasów zamykających, 1000 dla liter,
+ 3000 dla znaków punktuacyjnych, które wg niektórych zwyczajów typograficznych
+ wymagają dodatkowej odległości (np.: .) i z zakresu 1000--2000
+ dla innych znaków punktuacyjnych, np.: ,). Standardowo
+ odległość międzywyrazowa jest wielkością projektową fontu i składa
+ się z dwu parametrów (p. \fontdimen):
+ normalnego i ekstra, dodawanego
+ jeśli \sfcode znaku kończącego wyraz > 2000.
+ Odległości można
+ zmienić modyfikując parametry \spaceskip
+ o \xspaceskip;
+ zależności pokazuje tabela:
+
| |||||||||||||||||||||||||||||||||||||||||||||||||||
+\shipout pudełko | +wysyła pudełko stanowiące jej parametr jako kolejną stronę + do DVI, czyli dopisuje do pliku jobname.DVI; najczęściej polecenie + to jest wywoływane w procedurze wyjściowej + (output routine), ale może być użyte w każdym momencie; wywołanie polecenia + \shipout powoduje także właściwe wykonanie poleceń + \write oraz \openout + i \closeout -- czyli zapis do ewentualnych plików pomocniczych (p. też \immediate) + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\show cos | +powoduje wyprowadzenie na konsolę bieżącej + wartości ,,cosia'' + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\showbox numer_pudełka | +przerywa przetwarzanie, + informacje o wskazanym pudełku są zapisywane w pliku + log + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\showboxbreadth=liczba_całkowita | +wartość tego rejestru określa liczbę pozycji (pudełek, znaków) w śledzonym pudełku + pokazywanych poleceniem \showbox; + p. \showlists + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\showboxdepth=liczba_całkowita | +wartość tego rejestru określa głębokość śledzenia zagnieżdżeń + pudełek pokazywanych poleceniem \showbox + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\showlists | +przerywa przetwarzanie, w pliku log zapisywane są + informacje o tym co jest wstawiane do składu (znaki, pudełka sprężyny, + zmiany trybów itp.) + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\showthe cos | +przerywa przetwarzanie, informacje o + ,,cosiu'' podawane są na konsoli i w pliku log (p. też + \the) + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\skewchar font znak | +rejestr ustawiany dla każdego fontu, znak używany przez + algorytm pozycjonowania akcentów w matematyce, wartość kernu między znakiem + akcentowanym, a określonym przez \skewchar + jest używana jako korekta poziomego położenia + akcentu; + p. \defaultskewchar) + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\skip numer | +rejestr typu glue o wskazanym + numerze (0 -- 255) + (zamiast numeru może być użyty synonim, + p. \skipdef) + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+ \skip numer=glue | +ustawienie wartości rejestru typu glue o wskazanym + numerze (0 -- 255) + (zamiast numeru może być użyty synonim, + p. \skipdef) + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\skipdef\nazwa=numer | +zdefiniowanie synonimu \nazwa, + odpowiadającego + rejestrowi \skip o numerze numer + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+sp | +jednostka miary -- scaled point (65536 sp = 1 pt); + p. true, tablica + jednostek + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\spacefactor liczba | +zmienia sfcode + poprzedzającego znaku; p. + \xspaceskip, + \spaceskip + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\spaceskip=glue | +w określonych sytuacjach może mieć wpływ na odległość między + wyrazami; p. \sfcode, + \spacefactor i \xspaceskip + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\span | +polecenie powoduje połączenie danej rubryki tabelki z kolejną, może wystąpić + tylko na początku rubryki, czyli po \cr, + & albo + \noalign. W połączonej + rubryce stosowana jest sposób formatowania z drugiej (przyłączanej) rubryki, + dlatego często używa się kombinacji + \span\omit; + p. \halign,\valign + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\special{materiał} | +materiał jest przekazywany na wyjście + (do pliku dvi), + po uprzednim rozwinięciu makr. Mechanizm ten + jest używany głównie do + przesłania poleceń do programów drukujących + (np. wstawienie grafiki) + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\splitbotmark | +przyjmuje wartość ostatniego znacznika + (\mark), który pojawił + się w obecnie łamanym (\vsplit) + pudełku; działa analogicznie jak polecenie + \botmark dla strony + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\splitfirstmark | +przyjmuje wartość pierwszego znacznika + (\mark), który pojawił + się w obecnie łamanym (\vsplit) pudełku; + działa analogicznie jak polecenie + \firstmark dla strony + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\splitmaxdepth | +maksymalna głębokość (dimen) + oddzielanego pudełka, parametr + używany przez \vsplit analogicznie do parametru + \maxdepth używanego + w algorytmie łamania na strony + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\splittopskip | +klej (glue) wstawiany nad częścią pozostałą w pudełku, + po użyciu polecenia \vsplit, analogiczny do parametru + \topskip używanego + w algorytmie łamania na strony + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+spread dimen | +wartość dimen definiuje o ile trzeba + wydłużyć pudełko + np. \hbox spread 50pt{to jest pudełko} + -- tekst + będzie złożony w pudełku o 50pt dłuższym niż + rozmiar nominalny + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\string token | +token jest pobierany bez rozwijania, + jest traktowany w + całości jako napis (znaki otrzymują kategorię 12, a + znak o kategorii 0, zostanie zamieniony na znak o kodzie + zdefiniowanym przez \escapechar) + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\tabskip glue | +odległość między kolumnami konstrukcji + \valign i \halign + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\textfont f = \nazwa_fontu | +ustalenie fontu dla + \displaystyle + i \textstyle + dla rodziny o numerze f (0--15); + p. \font, \fam + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\textstyle | +przełączenie składu matematyki w tryb text + (wielkość czcionki i sposób + ustawiania górnego i dolnego rejestru (indeksu); + p. \limits, + \nolimits, + \displaylimits, + \displaystyle, + \scriptstyle, + \scriptscriptstyle, + \textfont, + \scriptfont, + \scriptscriptfont) + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\the coś | +wyprowadza bieżącą wartość ,,cosia'', działanie zależy + od jego natury + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\thickmuskip=mglue | +matematyka; rejestr określający moc sprężyny trybu matematycznego + (mglue) + domyślnie: + 5mu plus 5mu; + p. \mskip + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\thinmuskip=mglue | +matematyka; rejestr określający moc sprężyny trybu matematycznego + (mglue) + domyślnie: 3mu; + p. \mskip + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\time | +rejestr zawiera liczbę minut które upłynęły od północy + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+to dimen | +dodatkowy (opcjonalny) prefiks przy określaniu szerokości pudełka np: + \hbox to 3cm{Ala ma kota}; + p. dimen + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+ \toks numer{lista tokenów} | +ustalenie zawartości rejestru tokenowego o podanym numerze (0 -- 255) + (tokeny, jednostki leksykalne, żetony), zamiast numeru można + użyć synonimu; + p. \toksdef + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\toksdef\nazwa=numer | +zdefiniowanie synonimu \nazwa, + odpowiadającego rejestrowi \toks o numerze numer + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\tolerance | +akceptowalna kiepskość składu akapitu przy drugim przebiegu + (p. \pretolerance); jeżeli TeX nie jest w + stanie jej osiągnąć jest to sygnalizowane (lub następuje + przejście do trzeciego przebiegu, + p. \emergencystretch) + [1] + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\topmark | +przyjmuje wartość ostatniego znacznika (\mark), +który pojawił + się na poprzedniej (niż obecnie output-owana) stronie; czyli ma takie + samo znaczenie jak miał + \botmark + na poprzedniej stronie + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\topskip glue | +sprężyna (glue) dodawana na górze strony + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\tracingcommands=liczba | +jeśli liczba równa jest 1 TeX + pokazuje (zbiór + *.log) wykonanie wszystkich wykonywanych poleceń + (makroinstrukcji), jeśli liczba równa jest 2 + dodatkowo pokazyane są efekty poleceń warunkowych; + wartość zero oznacza brak śledzenia + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\tracinglostchars=liczba | +jeśli liczba jest większa niż 1 + sygnalizowane są (zbiór + *.log) przypadki braku użytego znaku w bieżącym foncie + (standardowo włączony) + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\tracingmacros=liczba | +jeśli liczba jest większa niż 1 + sygnalizowane są (zbiór + *.log) szczegóły związane z rozwijaniem + makroinstrukcji + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\tracingonline=liczba | +jeśli liczba jest większa niż 1 + komunikaty śledzenia są wyprowadzane również na konsolę (istotne + w przypadku innych poleceń śledzenia) + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\tracingoutput=liczba | +jeśli liczba jest większa niż 1 + podawane są informacje o wyprowadzanych na wyjście (zbiór + *.log) znakach (i pudełkach) + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\tracingpages=liczba | +jeśli liczba jest większa niż 1 + sygnalizowane są (zbiór + *.log) szczegóły związane z procesem łamania stron + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\tracingparagraphs=liczba | +jeśli liczba jest większa niż 1 + sygnalizowane są szczegóły (zbiór + *.log) związane z procesem łamania akapitów + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\tracingrestores=liczba | +jeśli liczba jest większa niż 1 + sygnalizowane są (zbiór + *.log) informacje o odtworzeniu wartości parametrów + w związku z zakończeniem grupy + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\tracingstats=liczba | +jeśli liczba jest większa niż 1 + sygnalizowane są (zbiór + *.log) informacje statystyczne o wykorzystaniu pamięci + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+true | +dodatkowy kwalifikator przy podawaniu miar, oznacza, że nie podlegają + one skalowaniu, np.: \hskip 2 true cm; + p. \mag + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\uccode kod_znaku=kod_znaku | +drugi parametr określa kod znaku będącego odpowiednikiem ,,uppercase'' + dla znaku określonego pierwszym parametrem + (p. \uppercase); + (p. kod_znaku) + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\uchyph=wartość | +jeśli wartość jest równa 0, blokowane + jest przenoszenie wyrazów zaczynających się wielką literą + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\underline{materiał} | +konstrukcja matematyczna; materiał + jest podkreślany linią ciągłą + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\unhbox numer_pudełka | +,,wydłubanie'' zawartości + wskazanego pudełka poziomego, pudełko staje + się puste (p. \setbox, + \copy, \box, + \unhcopy) + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\unhcopy numer_pudełka | +,,wydłubanie'' zawartości + wskazanego pudełka poziomego, zawartość + pudełka nie ulega zmianie (p. \setbox, + \copy, + \box, \unhbox) + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\unkern | +wycofanie ostatnio użytego ,,podcięcia'' (kern) + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\unpenalty | +wycofanie ostatnio wstawionej kary + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\unskip | +wycofanie ostatnio użytej ,,sprężyny'' (glue); równoważne + \vskip -\lastskip + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\unvbox numer_pudełka | +,,wydłubanie'' zawartości + wskazanego pudełka pionowego, pudełko staje + się puste (p. \setbox, + \copy, + \box, \unvcopy) + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\unvcopy numer_pudełka | +,,wydłubanie'' zawartości + wskazanego pudełka pionowego, zawartość + pudełka nie ulega zmianie (p. \setbox, + \copy, + \box, \unvbox) + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\uppercase{materiał} | +zamiana małych liter na wielkie, a ściślej na + odpowiedniki zdefiniowane przez \uccode + dla użytych znaków + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\vadjust{materiał} | +wstawienie materiału + pionowego ,,między wierszami'' (wtrącenie materiału pionowego + w trybie poziomym) + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\valign {materiał} | +definiuje środowisko tabularyczne, materiał logicznie dzieli
+ się na dwie części: 1. preambułę, czyli definicję wierszy i sposobu ich
+ formatowania, 2. tekst tworzący zawartość tabeli. W preambule fakt
+ istnienia materiału kolumny sygnalizujemy znakiem #, a
+ separatorem kolumn jest znak &. Przykład:
+ + \halign{# & #\cr + 1234 & 1 \cr + 1 & 1234 \cr} ++ jak widać poleceniem końca kolumny (poszczególne elementy w + wierszu definicji, określają poszczególne elementy kolumny w składzie) + jest \cr; p. + \crcr, + \noalign, + \span, + \omit oraz + \halign + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\vbadness=wartość | +wartość progowa; + jeżeli przy łamaniu strony ,,kiepskość'' przekroczy tą wartość pojawi + się komunikat + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\vbox {materiał} | +wstawienie materiału pionowego (jeżeli wewnątrz nie nastąpi przejście + w tryb poziomy, to szerokość pudełka wyniesie tyle, ile największa szerokość elementu + wewnętrznego, + w przeciwnym razie szerokość pudełka wyniesie \hsize. + Głębokością pudełka będzie głębokość ostatniego elementu na liście + pionowej (resztę stanowi wysokość). + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+ \vbox to dimen {materiał} | +j.w. ale wysokość pudełka wyniesie dimen (z możliwością + powstania niedomiaru lub przepełnienia) -- nie wpływa na głębokość. + p. dimen + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+ \vbox spread dimen {materiał} | +j.w., ale wysokość nominalna pudełka zostanie zwiększona o + dimen -- nie wpływa na głębokość; + p. dimen + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\vcenter {materiał} | +konstrukcja matematyczna, analogiczna do
+ \vbox, której wysokość i głębokość
+ jest jednakowa; umożliwia pozycjonowanie materiału pionowego
+ np. względem znaku =; np.
+ $$x=\vcenter{\hbox{aaaa}\hbox{bbbb}\hbox{cccc}}$$
+
+
| |||||||||||||||||||||||||||||||||||||||||||||||||||
+ \vcenter to dimen {materiał} | +j.w., ale całkowity rozmiar pionowy wyniesie + dimen; materiał nie jest + środkowany w pionie. + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+ \vcenter spread dimen {materiał} | +j.w., ale całkowity rozmiar pionowy zostanie powiększony o + dimen; materiał nie jest + środkowany w pionie. + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\vfil | +sprężyna (glue) pionowa o zerowej wysokości i nieskończonym rozciągu + (równoważna \vskip 0pt plus 1fil) + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\vfill | +jw. ale mocniejsza (równoważna \vskip 0pt plus 1fill) + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\vfilneg | +równoważne \vskip 0pt plus -1fil + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\vfuzz=dimen | +dopuszczalne niesygnalizowane przekroczenie długości strony; + p. dimen + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\voffset=dimen | +dodatkowe przesunięcie całego materiału strony o wskazaną + wartość w dół (w górę jeśli ujemna); + p. dimen + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\vrule | +linia pionowa o wysokości i głębokości zależnej od kontekstu użycia o grubości + 0.4 pt odkładana na liście poziomej; + można wyspecyfikować inne parametry np.: + \vrule width 3cm depth 1mm height 0.5mm + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\vsize=glue | +wysokość materiału składu (bez stopek i nagłówków) + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\vskip glue | +dodatkowa odległość w pionie; użycie przełącza w tryb pionowy + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\vsplit numer_pudełka to dimen | +poleceniu uruchamiające dla danego + pudełka (\vbox) algorytm równoważny + algorytmowi łamania na strony; + od wskazanego pudełka oddzielana jest początkowa część o podanej + wysokości dimen i zwracana jako wynik, reszta zawartości pudełka pozostaje w nim + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\vss | +sprężyna (glue) o zerowej długości działająca w pionie + o nieskończonym ścisku i rozciągu (ale o bardzo słabej mocy); + równoważna \vskip 0pt + plus 1fil minus 1fil + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\vtop {materiał} | +wstawienie materiału pionowego (jeżeli wewnątrz nie nastąpi przejście + w tryb poziomy, to szerokość pudełka wyniesie tyle, ile największa szerokość elementu + wewnętrznego, + w przeciwnym razie szerokość pudełka wyniesie \hsize. + Wysokością pudełka będzie wysokość pierwszego elementu na liście + pionowej (resztę stanowi głębokość). + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+ \vtop to dimen {materiał} | +j.w. ale głębokość pudełka wyniesie dimen, powiększona/pomniejszona o + pewną wartość tak, aby całkowity rozmiar pionowy był identyczny z + analogiczną konstrukcją \vbox + (z możliwością + powstania niedomiaru lub przepełnienia) -- wysokość nie ulega zmianie + p. dimen + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\vtop spread dimen {materiał} | +j.w., ale głębokość nominalna pudełka zostanie zwiększona o + dimen pomniejszoną/powiększoną o pewną wartość tak, + aby całkowity rozmiar pionowy był identyczny z + analogiczną konstrukcją \vbox + p. dimen + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\wd numer_pudełka | +szerokość pudełka o wskazanym numerze + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+ \wd numer_pudełka=dimen | +określenie szerokości pudełka o wskazanym numerze; + p. dimen + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\widowpenalty=wartość | +kara za złamanie strony przed ostatnią linią akapitu + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+width dimen | +długość linii poziomej lub grubość pionowej np.: + \hrule width 1cm + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\write numer {lista tokenów} | +zapisanie listy tokenów na kanał wyjściowy o wskazanym + numerze, + p. \openout, \closeout, + \immediate, \newlinechar + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\xdef .... | +równoważna sekwencji + \global\edef + (p. \def, + \long, \gdef + \global + i \globaldefs) + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\xleaders box\hskip glue + \xleaders rule\hskip glue |
+ konstrukcja powtarza specyfikację box lub rule + wypełniając przestrzeń przesunięcia określonego przez \hskip + glue + (p. \leaders + i \cleaders) -- całość traktowana + jest jak ,,sprężyna'' (glue) + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\xspaceskip=glue | +w określonych sytuacjach może mieć wpływ na odległość między + wyrazami; p. \sfcode, + \spaceskip + i \spacefactor + | |||||||||||||||||||||||||||||||||||||||||||||||||||
+\year | +rejestr zawierający numer bieżącego roku (licząc od początku naszej ery) + |
+nc | +jednostka miary -- nowy Cicero (1nc=12nd); + p. tablica jednostek, +true + | |||||||||||||||||||
+nd | +jednostka miary -- nowy Didot + (1nd=0.375mm); p. nc, +true, + tablica jednostek + | |||||||||||||||||||
+\efcode\font znak=liczba | +polecenie określa zdolność rozciągania poszczególnych znaków (w + jednostkach n/1000), ale nie bardziej niż zostało to określone + dla całego fontu; p. \pdffontexpand, +\pdfadjustspacing + | |||||||||||||||||||
+\ifpdfabsnum liczbanew | +porównuje wartości absolutne liczb (p; \ifnum) + | |||||||||||||||||||
+\ifpdfabsdim dimennew | +porównuje wartości absolutne wielkości typu + dimen (p; \ifdim) + | |||||||||||||||||||
+\ifpdfprimitive\polecenienew | +instrukcja warunkowa sprawdzająca czy polecenie jest + poleceniem wbudowanym + | |||||||||||||||||||
+\leftmarginkern box num | +podaje szerokość marginesu (kern-u) + lewej strony materiału zawartego w podanym pudełku???? + (p. \rightmarginkern). + | |||||||||||||||||||
+\lpcode\font znak=liczba | +liczba×0.001em określa + maksymalną wielkość wysunięcia danego znaku na lewy margines, jeśli jest on + pierwszym znakiem w linii (p. \pdfprotrudechars, + \rpcode) + | |||||||||||||||||||
+\pdfadjustspacing=liczba | +wartość parametru określa strategię pdftex-a odnośnie działania + poleceń \pdffontexpand i \efcode: 0 -- wyłączenie, + 1 -- znaki są + rozciągane/ściskane po sformatowaniu akapitu (łamanie jest identyczne + jak w TeX-u, ale robiona jest dodatkowa korekcja), + 2 -- mechanizm ściskania/rozciągania jest uruchamiany na + etapie łamania akapitu (łamanie może być inne niż w TeX-u); + p. \pdffontexpand i + \efcode) + | |||||||||||||||||||
+\pdfannot wymiary {specyfikacja} | +polecenie tworzy zakładkę, zawartość specyfikacji + określają reguły tworzenia dokumentu pdf, + p. \pdflastannot, + [8] + | |||||||||||||||||||
+\pdfcatalog{kod} + \pdfcatalog{tekst} openaction {specyfikacja} |
+
+ opcja openaction?????.
+ ???? Jednym z parametrów jest PageMode służące do
+ ustalenia sposobu prezentacji
+ dokumentu; może on przyjmować wartości
+
+\pdfcatalog{ + /PageMode /FullScreen +} ++ | |||||||||||||||||||
+\pdfcolorstackinit {kod}new +\pdfcolorstackinit [page] {kod} +\pdfcolorstackinit [direct] {kod} +\pdfcolorstackinit [page] [direct] {kod} |
+ inicjuje nowy stos grafiki (zwraca jego numer). Parametr opcjonalny + page powoduje odtworzenie grafiki na początku każdej + strony???, parametr opcjonalny direct daje taki sam efekt jak + polecenie \pdfliteral????. + | |||||||||||||||||||
+\pdfcolorstacknumer akcja {kod}new | +operuje na stosie o podanym numerze; akcją może być: push + -- kod jest wprowadzany na stos (po rozwinięciu); pop + usuwana jest ostatnia wartość ze stosu + | |||||||||||||||||||
+\pdfcompresslevel liczba | +polecenie określa stopień kompresji pliku pdf + (dopuszczalne wartości 0--9; 9 -- standardowa wartość; + największa kompresja) + | |||||||||||||||||||
+\pdfcreationdate {nazwa zbioru} | +zwraca datę utworzenia zbioru; + p. \pdffilemoddate + | |||||||||||||||||||
+\pdfdecimaldigits liczba | +polecenie określa dokładność (liczba cyfr po przecinku) + współrzędnych zapisywanych w pliku + *.pdf (zakres 0--4; miejsc po przecinku -- standardowo 4) + | |||||||||||||||||||
+\pdfdraftmode liczbanew | +???? + | |||||||||||||||||||
+\pdfdest num liczba specyfikacja + \pdfdest name{nazwa} specyfikacja |
+ polecenie tworzy obiekt docelowy o nazwie nazwa
+ dla hiperłącza (etykietę); specyfikacja określa akcję
+ przeglądarki podczas wyświetlenia obiektu, dopuszczalne są: + +
| |||||||||||||||||||
+\pdfdestmargin dimen | +??? + | |||||||||||||||||||
+\pdfeachlinedepth* | +?? + | |||||||||||||||||||
+\pdfeachlineheight* | +?? + | |||||||||||||||||||
+\pdfelapsedtime | +rejestr zawierający czas (w 1/65536 s) od chwili startu; + p. \pdfresettimer + | |||||||||||||||||||
+\pdfendlink | +polecenie kończy definicję hiperłącza rozpoczęte poleceniem + \pdfstartlink, + p. też + \pdfdest, + | |||||||||||||||||||
+\pdfendthread | +polecenie kończy definicję wątku ????; p + specyfikacja pdf [8] i + \pdfstartthread, + \pdfthread + | |||||||||||||||||||
+\pdfescapehex={tekst} | +podobnie jak \pdfescapestring, ale + na reprezentację hexadecymalną; + p. \pdfunescapehex + | |||||||||||||||||||
+\pdfescapename {tekst} | +podobnie jak \pdfescapestring, ale + na reprezentację hexadecymalną + | |||||||||||||||||||
+\pdfescapestring={tekst} | +tekst jest tłumaczony na string w sensie języka pdf + | |||||||||||||||||||
+\pdffiledump {nazwa zbioru} + \pdffiledump offset liczba {nazwa zbioru} + \pdffiledump length liczba {nazwa zbioru} + \pdffiledump offset liczba length liczba {nazwa zbioru} |
+ zwraca obraz zbioru w postaci ciągu liczb heksadecymalnych (na + podanym obszarzem jeśli określony) + | |||||||||||||||||||
+\pdffilemoddate {nazwa zbioru} | +zwraca datę modyfikacji zbioru; + p. \pdfcreationdate + | |||||||||||||||||||
+\pdffilesize {nazwa zbioru} | +zwraca długość zbioru + | |||||||||||||||||||
+\pdffirstlineheight* | ++ | |||||||||||||||||||
+\pdffontattr\font{kod} | +???? + | |||||||||||||||||||
+\pdffontexpand\nazwa specyfikacja autoexpand +\pdffontexpand\nazwa specyfikacja |
+ specyfikacją są trzy parametry (w jednostkach
+ n/1000) określające
+ dopuszczalny rozciąg, ścisk znaków i skok zmian ścisku/rozciągu wskazanego fontu,
+ (p. \font,
+ \pdfadjustspacing,
+ \efcode);
+ np: + \font\cmr=cmr10 + \pdffontexpand\cmr 90 90 10 + lub + \pdffontexpand\cmr 90 90 10 autoexpand + oznacza, że znaki fontu cmr mogą być być ściskane i rozciągane + maksymalnie 90/1000 nominalnej szerokości ze skokiem 10. Opcja + autoexpand powoduje że pdftex sam modyfikuje parametry fontu + (tworząc nowy), + aby spełnić określony ścisk lub rozciąg; przy braku tej opcji należy dysponować + fontami o zadanych cechach (praktycznie wszystkimi, które mogą być potrzebne - + od maksymalnego ścisku po maksymalny rozciąg z dysponowanym skokiem. + | |||||||||||||||||||
+\pdffontname \font | +polecenie zwraca numer wskazanego fontu w strukturze + danych pliku wynikowego pdf + | |||||||||||||||||||
+\pdffontobjnum\font | +polecenie zwraca numer obiektu który stanowi wskazany font + w strukturze danych pliku wynikowego pdf + | |||||||||||||||||||
+\pdffontsize\font | +polecenie zwraca rozmiar wskazanego fontu (wielkość konstrukcyjną) + w pt (uwzględniając skalowanie) + | |||||||||||||||||||
+\pdfforcepagebox liczba całkowita | +określa typ obiektu dołączanego poleceniem \pdfximage + 1 -- media box, + 2 -- crop box, + 3 -- bleed box, + 4 -- trim box, + 5 -- art box; + p. \pdfoptionalwaysusepdfpagebox + | |||||||||||||||||||
+\pdfgamma=liczba całkowita | +polecenie ustala domyślny współczynnik gamma (w promilach); + p. \pdfapplygamma + i \pdfimagegamma. + | |||||||||||||||||||
+\pdfhorigin dimen | +określa dodatkowe przesunięcie materiału strony w poziomie + (standardowo równe 1 true in); odpowiada domyślnemu + marginesowi ustawianemu przez drivery interpretujące plik dvi. + | |||||||||||||||||||
+\pdfimageapplygamma=liczba całkowita | +jeśli wartość ustalona na 1 to włączany jest mechanizm korekcji + gamma dla rysunków png; p. \pdfimagegamma + i \pdfgamma. + | |||||||||||||||||||
+\pdfimagegamma=liczba całkowita | +polecenie ustala domyślny współczynnik gamma (w promilach) dla + plików graficznych png; p. \pdfapplygamma + i \pdfgamma. + | |||||||||||||||||||
+\pdfimagehicolor=liczba całkowita | +jeśli wartość rejestru ustawiono na 1, włącza traktowanie + dołączanych plików png w trybie koloru 16-bitowego jako ,,full + color'' (tylko dla pdf v. >=1.5) + | |||||||||||||||||||
+\pdfimageresolution=liczba | +określa rozdzielczość (w DPI) dołączanych plików graficznych (rastrowych) + | |||||||||||||||||||
+\pdfincludechars\font{łańcuch} | +polecenie wymusza załadowanie ciągu znaków określonych przez + łańcuch dla wskazanego fontu do pliku pdf (standardowo + ładowane są tylko użyte znaki). + | |||||||||||||||||||
+\pdfinclusionerrorlevel=liczba | +rejestr, którego wartość określa reakcję pdfTeX-a na błędy w + dołączanym pliku pdf; + p. \pdfoptionpdfinclusionerrorlevel + | |||||||||||||||||||
+\pdfinfo=tekst | +polecenie umożliwia podanie informacji o dokumencie; jest zbiorem
+ par: klucz wartość, gdzie nazwa klucza jest poprzedzona znakiem
+ /, a wartość jest ujęta w nawiasy ()
+ [8]; np.:
+ + \pdfinfo + { /Title (example.pdf) + /Creator (TeX) + /Producer (pdfTeX 1.30.4) + /Autor (Tom and Jerry) + /CreationDate (D:20040906220024+02'00') + /ModDate (D:20040906220024+02'00') + /Subject (Example) + /Keywords (mouse, cat) } ++ | |||||||||||||||||||
+\pdflastannot | +rejestr zawierający numer ostatnio zdefiniowanej zakładki, + p. \pdfannot + | |||||||||||||||||||
+\pdflastdemeritsnew | +??? + | |||||||||||||||||||
+\pdflastlinedepth* | ++ | |||||||||||||||||||
+\pdflastmatch liczbaexp | +wybiera (rozwija się) wskazany element zapisany w tablicy podwyrażeń; + p. \pdfmatch w postaci + pozycja->to co się dopasowało. Wewnątrz + makra są rozwijane, kategorie znaków nie są istotne + | |||||||||||||||||||
+\pdflastobj | +rejestr zawiera numer ostatnio zdefiniowanego obiektu; + p. \pdfobj, + \pdfrefobj, + | |||||||||||||||||||
+\pdflastxform | +polecenie zwraca numer ostatnio zdefiniowanej formy; + p. \pdfrefxform, + \pdfxform + | |||||||||||||||||||
+\pdflastximage | +polecenie zwraca numer ostatnio definiowanego obiektu graficznego; + p. \pdfrefximage, + \pdfximage + | |||||||||||||||||||
+\pdflastximagecolordepth* | ++ | |||||||||||||||||||
+\pdflastximagepages | +licznik zawierający liczbę stron ostatnio zdefiniowanego obiektu + graficznego (dołączanego zbioru pdf) + p. \pdfximage + | |||||||||||||||||||
+\pfprimitivastxpos | +umożliwia odzyskanie pozycji (współrzędna x) + na stronie zapamiętanej poleceniem + \pdfsavepos; rejestr zawiera + pozycję w jednostkach + sp; licząc od lewej krawędzi papieru. Należy + pamiętać, że jest ona znana dopiero po przejściu przez procedurę + \output, + tak więc dane można praktycznie wykorzystać + przy przetwarzaniu dwuprzebiegowym; p. też + \pdflastypos i + \pdfsavepos + | |||||||||||||||||||
+\pdflastypos | ++ umożliwia odzyskanie pozycji (współrzędna y), + na stronie, zapamiętanej poleceniem + \pdfsavepos; polecenie powoduje zapamiętanie bieżącej + pozycji (w jednostkach + sp); licząc od dolnej krawędzi papieru, TeX składa (i liczy odległości) + od góry i nie operuje pojęciem długości papieru, dolny margines to jest to co pozostanie na dole kartki papieru. + W przypadku pdf-a musimy określić rozmiary kartki (jawnie lub przez domniemanie) -- służy do tego + polecenie \pdfpageheight. Należy + pamiętać, że pozycja jest znana dopiero po przejściu przez procedurę + \output, + tak więc dane można praktycznie wykorzystać + przy przetwarzaniu dwuprzebiegowym; p. też + \pdflastxpos i + \pdfsavepos + | |||||||||||||||||||
+\pdflinkmargin=dimen | +rejestr określa dodatkowy margines dla ramki otaczającej + hiperłącze + | |||||||||||||||||||
+\pdfliteral {kod} + \pdfliteral direct{kod} |
+ polecenie działa analogicznie jak + \special i przekazuje kod + do pliku pdf (nie jest sprawdzana poprawność kodu) + | |||||||||||||||||||
+\pdfmapfile{spec plik} + \pdfmapfile{plik} |
+ polecenie ładuje wskazany zbiór, jego zawartość
+ powinna zawierać mapę fontów (standardowo jest to zbiór psfonts.map); spec może
+ przyjmować wartości +, - i = -- ustala sposób usuwania kolizji w deklaracjach fontów:
+
| |||||||||||||||||||
+\pdfmapline{spec plik} + \pdfmapline{plik} |
+ podobnie jak \pdffontmap??? + | |||||||||||||||||||
+\pdfmatch{pattern}{tekst}exp + pdfmatch icase {pattern}{tekst} + pdfmatch subcount {liczba}{pattern}{tekst} + pdfmatch icase subcount liczba{pattern}{tekst} |
+ sprawdza fakt zawierania się wzorca określonego za pomocą wyrażenia + regułowego (ang. regular expression) pattern, wg. specyfikacji POSIX) w + tekście. Zwraca: -1 (liczbę) -- błąd, + 0 -- nie dopasowano wzorca, 1 -- dopasowano wzorzec. Opcjonalny + parametr icase powoduje utożsamienie wielkich i małych liter, + subcount określa długość tablicy podwyrażeń, wartość + -1 czyści tablicę podwyrażeń wzorca); + p. \pdflastmatch + | |||||||||||||||||||
+\pdfmdfivesum tekst + \pdfmdfivesum file tekst |
+ nalicza sumę kontrolną (heksadecymalną) podanego tekstu (lub zbioru + jeśli podano atrybut file) + | |||||||||||||||||||
+\pdfminorversion=liczba | +rejestr określa subwersję języka dokumentu pdf np.: + \pdfminorversion=4 oznacza wersję 1.4 (wartość + domyślna), pdfTeX akceptuje zbiory zewnętrzne o wersji nie + większej niż zadeklarowana. Polecenie powinno być użyte przed + wyprowadzeniem informacji do zbioru wyjściowego + (p. \pdfoptionpdfminorversion). + | |||||||||||||||||||
+\pdfmovechars liczbaobs | +polecenie to określa czy pdfTeX powinien przenosić + znaki z o kodach 0-31 na wyższe pozycje. Wartość 1 parametru + oznacza że należy przenosić takie znaki tylko dla tych fontów, które + zawierają znaki o kodzie niższym niż 128. Wartość 2 (lub więcej) + oznacza że należy przenosić takie znaki nawet dla fontów zawierających + znaki na pozycjach większych niż 128 + | |||||||||||||||||||
+\pdfnames {tekst} | +polecenie wstawia tekst do wektora /Names + [8, 9] + | |||||||||||||||||||
+\pdfnoligatures=font | +wyłącza mechanizm ligatur dla wskazanego fontu (uwaga! + niektóre znaki, np. półpauza, są realizowane przez mechanizm ligatur) + | |||||||||||||||||||
+\pdfnormaldeviate | +zwraca liczbę losową (całkowitą, rozkład normalny) z przedziału 0-65536 + p. \pdfuniformdeviate + | |||||||||||||||||||
+\pdfobj useobjnum liczba {dane} + \pdfobj attr {specyfikacja} {dane} + \pdfobj stream {dane} + \pdfobj stream attr {specyfikacja} {dane} + \pdfobj attr {specyfikacja} stream attr {specyfikacja} {dane} + \pdfobj reserveobjnum |
+ polecenie tworzy obiekt dokumentu pdf + p. \pdfrefobj, + \pdflastobj + | |||||||||||||||||||
+\pdfoptionalwaysusepdfpagebox=wartośćobs | +p. \pdfforcepagebox + | |||||||||||||||||||
+\pdfoptionpdfinclusionerrorlevel=liczbaobs | +p. \pdfinclusionerrorlevel + | |||||||||||||||||||
+\pdfoptionpdfminorversion=liczbaobs | +rejestr określający subwersję języka dokumentu pdf np.: + \pdfoptionpdfminorversion=3 oznacza wersję 1.3 + (p. \fminorversion). + | |||||||||||||||||||
+\pdfobjcompresslevel liczbanew | +??? (dopuszczalne wartości 0--3; 9 -- standardowa wartość; + największa kompresja); tylko dla \pdfminorversion>4 + | |||||||||||||||||||
+\pdfoutline akcja count liczba {tekst zakładki} | +polecenie tworzy zakładkę (bookmark). Parametr akcja określa + akcję przeglądarki po ,,kliknięciu'' zakładki (p. opis akcji + polecenia \pdfstartlink); wartość parametru count + określa liczbę zakładek podrzędnych (niższego poziomu); tekst + jest opisem + | |||||||||||||||||||
+\pdfoutput liczba | +określa tryb pracy programu: wartość dodatnia oznacza + rozszerzony tryb pracy -- generowany jest plik *.pdf; + w przeciwnym razie program pracuje tak jak standardowy TeX + (standardowo ustawiony jest tryb standardowy -- + wszelkie polecenia trybu rozszerzonego są traktowane jako błędne) -- + generowany jest plik *.dvi + | |||||||||||||||||||
+\pdfpageattr atrybuty | +polecenie pozwala na określenie cechy aktualnej strony dokumentu -- + parametry jak wyżej + [8, 9] + | |||||||||||||||||||
+\pdfpageheight dimen | +określa wysokość medium na którym będzie prezentowana strona; + domyślnie (jeśli równe 0) wyliczane jako wysokość materiału strony + 2 × + (\pdfvorigin + + \voffset) + | |||||||||||||||||||
+\pdfpageref sumer strony | +podaje identyfikator objektu zawierającego stronę o podanym + numerze + | |||||||||||||||||||
+\pdfpageresources {specyfikacja} | +???? + | |||||||||||||||||||
+\pdfpagesattr atrybuty | +polecenie pozwala na określenie cechy wszystkich stron dokumentu
+ ??? np. + + \pdfpagesattr{ + /Rotate 90 + /MediaBox [0 0 612 792] } % in bp ++ dopuszczalne są następujące polecenia +
| |||||||||||||||||||
+\pdfpagewidth dimen | +określa szerokość medium na którym będzie prezentowana strona; + domyślnie (jeśli równe 0) wyliczane jako szerokość materiału strony + 2 × + (\pdfhorigin + + \hoffset) + | |||||||||||||||||||
+\pdfpkmode=token | +ustala tryb pracy metafont-a podczas generacji fontów rastrowych + | |||||||||||||||||||
+\pdfpkresolution liczba | +określa rozdzielczość dołączanych + do pliku pdf fontów rastrowych + | |||||||||||||||||||
+\pdfprimitive\polecenienew | +polecenie powoduje wykonanie wskazanego polecenia????? + | |||||||||||||||||||
+\pdfprotrudechars=wartość | +wartość dodatnia włącza mechanizm (domyślnie 0 -- wyłączony) wysuwania + pierwszych/ostatnich znaków w linii na lewy/prawy margines (oczywiście o ile takie znaki + zostały określone p. \rpcode i + \lpcode. Włączenie mechanizmu nie + gwarantuje że wszystkie zdefiniowane znaki zostaną wysunięte na zadaną + (jednakową) odległość. + | |||||||||||||||||||
+\pdfpxdimen liczba | +definiuje wartość miary + px pomocną w przeliczaniu wielkości/rozdzielczości + rastrowych obiektów graficznych; domyślnie + ustawiane na 1bp; p. tablica jednostek + | |||||||||||||||||||
+\pdfrandomseed | +rejestr zawierający bieżącą wartość ???; + p. \pdfsetrandomseed + i \pdfuniformdeviate, + \pdfnormaldefiate + | |||||||||||||||||||
+\pdfrefobj numer | +polecenie wstawia obiekt o wskazanym numerze do dokumentu + (bez kopiowania jego zawartości; wielokrotne użycie nie + zwiększa rozmiaru pliku zawierającego dokument); + p. \pdfobj, + \pdflastobj, + | |||||||||||||||||||
+\pdfrefxform numer | +polecenie powoduje wstawienie wskazanej formy w bieżącym miejscu; + p. \pdfxform, + \pdflastxform + | |||||||||||||||||||
+\pdfrefximage numer | +polecenie wstawia wskazany obiekt graficzny w bieżące miejsce; + p. \pdfximage, + \pdflastximage + | |||||||||||||||||||
+\pdfresettimer | +polecenie zeruje licznuk czasu + p. \pdfelapsedtime + | |||||||||||||||||||
+\pdfrestorenew | +odtwarza zachowana przez \pdfsave transformację + | |||||||||||||||||||
+\pdfretvalexp | +używany przez \pdfstrcmp + | |||||||||||||||||||
+\pdfsavepos | +zachowuje aktualną pozycję na stronie (miejsce wywołania + polecenia licząć od lewego dolnego rogu papieru). + Należy pamiętać, że jest ona znana dopiero po przejściu + przez procedurę + \output, + można ją ,,odzyskać'' poleceniami + \pdflastxpos i + \pdflastypos + | |||||||||||||||||||
+\pdfsave new | +zachowuje zdefiniowaną transformację (p. \pdfrestore) + | |||||||||||||||||||
+\pdfsetmatrix{dane} new | +określa transformację (6 liczb oddzielonych spacją): skalowanie, + obrót, pochylenie i przesunięcie + | |||||||||||||||||||
+\pdfsetrandomseed liczba | +ustawia bieżącą wartość ???; + p. \pdfrandomseed + | |||||||||||||||||||
+\pdfshellescape | +zwraca wartość 1, jeśli mechanizm write18 jest włączony + | |||||||||||||||||||
+\pdfstartlink wymiary atrybuty akcja | +polecenie rozpoczyna definicję hiperłącza; wymiary (opcjonalnie) podajemy zgodnie
+ ze zwyczajami TeX-a (np. width 50pt height 5pt depth 2pt)
+ p. \pdfdest,
+ \pdfendlink,
+ atrybuty jako: attr {wartości}, gdzie wartości
+ określa specyfikacja dokumentu pdf
+ [8]), akcja określa zachowanie przeglądarki po
+ wskazaniu łącza i może przyjmować wartości określone w tabeli:
+
| |||||||||||||||||||
+\pdfstartthread | +polecenie rozpoczyna definicję wątku ????; p + specyfikacja pdf [8] i + \pdfendthread, + \pdfthread + | |||||||||||||||||||
+\pdfstrcmp{tekst_1}{tekst_2}exp | +porównuje tekst_1 i tekst_2 i zwraca (napis) + 0 -- jeśli jednakowe, -1 -- jeśli pierwszy mniejszy (w sensie + kolejności leksykograficznej), +1 jeśli pierwszy większy (w sensie + kolejności leksykograficznej); p. \pdfmatch. Wewnątrz + makra są rozwijane, kategorie znaków nie są istotne + | |||||||||||||||||||
+\pdftexbanner | +rejestr zawiera text zapowiedzi PDFTeX-a (,,This is pdfTeX, Version...") + | |||||||||||||||||||
+\pdftexrevision | +rejestr zawiera numer subwersji (wydania) pdfTeX-a + | |||||||||||||||||||
+\pdftexversion | +rejestr zawiera numer wersji pdfTeX-a + | |||||||||||||||||||
+\pdfthread | +???? + | |||||||||||||||||||
+\pdfthreadmargin=dimen | +rejestr zawiera wielkość dodatkowego marginesu dodawanego + do wymiaru wątku; + p. \pdfstartthread, + \pdfendthread, + \pdfthread i + [8] + | |||||||||||||||||||
+\pdftracingfonts=liczba | +określa poziom śledzenia fontów + | |||||||||||||||||||
+\pdftrailer {polecenia} | +??? + | |||||||||||||||||||
+\pdfunescapehex {tekst} | +tłumaczy zapis heksadecymalny kodów na postać jawną (ascii); + p. \pdfescapehex + | |||||||||||||||||||
+\pdfuniformdeviate liczba całkowita | +zwraca liczbę losową (całkowitą, rozkład równomierny) z przedziału 0-liczba; + p. \pdfnormaldefiate + | |||||||||||||||||||
+\pdfuniqueresname=liczba | +ustawienie wartości na > 0 ??? + | |||||||||||||||||||
+\pdfvorigin dimen | +określa dodatkowe przesunięcie materiału strony w pionie względem + górnej, krawędzi + (standardowo równe 1 true in); odpowiada domyślnemu + marginesowi ustawianemu przez drivery interpretujące plik dvi. + | |||||||||||||||||||
+\pdfxform atrybuty zasoby numer + pudełka | +polecenie to tworzy formę XObject odpowiadającą zawartości + wskazanego pudełka (nie może ono zawierać notatek). Polecenie służy do + definiowania obiektów (pierwsze dwa parametry są opcjonalne), + które występują w dokumencie wiele razy, dzięki + temu jest on zdefiniowany raz, możemy się wielokrotnie na niego + powołać bez konieczności kilkukrotnego jego dołączania + (p. \pdfrefxform, + \pdflastxform) + | |||||||||||||||||||
+\pdfxformname numer | +polecenie zwraca identyfikator wskazanej formy + (p. \pdfxform) + | |||||||||||||||||||
+\pdfximage wymiary atrybuty strona {plik} | +polecenie (pierwsze trzy parametry są opcjonalne)
+ definiuje obiekt graficzny, którego zawartością jest
+ wskazany plik (dopuszczalne są formaty: pdf, png,
+ tiff i jpeg); parametr strona określa numer
+ strony w dołączanym dokumencie (jeżeli jest on wielostronicowy);
+ p. \pdfrefximage,
+ \pdflastximage + np: \pdfximage height 2cm depth 1cm width 3cm page 3 {s.pdf} + domyślnie głębokość obiektu wynosi 0pt, podanie tylko jednego wymiaru + powoduje, że drugi jest przeskalowany proporcjonalnie + | |||||||||||||||||||
+px | +miara odległości; definiowana poleceniem \pdfpxdimen; + domyślnie 1 pt; p. tablica jednostek + | |||||||||||||||||||
+\quitvmode | +zakończenie trybu pionowego (nie powoduje wywołania + \everypar) + | |||||||||||||||||||
+\rightmarginkern box num | +podaje szerokość marginesu (kern-u) + prawej strony materiału zawartego w podanym pudełku???? + (p. \leftmarginkern). + | |||||||||||||||||||
+\rpcode\font znak=liczba | +liczba×0.001em określa + maksymalną wielkość wysunięcia danego znaku na prawy margines, jeśli jest on + ostatnim znakiem w linii (p. \pdfprotrudechars, + \lpcode) + | |||||||||||||||||||
+\vadjust pre {materiał} | +wstawienie materiału + pionowego ,,między wierszami'' (wtrącenie materiału pionowego + w trybie poziomym; p. \vadjust), opcjonalny parametr + pre powoduje, że materiał jest wyprowadzany przed daną + linią (standardowo po) + |
+\beginL | +polecenie rozpoczyna skład ,,od lewej do prawej'' (p. \endL, + \TeXXeTstate) + | ||||||||||||||||||||||||||||||||||||||||||
+\beginR | +polecenie rozpoczyna skład ,,od prawej do lewej'' (p. \endR, + \TeXXeTstate) + | ||||||||||||||||||||||||||||||||||||||||||
+\botmarks numer | +przyjmuje wartość ostatniego znacznika + \marks numer, który pojawił + się na obecnie output-owanej stronie; wartość zero oznacza użycie standardowego markera + (p. \mark, + \firstmarks, + \topmarks numer) | ||||||||||||||||||||||||||||||||||||||||||
+\clubpenalties | ++ | ||||||||||||||||||||||||||||||||||||||||||
+\currentgrouplevel | +licznik zawierający bieżący poziom zagnieżdzenia grup + | ||||||||||||||||||||||||||||||||||||||||||
+\currentgrouptype | +licznik zawierający typ bieżącej grupy i tak:
+
| ||||||||||||||||||||||||||||||||||||||||||
+\currentifbranch | ++ | ||||||||||||||||||||||||||||||||||||||||||
+\currentiflevel | +licznik zawierający bieżący poziom zagnieżdzenia instrukcji + warunkowych + + | ||||||||||||||||||||||||||||||||||||||||||
+\currentiftype | +licznik zawierający rodzaj bieżącej instrukcji warunkowej i tak:
+
| ||||||||||||||||||||||||||||||||||||||||||
+\detokenize | ++ | ||||||||||||||||||||||||||||||||||||||||||
+\dimexpr | +polecenie zwraca wartość wyrażenia arytmetycznego, które + następuje po nim. Postać wyrażenia jest zgodna z ogólnie przyjętymi + zwyczajami -- + można używać nawiasów i operatorów +-*/; należy pamiętać, aby + wynik operacji (również cząstkowy) był długością (dimen). + Analizator uzna, że wyrażenie się kończy jeżeli wystąpi znak spoza + dopuszczalnego w danym kontekście (wyrażenie można zakończyć poleceniem + \relax). + | ||||||||||||||||||||||||||||||||||||||||||
+\displaywidowpenalties | ++ | ||||||||||||||||||||||||||||||||||||||||||
+\endL | +polecenie kończące skład ,,od lewej do prawej'' (p. \beginL) + | ||||||||||||||||||||||||||||||||||||||||||
+\endR | +polecenie kończące skład ,,od prawej do lewej'' (p. \beginR) + | ||||||||||||||||||||||||||||||||||||||||||
+\eTeXversion | +licznik zawierający numer używanej wersji eTeX-a + | ||||||||||||||||||||||||||||||||||||||||||
+\eTeXrevision | +rejestr zawierający numer edycji (podwersji) używanej wersji eTeX-a + | ||||||||||||||||||||||||||||||||||||||||||
+\everyeof{materiał} | +materiał jest wyprowadzany przy napotkaniu na koniec zbioru + wejściowego (np. przy dołączaniu pliku poleceniem \input) + | ||||||||||||||||||||||||||||||||||||||||||
+\firstmarks numer | +przyjmuje wartość pierwszego znacznika + \marks numer, który pojawił + się na obecnie output-owanej stronie; wartość zero oznacza użycie standardowego markera + (p. \mark, + \botmarks, + \topmarks) + | ||||||||||||||||||||||||||||||||||||||||||
+\fontchardp\font kod_znaku | +rejestr zawierający głębokość wskazanego znaku (kod_znaku;
+ p. kod_znaku))
+ z podanego fontu font; uwaga! font musi być załadowany
+ (wcześniej użyty)
+ + \font\aqq=cmr10 + \aqq + \the\fontchardp\aqq "6F ++ | ||||||||||||||||||||||||||||||||||||||||||
+\fontcharht\font kod_znaku | +rejestr zawierający wysokość wskazanego znaku (kod_znaku;
+ p. kod_znaku))
+ z podanego fontu font; uwaga! font musi być załadowany
+ (wcześniej użyty) np.
+ + \font\aqq=cmr10 + \aqq + \the\fontcharht\aqq "6F ++ | ||||||||||||||||||||||||||||||||||||||||||
+\fontcharic\font kod_znaku | +rejestr zawierający korekcję kursywy wskazanego znaku (kod_znaku;
+ p. kod_znaku))
+ z podanego fontu font; uwaga! font musi być załadowany
+ (wcześniej użyty)
+ + \font\aqq=cmr10 + \aqq + \the\fontcharic\aqq "6F ++ | ||||||||||||||||||||||||||||||||||||||||||
+\fontcharwd\font kod_znaku | +rejestr zawierający szerokość wskazanego znaku (kod_znaku;
+ p. kod_znaku))
+ z podanego fontu font; uwaga! font musi być załadowany
+ (wcześniej użyty)
+ + \font\aqq=cmr10 + \aqq + \the\fontcharwd\aqq "6F ++ | ||||||||||||||||||||||||||||||||||||||||||
+\glueexpr | +polecenie zwraca wartość wyrażenia arytmetycznego, które + następuje po nim. Postać wyrażenia jest zgodna z ogólnie przyjętymi + zwyczajami -- + można używać nawiasów i operatorów +-*/; należy pamiętać, aby + wynik operacji (również cząstkowy) był długością rozściągliwo/ściśliwą (glue). + Analizator uzna, że wyrażenie się kończy jeżeli wystąpi znak spoza + dopuszczalnego w danym kontekście (wyrażenie można zakończyć poleceniem + \relax). + | ||||||||||||||||||||||||||||||||||||||||||
+\glueshrink | +rejestr (dimen) + | ||||||||||||||||||||||||||||||||||||||||||
+\glueshrinkorder | ++ | ||||||||||||||||||||||||||||||||||||||||||
+\gluestretch | ++ | ||||||||||||||||||||||||||||||||||||||||||
+\gluestretchorder | ++ | ||||||||||||||||||||||||||||||||||||||||||
+\gluetomu | +polecenie dokonuje konwersji jednostek glue na + muglue przeliczając 1mu na 1pt (sic!); + p. \mutoglue + | ||||||||||||||||||||||||||||||||||||||||||
+\ifcsname | ++ | ||||||||||||||||||||||||||||||||||||||||||
+\ifdefined | ++ | ||||||||||||||||||||||||||||||||||||||||||
+\iffontchar\font kod_znaku | +instrukcja warunkowa pozwalająca sprawdzić czy we wskazanym foncie + istnieje znak o podanym kodzie; uwaga! font musi być załadowany + (wcześniej użyty) + (p. kod_znaku)) + | ||||||||||||||||||||||||||||||||||||||||||
+\interactionmode | ++ | ||||||||||||||||||||||||||||||||||||||||||
+\interlinepenalties | ++ | ||||||||||||||||||||||||||||||||||||||||||
+\lastlinefit | ++ | ||||||||||||||||||||||||||||||||||||||||||
+\lastnodetype | +rejestr zawiera numer ostatnio używanego trybu pracy lub użytego
+ elementu
+
| ||||||||||||||||||||||||||||||||||||||||||
+\marks numer {tekst} | +wstawia tekst będący jego argumentem (po rozwinięciu) jako znacznik o numerze numer (wartość zero oznacza standardowy znacznik). + Tekst ten jest dostępny dla poleceń: \topmarks numer, + \firstmarks numer, + \botmarks numer. + Polecenie to umożliwia np. synchronizację + zawartości żywej paginy z składaną treścią + | ||||||||||||||||||||||||||||||||||||||||||
+\middle | ++ | ||||||||||||||||||||||||||||||||||||||||||
+\muexpr | +polecenie zwraca wartość wyrażenia arytmetycznego, które + następuje po nim. Postać wyrażenia jest zgodna z ogólnie przyjętymi + zwyczajami -- + można używać nawiasów i operatorów +-*/; należy pamiętać, aby + wynik operacji (również cząstkowy) był długością (mu). + Analizator uzna, że wyrażenie się kończy jeżeli wystąpi znak spoza + dopuszczalnego w danym kontekście (wyrażenie można zakończyć poleceniem + \relax). + | ||||||||||||||||||||||||||||||||||||||||||
+\mutoglue | +polecenie dokonuje konwersji jednostek muglue na + glue przeliczając 1pt na 1mu (sic!); + p. \gluetomu + | ||||||||||||||||||||||||||||||||||||||||||
+\numexpr | +polecenie zwraca wartość wyrażenia arytmetycznego, które + następuje po nim. Postać wyrażenia jest zgodna z ogólnie przyjętymi + zwyczajami -- + można używać nawiasów i operatorów +-*/; należy pamiętać, aby + wynik operacji (również cząstkowy) był długością (number). + Analizator uzna, że wyrażenie się kończy jeżeli wystąpi znak spoza + dopuszczalnego w danym kontekście (wyrażenie można zakończyć poleceniem + \relax). + | ||||||||||||||||||||||||||||||||||||||||||
+\pagediscards | ++ | ||||||||||||||||||||||||||||||||||||||||||
+\parshapedimen liczba | +rejestr (dimen) zawiera długość wskazanej linii w specyfikacji + \parshape + (p. \parshape) + | ||||||||||||||||||||||||||||||||||||||||||
+\parshapeindent | +rejestr (dimen) zawiera wartość marginesu we wskazanej linii + (p. \parshape) + | ||||||||||||||||||||||||||||||||||||||||||
+\parshapelength | +rejestr (dimen) zawiera długość wskazanej linii w specyfikacji + \parshape (w jednostkach sp) + (p. \parshape) + | ||||||||||||||||||||||||||||||||||||||||||
+\predisplaydirection | ++ | ||||||||||||||||||||||||||||||||||||||||||
+\protected | ++ | ||||||||||||||||||||||||||||||||||||||||||
+\readline | ++ | ||||||||||||||||||||||||||||||||||||||||||
+\savinghyphcodes | ++ | ||||||||||||||||||||||||||||||||||||||||||
+\savingvdiscards | ++ | ||||||||||||||||||||||||||||||||||||||||||
+\scantokens | ++ | ||||||||||||||||||||||||||||||||||||||||||
+\showgroups | +podaje aktualny poziom zagnieżdzenia grup + | ||||||||||||||||||||||||||||||||||||||||||
+\showifs | +podaje aktualny poziom zagnieżdzenia instrukcji warunkowych + | ||||||||||||||||||||||||||||||||||||||||||
+\showtokens{lista tokenów} | +powoduje wyświetlenie listy tokenów, służy do wyprowadzenia + wartości, których nie można wyświetlić za pomocą poleceń: + \show i + \showthe + | ||||||||||||||||||||||||||||||||||||||||||
+\simple | ++ | ||||||||||||||||||||||||||||||||||||||||||
+\splitbotmarks numer | +przyjmuje wartość ostatniego znacznika + \marks numer, który pojawił + się w obecnie łamanym (\vsplit) pudełku, wartość zero oznacza użycie standardowego markera, + działa analogicznie jak polecenie + \botmarks numer dla strony + (p. \mark, + \splitfirstmarks numer) + | ||||||||||||||||||||||||||||||||||||||||||
+\splitdiscards | ++ | ||||||||||||||||||||||||||||||||||||||||||
+\splitfirstmarks numer | +przyjmuje wartość pierwszego znacznika + (\marks numer), który pojawił + się w obecnie łamanym (\vsplit) pudełku, wartość zero oznacza użycie standardowego markera; + działa analogicznie jak polecenie + \firstmarks numer dla strony + (p. \mark, + \splitbotmarks numer) + | ||||||||||||||||||||||||||||||||||||||||||
+\TeXXeTstate=liczba | +nadanie rejestrowi wartości > 1 zezwala na używanie + poleceń zmieniających kierunek druku + (\beginL, + \endL, + \beginR, + \endR) + | ||||||||||||||||||||||||||||||||||||||||||
+\tracingassigns=liczba | ++ | ||||||||||||||||||||||||||||||||||||||||||
+\tracincommands=liczba | +nadanie rejestrowi wartości > 3 powoduje wyprowadzenie + dodatkowych informacji (p. standardowe polecenie \tracingcommands) + | ||||||||||||||||||||||||||||||||||||||||||
+\tracinggroups=liczba | +nadanie rejestrowi wartości >1 powoduje wyprowadzenie komunikatów + śledzenia zagnieżdzenia poziomu grup + | ||||||||||||||||||||||||||||||||||||||||||
+\tracingifs=liczba | +nadanie rejestrowi wartości >1 powoduje wyprowadzenie komunikatów + śledzenia instrukcji warunkowych (p. też \unless) + | ||||||||||||||||||||||||||||||||||||||||||
+\tracinglostchars=liczba | +nadanie rejestrowi wartości > 2 powoduje wyprowadzenie + dodatkowych informacji (p. standardowe polecenie \tracinglostchars) + | ||||||||||||||||||||||||||||||||||||||||||
+\tracingnesting=liczba | ++ | ||||||||||||||||||||||||||||||||||||||||||
+\tracingscantokens=liczba | ++ | ||||||||||||||||||||||||||||||||||||||||||
+\unexpanded | ++ | ||||||||||||||||||||||||||||||||||||||||||
+\unless | ++ | ||||||||||||||||||||||||||||||||||||||||||
+\widowpenalties | ++ |
klasa | nazwa | przykład |
0 | zwyczajny | / |
1 | wielki operator | \sum |
2 | operator binarny | + |
3 | relacji | = |
4 | otwierający | ( |
5 | zamykający | ) |
6 | punktuacyjny | . |
7 | należący do różnych rodzin (ma specjalne + znaczenie) | x |
+ | prawa strona | ||||||||
Ord | +Op | +Bin | +Rel | +Open | +Close | +Punc | +Inner | ||
strona lewa |
+Ord | +0 | +1 | +(2) | +(3) | +0 | +0 | +0 | +(1) |
Op | +1 | +1 | +* | +(3) | +0 | +0 | +0 | +(1) | |
Bin | +(2) | +(2) | +* | +* | +(2) | +* | +* | +(2) | |
Rel | +(3) | +(3) | +* | +0 | +(3) | +0 | +0 | +(3) | |
Open | +0 | +0 | +* | +0 | +0 | +0 | +0 | +0 | |
Close | +0 | +1 | +(2) | +(3) | +0 | +0 | +0 | +(1) | |
Punc | +(1) | +(1) | +* | +(1) | +(1) | +(1) | +(1) | +(1) | |
Inner | +(1) | +1 | +(2) | +(3) | +(1) | +0 | +(1) | +(1) |
0 | brak odstępu |
1 | mały odstęp (thin space) |
2 | średni odstęp (medium space) |
3 | duży odstęp (thick space) |
() | odstęp jest wstawiany wyłącznie w textstyle i + displaystyle |
* | zależy od kontekstu |
+Uczymy się TEX-a przez lata, jednak bardzo trudno cokolwiek zrobić bez +dobrej książki na biurku. Mimo iż uczę się TEX-owej maszyny mniej +więcej od pięciu lat, ciągle o czymś zapominam lub łapię się na tym, +że czegoś nie doczytałem lub pominąłem. Do białej gorączki doprowadzają +mnie odkrycia, że przerobiony dawniej temat umknął mi gdzieś z pamięci. +Muszę czytać od nowa :-(. + +
+Jedyną receptą na moje bolączki stało się robienie notatek z naszej +TEX-owej biblii, czyli z The TEXbook. Notatki te +nie są zawsze wierną kopią TEXbook-a, mają jednak +identyczny układ tematyczny. +Marzy mi się po cichu dobre tłumaczenie mojej ulubionej książki, +czy jest to jednak możliwe? Każdego, kto ma na ten temat jakieś refleksje +lub pomysły, proszę o kontakt. + +
+Jeśli zechcesz więc, drogi czyTEXniku, zajrzeć do moich notatek, +to zapraszam. Dzisiaj zapiski z rozdziału trzynastego TB ,,Tryby''. + + +
+Podobnie jak każdy z nas jest w danym momencie w pewnym nastroju, tak +TEX jest w pewnym trybie. Istnieje sześć trybów TEX-a: + + +
+
+W zasadzie użytkownik nie musi zastanawiać się, w jakim trybie w danym +momencie jest TEX. Problemy pojawią się dopiero wtedy, gdy ujrzymy komunikat +w stylu Nie możesz zrobić czegoś w ograniczonym trybie +poziomym. Aby uniknąć takich niemiłych niespodzianek, musimy wiedzieć, +w jakim trybie znajduje się TEX\ w każdym dowolnym momencie. + +
+W zasadzie TEX jest w trybie pionowym, gdy tworzy listę pionowych +kar, klejów (np. \vskip) i pudełek (np. \vbox). Pudełka i kleje +umieszczane są jedno pod drugim na stronie. Tryb poziomy tworzą kary, +kleje (np. \hskip) i pudełka poziome umieszczane jedno za drugim, +tworząc akapit. Tryb matematyczny tworzą wszystkie elementy umieszczone +między znakami dolara `$'. + + +
+Na samym początku TEX znajduje się w trybie pionowym i jest gotowy do +tworzenia listy pionowej (a potem strony). Jeśli utworzymy klej, karę lub +pudełko, TEX zacznie umieszczać je jedno za drugim. Spójrzmy na +krótki źródłowy pliczek plain-TEX-owy: +
+1 Gdańsk 1996 +2 \vskip 1cm +3 \centerline {GUST} +4 \medskip +5 Co to jest \TeX? +6 \vfil +7 \break +8 $x$ +9 \bye ++ +
+Praktycznie każda linijka tego pliku tworzy osobny element na liście +pionowej. Prześledźmy, w jakie tryby właściwie ,,wpadał'' TEX. + +
+
+Z przedstawionego przykładu wynikają pewne ogólne wnioski. Gdy TEX +znajduje się w trybie pionowym lub wewnętrzynym trybie pionowym, to +pierwszy żeton nowego akapitu zmienia tryb na poziomy. Tryb ten +utrzymuje się aż do zakończenia akapitu. Inaczej mówiąc obiekty typu +poziomego automatycznie zmieniają tryb pionowy na poziomy. Dzieje się +tak wówczas, gdy napiszemy jakikolwiek znak (kategoria 11.) lub pojawi się +któryś z żetonów \char, \accent, \hskip, \_, \vrule, czy też +znak początku trybu matematycznego `$'. Idąc dalej, TEX wstawi +pudełko o szerokości wcięcia akapitowego i odczyta jeszcze raz dany +żeton już w trybie poziomym. + +
+Istnieje możliwość celowego zmuszenia TEX-a do przejścia w tryb +poziomy. Nieufnym proponuję makra \indent i \noindent, które +zmieniają tryb na poziomy oraz odpowiednio tworzą lub zakazują +utworzenia wcięcia akapitowego. \indent wstawia na początku akapitu +puste pudełko o szerokości \parindent (domyślnie jest to 20pt). +Dlatego też ciąg niewinny \indent \indent spowoduje wstawienie +podwójnego wcięcia. Analogiczny ciąg\break +\noindent \noindent nie spowoduje +nic, poza tym co zrobi pojedynczy \noindent. + + + +
+Jeśli umieścimy
+\hbox{...} w trybie poziomym, TEX złoży akapit
+uwzględniając w nim pudełko poziome (na przykład TEX nigdy nie złamie
+takiego pudełka). Podobnie jeśli umieścimy \hbox{...} w trybie
+pionowym, TEX złoży stronę uwzględniając takie pudełko.
+
+
+No dobrze, ale jak +rozpocząć akapit pudełkiem \hbox{...}? + +
+Kilka linijek wyżej udzielono właściwie odpowiedzi na to pytanie. Można +zastosować konstrukcję typu \indent \hbox{...}, nie jest to +jednak zbyt rozsądne. Wyobraźmy sobie bowiem, że chcemy zdefiniować makro, +które rozwija się do hbox-a. Ponadto chcemy, aby działało poprawnie +zarówno na początku, jak i w środku akapitu --- w takim wypadku użycie +makra \indent nie jest zachęcające. + +
+Plain TEX posiada złoty środek, jakim jest makro \leavevmode, które +rozwija się do \unhbox \voidbox. + + + + +
+W typowych publikacjach TEX większość czasu spędza w trybie poziomym, +składając akapity. Na krótko robi wycieczki do trybu pionowego pomiędzy +nimi. Akapit kończy się, gdy użytkownik wyda polecenie \par lub +pozostawi w pliku źródłowym pustą linię (pusta linia jest zamieniana na +\par według zasad z rozdziału 8. TB). Akapit uda się także zakończyć, +wydając polecenie \vskip 1cm (patrz linia 2. powyższego przykładu). +Nie musimy wpisywać wówczas komendy \par, gdyż klej pionowy vskip +oczywiście nie może być częścią akapitu i spowoduje przejście TEX-a do +trybu pionowego. + +
+Przełącznik trybu matematycznego (żeton `$') umieszczony w trybie
+poziomym spowoduje, że TEX ,,zanurkuje'' w tryb matematyczny do czasu
+napotkania drugiego żetonu `$'. TEX dołączy formułę matematyczną
+do akapitu i powróci do trybu poziomego. Na przykład
+
+ +Myślę ..., więc jestem. +
+Różnimy się o $\varepsilon$. +
+$\alpha$-Centauri + + +
+Inaczej jest w eksponowanym trybie matematycznym. +Jeśli użyjemy pod rząd dwóch żetonów `$$', TEX przerwie składanie +akapitu (dokona przy tym różnych obliczeń, na przykład wyliczy sobie +długość ostatniej linijki poprzedzającej wzór) i wyśle dotychczas złożoną +część akapitu na listę pionową. Wskoczy następnie w tryb matematyczny +eksponowany, złoży formułę (koniec formuły oznaczamy kolejną parą +żetonów `$$') i powróci do trybu poziomego. Jeśli akapit +nie został zakończony, TEX dalej będzie go składał. Na przykład +
+Liczba $$\pi \approx 3.1415926536$$ +jest bardzo ważna. ++spowoduje złożenie następującego akapitu: + +
+ +
+ +
+W ograniczony tryb poziomy TEX wpada, gdy zastosujemy \hbox lub +\halign. W późniejszych rozważaniach (patrz też rozdziały 12. +i 21. TB) dowiemy się bardziej szczegółowo, iż różnice między wywnętrznym +trybem pionowym a trybem pionowym oraz ograniczonym trybem poziomym +a trybem poziomym są niewielkie. Jadnak trzeba pamiętać, że trybów tych +TEX używa do różnych celów. + + + +h4> Różny nastrój w różnym trybie + +Gdy TEX połyka żeton, musi podjąć decyzję, co z nim zrobić. Decyzja +TEX-a w znacznym stopniu zależy od trybu, w jakim się znajduje. + +
+Przykładowo makro \break działa zupełnie inaczej w trybie pionowym +(łamie stronę --- patrz powyższy przykład) i poziomym (łamie linijkę +akapitu). Dwa znaki `$$' użyte w trybie poziomym spowodują przejście +TEX-a do trybu matematycznego eksponowanego, ale użycie ich +w ograniczonym trybie poziomym spowoduje utworzenie pustej matematycznej +formuły i może powodować komunikaty o błędach. + +TEX korzysta z faktu, że niektóre operacje są niedopuszczalne w danym +trybie, i pozwala nam unikać błędów, które mogą pojawiać się w naszych +dokumentach. + +
+TEX będąc w danym trybie, zwykle przerywa pracę, aby wykonać jakieś +zadanie w innym, a następnie wraca do trybu pierwotnego. Na przykład +użycie `\hbox{' w dowolnym trybie ,,wrzuca'' TEX-a w ograniczony tryb +poziomy do czasu napotkania nawiasu zamykającego `}'. W tym sensie +TEX może znajdować się w kilku trybach naraz, jednak sposób +działania TEX-a zależy od trybu, w którym jest w danym momencie +,,najgłębiej''; tryby zewnętrzne, w których jest zagnieżdżony, +nie obchodzą go. + +
+Zdarzyć się może, że zupełnie nie wiemy, w jakim trybie znajduje się +TEX. Co wtedy zrobić? Najlepiej zapytać o to największego eksperta w tych +sprawach, czyli samego TEX-a. Spójrzmy na plik tryby.tex: +
+\tracingcommands=1 +\hbox{ +$ +\vbox{ +\noindent$$ +x\showlists +$$}$}\bye +\endverbatim ++Pierwsza linia tego pliku zmusza TEX-a do zapisywania w pliku +tryby.log informacji o każdej komendzie, którą napotka (TEX robi tak, +gdy wartość \tracingcommands jest dodatnia). Oto jakie nowe informacje +pojawią się w pliku tryby.log: + +
+ +
+{vertical mode: \hbox} +{restricted horizontal mode: blank space} +{math shift character $} +{math mode: blank space} +{\vbox} +{internal vertical mode: blank space} +{\noindent} +{horizontal mode: math shift character $} +{display math mode: blank space} +{the letter x} ++
+ +A więc wiadomości są następujące: + +
+TEX, będąc w trybie pionowym, ujrzał żeton \hbox, co zmusiło go do +wejścia w ograniczony tryb poziomy. + +
+Pierwszym żetonem, jaki ujrzał, była spacja, jako że koniec linii oznacza +dla TEX-a właśnie spację (patrz koniec linii 2.) + +
+Będąc cięgle w ograniczonym trybie poziomym zobaczył przełącznik trybu +matematycznego --- żeton `$', co spowodowało przejście do trybu +matematycznego. + +
+Pierwszym żetonem jaki ujrzał była znowu spacja, która w tym trybie +nic nie znaczy --- jest ignorowana. + +
+Następnie TEX napotyka na żeton \vbox, czyli witamy w wewnętrznym +trybie pionowym, aby po ujrzeniu żetonu \noindent wejść w tryb poziomy. + +
+Niezbyt długo trwał ten stan, gdyż dwa znaki $$ zanurzyły TEX-a +w eksponowany tryb matematyczny. Bul, bul, bul\dots + +
+Bardzo interesująca staje się zawartość pliku tryby.log po komendzie +\showlists. Jest to kolejna bardzo użyteczna możliwość śledzenia +poczynań TEX-a. Dzięki niej możemy dowiedzieć się rzeczy, które TEX +zwykle trzyma w ukryciu. + +
+\showlists powoduje bowiem wypisanie list, które buduje TEX +w aktualnym trybie oraz we wszystkich trybach nadrzędnych (czyli tych, +w których zawiera się tryb aktualny). + +
+
+### display math mode entered at line 5 +\mathord +.\fam1 x +### internal vertical mode entered at line 4 +prevdepth ignored +### math mode entered at line 3 +### restricted horizontal mode entered at line 2 +\glue 3.33333 plus 1.66666 minus 1.11111 +spacefactor 1000 +### vertical mode entered at line 0 +prevdepth ignored ++ + +
+Zauważmy, że w momencie, gdy pojawiło się \showlists (linia 6.), TEX +zdążył już pięć razy zmienić tryb. Trybem bieżącym w linii 6. jest +eksponowany tryb matematyczny (patrz linia 5.), który zawiera jeden znak +`x' z rodziny 1. (patrz TB rozdział 17.). + +
+Rozważany przez nas eksponowany tryb matematyczny zawarty jest +w wewnętrznym trybie pionowym (linia 4.). Wewnętrzna lista +pionowa, którą +TEX tworzy w tym trybie, jest pusta --- pojawiająca się spacja +
+\vbox{_ ++jest ignorowana. Komunikat: +
+prevdepth ignored ++oznacza, że wartość \prevdepth* +jest mniejsza lub równa -1000pt, więc najbliższy klej międzylinijkowy +( interline glue) w ogóle się nie pojawi (patrz TB rozdział 12.). + +
+Wewnętrzny tryb pionowy zawiera się w trybie matematycznym (linia 3.) +--- lista wewnętrzna jest pusta (spacja po znaku `$' jest ignorowana). + +Pusta natomiast nie jest lista wewnętrzna ograniczonego trybu poziomego +(linia 2.), zawiera ona klej. Skąd się wziął? Otóż w tym trybie spacja +
+\hbox{_ ++nie jest ignorowana. + +
+Ostatecznie wszystko zawiera się w głównym trybie pionowym. Komunikat: +
+entered at line 0 ++oznacza, że tryb ten pojawił się, zanim TEX zaczął czytać plik +tryby.tex. + + + + +
+ Ciekawostka 1. +Czy można stworzyć TEX-em dokument, w którym TEX nigdy nie opuszcza +trybu pionowego? + +Odpowiedź: +Można, dokument taki składać się może z klejów pionowych +\vskip oraz linii utworzonych komendą \hrule. + +
+
+
+Ciekawostka 2.
+Niektóre z trybów TEX-a nie mogą bezpośrednio zawierać innych trybów;
+na przykład wewnętrzny tryb poziomy nie może zawierać eksponowanego
+trybu matematycznego, nawet jeśli formuła matematyczna ( display)
+pojawia się w środku akapitu. Dzieje się tak, gdyż budowany (w trybie
+poziomym) i przerwany akapit jest zawsze kończony i usuwany z pamięci
+TEX-a zanim formuła się rozpocznie. Czy potrafisz stworzyć
+charakterystykę wszystkich kolejnych par trybów, jakie mogą pojawić się
+w pliku .log po użyciu komendy \showlists?
+
+
+
+Odpowiedź:
+Pozostawiam ten problem jako rozrywkę umysłową dla szanownych
+czyTEXników. Powodzenia!
+(Odpowiedź można znaleźć w TB str. 313 zad. 13.5.)
+
+
+ +Bardzo dziękuję red. Jackowi Foromańskiemu za unicestwienie wielu błędów +czyhających w tym artykule. CzyTEXnik z pewnością dostałby zawrotu +głowy, gdyby zobaczył wersję przed korektą Jacka. + + + +
+
+ +
+** +Na końcu dokumentu plain-TEX-owego umieszczamy zwykle makro \bye, +które jest równoważne \vfill \eject \end. Klej \vfill przełącza +TEX-a w tryb pionowy, \eject kończy stronę, zaś \end kończy pracę +TEX-a.
+ +