Ausgewählte Pakete und Klassen - LaTeX-Kurs der Unix-AG
Transcrição
Ausgewählte Pakete und Klassen - LaTeX-Kurs der Unix-AG
Ausgewählte Pakete und Klassen LATEX-Kurs der Unix-AG Steffen Wolf 22. Juli 2009 Einführung ◮ ◮ ◮ Jede LATEX-Distribution (MikTeX, ProTeXt, teTeX, TeX Live) bringt bereits eine Menge Klassen und Pakete mit Mehr Pakete gibt es auf CTAN: The Comprehensive TEX Archive Network (http://ctan.org) Deutschsprachige Anwendervereinigung TEX, DANTE e.V.: bringt die TEXnische Komödie heraus (http://www.dante.de) Steffen Wolf Ausgewählte Pakete und Klassen 22. Juli 2009 2 / 44 Aufzählungen I ◮ Bekannt: itemize, enumerate, description ◮ Kleinere Aufzählungen: 1 2 3 4 5 6 \ u s e p a c k a g e{ s h o r t l s t} \ begin { s h o r t i t e m i z e } \ item Suppe \ item K a l t s c h a l e \ item beides doof \ end { s h o r t i t e m i z e } • Suppe • Kaltschale • beides doof [mensa-kl.de] Steffen Wolf Ausgewählte Pakete und Klassen 22. Juli 2009 3 / 44 Aufzählungen II ◮ Aufzählungen im Fließtext: 1 2 3 4 5 6 7 \ u s e p a c k a g e[ olditem , o l d e n u m ]{ p a r a l i s t} Proof : \ begin { i n p a r a e n u m }[(1) ] \ item The first claim is true by d e f i n i t i o n. \ item Done in the e x i s t e n c e proof . \ item Too d i f f i c u l t. \ end { i n p a r a e n u m } Proof: (1) The first claim is true by definition. (2) Done in the existence proof. (3) Too difficult. [Kristian Gjøsteen] Steffen Wolf Ausgewählte Pakete und Klassen 22. Juli 2009 4 / 44 Akronyme: acronym I ◮ Akronyme definieren (z. B. in Glossar-Abschnitt): 1 2 3 \ begin { a c r o n y m} \ acro { TLA }{ Three Letter A c r o n y m} \ end { a c r o n y m} TLA Three Letter Acronym ◮ Akronym aufrufen: 1 2 3 4 \ begin { e n u m e r a t e} \ item \ ac { TLA } \ item \ ac { TLA } \ end { e n u m e r a t e} 1. Three Letter Acronym (TLA) 2. TLA Steffen Wolf Ausgewählte Pakete und Klassen 22. Juli 2009 5 / 44 Akronyme: acronym II 1 2 3 4 5 6 7 8 \ begin { e n u m e r a t e} \ item \ acf { TLA } \ item \ acs { TLA } \ item \ acl { TLA } \ item \ acsp { TLA } \ end { e n u m e r a t e} \ acresetall \ ac { TLA } and more \ ac { TLA } 1. 2. 3. 4. Three Letter Acronym (TLA) TLA Three Letter Acronym TLAs Three Letter Acronym (TLA) and more TLA Steffen Wolf Ausgewählte Pakete und Klassen 22. Juli 2009 6 / 44 Quellcode: verbatim I ◮ 1 Will man LATEX-Befehle darstellen, kann man auf das Paket Verbatim zurückgreifen: Der Befehl \ verb |\ LaTeX {}| Der Befehl \LaTeX{} ◮ 1 2 3 Für längere Passagen steht eine Umgebung zur Verfügung: \ begin { v e r b a t i m} Langer Q u e l l t e x t mit \ LaTeX {} - S o n d e r z e i c h e n : $ \ " \ end { v e r b a t i m} Langer Quelltext mit \LaTeX{}-Sonderzeichen: $ \ " Steffen Wolf Ausgewählte Pakete und Klassen 22. Juli 2009 7 / 44 Quellcode: verbatim II ◮ 1 Für noch längeres lohnt es, die Texte in andere Dateien auszulagern: \ v e r b a t i m i n p u t { log - file . txt } Jul Jul Jul Jul Jul Jul Jul Jul 13 13 13 13 13 13 13 13 Steffen Wolf 11:38:40 11:58:04 11:58:04 11:58:04 11:58:04 11:58:04 11:58:04 12:21:03 vakuum vakuum vakuum vakuum vakuum vakuum vakuum vakuum syslogd 1.5.0: restart. klogd: usb 1-5.2: new high speed USB device using ehci_hcd a klogd: usb 1-5.2: configuration #1 chosen from 1 choice klogd: hub 1-5.2:1.0: USB hub found klogd: hub 1-5.2:1.0: 4 ports detected klogd: usb 1-5.2: New USB device found, idVendor=0424, idPro klogd: usb 1-5.2: New USB device strings: Mfr=0, Product=0, klogd: usb 1-5.2: USB disconnect, address 9 Ausgewählte Pakete und Klassen 22. Juli 2009 8 / 44 Quellcode: listings I ◮ 1 2 3 4 5 6 7 Mehr Funktionalität mit listings: Syntaxhervorhebung, Zeilenumbruch, Numerierung, etc. \ u s e p a c k a g e{ l i s t i n g s} \ begin { l s t l i s t i n g }[ l a n g u a g e= Pascal ] for i :=0 to maxint do begin { do n o t h i n g } end ; \ end { l s t l i s t i n g } for i :=0 to maxint do begin { do n o t h i n g } end ; Steffen Wolf Ausgewählte Pakete und Klassen 22. Juli 2009 9 / 44 Quellcode: listings II ◮ Auch im Fließtext einsetzbar: 1 Die K o n s t a n t e \ l s t i n l i n e| maxint | \ dots Die Konstante maxint . . . ◮ Dateien einbinden: 1 2 3 1 2 3 4 5 Steffen Wolf \ lstinputlisting[ f i r s t l i n e =1 , l a s t l i n e =5 ]{ a u s g e w k l a s s e n . tex } \ d o c u m e n t c l a s s [t , serif ,12 pt ]{ beamer } \ u s e p a c k a g e[ utf 8]{ i n p u t e n c} \ u s e p a c k a g e[ OT 1 , T 1]{ f o n t e n c} \ u s e p a c k a g e[ german ]{ babel } \ u s e p a c k a g e[ scaled ]{ helvet } Ausgewählte Pakete und Klassen 22. Juli 2009 10 / 44 Quellcode: listings III ◮ 1 2 3 4 5 1 3 Optionen können mit \lstset{} gesetzt werden: \ lstset { l a n g u a g e= Pascal , b a s i c s t y l e =\ small , identifierstyle=, k e y w o r d s t y l e =\ color { black }\ b f s e r i e s\ underbar , c o m m e n t s t y l e =\ color { blue } , s h o w s t r i n g s p a c e s = false , b a c k g r o u n d c o l o r =\ color { black !10} , n u m b e r s= left , n u m b e r s t y l e =\ tiny , s t e p n u m b e r =2 , n u m b e r s e p =5 pt } f o r i : = 0 to maxint do begin { do nothing } end ; Steffen Wolf Ausgewählte Pakete und Klassen 22. Juli 2009 11 / 44 Quellcode: listings IV ◮ 1 2 3 4 5 6 1 2 3 Erweiterter Zeichenvorrat dank LATEX-Befehlen: \ lstset { l a n g u a g e= Pascal , l i t e r a t e = { : = } { {$ \ gets $ }}1 { <=}{{$ \ leq $ }}1 { >=}{{$ \ geq $ }}1 { < >}{{$ \ neq $ }}1} \ begin { l s t l i s t i n g} if (i <=0) i := 1; if (i >=0) i := 0; if (i < >0) i := 0; \ end { l s t l i s t i n g } if ( i≤0) i ← 1; if ( i≥0) i ← 0; if ( i6=0) i ← 0; Steffen Wolf Ausgewählte Pakete und Klassen 22. Juli 2009 12 / 44 Algorithmen: algorithms I ◮ Setzen von Pseudo-Code in LATEX ◮ 1 ◮ Pakete: algorithms, algorithm2e, algorithmicx \ u s e p a c k a g e{ a l g o r i t h m i c } Einfache Anweisungen 1 2 3 \ begin { a l g o r i t h m i c } \ STATE $ S \ l e f t a r r o w 0 $ \ end { a l g o r i t h m i c } S←0 Steffen Wolf Ausgewählte Pakete und Klassen 22. Juli 2009 13 / 44 Algorithmen: algorithms II ◮ If-Then-Else-Block 1 2 3 4 5 6 \ begin { a l g o r i t h m i c } \ IF { $ x <0 $ } \ STATE $ x \ l e f t a r r o w 0 $ \ ELSIF { $ x $ is u n g e r a d e} \ STATE $ x $ += $ 2 $ \ ELSE [ a n d e r n f a l l s ] \ STATE $ x \ l e f t a r r o w x +1 $ \ ENDIF \ end { a l g o r i t h m i c } if x < 0 then x←0 else if x is ungerade then x+=2 else {andernfalls} x ← x+1 end if Steffen Wolf Ausgewählte Pakete und Klassen 22. Juli 2009 14 / 44 Algorithmen: algorithms III Require: n ≥ 0 Ensure: y = xn y←1 X←x N←n while N 6= 0 do if N is even then X ← X·X N ← N2 else {N is odd} y ← y·X N ← N−1 end if end while Steffen Wolf Ausgewählte Pakete und Klassen 22. Juli 2009 15 / 44 Blindtext 1 2 \ u s e p a c k a g e{ b l i n d t e x t} \ blindtext Dies hier ist ein Blindtext zum Testen von Textausgaben. Wer diesen Text liest, ist selbst schuld. Der Text gibt lediglich den Grauwert der Schrift an. Ist das wirklich so? Ist es gleichgültig ob ich schreibe: »Dies ist ein Blindtext« oder »Huardest gefburn«? Kjift – mitnichten! . . . ◮ ◮ ◮ Mittels babel-Paket Sprache auswählen \blindtext[3] wiederholt den Text dreimal Blindtexte generieren geht hier: http://www.bentkamp.de/blindzebra/de/Generator Steffen Wolf Ausgewählte Pakete und Klassen 22. Juli 2009 16 / 44 Fußnoten I ◮ ◮ ◮ ◮ ◮ Müßten eigentlich bekannt sein1 Sind eigentlich schlechter Stil2 Fußnotentext und -markierung können auch einzeln gesetzt werden3 Lange Fußnoten brechen automatisch um auf die nächste Seite4 Fußnoten in Fußnoten ist nicht so leicht5 1 Siehe Einführungskurs wenn es im ganzen Dokument nur eine Fußnote gibt 3 Mit \footnotetext{Text} und \footnotemark[Nummer] 4 Nicht in beamer 5 Mit \footnotetext und \footnotemark ist’s möglich6 6 Aber wer braucht das schon? 7 Fußnoten ohne Markierung sind verwirrend 2 Besonders, Steffen Wolf Ausgewählte Pakete und Klassen 22. Juli 2009 17 / 44 Fußnoten II ◮ ◮ Fußnoten in table- oder figure-Umgebungen verschwinden meist Abhilfe: 1 2 3 4 5 \ u s e p a c k a g e{ ctable } \ ctable [ c a p t i o n= Test ]{ lrl } {\ tnote [1]{ G r i e c h i s c h }\ tnote [2]{ Latein }} {\ t o p r u l e $ \ alpha $ \ tmark [1] & b & c \ tmark [2]\\ \ bottomrule} Tabelle: Test α1 b c2 1 Griechisch 2 Latein Steffen Wolf Ausgewählte Pakete und Klassen 22. Juli 2009 18 / 44 PDF-Erweiterungen I ◮ Informationen über Autor etc. 1 2 3 4 5 6 7 8 9 Steffen Wolf \ u s e p a c k a g e[ ps 2 pdf , pdftex ]{ h y p e r r e f} \ hypersetup{ p d f a u t h o r = { Name } , p d f t i t l e = { Titel } , p d f s u b j e c t = { B e t r e f f} , p d f k e y w o r d s = { Ein Schl \" usselwort , ein zweites , \ ldots } , p d f c r e a t o r = { LaTeX mit Paket h y p e r r e f} , p d f p r o d u c e r = { dvips + ps 2 pdf } } Ausgewählte Pakete und Klassen 22. Juli 2009 19 / 44 PDF-Erweiterungen II ◮ Einbetten von Dateien in PDF-Datei ◮ ◮ 1 2 3 ◮ Sinnvoll z. B. für .bib-Dateien oder zitierte Arbeiten Keine Änderung am sichtbaren Dokument \ u s e p a c k a g e{ e m b e d f i l e } \ e m b e d f i l e{ g r a p h e n t h e o r i e . bib } \ e m b e d f i l e[ m i m e t y p e= plain / text , desc ={ Meine L i t e r a t u r v e r w e i s e zur G r a p h e n t h e o r i e }]{ g r a p h e n t h e o r i e . bib } Ähnliches Paket: attachfile Steffen Wolf Ausgewählte Pakete und Klassen 22. Juli 2009 20 / 44 Papiergröße und -ausrichtung: vmargin ◮ ◮ ◮ vmargin erlaubt die Manipulation von Seitengröße, -ausrichtung und -rändern Sollte eigentlich LATEX bzw. den Dokumentklassen überlassen werden Papiergröße 1 ◮ \ s e t p a p e r s i z e [ l a n d s c a p e ]{ A 4} Seitenränder (links, oben, rechts, unten, Höhe Kopfzeile, Abstand Kopfzeile–Text, Höhe Fußzeile, Abstand Fußzeile–Text) 1 2 \ s e t m a r g i n s r b {35 mm }{20 mm }{25 mm }{15 mm } {12 pt }{11 mm }{0 pt }{11 mm } Ähnliche Befehle: setmargins, setmargnohf, . . . Steffen Wolf Ausgewählte Pakete und Klassen 22. Juli 2009 21 / 44 Papiergröße und -ausrichtung: geometry I ◮ Textbreite festsetzen, mittig auf Papier 1 ◮ Rand festsetzen 1 ◮ ◮ ◮ \ u s e p a c k a g e[ text ={9 cm ,25 cm } , c e n t e r i n g ]{ g e o m e t r y} \ u s e p a c k a g e[ margin =2 cm ]{ g e o m e t r y} Papiergröße: a4paper,letterpaper, screen, . . . Ausrichtung: landscape, portrait Textkörper: 1 Steffen Wolf \ u s e p a c k a g e[ width =0.8\ textwidth , includehead , i n c l u d e m p ]{ g e o m e t r y} Ausgewählte Pakete und Klassen 22. Juli 2009 22 / 44 Papiergröße und -ausrichtung: geometry II ◮ Ränder: 1 2 ◮ \ u s e p a c k a g e[ h m a r g i n =2 cm , v m a r g i n =2.5 cm ]{ g e o m e t r y} \ u s e p a c k a g e[ twoside , v c e n t e r i n g ]{ g e o m e t r y} Treiber: Setzt im Ausgabeformat alle Parameter 2 \ u s e p a c k a g e[ dvips ]{ g e o m e t r y} \ u s e p a c k a g e[ pdftex ]{ g e o m e t r y} Steffen Wolf Ausgewählte Pakete und Klassen 1 22. Juli 2009 23 / 44 paper body right (outer) width bottom paperwidth Steffen Wolf textheight total body Ausgewählte Pakete und Klassen textwidth foot footskip left (inner) head total body height paperheight top headheight headsep Papiergröße und -ausrichtung: geometry III 22. Juli 2009 24 / 44 Chemie ◮ DE-TEX-FAQ zu Chemischen Formeln: ◮ ◮ ◮ ◮ ◮ ◮ ◮ Steffen Wolf PPCHTEX XΥMTEX chemstruct chemtex chemsym streeTEX OCHEM veraltet? in CTAN nicht aktuell TEX TEX nur C2 H5 OH u.so kein pdfLATEX Perl, aber gut Ausgewählte Pakete und Klassen 22. Juli 2009 25 / 44 Chemie: XΥMTEX ◮ Strukturformeln: 1 2 3 4 \ u s e p a c k a g e{ carom , sizeredc , a l i p h a t} \ bzdrv {1== OH ;4== OH } \ bzdrh {1== F ;4==\ bzdrh {1==( yl ) ;3== Cl }} \ t e t r a h e d r a l {0== C ;1 D == O ;4== Cl ;2== Cl }} OH Cl "b b " " b b " b" F TTT TT TTT TT O Cl C Cl OH http://homepage3.nifty.com/xymtex/fujitas3/xymtex/indexe.html Steffen Wolf Ausgewählte Pakete und Klassen 22. Juli 2009 26 / 44 Chemie: chemtex 1 2 3 \ u s e p a c k a g e{ c h e m t e x} \ initial \ s i x r i n g{ $ OH $ }{ Q }{ Q }{ Q }{ $ NC $ }{ Q }{ $ CH _{3} $ }{ $ NH $ }{ D } "bb" NC b " OH " b" " b b CH3 bb"" NH http://ctan.org/tex-archive/macros/latex209/contrib/chemtex/ Steffen Wolf Ausgewählte Pakete und Klassen 22. Juli 2009 27 / 44 Chemie: chemstruct \ structure {\ n o p o s i t i o n c h e c k \ phantatom { H }\ sephantom \ atom { N } \ side {\ wswabove \ atom { H }}\ side {\ wnwbelow \ atom {H }}\ nnesingle \ atom { C } \ side {\ nnwabove \ atom { H }}\ side {\ nwbelow \ atom { H }}\ esingle \ atom { C } \ side {\ nnedouble \ atom { O }}\ ssesingle \ atom { O }\ sswsingle \ atom { H }} \ structure {\ phantatom { H }\ swphantom \ atom { N }\ side {\ sseabove \ atom { H }} \ side {\ sebelow \ atom { H }}\ nnesingle \ atom {C }\ side {\ nnwabove \ atom { H }} \ side {\ nwbelow \ atom { H }}\ esingle \ atom { C }\ side {\ nnedouble \ atom { O }} \ ssesingle \ atom { O }\ esingle \ atom { H }} HH O ... .. // C C / \ H...N H O / H ⇔ HH O ... .. // C C / \ N. O H ... . HH http://ctan.org/tex-archive/macros/latex209/contrib/chemstruct/ Steffen Wolf Ausgewählte Pakete und Klassen 22. Juli 2009 28 / 44 Musik ◮ Songs ◮ Guitar Chords ◮ MusiXTEX ◮ Lilypond Steffen Wolf Ausgewählte Pakete und Klassen 22. Juli 2009 29 / 44 Songs ◮ ◮ ◮ Paket zum Generieren von Liederbüchern Akkorde eintragen ist möglich Notensatz nicht ◮ Stil ist gewöhnungsbedürftig ◮ Beispiel extern http://songs.sourceforge.net/ Steffen Wolf Ausgewählte Pakete und Klassen 22. Juli 2009 30 / 44 Gitarrenakkorde: gchords I ◮ Zur Darstellung der Griffe × t rrr A 1 2 3 4 5 6 7 c a 1 2 cc rrrrrr r rr E F 3 rr \ u s e p a c k a g e{ g c h o r d s} \ chords { \ chord { t }{ n ,n , p 2 ,p 2 ,p 2 , n }{ A } \ chord { t }{ x ,n , bp 1 , p 2 ,p 2 ,n }{ a } \ chord { t }{ n , f 3 p 1 ,f 1 p 2 , f 2 p 2 ,n , n }{ E } \ chord { t }{ p 1 , p 1 p 2 , p 1 p 3 , p 1 p 3 , p 1 ,p 1}{ F } } http://www.aei.mpg.de/~peekas/gchords/ Steffen Wolf Ausgewählte Pakete und Klassen 22. Juli 2009 31 / 44 Gitarrenakkorde: gchords II ◮ Kann die Akkorde über Liedtext plazieren: d When there is trap set up for you, C In every corner of this town, F g C a And so you learn the only way to go – is – underground. [Gogol Bordello: Through the Roof] 1 2 3 4 \ begin { verse } \ u p c h o r d{ d } When there is trap set up for you ,\\ \ dots \ end { verse } Steffen Wolf Ausgewählte Pakete und Klassen 22. Juli 2009 32 / 44 MusiXTEX I ◮ ◮ ◮ Vollständiger Notensatz Zusatzprogramm für bessere Ausrichtung (musixflx) Eigentlich PlainTEX, beißt sich ein wenig mit mathpazo Piano G 44 ˘ ˇ ˇ ă G 44 ˇ ˇ ˇ ˇ ˇ ˇ ˇ ˇ 2 ˇ ˇ ˘ ŐŐŐŐ ˇ` ˇ ˇ ˇ ˇ ˇ ˇ ˇ ˇ http://www.ctan.org/tex-archive/macros/musixtex/taupin/ http://icking-music-archive.org/software/indexmt6.html Steffen Wolf Ausgewählte Pakete und Klassen 22. Juli 2009 33 / 44 MusiXTEX II 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 \ startmuflex \ begin { music } \ s e t n a m e 1{ Piano } \ s e t s t a f f s 12 \ g e n e r a l m e t e r {\ m e t e r f r a c 44} \ startextract \ Notes \ ibu 0 f 0\ qb 0{ cge }\ tbu 0\ qb 0 g |\ hl j \ en \ Notes \ ibu 0 f 0\ qb 0{ cge }\ tbu 0\ qb 0 g |\ ql l \ sk \ ql n \ en \ bar \ Notes \ ibu 0 f 0\ qb 0{ dgf }|\ qlp i \ en \ notes \ tbu 0\ qb 0 g |\ ibbl 1 j 3\ qb 1 j \ tbl 1\ qb 1 k \ en \ Notes \ ibu 0 f 0\ qb 0{ cge }\ tbu 0\ qb 0 g |\ hl j \ en \ endextract \ end { music } \ endmuflex Steffen Wolf Ausgewählte Pakete und Klassen 22. Juli 2009 34 / 44 Lilypond I ◮ ◮ ◮ Vollständiges Framework für Notensatz Pre-Prozessor für LATEX Dafür einfachere Noteneingabe: 1 2 3 4 5 6 ◮ ◮ \ d o c u m e n t c l a s s { a r t i c l e} \ begin { d o c u m e n t} \ begin [ quote , fragment , s t a f f s i z e =26]{ l i l y p o n d} c ’ d ’ e ’ f ’ g ’2 g ’2 \ end { l i l y p o n d} \ end { d o c u m e n t} Aufruf: lilypond-book -f latex datei.lytex Ausgabe: datei.tex und Bilddateien mit den Notenzeilen http://lilypond.org/web/ Steffen Wolf Ausgewählte Pakete und Klassen 22. Juli 2009 35 / 44 Lilypond II ◮ Ergebnis: ◮ Probleme: ◮ ◮ ◮ ◮ Steffen Wolf Externes Programm nötig Ab und an Fehlplazierungen von Texten in der Notenzeile Sehr viele temporäre Dateien mit zufälligen Dateinamen Ständige Neugenerierung der Bilder, auch wenn man nur Text in der Ausgangsdatei ändert Ausgewählte Pakete und Klassen 22. Juli 2009 36 / 44 Weitere Pakete und Klassen I afterpage führt Befehle am Ende der aktuellen Seite aus 1 \ a f t e r p a g e {\ c l e a r p a g e} booktabs für schöne Tabellen 1 2 3 4 5 Steffen Wolf \ begin { t a b u l a r }{ cc } \ t o p r u l e Kopf 1 & Kopf 2 \\ \ m i d r u l e Inhalt 1 & Inhalt 2 \\ \ bottomrule \ end { t a b u l a r} Kopf 1 Kopf 2 Inhalt 1 Inhalt 2 Ausgewählte Pakete und Klassen 22. Juli 2009 37 / 44 Weitere Pakete und Klassen II colortbl für bunte Tabellen 1 2 3 4 5 \ begin { t a b u l a r }{ >{\ c o l u m n c o l o r{ red }} cc } Kopf 1 & Kopf 2 \\ \ r o w c o l o r{ green } Inhalt 1 & Inhalt 2 \\ Inhalt 3 & \ c e l l c o l o r { cyan } Inhalt 4 \\ \ end { t a b u l a r} Kopf 1 Inhalt 1 Inhalt 3 Steffen Wolf Kopf 2 Inhalt 2 Inhalt 4 Ausgewählte Pakete und Klassen 22. Juli 2009 38 / 44 Weitere Pakete und Klassen III rotating rotiert Text (praktisch für enge Tabellen) 1 2 3 4 Rotiert! 5 \ begin { t a b u l a r }{| c | c |} \ m u l t i r o w { 3 } { * } { \ begin { turn }{90}\ small R o t i e r t !\ end { turn }} & Inhalt 1 \\ & Inhalt 2 \\ & Inhalt 3 \\ \ end { t a b u l a r} Inhalt 1 Inhalt 2 Inhalt 3 Für Abbildungen und Tabellen: sidewaysfigure und sidewaystable Steffen Wolf Ausgewählte Pakete und Klassen 22. Juli 2009 39 / 44 Weitere Pakete und Klassen IV changebar erzeugt Balken am Seitenrand 1 2 3 \ begin { c h a n g e b a r} Hier steht Text \ end { c h a n g e b a r } Farben möglichen mit Paket color oder xcolor 1 \ c b c o l o r{ red } Breite kann geändert werden: 1 2 3 \ s e t l e n g t h {\ c h a n g e b a r w i d t h }{3 pt } \ s e t l e n g t h {\ d e l e t e b a r w i d t h }{5 pt } \ s e t l e n g t h {\ c h a n g e b a r s e p }{1 ex } Spezielles Markierungszeichen: 1 Steffen Wolf \ cbdelete Ausgewählte Pakete und Klassen 22. Juli 2009 40 / 44 Weitere Pakete und Klassen V marginpar erzeugt Randnotiz am rechten Seitenrand: 1 \ m a r g i n p a r{ Text mu " s k o r r i g i e r t werden } ziffer paßt den Mathematikmodus ans Deutsche an, indem das Leerzeichen hinter Kommas ggf. entfernt wird: f ( x, y) und 3,1415 The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software–to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation’s software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Library General Public License instead.) You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny Steffen Wolf Ausgewählte Pakete und Klassen GPL Freedom 22. Juli 2009 41 / 44 Weitere Pakete und Klassen VI nag Kontrolliert den LATEX-Code auf veraltete Verhaltensweisen 1 \ u s e p a c k a g e[ l 2 tabu , orthodox , abort ]{ nag } l2tabu Warnt vor Befehlen aus l2tabu (z. B. veralteten Befehlen, fehlendem caption in figure, . . . ) orthodox Warnt bei technisch korrekten Befehlen mit unerwarteten Auswirkungen (z. B. Schriftgrößen als Umgebungen) abort Bricht LATEX-Lauf bei Fehler ab Steffen Wolf Ausgewählte Pakete und Klassen 22. Juli 2009 42 / 44 Weitere Pakete und Klassen VII nicefrac Schöne Brüche im Text. Zum Vergleich einmal 22 „konventionell” ( 22 7 ) und einmal mit nicefrac ( /7) 1 Zum V e r g l e i c h einmal ,, k o n v e n t i onell ’ ’ ( $ \ frac { 2 2 } { 7 }$ ) und einmal mit \ texttt { n i c e f r a c } ( $ \ n i c e f r a c { 2 2 } { 7 }$ ) quotmark Einheitliche Anführungszeichen abhängig von Sprache: „Hat er gesagt ‚Ich bin hier‘?“ 1 \ tqt { Hat er gesagt \ tqt { Ich bin hier }?} etex Erweitert die Kapazität von TEX für Zähler, Längen, etc. Hilft gegen solche Fehlermeldungen: 1 2 ! No room for a new \ count . \ ch@ck \ ldots \ else \ errmessag e { No room for a new #3} \ fi 3 4 l .99 \ newcount \ mylength Steffen Wolf Ausgewählte Pakete und Klassen 22. Juli 2009 43 / 44 Ende Vielen Dank für die Aufmerksamkeit! Dank an Thomas Fischer für die ursprünglichen Folien Steffen Wolf Ausgewählte Pakete und Klassen 22. Juli 2009 44 / 44