1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
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
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
|
Path: senator-bedfellow.mit.edu!bloom-beacon.mit.edu!news.rediris.es!irazu.switch.ch!switch.ch!news-fra1.dfn.de!news-ham1.dfn.de!news.uni-hamburg.de!not-for-mail
From: dantefaq@dante.de (DE-TeX-FAQ-Maintainer)
Newsgroups: de.comp.text.tex,de.answers,news.answers
Subject: TeX, LaTeX, DANTE e.V.: FAQ - Fragen und Antworten (Part 5 of 11)
Supersedes: <de-tex-faq-5-1020876881@dante.de>
Followup-To: de.comp.text.tex
Date: 19 Sep 2003 14:43:16 +0200
Organization: DANTE, Deutschsprachige Anwendervereinigung TeX e.V.
Lines: 969
Approved: news-answers-request@MIT.EDU
Distribution: world
Expires: 03 Nov 2003 13:43:13 MET
Message-ID: <de-tex-faq-5-1063975393@dante.de>
References: <de-tex-faq-1-1063975393@dante.de>
Reply-To: dantefaq@dante.de (DE-TeX-FAQ-Maintainer)
NNTP-Posting-Host: sun.dante.de
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
X-Trace: rzsun03.rrz.uni-hamburg.de 1063975397 889 134.100.9.52 (19 Sep 2003 12:43:17 GMT)
X-Complaints-To: usenet@news.uni-hamburg.de
NNTP-Posting-Date: 19 Sep 2003 12:43:17 GMT
Summary: This posting contains a list of Frequently Asked Questions
(and their answers) about the typesetting system TeX and
about DANTE e.V., the german-speaking TeX users group.
It is in German and uses the ISO Latin-1 character set.
Keywords: FAQ TYPESETTING TeX USERGROUP DANTE
Xref: senator-bedfellow.mit.edu de.comp.text.tex:117403 de.answers:9380 news.answers:258269
Posted-By: auto-faq 3.3 (Perl 5.008)
Archive-name: de-tex-faq/part5
Posting-Frequency: monthly
Copyright-Notice: siehe Abschnitt 1.1/see Section 1.1
URL: http://www.dante.de/faq/de-tex-faq/
--- DE-TeX-FAQ Beginn Teil 5 ---
Fragen und Antworten (FAQ) über das Textsatzsystem TeX und DANTE,
Deutschsprachige Anwendervereinigung TeX e.V.
Bernd Raichle, Rolf Niepraschk und Thomas Hafner
Version 72 vom September 2003
------------------------------------------------------------------------
5 TeX, LaTeX, Makros etc. (I)
5.1 LaTeX - Grundlegendes
5.1.1 Was benötige ich, wenn ich von LaTeX 2.09 auf LaTeX2e umsteigen
bzw. eine neuere LaTeX-Version installieren will?
Grundsätzlich sollte man sich beim Umstieg von 2.09 oder beim Update
einer älteren 2e-Version immer die komplette LaTeX-Distribution im
Verzeichnis ``base'' besorgen und installieren, nie einzelne Dateien
oder nur einzelne Class-Dateien. Nach dem Entpacken der Distribution und
Installation der einzelnen Dateien ist ein neues Format zu generieren.
Die Anleitung ``install.txt'' enthält genauere Informationen und
wichtige Hinweise - bitte durchlesen!
Notwendig:
* alle Dateien im Verzeichnis ``base''.
* alle Zusatzpakete wie `graphics' und damit alle Dateien in den
Verzeichnissen unter dem Verzeichnis ``required''.
* die zusätzlichen CM-Schriften `cmmib' und `cmbsy' in den
Designgrößen 5, 6, 7, 8 und 9 Punkt.
Optional, da schon in ``base'' enthalten:
* Will man sich, insbesondere auf langsameren Rechnern, das
Entpacken der dtx-Dateien in ``base'' sparen, benötigt man noch
zusätzlich die Dateien im Verzeichnis ``unpacked''.
* Ebenso befindet sich im Verzeichnis ``doc'' die schon
formatierte Dokumentation, also die Dateien
``base/???guide.tex''.
base: CTAN: macros/latex/base/
CTAN: macros/latex/required/
line/lcircle/lasy: CTAN: fonts/latex/mf/
CTAN: fonts/latex/tfm/
cmmib/cmbsy: CTAN: fonts/amsfonts/sources/extracm/
CTAN: fonts/amsfonts/tfm/
oder
CTAN: fonts/cm/sauter/
optional: CTAN: macros/latex/unpacked/
CTAN: macros/latex/doc/
5.1.2 Ich habe gehört, daß es für meine LaTeX-Versionen Patches gibt.
Welche Dateien benötige ich, was muß ich tun?
Für jeden LaTeX-Patch benötigt man immer zumindest die Datei
``patches.txt''
. Sie beschreibt genau, welche weitere Dateien man noch zu einem
_kompletten_ Patch benötigt. In vielen Fällen gibt es neben der Datei
``ltpatch.ltx''
, die LaTeX-Kernel-Patches enthält, noch neue Versionen weiterer
Dateien! Näheres in
``patches.txt''
.
Nachdem man die Dateien geholt und installiert hat, muß ein neues Format
erstellt und installiert werden, damit die Patches in ``ltpatch.ltx''
aktiv werden. Zur Kontrolle: Danach sollte beim Formatieren eines
Dokuments nach der Meldung `LaTeX2e <1999/06/01>' noch der Zusatz `patch
level X' erscheinen, wobei `X' mit dem installierten Patch
übereinstimmen muß.
patches.txt: CTAN: macros/latex/base/patches.txt
5.1.3 Was kann ich mit einer Datei mit Endung `.dtx' anfangen? Benötige
ich dazu auf alle Fälle LaTeX?
Dateien mit `.dtx' sind sogenannte `docstrip archive files', also ein
Archiv, aus dem man mit dem Programm `docstrip' verschiedene Dateien
entpacken kann. Zum Entpacken benötigen Sie nur die Datei
``docstrip.tex''
oder
``docstrip.dtx''
und das Programm TeX. ``docstrip.tex'' können Sie mit LaTeX 2.09,
LaTeX2e und auch mit Plain-TeX verwenden.
Wie Sie eine `.dtx'-Datei entpacken müssen, sollten Sie aus einer
Beschreibung zu Beginn der `.dtx'-Datei oder einer separaten
README-Datei entnehmen können. Existiert eine gleichnamige Datei mit
Endung `.ins', so können Sie in den meisten Fällen das `.dtx'-Archiv
``file.dtx'' mit ``tex file.ins'' entpacken. In der Regel erzeugt dieser
Aufruf eine oder mehrere `.sty'-Dateien sowie weitere Hilfs- und
Beispieldateien. Näheres entnehmen Sie bitte der Beschreibung des
Archivs.
Die Dokumentation eines Pakets und der Makros sind ebenso in einem
`.dtx'-Archiv enthalten. Zum Formatieren dieser Dokumentation benötigen
Sie jedoch ein installiertes LaTeX2e - für einige ältere Archive reicht
auch noch das alte LaTeX 2.09. Üblicherweise kann die Dokumentation
(`.dvi'-Datei) durch ``latex file.dtx'' oder ``latex file.drv'' erzeugt
werden.
Ein Befehlsindex eines Paketes kann i.d.R. durch
makeindex -s gind.ist file
und einen anschließenden erneuten LaTeX-Lauf erzeugt werden.
Bei der Erzeugung der Dokumentation wird der dokumentierte Quellcode
meist nicht aufgenommen; um ihn einzuschließen, kann vor dem LaTeX-Lauf
im aktuellen Verzeichnis eine Datei ``ltxdoc.cfg'' angelegt werden, die
die folgende Zeile enthält:
\AtBeginDocument{\AlsoImplementation}
Näheres ist, falls vorhanden, der mitgelieferten Beschreibung des
Archivs zu entnehmen.
Hinweis: Mit LaTeX ab Dezember 1995 wurde eine Version des Tool
``docstrip.dtx'' verteilt, das gleichzeitig mehrere Dateien aus einem
Archiv entpacken kann und damit um einiges schneller ist. Deshalb lohnt
es sich, wenn Sie eine ältere Version benutzen, diese durch die neue
Version zu ersetzen.
docstrip: CTAN: macros/latex/base/docstrip.dtx
CTAN: macros/latex/base/docstrip.ins
(Bestandteil von LaTeX, kann aber auch mit Plain-TeX
verwendet
werden!)
5.1.4 Wie installiert man am besten ein neues Paket, eine neue Klasse
oder eine neue Schrift in einem bestehenden TeX-System?
Aktuelle TeX-Systeme legen alle Dateien in einer hierarchischen Struktur
gemäß dem TeX-Directory-Structure-Standard (TDS, siehe Frage 3.1.7) an.
Das Wurzelverzeichnis eines solchen Baumes lautet meist ``texmf''. Unter
teTeX, fpTeX und anderen TeX-Systemen werden die Suchpfade in der Datei
``texmf.cnf'' angegeben, deren Ort man mit ``kpsewhich texmf.cnf''
herausfinden kann.
Für nachträglich installierte Pakete empfiehlt es sich, diese in einer
eigenen lokalen Verzeichnishierarchie zu installieren (beispielsweise
unter dem Verzeichnis ``texmf.local'', siehe Variable TEXMFLOCAL in
``texmf.cnf'').
Besteht ein LaTeX-Paket nach dem eventuell notwendigen Entpacken der
dtx-Dateien aus einer Einzeldatei, so wird diese in der TDS-Hierarchie
in ``texmf.local/tex/latex/misc/'' abgelegt. Gehören zu dem Paket
mehrere sty-, cls-, fd- oder ähnliche Dateien, so werden diese in ein
neu erzeugtes Verzeichnis unter ``texmf.local/tex/latex/_Paketname_''
verschoben.
Schriften, Dokumentation, BibTeX-Dateien, dvips-Konfigurationsdateien
u.ä. werden analog gemäß TDS in entsprechende Unterverzeichnisse unter
``texmf.local'' verschoben. Näheres sollte in der README-Datei des
Pakets erläutert sein.
Zum Abschluss darf man nicht vergessen, die sogenannte
_Filename-Database_ auf den aktuellen Stand zu bringen, da sonst die neu
installierten Dateien nicht gefunden werden. Näheres finden Sie in der
Dokumentation Ihres TeX-Systems und unter Frage 8.5.10.
Einige TeX-Systeme bieten ein Konfigurations-Werkzeug, um zusätzliche
Pakete nachträglich zu installieren oder vorhandene Pakete zu
aktualisieren. Unter fpTeX geht dies über das Setup-Menü, unter MikTeX
verwendet man das Options-Tool. Beide sorgen nach der Änderung
automatisch für die Aktualisierung der Dateinamens-Datenbank.
Managing a one-person TeX http://www.ctan.org/installationadvice/
system:
5.1.5 Wie gehe ich am besten vor, wenn ich eine bestehende LaTeX-Klasse
ändern bzw. an meine eigenen Vorgaben anpassen will?
Statt von einer bestehenden Klasse wie ``article.cls'' eine Kopie unter
eigenem Namen, hier als Beispiel ``detexfaq.cls'', anzulegen, empfiehlt
es sich, eine schon bestehende Klasse zu laden und anschließend alle
notwendigen Änderungen durchzuführen. Hierzu bietet LaTeX eine Reihe von
Möglichkeiten, die in der Dokumentation für Klassen-Autoren
``clsguide.tex'' beschrieben sind. Als einfaches Beispiel hätte damit
die neue Klasse ``detexfaq.cls'', in der als Standard-Optionen
`11pt,a4paper' verwendet werden und die beiden Pakete `german' und
`remreset' bereits implizit geladen werden, folgendes Aussehen:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% CUT HERE
%% detexfaq.cls -- DE-TeX-FAQ's modified ``article.cls''
\NeedsTeXFormat{LaTeX2e}\relax
\ProvidesClass{detexfaq}[2000/05/11 Article Class from DE-TeX-FAQ]
%% Lade nun ``article.cls'', wobei als Default-Optionen ``11pt'' und
%% A4-Papierformat als Default gesetzt werden (fuer diese muss
explizit
%% eine Deklaration hier vorhanden sein) und alle weiteren vom Autor
%% gegebenen Optionen einfach `durchgereicht' werden:
\DeclareOption{a4paper}{\PassOptionsToClass{\CurrentOption}{article}}
\DeclareOption{11pt}{\PassOptionsToClass{\CurrentOption}{article}}
\DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}}
\ExecuteOptions{a4paper,11pt}
\ProcessOptions\relax
\LoadClass{article}
%% Ab hier kann man Aenderungen an den Makros der geladenen Klasse
%% durchfuehren (bitte mit \renewenvironment oder \renewcommand!),
%% Pakete hinzuladen und/oder eigene Anweisungen und Umgebungen
%% definieren:
\RequirePackage{german}
\RequirePackage{remreset}
%% Schliesslich wird die Klassendatei `sauber' beendet':
\endinput
%% End of ``detexfaq.cls''
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% CUT HERE
Diese Vorgehensweise hat einige Vorteile. So bleibt die eigene
Klassendatei relativ klein und enthält nur die notwendigen Änderungen
und Ergänzungen. Ändert sich an der verwendeten Klasse etwas, z.B.
werden Fehler korrigiert, so sind in den meisten Fällen keinerlei
Änderung an der eigenen Klassendatei zum Nachvollziehen dieser
Änderungen notwendig. Daneben dokumentiert man explizit, von welcher
Klasse und Versionsnummer man als Basis ausgegangen ist, zumal diese
Klasse und alle geladenen Pakete mit ihren Versionsnummern bei einem im
Dokumentkopf eingefügten \listfiles auftauchen.
clsguide.tex: CTAN: macros/latex/base/
5.1.6 Wie kann ich unter LaTeX eine Anweisung mit optionalem Parameter
definieren?
In LaTeX kann man mit den Anweisungen \newcommand, \renewcommand,
\newenvironment und \renewenvironment eigene Anweisungen und Umgebungen
definieren, die einen optionalen Parameter als erstes Argument besitzen.
Nähere Informationen finden sich in der Dokumentation für Autoren
``usrguide.tex''.
usrguide.tex: CTAN: macros/latex/base/
5.1.7 Wie erkenne ich bei einer Anweisung mit optionalem Parameter, ob
dieser vom Autor angegeben wurde?
Mit Hilfe des im Paket `ifthen' definierten Vergleichs \equal kann man
das optionale Argument mit dem voreingestellten Wert vergleichen. Das
folgende Beispiel geht davon aus, daß der voreingestellte Wert leer sein
soll:
\usepackage{ifthen}
\newcommand{\meineanweisung}[2][]{% #1 = optional, #2 = notwendig
\ifthenelse{\equal{#1}{}}{%
% Autor hat kein oder leeres optionales Argument angegeben
}{%
% Autor hat optionales Argument angegeben
}}
ifthen: CTAN: macros/latex/base/
5.1.8 Wie kann ich in LaTeX eine Anweisung mit mehr als einem optionalen
Parameter definieren?
Mit \newcommand kann man nur ein Makro mit einem einzigen optionalen
Parameter definieren. Will man ein Makro mit mehr als einem optionalen
Parameter definieren, so muß man hierzu mehrere Makros mit jeweils einem
optionalen Parameter definieren, die den Wert des Parameters
zwischenspeichern und das nächste Makro aufrufen.
Hier ist ein Beispiel für ein Makro \cubic[a][b][c]{d} mit drei
optionalen Argumenten:
\newcommand{\erstesargument}{}
\newcommand{\zweitesargument}{}
\newcommand{\cubic}[1][a]{% erstes optionales Argument
\begingroup % Definitionen von \...argument lokal halten
\renewcommand{\erstesargument}{#1}% opt. Argument speichern
\cubicZwei}
\newcommand{\cubicZwei}[1][b]{% zweites optionales Argument
\renewcommand{\zweitesargument}{#1}% opt. Argument speichern
\cubicDrei}
\newcommand{\cubicDrei}[2][c]{% drittes opt. + notwendiges Argument
\({\erstesargument}x^3+{\zweitesargument}x^2+#1x+#2\)%
\endgroup}
Eine weitere Möglichkeit bietet das Paket `twoopt':
\newcommandtwoopt{\Cmd}[3][DefaultA][DefaultB]{Args: #1, #2, #3}
In Anlehnung an die Standard-LaTeX-Definitionen existieren auch die
Anweisungen \renewcommandtwoopt und \providecommandtwoopt.
twoopt: CTAN: macros/latex/contrib/oberdiek/
5.1.9 Wie kann ich innerhalb des optionalen Arguments einer Anweisung
zusätzliche eckige Klammern, beispielsweise die eines optionalen
Arguments einer anderen Anweisung, verwenden?
Im Unterschied zu den geschwungenen Klammern {...}, die immer paarweise
und korrekt geschachtelt werden müssen, sucht LaTeX bei eckigen Klammern
einfach nach der nächsten schließenden eckigen Klammer ], ohne auf
korrekte Schachtelung dieser Klammern zu achten. Um dies zu verhindern,
muß man einfach innerhalb der eckigen Klammern [...] ein geschweiftes
Klammerpaar einfügen, wie dies hier als Beispiel für \twocolumn gezeigt
wird:
\twocolumn[{ ... \sqrt[3]{x^2} ... }]
5.2 LaTeX - Probleme beim Umstieg von LaTeX 2.09
5.2.1 Anweisungen wie \tenrm, \twlrm, \fivrm etc., die von einigen
Paketen wie PiCTeX verwendet werden, sind nicht mehr definiert. Was muß
ich da ändern?
Diese Namen für Schriften wurden nie dokumentiert und sollten im alten
LaTeX 2.09 nur LaTeX-intern verwendet werden. Da das Fontauswahlschema
namens NFSS2 in LaTeX2e komplett neu geschrieben wurde, sind diese
ehemals internen Namen nicht mehr vorhanden. Es ist daher am besten,
diese alten Pakete so umzuschreiben, daß diese internen Schriftnamen
nicht mehr verwendet werden. In der Zwischenzeit kann man mit Hilfe des
Paketes `rawfonts' diese Namen nachdefinieren, wie z.B. mit
\usepackage[only,fivrm]{rawfonts}
für PiCTeX.
rawfonts.sty: CTAN: macros/latex/required/
5.2.2 Beim Umstieg von LaTeX 2.09 mit NFSS (Version 1) auf LaTeX2e
ändert sich auch das Verhalten der Anweisungen \rm, \bf, \it etc. auf
das Verhalten des Original-LaTeX 2.09. Wie bekomme ich das alte
inkompatible Verhalten von NFSS Version 1?
Mit dem Paket `newlfont' erhält man das Verhalten von NFSS v1, ohne daß
man in den meisten Fällen das Dokument ändern muß:
\usepackage{newlfont}
Für neue Dokumente sollte man jedoch besser gleich die neuen Anweisungen
\textrm{...}, \textbf{...}, \textit{...} etc. verwenden. Diese
Anweisungen haben darüber hinaus den Vorteil, daß eine eventuell
notwendige `italic correction' automatisch eingefügt wird.
newlfont.sty: CTAN: macros/latex/required/
5.2.3 Einige mathematische Symbole (\Box, \lhd, \leadsto, \Join, \mho,
\sqsubset etc.) sind nicht mehr definiert - wieso?
Die LaTeX-Symbolschriften `lasy10' und `lasyb10' enthalten nur sehr
wenige relativ selten benutzte Symbole. Daher werden diese Schriften in
LaTeX2e nicht mehr standardmäßig geladen, sondern müssen vom Benutzer
durch Laden von `latexsym' aktiviert werden:
\usepackage{latexsym}
5.2.4 Kann es sein, daß es in LaTeX2e den Parameter \footheight und die
internen Parameter \@maxsep und \@dblmaxsep nicht mehr gibt? Gibt es
einen Ersatz?
Der Parameter \footheight und die internen Parameter \@maxsep und
\@dblmaxsep wurden in LaTeX 2.09 nie ausgewertet. Deshalb wurden sie in
LaTeX2e entfernt, um die dadurch gesparten Längenregister für andere
Zwecke einsetzen zu können. Zur Anpassung von alten Dokumentstilen an
LaTeX2e kann man daher eine Zuweisung an diese Parameter einfach
ersatzlos streichen.
5.2.5 Mit älteren Dokumentklassen bekomme ich den Fehler `! Undefined
control sequence.' oder `! LaTeX Error: \mit undefined.' für die
Schriften \mit und \cal. Wieso?
Bis LaTeX2e <1994/12/01> wurden \cal und \mit im Kernel definiert. Weil
diese Definitionen aber in jeder Standard-Dokumentklasse durch robustere
Varianten ersetzt werden, hat das LaTeX-Team beschlossen, \cal und \mit
nicht mehr im Kernel vorzudefinieren. Damit ist es aber erforderlich,
daß alle Dokumentklassen, die \cal und \mit nicht definieren oder mit
\renewcommand umdefinieren, angepaßt werden müssen. Bei den
Standard-Dokumentklassen hat das niemand bemerkt, da die notwendigen
Anpassungen dieser Dateien automatisch mit einer neuen LaTeX-Version
mitinstalliert werden.
5.3 (Silben-)Trennung, Absatz-, Seitenumbruch
5.3.1 Wie kann ich LaTeX an die neue deutsche Rechtschreibung anpassen?
Gibt es Trennmuster für die neuen Trennregeln?
Die ``alten'' Trennmuster wurden von Hand so angepaßt, daß die neuen
Trennregeln beachtet werden, wobei die Trennung weiterhin eher nach
Wortherkunft und nicht nach strikter Silbentrennung, die ebenfalls
erlaubt ist, erfolgt. Diese Trennmuster sind in der Datei
``dehyphn.tex'' (vormals ``gnhyph01.tex'') verfügbar. Um diese
Trennmuster nutzen zu können, benötigt man ``german.sty'' ab
Version 2.5e.
dehyphn: CTAN: language/hyphenation/dehyphn.tex
german.sty: CTAN: language/german/
5.3.2 Warum trennt (La)TeX Worte mit Umlauten nicht oder nicht korrekt?
Wie TeX Worte mit Umlauten trennt, hängt davon ab, ob die verwendete
Schrift Umlaute als eigene Lettern enthält und ob man auf diese Lettern
durch entsprechende Paket-Deklarationen beim Setzen eines Textes auch
zugreift.
Bei den alten CM-Schriften muß TeX Umlaute aus einem Buchstaben und
einem Akzent zusammenbasteln, da diese keine Lettern für Umlaute
enthalten. Diese Akzent-Konstruktion irritiert TeXs Trennalgorithmus,
und so trennt TeX nur den Wortteil bis zum ersten Umlaut. Im Paket
`german' und _einigen_ Babel-Versionen wird durch einen aus dem TeXbook
(Anhang D, S. 394, \allowhyphens) entnommenen Trick erreicht, daß alle
Wortteile zwischen den Umlauten einzeln getrennt werden. Bei dieser
Vorgehensweise werden nicht alle Trennstellen gefunden oder es treten
teilweise falsche Trennungen (Bsp.: "ubert-ragen statt "uber-tra-gen)
auf.
Abhilfe schaffen nur Schriften, die die Umlaute und andere akzentuierte
Zeichen als einzelne Lettern enthalten. Ein Beispiel hierfür sind alle
T1-kodierten Schriften, darunter die EC-Schriftfamilie (siehe Frage
10.1.3) und die T1-kodierten PostScript-Schriften. Unter neueren
Versionen von LaTeX und `german.sty' bzw. Babel lassen sich T1-kodierte
Schriften recht einfach durch die Deklaration
\usepackage[T1]{fontenc}
in der Präambel des Dokuments verwenden.
5.3.3 Wie kann ich Trennungsausnahmen mit Umlauten in \hyphenation
verwenden?
Auch hier gilt, daß man in \hyphenation in den Trennungsausnahmen nur
Zeichen verwenden kann, für die auch Lettern in der momentan benutzten
Schrift existieren (siehe Frage 5.3.2). Da mit CM-Schriften die Umlaute
aus zwei Lettern zusammengesetzt werden müssen, kann man für Wörter mit
Umlauten keine Trennungsausnahmen angeben. Erst bei Verwendung von
T1-kodierten Schriften, wie der EC-Schriftfamilie, oder auch von
Schriften in einer entsprechenden anderen Kodierung, die eigene Lettern
für Umlaute enthalten, kann man Trennungsausnahmen angeben.
Hier ist ein einfaches Beispiel (`german.sty' ist hier nur zum
Umschalten auf die deutschen Trennmuster ``dehypht.tex'' notwendig):
\documentclass{article}
\usepackage{german}
\usepackage[T1]{fontenc}
\hyphenation{Ver-st\"ar-ker-aus-gang}
\begin{document}
\showhyphens{Verst\"arkerausgang}
% ohne Trennausnahme: Ver-st^^e4r-ke-r-aus-gang
% mit Trennausnahme: Ver-st^^e4r-ker-aus-gang
\end{document}
5.3.4 Wie kann ich `Hurenkinder' (engl. widows), also einzelne Zeilen
eines Absatzes am Kopf von Buchseiten, bzw.
`Schusterjungen/Waisenkinder' (engl. clubs), einzelne Absatzzeilen auf
der Seite unten, verhindern?
TeX kennt die Parameter \widowpenalty und \clubpenalty, mit denen man
die `Strafpunkte' festlegen kann, falls ein Hurenkind bzw. ein
Schusterjunge beim Seitenumbruch entstehen sollte. Außerdem gibt es noch
den Parameter \displaywidowpenalty für Hurenkinder nach einer
abgesetzten mathematischen Formel. Da TeX den Wert 10000 als unendlich
große Strafe interpretiert, kann man mit den Zeilen
\clubpenalty = 10000
\widowpenalty = 10000 \displaywidowpenalty = 10000
Hurenkinder und Schusterjungen komplett unterdrücken. (Das Paket
`schuster' enthält genau diese Zeilen.)
Man sollte jedoch bedenken, daß man bei einem Satzspiegel mit fester
Höhe (\flushbottom) und registerhaltigem Satz Hurenkinder und
Schusterjungen nur schwerlich verhindern kann - insbesondere wenn man
dies bei zweiseitigem Druck für jede Doppelseite beachten muß. Hier ist
es oft besser, die einzelne Zeile zuzulassen oder zu versuchen, einen
Absatz durch geringfügige Umformulierung eine Zeile länger oder kürzer
zu machen.
Weiterhin gibt es die Möglichkeit, Absätze, die schon sehr voll sind,
mit \looseness=1 um eine Zeile zu dehnen oder Absätze, die recht leer
sind, mit \looseness=-1 um eine Zeile zu kürzen. Manchmal führt dies
jedoch zu merklichen Änderungen des Grauwerts des Absatzes. (Achtung:
Der Wert von \looseness gilt außerhalb von Listen-Umgebungen nur für den
aktuellen Absatz. Innerhalb einer Listen-Umgebung muß die Zuweisung
zusammen mit \par durch eine Gruppe lokal gehalten werden {\looseness=1
\par}, wenn die Änderung nur für einen Absatz gelten soll.)
5.3.5 Wie muß in LaTeX die Datei ``hyphen.cfg'' aussehen, um die
deutschen Trennmuster ``dehypht.tex'' (vormals ``ghyph31.tex'') in das
LaTeX-Format einzubinden?
Eine Anleitung zur Installation der deutschen Trennmuster enthält
``gerdoc'', die Kurzbeschreibung des German-Styles vom Mai 1997. Diese
Anleitung beschreibt auch die Installation der Trennmuster in Plain-TeX
und LaTeX 2.09. Beispiel von ``hyphen.cfg'' für LaTeX:
%% Konfigurationsdatei -- Trennmuster: `hyphen.cfg'
\message{== Loading hyphenation patterns:}
\chardef\l@USenglish=\language
\chardef\l@english=\l@USenglish %% british english als `Dialekt'
\input hyphen
\newlanguage\l@german \language=\l@german
\chardef\l@austrian=\l@german
\input dehypht
\newlanguage\l@ngerman \language=\l@ngerman
\input dehyphn
%% weitere Sprachen nach folgendem Schema:
% \newlanguage\l@SPRACHE \language=\l@SPRACHE
% \chardef\l@DIALEKT=\l@SPRACHE
% \input SPRACHhyphen
%% Default-Trennmuster: USenglish
\language=\l@USenglish \lefthyphenmin=2 \righthyphenmin=3
\endinput
_Hinweis:_ Einige Distributionen benutzen stillschweigend die Datei
``hyphen.cfg'' aus dem Babel-Paket. Außerdem wurde meist ``hyphen.tex''
in ``ushyph1.tex'' umbenannt, um unter dem Namen ``hyphen.tex'' die
Datei ``hyphen.cfg'' aus Babel auch für Plain-TeX einbinden zu können.
In diesem Fall führt ein ``\input hyphen'', wie im obigen Beispiel
beschrieben, zu einer Endlosschleife!
gerdoc: CTAN: language/german/gerdoc.tex
5.3.6 Wieso werden Texte in `typewriter'-Schriften nicht getrennt? Gibt
es eine Möglichkeit, daß doch getrennt werden kann?
TeX trennt nur, wenn die aktuell verwendete Schrift einen Divis
(Trennungsstrich) besitzt. Dazu ist jeder Schrift ein Divis durch den
Parameter \hyphenchar<font> zugeordnet, der bei den meisten Schriften
auf den Wert `\-, also auf das Zeichen ``-'', gesetzt ist. Bei den
`typewriter'-Schriften ist dieser Wert aber auf -1 gesetzt, d.h. auf ein
nicht vorhandenes Zeichen. Damit ist die Trennung für diese Schriften
unterdrückt, was in den meisten Fällen auch sinnvoll ist.
Will man dennoch, daß TeX einen in `typewriter' gesetzten Textteil
automatisch trennt, so muß man den \hyphenchar für diese Schriften auf
`\- setzen. Dies geht in LaTeX am einfachsten, wenn man die Anweisung
\ttfamily umdefiniert:
\newcommand{\origttfamily}{}% sollte noch nicht definiert sein!
\let\origttfamily=\ttfamily % alte Definition von \ttfamily sichern
\renewcommand{\ttfamily}{\origttfamily \hyphenchar\font=`\-}
Man könnte alternativ dazu auch die Dateien ``*cmtt*.fd'' ändern und die
Anweisung \hyphenchar\font\m@ne in \DeclareFontFamily entfernen. Dies
ist jedoch nicht ratsam, wenn man Texte an andere weitergeben will, da
man dann nicht vergessen darf, die so geänderten `*.fd'-Dateien
mitzugeben.
Für LaTeX 2.09 (oder analog auch für Plain-TeX) muß das Makro \tt
umdefiniert werden:
\newcommand{\origtt}{}
\let\origtt=\tt
\renewcommand{\tt}{\origtt \hyphenchar\font=`\-}
Wichtiger Hinweis: TeX kann eine Schrift unter unterschiedlichen Namen
laden, wobei TeX alle diese Schriften nur ein einziges Mal lädt und für
die anderen Schriften nur `Aliases' anlegt. Daher gibt es
\hyphenchar<font> nur einmal pro `echten' Font und \hyphenchar<font> ist
wie auch \fontdimen<font> ein besonderer Parameter: Alle Zuweisungen an
\hyphenchar<font> werden _immer_ global ausgeführt. Außerdem sieht sich
TeX diesen Parameter erst am Absatzende beim Umbruch dieses Absatzes an,
so daß mit obiger Änderung nicht möglich ist, die Trennung für einen in
`typewriter' gesetzten Textteil zu ermöglichen, für einen anderen im
selben Absatz zu verbieten.
Eine weitere Methode, Trennungen für `typewriter'-Schriften zu erlauben,
bietet das Paket `hyphenat':
\usepackage[htt]{hyphenat}
Darüber hinaus kann es auch benutzt werden, um Trennung selektiv zu
erlauben oder zu verbieten.
hyphenat: CTAN: macros/latex/contrib/hyphenat/
5.3.7 Warum trennt LaTeX Wörter mit Bindestrich nicht bzw. nur am
Bindestrich, auch wenn die Trennausnahmeliste diese enthält?
TeX fügt nach dem aktuellen Trennzeichen implizit (fast) immer einen
sogenannten \discretionary ein, der wie \- eine explizite Trennstelle
angibt. Da sowohl \- als auch \discretionary dazu führen, daß die
Trennung in den übrigen Wortteilen unterdrückt wird, werden solche
Wörter außer am Trennstrich nicht mehr getrennt. Dieses eigenwillige
Verhalten von TeX ist für Sprachen, in denen wenige Bindestriche
verwendet werden, günstig und sinnvoll, da zusätzliche Trennungen in
solchen Wörtern meist die Lesbarkeit erschweren.
Um Wörter mit Bindestrichen dennoch zu trennen, existieren zwei
Möglichkeiten: Man gibt im Dokumenttext bei diesen Wörtern, insbesondere
wo schlecht getrennt werden kann, mit \- oder "- weitere mögliche
Trennstellen vor oder man verwendet "= anstelle des Bindestrichs.
Näheres ist hierzu der Dokumentation des Paketes `german' zu entnehmen.
Die andere Möglichkeit, die bislang nur von Experten umgesetzt werden
kann, besteht bei Schriften, die eine zweite Letter für einen
Bindestrich besitzen. Für diese Schriften kann man diese zweite Letter
als Trennstrich deklarieren. Zusammen mit den zusätzlichen Trennmustern
in ``hypht1.tex'' ist damit eine automatische Trennung von Wörtern mit
Bindestrichen und deren Aufnahme in die Trennausnahmeliste möglich.
german.sty: CTAN: language/german/
hypht1.tex: CTAN: language/hyphenation/hypht1.tex
5.4 Seitenlayout, Layout allgemein, Kopf- und Fußzeilen (*)
5.4.1 Gibt es neben den Standard-LaTeX-Klassen auch Klassen mit einem
`europäischeren' Design?
Die NTG hat verschiedene Klassenentwickelt, die im Vergleich zum Layout
der Standard-LaTeX-Klassen kleinere Überschriften und eine
einheitlichere Einrückung der Absätze und Listen definieren.
Das KOMA-Script-Paket enthält ebenfalls Klassen (`scrartcl', `scrreprt',
`scrbook' und `scrlettr'), die die Standardklassen ersetzen. Es wurden
dort eine Vielzahl von Änderungen eingeführt, die ein günstigeres
Aussehen bewirken. So wird z.B. der Satzspiegel besser an das
Papierformat angeglichen. Nähere Einzelheiten enthält die ausführliche
Beschreibung in der beigefügten Datei ``scrguide.dvi''.
KOMA-Script: CTAN: macros/latex/contrib/koma-script/
NTG-Klassen: CTAN: macros/latex/contrib/ntgclass/
5.4.2 Ich suche eine Klasse für Briefe, die weitgehend die verschiedenen
DIN-Normen und deutschen Gepflogenheiten berücksichtigt.
Unter LaTeX 2.09 ist `dinbrief' weit verbreitet, der von anderen Autoren
auch für LaTeX2e verfügbar gemacht wurde. Darüber hinaus findet man im
KOMA-Script-Paket die Klasse `scrlettr' und es gibt mit `g-brief' und
`akletter' noch weitere Beispiele für angepaßte Klassen.
dinbrief: CTAN: macros/latex/contrib/dinbrief/
KOMA-Script: CTAN: macros/latex/contrib/koma-script/
g-brief: CTAN: macros/latex/contrib/g-brief/
akletter: CTAN: macros/latex/contrib/akletter/
(Anm.: `akletter' hieß in früheren Version `myletter', ein
schlechter,
weil häufig gewählter Name.)
5.4.3 Gibt es eine bequemere Möglichkeit, ein Seitenlayout anzugeben,
als dadurch, Parameter, wie \textheight, einzeln zu verändern?
Mit dem Paket `typearea' aus dem KOMA-Script-Paket kann man den Anteil
des Textbereichs an der Gesamtseite abhängig von der Schriftgröße nach
Tschicholds (siehe Frage 2.4.2) n-Teilungder Seite berechnen lassen
\documentclass[a4paper,11pt]{...} % Ausgangspapiergroesse
% BCOR1cm: zusaetzlich 1cm Rand fuer die Bindung.
% DIV10: fuer 11pt-Schrift wird 10-Teilung verwendet, bei `oneside'
% nimmt der Text 7/10 der Restseite ein.
\usepackage[BCOR1cm]{typearea}
Die Verteilung der Ränder erfolgt dabei automatisch nach typographischen
Gesichtspunkten. Diverse Papiergrößen sowie Hoch- und Querformat werden
unterstützt, zusätzliche Formate können definiert werden, und auch die
Option `twoside' wird korrekt behandelt. Ausführliche Informationen dazu
findet man in der beigefügten Datei ``scrguide.dvi''.
Mit diesem Paket, das einem die Berechnung eines wohldefinierten
Satzspiegels abnehmen kann, kann man auch die LaTeX-Parameter für den
Textbereich durch eine einfache Schnittstelle setzen:
\documentclass[a4paper]{...} % Ausgangspapiergroesse
\usepackage{typearea}
\areaset[1cm]% % Zusaetzlicher Rand fuer die Bindung
{18cm}{25cm} % Textbreite und Hoehe
Neben `typearea' gibt es mit `vmargin' und `geometry' drei weitere
Pakete, mit denen man die LaTeX-Parameter leichter setzen kann. Bei
`vmargin' haben die Makroaufrufe eine festgelegte Parameterreihenfolge,
`geometry' dagegen benutzt das Paket `keyval', mit dem die Parameter in
beliebiger Reihenfolge angegeben werden können:
\usepackage{geometry}
\geometry{left=1.5cm,textwidth=18cm,top=1.5cm,textheight=25cm}
\usepackage{vmargin}
\setpapersize{A4}
\setmargins{1.5cm}{1.5cm}% % linker & oberer Rand
{18cm}{25cm}% % Textbreite und -hoehe
{12pt}{25pt}% % Kopfzeilenhoehe und -abstand
{0pt}{30pt}% % \footheight (egal) und Fusszeilenabstand
Eine gute Möglichkeit der visuellen Kontrolle des Ergebnisses bietet das
Paket `layouts'.
KOMA-Script: CTAN: macros/latex/contrib/koma-script/
script: CTAN: macros/latex209/contrib/script/
geometry: CTAN: macros/latex/contrib/geometry/
vmargin: CTAN: macros/latex/contrib/vmargin/
layouts: CTAN: macros/latex/contrib/layouts
5.4.4 Wieso ist mit der Klasse `book' oder mit der Klassenoption
`twoside' der innere Rand kleiner als der äußere?
Bei doppelseitiger Formatierung werden die Seitenränder so gewählt, daß
sie nicht für eine einzelne Seite sondern für eine aufgeschlagene
Doppelseite passen. Bei dieser bilden die Ränder der beiden Seiten drei
vertikale weiße Streifen (links außen, mittig, rechts außen), die gleich
breit sein sollen. Da der mittlere Streifen aus den Rändern zweier
Seiten gebildet wird, sind diese auch nur halb so breit. Aus diesem
Grund legt man unter LaTeX die Werte für \evensidemargin und
\oddsidemargin, also für den linken Rand der geraden (linken) und den
der ungeraden (rechten) Seite, entsprechend fest. Näheres findet sich
u.a. in der Dokumentation der KOMA-Script-Klassen.
KOMA-Script: CTAN: macros/latex/contrib/koma-script/
5.4.5 Gibt es einen einfachen Weg, die Seitennummer als `Seite 1 von 16'
anzugeben?
Mit dem Paket `lastpage' erhält man durch ``\pageref{LastPage}'' eine
Referenz auf die Seitennummer der letzten Seite. Das Paket `count1to'
bietet mit ``\pageref{TotalPages}'' eine Referenz auf die Gesamtzahl der
Seiten. Selbiges leistet das Paket `totpages', wobei man mit
``\ref{TotPages}'' die Gesamtzahl aller Seiten, mit
``\pageref{TotPages}'' die Seitennummer der letzten Seite erhalten kann.
Diese `pageref'-Anweisungen können unter Zuhilfenahme des Paketes
`fancyhdr' oder des Paketes `scrpage' aus dem KOMA-Script-Paket in der
Form `\thepage{} von \pageref{LastPage}' in die Kopf- oder Fußzeilen
eingefügt werden.
lastpage: CTAN: macros/latex/contrib/lastpage/
count1to: CTAN: macros/latex/contrib/ms/
totpages: CTAN: macros/latex/contrib/totpages/
fancyhdr: CTAN: macros/latex/contrib/fancyhdr/
Kurzbeschreibung: CTAN: info/german/fancyhdr/
KOMA-Script: CTAN: macros/latex/contrib/koma-script/
5.4.6 Wie kann ich den Kolumnentitel, die Kopfzeile der Seite, oder die
Fußzeile nach meinen Wünschen gestalten, z.B. mit einem Strich versehen?
Mit dem Paket `scrpage' und den Klassen aus dem KOMA-Script-Paket oder
mit dem Paket `fancyhdr' kann man die Kopf- und Fußzeile einer Seite
fast beliebig festlegen. Beide Pakete enthalten eine ausführliche
Dokumentation, die auch auf andere Probleme eingeht und dafür Lösungen
und Tips hat.
KOMA-Script: CTAN: macros/latex/contrib/koma-script/
fancyhdr: CTAN: macros/latex/contrib/fancyhdr/
Kurzbeschreibung: CTAN: info/german/fancyhdr/
5.4.7 Wie kann ich einem zweispaltig gesetzten Text (Klassenoption
`twocolumn') eine beide Spalten übergreifende Überschrift und
Zusammenfassung voransetzen?
Will man nur mit \maketitle eine Überschrift mit den Autorenangaben
einspaltig in voller Breite über beide Spalten setzen, so verwendet man
die Klassenoption `twocolumn' und ändert sonst nichts, da dies bei den
Standard-Klassen und den meisten anderen Klassen automatisch vorgesehen
ist.
Soll jedoch zusätzlich zur Überschrift noch weiterer Text wie eine
Zusammenfassung einspaltig gesetzt werden, muß man auf die Klassenoption
`twocolumn' verzichten und stattdessen die Anweisung \twocolumn
verwenden. Diese hat ein optionales Argument, in der man diejenigen
Textteile angibt, die einspaltig über die gesamte Breite gesetzt werden
sollen. Da die Anweisung \maketitle und die Umgebung `abstract' jedoch
nicht einfach im optionalen Argument von \twocolumn verwendet werden
kann, muß man zu einem kleinen, leider nicht ganz sauberen Trick mit
\csname@twocolumnfalse\endcsname greifen.
\documentclass[...]{article}
...
\begin{document}
\twocolumn[{\csname @twocolumnfalse\endcsname
\maketitle
\begin{abstract}
...
\end{abstract}
}]
...
\end{document}
Innerhalb des optionalen Arguments von \twocolumn funktionieren leider
keine Fußnoten und damit tauchen auch für die Anweisung \thanks in der
Autorenliste keine Fußnoten auf. Werden diese benötigt, muß man sie von
Hand mit \footnotetext nach dem optionalen Argument setzen.
5.4.8 Wie kann ich verhindern, daß der Beginn eines Absatzes eingezogen
wird? Ich will Absätze stattdessen mit zusätzlichem Durchschuß
markieren. (*)
Meist kommt auf diese Frage
\setlength{\parskip}{\baselineskip} \setlength{\parindent}{0pt}
als Antwort, jedoch fügt LaTeX \parskip auch an verschiedenen anderen
Plätzen ein, u.a. auch zu Beginn und am Ende einer Liste und zwischen
den Listenelementen. Dies kann man mit dem Paket `parskip' von Hubert
Partl zum Teil verhindern, wenn auch nicht komplett.
Weitergehende Lösungen finden sich in den KOMA-Script- und NTG-Klassen.
Die KOMA-Script-Klassen kennen die Klassenoption `parskip' und
verschiedene Varianten davon. Zu den NTG-Klassen gehören `artikel3',
`rapport3' und `boek3', die ebenfalls ein Layout ohne Absatzeinzug und
mit zusätzlichen Durchschuß bieten.
Ob man nun den Beginn eines neuen Absatzes mit einem Einzug oder mit
einem zusätzlichen Durchschuß markiert, ist immer wieder Anlaß zu mehr
oder weniger ausgiebigen Diskussionen. Um einen weitverbreiteten Irrtum
auszuräumen: Der einzuglose Satz hat im ``deutschen Buchsatz'' keine
Tradition. Einzugloser Satz, ob nun mit oder ohne zusätzlichen
Durchschuß, ist im Zeitungs- und Zeitschriftensatz weit verbreitet, so
daß er manchen vertrauter erscheint als der traditionelle Buchsatz mit
Einzug. Letztendlich sollte man bei der Wahl, ob mit oder ohne Einzug,
an den Leser denken; wie einfach dieser einen neuen Absatz, den Beginn
eines neuen Teils der niedergeschriebenen Gedankenfolge, immer klar und
deutlich erkennen kann.
parskip.sty: CTAN: macros/latex/contrib/misc/parskip.sty
KOMA-Script: CTAN: macros/latex/contrib/koma-script/
NTG-Klassen: CTAN: macros/latex/contrib/ntgclass/
5.4.9 Wie kann ich den Durchschuß meines Dokuments vergrößern, wenn ich
beispielsweise ein Dokument mit 1,5- oder 2-fachem Zeilenabstand
abliefern soll?
Abgesehen davon, daß man eine solch starke Vergrößerung des
Zeilenabstand vermeiden sollte, hilft das Paket `setspace':
\usepackage{setspace}
\doublespacing % doppelzeilig oder
%\onehalfspacing % anderthalbzeilig
setspace: CTAN: macros/latex/contrib/setspace/
5.4.10 Wieso bekomme ich mit \pagestyle{empty} dennoch eine Seitennummer
auf der ersten Seite mit dem Artikeltitel?
Fast alle LaTeX-Klassen definieren die Anweisung \maketitle so, daß für
diese Seite mit \thispagestyle auf den Seitenstil `plain' umgeschalten
wird. \thispagestyle überschreibt damit den gewählten Seitenstil für
diese eine Seite. Um dies zu verhindern, muß man entweder eine besser
geeignete Klasse wählen, die Definition in der Klasse ändern oder
folgenden Trick anwenden: _Direkt_ nach der Anweisung \maketitle wird
\thispagestyle{empty} eingefügt. Alternativ kann das Paket `nopageno'
verwendet werden.
nopageno: CTAN: macros/latex/contrib/carlisle/nopageno.sty
5.4.11 Wie kann ich mein gesamtes LaTeX-Dokument im Querformat setzen?
Zu diesem Zweck ist bei der Dokumentenklasse die Klassen-Option
`landscape' anzugeben. Zusätzlich muß dem verwendeten dvi-Treiber die
nun vom Standard abweichende Seitengröße mitgeteilt werden. Im Falle von
`dvips' kann man dies statt per Kommandozeilenoption mit Hilfe des
Pakets `geometry' erreichen.
\usepackage[dvips]{geometry}
geometry: CTAN: macros/latex/contrib/geometry/
5.4.12 Wie kann ich Teile meines Dokumentes im Querformat setzen?
Dokumentteile können nur gedreht werden, wenn dies auch vom verwendeten
dvi-Gerätetreiber unterstützt wird. In den meisten Fällen bedeutet dies,
daß die dvi-Datei nach PostScript zu konvertieren ist. Zum Betrachten
und Ausdrucken ist ein PostScript-Viewer wie beispielsweise `gv' oder
`gsview' unter Verwendung von `Ghostscript' geeignet.
Das LaTeX-Bundle `graphics' enthält das Paket `lscape', das eine
`landscape'-Umgebung zur Verfügung stellt. Der Inhalt dieser Umgebung
wird um 90 Grad gegen den Uhrzeigersinn gedreht und auf eine eigene
Seite plaziert. Zu Beginn und am Ende der Umgebung wird ein \clearpage
ausgeführt:
\usepackage{lscape}
% etc.
\begin{landscape}
\begin{figure}
gedrehte Abbildung
\caption{gedrehte Unterschrift}
\end{figure}
% evtl. noch weitere Abbildungen/normaler Text/etc.
\end{landscape}
% etc.
Wird ein Dokument mit solcherart gedrehten Seiten per pdfLaTeX zu einer
pdf-Datei kompiliert, wäre es wünschenswert, wenn die gedrehten Seiten
bei Betrachtung mit `Acrobat Reader' in aufrechter Schrift, also um
90 Grad gedreht, dargestellt würden. In diesem Fall ist das Paket
`pdflscape' zu verwenden, das wiederum das Paket `lscape' lädt und um
entsprechende PDF-Anweisungen ergänzt:
\usepackage{pdflscape}
% ...
Will man nicht ganze Seiten drehen oder stören die implizit ausgeführten
\clearpage-Anweisungen, so kann man auch nur die Anweisung \rotatebox
aus dem Paket `graphics' verwenden:
\usepackage{graphics} % oder `graphicx'
% etc.
\begin{figure}
\rotatebox{90}{%
\begin{minipage}{.6\textheight}
gedrehte Abbildung
\caption{gedrehte Unterschrift}
\end{minipage}%
}
\end{figure}
Das Paket `rotating' bietet statt der einfachen \rotatebox-Anweisung mit
all ihren Nachteilen (Stichwort: `verbatim'!) die Umgebungen `rotate',
`turn' und `sideways', innerhalb der man (fast) beliebigen Text
plazieren kann. Für den Spezialfall, daß eine Abbildung bzw. Tafel wie
mit der Umgebung `landscape' eine komplette Seite füllt und um 90 Grad
gegen den Uhrzeigersinn gedreht werden soll, gibt es die den `figure'-
und `table'- entsprechenden `sidewaysfigure'- und
`sidewaystable'-Umgebungen. Außerdem ist eine ältere Version dieses
Pakets auch für LaTeX 2.09 verfügbar.
Mehr über diese Pakete findet man in der Dokumentation ``grfguide.tex''
des `graphics'-Bundle, der mit `rotating' mitgelieferten Dokumentation
und dem Buch `Der LaTeX-Begleiter' (siehe Frage 2.4.1) sowie in Keith
Reckdahls Artikel `Using Imported Graphics in LaTeX2e' (siehe Frage
2.4.2).
lscape: CTAN: macros/latex/required/graphics/
pdflscape: CTAN: macros/latex/contrib/oberdiek/
rotating: CTAN: macros/latex/contrib/rotating
epslatex: CTAN: info/epslatex.ps
CTAN: info/epslatex.pdf
--- DE-TeX-FAQ Ende Teil 5 ---
|