Latex dr hab. Bożena Woźna-Szcześniak Akademia im. Jan Długosza bwozna@gmail.com Komputerowy skład tekstu
L A TEX: Skorowidze Skorowidz można utworzyć za pomoca L A T E X-a oraz programu narzędziowego makeindex. Generować hasła do skorowidza można dopiero po załadowaniu w preambule dokumentu pakietu o nazwie makeidx: \usepackage{makeidx} oraz wstawieniu (także w obrębie preambuły) instrukcji: \makeindex Hasło wstawiamy do skorowidza poleceniem: \index{hasło} gdzie hasło oznacza pozycję w skorowidzu. Polecenie \index{hasło} umieszczamy w pliku zródłowym bezpośrednio w miejscu zwiazanym z określonym hasłem.
L A TEX: Skorowidze Podczas przetwarzania pliku zródłowego przez L A T E X-a każda instrukcja \index powoduje, że do pliku pomocniczego zostaje zapisana odpowiednia pozycja skorowidza wraz z bieżacym numerem strony. Plik pomocniczy nosi te sama nazwę co główny plik zródłowy, ma jednak rozszerzenie.idx. Plik.idx trzeba następnie przetworzyć programem makeindex makeindex plik Program makeindex tworzy posortowany skorowidz i zapisuje go do pliku o nazwie identycznej z nazwa głównego pliku zródłowego i o rozszerzeniu.ind.
L A TEX: Skorowidze Aby skorowidz został właczony do dokumentu w miejscu wystapienia polecenia: \printindex należy jeszcze raz przetworzyć plik zródłowy.
L A TEX: Skorowidze Przykład Hasło Uwagi \index{kot} kot, 1 hasło pierwszego stopnia \index{kot!rudy} rudy, 3 hasło drugiego stopnia \index{sam@\textsl{sam}} Sam, 2 hasło sformatowane \index{lin@\textbf{lin}} Lin, 7 hasło sformatowane \index{cadiz@c\ adiz} Cádiz, 77 poprawne sortowanie \index{jenny textbf} Jenny, 3 formatowanie numeru strony \index{joe textit} Joe, 5 formatowanie numeru strony \index{kot see{felis}} kot, zob. felis relacja pomiędzy hasłam
L A TEX: Skorowidze - przykłady 1 Wejście Patrz: {./lab/idx.tex} Wyjście Patrz: {./lab/idx.pdf} 1 Na podstawie: https://www.sharelatex.com/learn/indices
L A TEX: Skorowidze - przykłady 2 Wejście Patrz: {./lab/idx2.tex} Wyjście Patrz: {./lab/idx2.pdf} 2 Na podstawie: https://www.sharelatex.com/learn/indices
L A TEX: Skorowidze - przykłady 3 Wejście Patrz: {./lab/idx3.tex} Wyjście Patrz: {./lab/idx3.pdf} 3 Na podstawie: https://www.sharelatex.com/learn/indices
L A TEX: Skorowidze - przykłady 4 Wejście Patrz: {./lab/idx4.tex} Wyjście Patrz: {./lab/idx4.pdf} 4 Na podstawie: https://www.sharelatex.com/learn/indices
L A TEX: Skorowidze wielokrotne (ang. Multiple Indexes) Wejście \ d o c u m e n t c l a s s { a r t i c l e } \ u s e p a c k a g e { m u l t i n d } %% Zamiast : \ u s e p a c k a g e { makeidx } % M u l t i p l e I n d e x e s \ makeindex { programs } %% z a m i a s t \ makeindex \ makeindex { a u t h o r s } \ b e g i n { document } Knuth \ i n d e x { a u t h o r s }{ Knuth } i s t h e a u t h o r of \ TeX \ i n d e x { programs }{TeX }.... Lamport \ i n d e x { a u t h o r s }{ Lamport } c r e a t e d \ LaTeX. \ p r i n t i n d e x { programs }{ Index of Programs } \ p r i n t i n d e x { a u t h o r s }{ Index of Authors } \ end { document }
L A TEX: Skorowidze wielokrotne (ang. Multiple Indexes) Aby utworzyć skorowidz wielokrotny: Napisz kod źródłowy L A T E X-a zgodnie ze schematem z poprzedniego slajdu. Skompiluj ten kod przy pomocy pdflatex Wykonaj polecenie $ makeindex <nazwa skorowidza>: $ makeindex authors $ makeindex programs Skompiluj ponownie kod źródłowy L A T E X-a przy pomocy pdflatex
L A TEX: Skorowidze - przykłady 5 Wejście Patrz: {./lab/idx5.tex} Polecenia $pdflatex idx5 $makeindex authors $makeindex programs $pdflatex idx5 Wyjście Patrz: {./lab/idx5.pdf} 5 Na podstawie: https://www.sharelatex.com/learn/indices
L A TEX: Skorowidze wielokrotne (ang. Multiple Indexes) Sterowanie skorowidzem \ index{<name>}{<entry>} Tworzy indeks dla terminu(wejścia) <entry>. \ index{<name>}{<entry>!<subentry>} Tworzy indeks dla terminu <subentry> związanego z wejściem <entry> \ index{<name>}{<entry>!<subentry>!<subsubentry>} \ index{<name>}{<entry> see{<other entry>}} \ index{<name>}{<sorting entry> @{<printing entry>}
Spis literatury, czyli bibliografia Większość prac inżynierskich, dyplomowych, naukowych zawiera cytowania i bibliografię. Bibliografia zwykle znajduje się na końcu pracy. Wpisy sa postaci: <etykieta cytowania> <zawartość bibliografii>. Bibliografie w różnych pracach moga sie różnić. W L A T E X styl bibliografii i etykiet jest wysoce konfigurowalny. Etykiety moga być wyświetlane jako: cyfry nazwiska wraz rokiem...
Przykład - z pisma: Autonomous Agent & Multi-Agent Systems Verification of multi-agent systems (MAS) is an actively developing field of research [7,8,14,24,25,30,47]. Several approaches based on model checking [12,48] have been put forward for the verification of MAS. Typically, they employ combinations of the epistemic logic with either branching [8,30,43] or linear time temporal logic [17,22,38]. Some approaches reduce the verification problem to the one for plain temporal logic [6,22], while others treat typical MAS modalities such as (distributed, common) knowledge as first-class citizens and introduce novel algorithms for them [38,43].
Open Access This article is distributed under the terms of the Creative Commons Attribution License which permits any use, distribution, and reproduction in any medium, provided the original author(s) and the source are credited. References 1. Abdulla, P. A., Bjesse, P., & Eén, N. (2000). Symbolic reachability analysis based on SAT-solvers. In Proceedings of the 6th International Conference on Tools and Algorithms for the Construction and Analysis of Systems (TACAS 00). Lecture Notes in Computer Science, (Vol.1785,pp.411 425).Berlin: Springer. 2. Biere, A. (2008). PicoSAT essentials. Journal on Satisfiability Boolean Modeling and Computation (JSAT), 4,75 97. 3. Biere, A., Cimatti, A., Clarke, E., Fujita, M., & Zhu, Y. (1999). Symbolic model checking using SAT procedures instead of BDDs. In Proceedings of the ACM/IEEE Design Automation Conference (DAC 99) (pp. 317 320). 4. A. Biere, A. Cimatti, E. Clarke, & Y. Zhu. (1999). Symbolic model checking without BDDs. In Proceedings of the 5th International Conference on Tools and Algorithms for the Construction and Analysis of Systems (TACAS 99). Lecture Notes in Computer Science (Vol. 1579, pp. 193 207). Berlin: Springer. 5. Biere, A., Heljanko, K., Junttila, T., Latvala, T., & Schuppan, V. (2006). Linear encodings of bounded LTL model checking. Logical Methods in Computer Science, 2(5:5), 1 64. 6. R. Bordini, M. Fisher, C. Pardavila, W. Visser, & M. Wooldridge. (2003). Model checking multi-agent programs with CASP. In Proceedings of the 15th International Conference on Computer Aided Verification (CAV 03). Lecture Notes in Computer Science (Vol. 2725, pp. 110 113). Springer. 7. Bordini, R. H., Fisher, M., Wooldridge, M., & Visser, W. (2009). Property-based slicing for agent verification. Journal of Logic and Computation, 19(6), 1385 1425. 8. N. Bulling & W. Jamroga. (2010). Model checking agents with memory is harder than it seemed. In Proceedings of the 9th International Conference on Autonomous Agents and Multiagent Systems (AAMAS 10) (pp. 633 640). International Foundation for Autonomous Agents and Multiagent Systems. 9. Cabodi, G., Camurati, P., & Quer, S. (2002). Can BDD compete with SAT solvers on bounded model checking?. In Proceedings of the 39th Design Automation Conference (DAC 02) (pp. 117 122). 10. Chaum, D. (1988). The dining cryptographers problem: Unconditional sender and recipient untraceability. Journal of Cryptology, 1(1), 65 75. 11. Clarke, E., Grumberg, O., & Hamaguchi, K. (1994). Another look at LTL model checking. In Proceedings of the 6th International Conference on Computer Aided Verification (CAV 94). Lecture Notes in Computer Science (Vol. 818, pp. 415 427). Berlin: Springer. 12. Clarke, E., Grumberg, O., & Peled, D. (1999). Model checking. Cambridge:MITPress. 13. Copty, F., Fix, L., Fraer, R.., Giunchiglia, E., Kamhi, G.., Tacchella, A., & Vardi, M. (2001). Benefits of bounded model checking at an industrial setting. In Proceedings of the 13th International Conference on Computer Aided Verification (CAV 01). Lecture Notes in Computer Science (Vol. 2102, pp. 436 453). Berlin: Springer. 14. Dennis, L. A., Fisher, M., Webster, M. P., & Bordini, R. H. (2012). Model checking agent programming languages. Automated Software Engineering, 19(1), 5 63. 15. Etessami, K., & Holzmann, G. J. (2000). Optimizing büchi automata. In Proceedings of the 11th International Conference on Concurrency Theory (CONCUR 00). Lecture Notes in Computer Science (Vol. 1877, pp. 153 167). Berlin: Springer. 16. Fagin, R., Halpern, J. Y., Moses, Y., & Vardi, M. (1995). Reasoning about Knowledge. Cambridge: MIT Press. 17. Gammie, P., & Meyden, R. (2004). MCK: Model checking the logic of knowledge. In Proceedings of the 16th International Conference on Computer Aided Verification (CAV 04). Lecture Notes in Computer Science (Vol. 3114, pp. 479 483). Berlin: Springer. 123
Porównanie: Etykiety cytowań jako numery Etykiety cytowań w postaci numerów sa bardzo kompaktowe. Etykiety cytowań w postaci numerów nie wnosza bezpośredniej informacji o cytowanym źródle: Aby przekonać się co numer oznacza, trzeba iść do bibliografii Niedogodność ta jednak znika, gdy cytowania sa wyposażone w hiperłacza i przegladamy dokument w postaci elektronicznjej
Porównanie: Etykiety cytowań jako nazwisko wraz z rokiem Etykiety cytowań w postaci nazwisko z rokiem sa znacznie dłuższe niż etykiety w postaci numerów, co może przeszkadzać w czytaniu. Etykiety cytowań w postaci nazwisko z rokiem wnosza bezpośrednia informację o cytowanym źródle.
Porównanie Tradycyjnie, cytowania pojawiły się jako numery w tekście. Prawdopodobnie, aby utrzymać niskie koszty druku. Obecnie koszty druku nie maja już większego wpływu na postać etykiet cytowań. Drukowanie jest tańsze. Wiele dokumentów publikuje się wyłacznie w formie elektronicznej. Niektóre wydawnictwa / uniwersytety wymagaja specyficznych stylów dla bibliografii. W AJD dla prac dyplomowych nie ma wymogów co do stylu bibliografii.
Przykład Źródło The \LaTeX{} package was created by Leslie Lamport~\cite{Lamport:94} on top of Donald Knuth s \TeX{} program~\cite{knuth:1990}. Wynik The LaTEX package was created by Leslie Lamport [Lamport 1994] on top of Donald Knuth s TEX program [Knuth 1990].
Spis literatury - metoda półautomatyczna Do przygotowania spisu literatury służy otoczenie thebibliography. Każda pozycja w tym otoczeniu ma postać polecenia: \bibitem{etykieta} Etykiety można użyć do zacytowania w dokumencie tej pozycji, czyli na przykład ksiażki: \cite{etykieta}
\begin{thebibliography}{1} \bibitem{shohamleyton-book2009} Yoav Shoham and Kevin Leyton-Brown. \newblock {\em Multiagent systems: algorithmic, game-theoretic, and logical foundations}. \newblock Cambridge University Press, 2009. \bibitem{weiss99} G.~Weiss. \newblock {\em Multi-agent systems}. \newblock MIT Press, 1999. \bibitem{wooldridge02a} M.~Wooldridge. \newblock {\em An introduction to multi-agent systems}.\newblock John Wiley, England, 2002. \end{thebibliography}
Spis literatury - metoda półautomatyczna Otoczenie thebibliography ma jeden parametr, który powinien zawierać tekst przynajmniej tak szeroki jak najszersza etykieta ze spisu. W naszym przykładzie zapis 1 oznacza, ze numery pozycji w spisie będa co najwyżej jednocyfrowe.
BibTex BibTeX jest narzędziem do automatycznego tworzenia spisu literatury. BibTeX współpracuje z L A T E X-em i korzysta z bazy bibliograficznej (biblioteki), z której wybiera tylko te pozycje bibliograficzne, które były cytowane w dokumencie. Baza bibliograficzna znajduje się w pliku.bib
Rodzaje rekordów bazy bibliograficznej @Article - artykuł z dziennika lub czasopisma. wymagane pola: author, title, journal, and year. pola opcjonalne: volume, number, pages, month, and note. @Book - ksiażka. wymagane pola: author or editor, title, publisher, and year. pola opcjonalne: volume, number, series,.... @InProceedings - artykuł konferencyjny. wymagane pola: author, title, booktitle, publisher, and year. pola opcjonalne: pages, editor, volume, number, series,.... @Proceedings - materiały konferencyjne wymagane pola: title and year. pola opcjonalne: editor, volume, number, series, organisation,.... @MastersThesis - praca magisterska wymagane pola: author, title, school, and year. pola opcjonalne: type, address, month, and note. @PhDThesis - praca doktorska wymagane pola: author, title, school, and year. pola opcjonalne: type, address, month, and note.
Rodzaje rekordów bazy bibliograficznej InBook część ksiażki (rozdział lub strony) pola wymagane: author lub editor, title, chapter lub pages, publisher, year pola opcjonalne: volume lub number, series, type, address, edition, month, note, key InCollection część ksiażki z własnym tytułem pola wymagane: author, title, booktitle, publisher, year pola opcjonalne: editor, volume lub number, series, type, chapter, pages, address, edition, month, note, key TechReport raport uczelni lub innej instytucji, zwykle wchodzacy w skład numerowanej serii. pola wymagane: author, title, institution, year pola opcjonalne: editor, volume lub number, series, address, month, organization, publisher, note, key
Rodzaje rekordów bazy bibliograficznej misc publikacje nie pasuj ace do żadnego z powyższych typów brak pól wymaganych pola opcjonalne: author, title, howpublished, month, year, note, key unpublished materiały niepublikowane pola wymagane: author, title, note pola opcjonalne: month, year, key manual dokumentacja techniczna pola wymagane: title pola opcjonalne: author, organization, address, edition, month, year, note, key
Rodzaje rekordów bazy bibliograficznej - przykłady @Book{wooldridge2002, title = {An introduction to multi-agent systems}, publisher = {John Wiley}, year = {2002}, author = {M. Wooldridge}, address = {England} } @Article{wooldridge97, author = {M. Wooldridge}, title = {Agent-based software engineering}, journal = {{IEE} Proceedings Software Engineering}, year = {1997}, volume = {144}, pages = {26--37}, number = {1} }
Rodzaje rekordów bazy bibliograficznej - przykłady @InProceedings{ woznazbrzezny05a, author = {B. Wo{\ z}na and A. Zbrzezny}, title = {{Bounded Model Checking} for the existential fragment of {TCTL} and {Diagonal Timed Automata}}, booktitle = {Proceedings of the International Workshop on Concurrency, Specification and Programming (CS\&P 05)}, year = {2005}, editor = {Ludwik Czaja}, pages = {586--597}, publisher = {Warsaw University} }
Rodzaje rekordów bazy bibliograficznej - przykłady @TechReport{woznazbrzezny05-report, author = {B. Wo{\ z}na and A. Zbrzezny}, title = {{Bounded Model Checking} for the existential fragment of {TCTL} and {Diagonal Timed Automata}}, institution = {{D}epartment of {C}omputer {S}cience, {U}niversity {C}ollege {L}ondon}, year = {2005}, number = {RN/05/19}, address = {Gower Street,London WC1E 6BT, United Kingdom}, month = aug }
Rodzaje rekordów bazy bibliograficznej - przykłady @InCollection{rao96, author = {A.~S.~Rao}, title = {Decision Procedures for Propositional Linear-Time {Belief-Desire-Intention} Logics}, booktitle = {Intelligent Agents II (LNAI 1037)}, publisher = {Springer-Verlag}, year = {1996}, editor = {M.~Wooldridge and J.~P.~M{\"u}ller and M.~Tambe}, pages = {33--48} }
BibTex Format bibliografii zależy od specyfikacji szablonu znajdujacej się w pliku o rozszerzeniu.bst, a jest zapisywany do pliku o rozszerzeniu bbl. Do poprawnego sformatowania bibliografii i cytowań konieczne jest przynajmniej trzykrotne przetworzenie dokumentu L A T E X-em. tj: latex test.tex latex test.tex bibtex test.aux latex test.tex Podczas przetwarzania pliku źródłowego przez L A T E X-a, każda instrukcja \cite powoduje, że do pliku pomocniczego aux zostaje zapisana odpowiednia etykieta z bazy bibliograficznej umieszczonej w pliku z rozszerzeniem bib.
Standardowe style bibliograficzne plain - pozycje bibliograficzne sa posortowane alfabetycznie i ponumerowane, unsrt - pozycje bibliograficzne występuja w kolejności cytowania i sa ponumerowane, alpha - pozycje sa posortowane, ale zamiast numerów maja etykiety typu Gu96, abbrv - format podobny do plain, ale imiona autorów, nazwy miesięcy i nazwy czasopism sa skracane.
Dołaczanie bazy bibliograficznej Dołaczenie bazy bibliograficznej do pliku źródłowego następuje poprzez użycie polecenia bibliography, np. \bibliography{plik} gdzie plik to nazwa pliku z baza. Wpisy, do których nie ma odniesienia w tekście, nie sa właczane bibliografii. W jednym dokumencie L A T E X-a można wykorzystać kilka plików z bazami danych bibliograficznych, jednak należy to zrobić podajac kolejno nazwy plików oddzielone przecinkami w obrębie jednego polecenia bibliography. Plik stylu wskazujemy poleceniem bibliographystyle, np. \bibliographystyle{abbrv}
Znaki specjalne Token Przeznaczenie Komenda # argument w makrodefinicjach \# $ tryb matematyczny \$ % komentarz \% & separator kolumn \& ~ twarda spacja \textasciitilde _ indeks dolny \_ ^ indeks górny \textasciicircum { poczatek grupy \{ } koniec grupy \} \ poczatek komendy \textbackslash or \backslash
Style czcionek Style czcionek sa opisane poprzez 3 parametry: rodzinę czcionek, krój oraz kształt. Polecenia Kształt: \textup{upright} \textit{italic} \textsl{slanted} \textsc{small cap} Krój: \textmd{medium} \textbf{boldface} Rodzina: \textrm{roman} \textsf{sans serif} \texttt{typewriter} upright italic slanted SAMLL CAP medium boldface roman sans serif typewriter
Style czcionek - przykłady Kod Pogrubione \textbf{słowo} i pogrubione \textbf litery. Wykonanie Pogrubione słowo i pogrubione litery.
Style czcionek - przykłady Kod Normalny tekst tutaj. {% Rozpoczęcie grupy. \bfseries % Teraz mamy tekst pogrubiony. Akapity pisane tekstem pogrubionym. }% Koniec grupy. Ponownie powrót do normalnego tekstu. Wykonanie Normalny tekst tutaj. Akapity pisane tekstem pogrubionym. Ponownie powrót do normalnego tekstu.
Wyróżnianie W L A T E X-u występuje polecenie emph, które ma za zadanie wyróżnić pewien tekst spośród pisanego. \emph{\emph{wyróżnienia} w~tekście już wyróżnionym są składane \emph{zwykłym} krojem pisma.} Wyróżnienia w tekście już wyróżnionym sa składane zwykłym krojem pisma.
Symulacja maszynopisu - środowisko verbatim Za pomoca środowiska verbatim można symulować maszynopis. Oznacza to, że L A T E X będzie składał tekst pomiędzy \begin{verbatim} a \end{verbatim} dosłownie, z zachowaniem odstępów, zmian wiersza oraz oczywiście czcionki. \begin{verbatim} for( i=0 ; i<n ; i++ ) \end{verbatim} for( i=0 ; i<n ; i++ )
Znaki diakrytyczne pl.wikipedia.org/wiki/znaki_diakrytyczne Znaki diakrytyczne to znaki graficzne używane w alfabetach i innych systemach pisma, umieszczane nad, pod literą, obok lub wewnątrz niej, zmieniające artykulację tej litery i tworzące przez to nową literę. W alfabetach sylabowych mogą zmienić znaczenie całej sylaby. W języku polskim jest dziewięć liter tworzonych za pomocą znaków diakrytycznych (litery diakrytyzowane, litery diakrytyczne): ą, ć, ę, ł, ń, ó, ś, ź, ż. W składzie komputerowym często do sprawdzania, czy dany font posiada polskie litery diakrytyzowane, używa się zdania: "Zażółć gęślą jaźń". Jest to najkrótsze znane zdanie, które zawiera wszystkie polskie litery diakrytyzowane.
Znaki diakrytyczne Wyjście Komenda Znaczenie ó \ {o} akcent Grave ò \ {o} akcent Acute ô \^{o} akcent przeciagły õ \~{o} tylda ö \"{o} Umlaut ċ \.{c} akcent kropka š \v{s} caron, check ŏ \u{o} breve akcent ō \={o} macron ő \H{o} długi węgierski umlaut ş \c{s} Cedilla akcent ọ \d{o} Dot-under akcent ō \b{o} Bar-under akcent
Znaki specjalne Wyjście Komenda Znaczenie å \aa Skandynawskie a z kółkiem Å \AA Skandynawskie A z kółkiem ł \l Polskie ł Ł \L Polskie Ł ø \o Skandynawskie przekreślone o Ø \O Skandynawskie przekreślone O Odwrócony znak zapytania Odwrócony wykrzyknik
Ligatury Ligatury (spójki) to znaki graficzne, w których połączono dwie lub trzy litery. Wiekszosc ligatur tworzy sie ze wzgledów estetycznych lub zwyczajowych. LATEX zna pięć następujących ligatur: ff fi fl ffi ffl zamiast ff fi fl ffi ffl. LaTeX używa ligatur automatycznie. Można temu zapobiec, miedzy znakami tworzącymi ligaturę wstawiając instrukcje \mbox{}: Więcej o ligaturach można poczytać na: pl.wikipedia.org/wiki/ligatura_(pismo)
Ligatury w powiększeniu ff fi fl
Ligatury w powiększeniu ffi ffl
Inne ligatury Wyjście Komenda Znaczenie œ \oe ligatura francuska Œ \OE ligatura francuska æ \ae ligatura skandynawska Æ \AE ligatura skandynawska ß \ss niemiecki Eszett
Cudzysłowy Znaku cudzysłowu " używa się inaczej niż na maszynie do pisania. W publikacjach drukowanych różnie oznacza się poczatek i koniec cudzysłowu. Wystepuja także różnice w sposobach oznaczania cudzysłowów w różnych językach. Dwa apostrofy otwieraja, a dwa apostrofy zamykaja L A T E X-owy cudzysłów według reguł języka angielskiego: Kod Please press the x key. Wykonanie Please press the x key.
Cudzysłowy W języku polskim cudzysłów otwierajacy oznacza się dwoma przecinkami, natomiast zamykajacy dwoma apostrofami. Gdy zachodzi konieczność użycia cudzysłowu w tekście już objętym cudzysłowem, to stosuje się cudzysłowy «francuskie», oznaczane w pliku zródłowym znakami, odpowiednio, mniejszości << i większości >>. Kod,,Przechodz tylko po <<zebrach>>! Wykonanie Przechodz tylko po «zebrach»!