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