summaryrefslogtreecommitdiff
path: root/help/de-tex-faq/part6
blob: 7c4ae54e2f879ecea88e2f1d75071285bc78314f (plain)
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
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
Path: senator-bedfellow.mit.edu!bloom-beacon.mit.edu!aanews.merit.edu!news.cc.uic.edu!news.uchicago.edu!yellow.newsread.com!netaxs.com!newsread.com!newsfeed00.sul.t-online.de!t-online.de!news-lei1.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 6 of 11)
Supersedes: <de-tex-faq-6-1020876881@dante.de>
Followup-To: de.comp.text.tex
Date: 19 Sep 2003 14:43:17 +0200
Organization: DANTE, Deutschsprachige Anwendervereinigung TeX e.V.
Lines: 1088
Approved: news-answers-request@MIT.EDU
Distribution: world
Expires: 03 Nov 2003 13:43:13 MET
Message-ID: <de-tex-faq-6-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 890 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:117404 de.answers:9381 news.answers:258270

Posted-By: auto-faq 3.3 (Perl 5.008)
Archive-name: de-tex-faq/part6
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 6 ---



   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

------------------------------------------------------------------------


6 TeX, LaTeX, Makros etc. (II)


6.1 Abbildungen und Tafeln


6.1.1 Wieso werden die meisten meiner Abbildungen an das Ende des
Kapitels oder Dokuments verschoben?

Das optionale Argument der `figure'- oder `table'-Umgebung _schränkt_
die Plazierungsmöglichkeiten auf die angegebenen Orte ein. Mit dem
optionalen Argument gibt man also _nicht_, wie oft fälschlich geglaubt
und weiterverbreitet wird, die Plazierung für weitere Orte an. Deshalb
nie Plazierungsangaben nur auf [h] einschränken, sondern mindestens
einen weiteren Ort mit angeben! Grund: Kann die Abbildung nicht `h'ier
plaziert werden, darf sie nirgendwo anders gesetzt werden und wird nach
hinten an das Ende des Kapitels bzw. des Dokuments geschoben. Da LaTeX
die Reihenfolge der Abbildungen bzw. der Tafeln nicht verändert, werden
alle nachfolgenden Abbildungen bzw. Tafeln mit dieser nicht plazierbaren
Abbildung oder Tafel nach hinten verschoben. Genau dasselbe kann
passieren, wenn die Plazierungsbeschränkung mit [p] angegeben wird, das
Bild kleiner als \floatpagefraction ist und das nächste Bild nicht
zusammen mit diesem auf eine Seite paßt. Ebenso bei einer Beschränkung
auf [t] und einem Bild, das größer als \topfraction ist, dto. für [b]
und \bottomfraction.
Tip: Lassen Sie zu Beginn das optionale Argument der `figure'- oder
`table'-Umgebung weg - es ist nicht ohne Grund ein _optionales_ Argument
dieser Umgebungen! Fügen Sie später für eine Endfassung Ihres Dokuments
nur an den Stellen ein optionales Argument mit
Plazierungseinschränkungen ein, wenn z.B. eine bestimmte Abbildung oder
Tafel auf einer eigenen Seite oder auf einer Seite oben erscheinen
sollte.
Weitere Hinweise finden Sie in

* Axel Reichert: ``Gleitobjekte - die richtige Schmierung''
  CTAN: info/german/gleitobjekte/
* Axel Reichert: ``Satz von Tabellen''
  CTAN: info/german/tabsatz/
* Piet van Oostrum: ``Floats in LaTeX''
  http://www.cs.ruu.nl/~piet/floats/


6.1.2 Wie kann ich die Default-Plazierungseinschränkungen ändern? Ich
möchte meine Abbildungen auch `h'ier plazieren, ohne jedesmal das
optionale Argument angeben zu müssen.

In LaTeX werden diese Angaben, die sogenannten `float placement
specifier' für die `figure'- und `table'-Umgebungen, in den Makros
\fps@figure und \fps@table abgelegt. Durch die Redefinitionen

  \renewcommand{\fps@figure}{htbp}
  \renewcommand{\fps@table}{htbp}

(diese Zeilen mit \makeatletter ... \makeatother klammern oder in eine
sty-Datei schreiben, siehe auch Frage 8.5.1) fügt man noch die
`h'ier-Plazierung hinzu.
Die Standard-LaTeX-Klassen setzen die Default-Plazierungen auf `tbp',
untersagen also die `h'ier-Plazierung einer Abbildung bzw. Tafel. Dies
ist in den meisten Fällen auch sinnvoll, da Abbildungen und Tafeln nur
dazu dienen, die Aussagen im Text durch beispielsweise eine
anschaulichere Darstellung oder kompakte Übersicht zu unterstützen. Die
Abbildung oder Tafel ist damit _nicht_ integraler Bestandteil des
Textes, sondern ein dem Text noch zusätzlich zugeordneter Bestandteil
des Dokuments. Daher sollten diese den Text nicht unterbrechen, was eine
`h'ier-Plazierung zweifellos tun würde. Somit ist der Default `tbp' in
den meisten Fällen sinnvoll.

6.1.3 Wie muß ich die `float'-Parameter ändern, so daß die Abbildungen
und Tafeln günstiger innerhalb eines Abschnitts verteilt werden?

Der Plazierungsalgorithmus von LaTeX erledigt diese Aufgabe eigentlich
sehr gut, wenn man einmal selbst durchzuspielen versucht, wohin man
selbst unter den gegebenen Bedingungen und Wechselwirkungen eine
Abbildung oder eine Tafel hinsetzen bzw. schieben würde. Ist man mit dem
Ergebnis dennoch nicht ganz zufrieden, kann man einmal folgendes
probieren:
Zuerst sollte man die Plazierungsbeschränkungen an allen `figure'- und
`table'-Umgebungen entfernen. Anschließend kann man die Parameter des
Plazierungsalgorithmus ändern:
Eine oder mehrere Abbildungen kommen erst auf eine eigene Seite, eine
sogenannte `float page', wenn diese mindestens 60% der Seite einnehmen.
Damit gibt es weniger `float pages', die nur halbvoll sind.
Empfehlenswert ist ein Wert zwischen 50% und 80%, je nachdem wie viele
Abbildungen existieren, wie groß und wie unterschiedlich groß diese
Abbildungen sind.

  \renewcommand{\floatpagefraction}{.6}% vorher: .5

Von einer Seite muß neben den Abbildungen, die `h'ere, `t'op und
`b'ottom plaziert werden, noch mindestens 15% Text erscheinen. Diesen
Wert sollte man nicht zu klein wählen, um nicht nur Seiten zu erzeugen,
bei denen man den Text suchen muß. Bei vielen Bildern lieber den Wert
von \floatpagefraction kleiner wählen. Empfehlenswert ist ein Wert
zwischen 10% und 30%.

  \renewcommand{\textfraction}{.15} % vorher: .2

Maximaler Anteil der Seite, die für Abbildungen, die `t'op bzw. `b'ottom
plaziert werden, verwendet werden darf. Diese Werte sollte man nicht zu
groß wählen, bei vielen Abbildungen lieber den Wert von
\floatpagefraction kleiner wählen. Insbesondere \bottomfraction sollte
man klein halten, da Abbildungen gewöhnlich auf einer Seite oben
vermutet werden. Empfehlenswert sind Werte zwischen 50% und 85% für
\topfraction und 20% bis 50% für \bottomfraction. Einer dieser beiden
Werte sollte stets größer als \floatpagefraction sein! (\topfraction
sollte nie auf 1.0, \textfraction nie auf 0.0 gesetzt werden!)

  \renewcommand{\topfraction}{.8}     % vorher: .7
  \renewcommand{\bottomfraction}{.5}  % vorher: .3

Maximale Anzahl der Abbildungen und Tafeln, die auf einer Seite `t'op
bzw. `b'ottom bzw. insgesamt auf der Seite plaziert werden. Hat man
viele kleine Abbildungen sollte man diese Werte erhöhen. Will man
Abbildungen möglichst auf eine `float page' setzen, sollte man
`topnumber' und `bottomnumber' auf 0 setzen und \floatpagefraction bis
auf 0.01 erniedrigen.

  \setcounter{topnumber}{3} % vorher: 2
  \setcounter{bottomnumber}{1} % vorher: 1
  \setcounter{totalnumber}{5} % vorher: 3

Im zweispaltigen Textsatz können Abbildungen und Tafeln nur oben auf der
Seite plaziert werden, so daß es hierfür nur zwei weitere Parameter
gibt, die den Parametern \floatpagefraction und \topfraction für
einspaltigen Satz entsprechen. Werden Abbildungen oben plaziert, so
können Abbildungen und Tafeln über beide Spalten maximal \dbltopfraction
Platz einnehmen. Schließlich gibt \dblfloatpagefraction eine Untergrenze
an, ab der erst eine eigene `float page' probiert wird.

  \renewcommand{\dbltopfraction}{.8} % vorher: .7
  \renewcommand{\dblfloatpagefraction}{.6}% vorher: .5

Nachdem man mit den geänderten Plazierungsparametern ein
zufriedenstellendes Ergebnis erzielt hat, kann man durch gezielten
Einsatz des optionalen Arguments der `figure'- bzw. `table'-Umgebung
einzelne ungünstig plazierte Abbildungen und Tafeln entsprechend
verschieben. Hierbei sollte man nur die nicht erwünschte Plazierung
entfernen, also z.B. [bp] angeben, falls eine `t'op-Plazierung ungünstig
ist.
Die Bedeutung dieser Parameter wird anschaulich in bildlicher Form in
dem Artikel `The layouts package: User manual' (`layman') von Peter R.
Wilson beschrieben. Die für die verwendete Dokumentenklasse geltenden
Werte können mit dem zugehörigen LaTeX-Paket `layouts' angezeigt und
einfach testweise geändert werden. `layouts' zeigt darüberhinaus auch
viele weitere für das Layout eines Dokumentes wichtigen Parameter an.

layouts:  CTAN: macros/latex/contrib/layouts
layman:   CTAN: macros/latex/contrib/layouts/layman.tex
 


6.1.4 Wie kann ich die Fehlermeldung `! LaTeX Error: Too many
unprocessed floats.' vermeiden?

LaTeX reserviert für alle `floats', also die Fließumgebungen `figure'-
und `table'-Umgebungen, eines Dokuments 18 sogenannte
Insertion-Registertupel. Wenn eine Fließumgebung nicht sofort auf eine
Seite plaziert werden kann, wird es in eines dieser Register
zwischengespeichert. Müssen mehr als 18 Fließumgebungen
zwischengespeichert werde, erhält man diese Fehlermeldung. Es gibt vier
Möglichkeiten, wieso dies geschieht:

  1. Meist stehen die optionalen Argumente der `figure'- oder
     `table'-Umgebung im Widerspruch zu den Plazierungsparametern oder
     letztere sind zu restriktiv eingestellt. Beispielsweise kann eine
     `figure', die höher als der Parameter \topfraction ist und aufgrund
     des optionalen Arguments [t] nur oben plaziert werden darf, nicht
     auf eine Seite gesetzt werden. Aus diesem Grund sollte man den
     optionalen Parameter _nicht_ setzen und wenn, dann _alle_ außer den
     nicht gewünschten Plazierungsorte angeben.
  2. Werden die Parameter \...fraction ungünstig gesetzt, so kann es
     ebenfalls sein, dass einige Fließumgebungen nicht auf eine Seite
     gesetzt werden können. Näheres findet sich in Frage 6.1.1 und in
     Keith Reckdahls Artikel `Using Imported Graphics in LaTeX2e'
     (epslatex).
  3. In einigen wenigen Fällen, wo sehr viele Fließumgebungen und viele
     mit \marginpar eingefügte Marginalen, die die gleichen Register
     teilen, verwendet werden, sind mehr als 18 Register notwendig. Hier
     kann das Paket `morefloats' weiterhelfen, dass deren Zahl auf 36
     erhöht. Leider hat man dadurch 18 Savebox-, Zähler-, Längen- und
     Glue-Register weniger, so daß man jetzt evtl. auf den Fehler `No
     room for a new ...' stößt.
  4. Bestehen Textteile nur aus Fließumgebungen ohne oder mit nur wenig
     Text, versagt LaTeX Plazierungsalgorithmus, da hier nichts ist, in
     denen sie ``fließen'' können. In diesen Fällen gibt es folgende
     Abhilfen:

       1. Schreiben Sie mehr erläuternden Text oder verteilen Sie die
          Fließumgebungen besser im existierenden Text.
       2. Fügen Sie die Anweisung \clearpage zwischen einige
          Fließumgebungen, um LaTeX zu zwingen, alle gespeicherten
          Fließumgebungen auf eigene Seiten zu setzen. Diese Lösung ist
          mit Arbeit verbunden, da meist mehrere Versuche notwendig
          sind, um nur wenig gefüllte Seiten zu vermeiden und diese bei
          Änderungen wiederholt werden müssen. \afterpage{\clearpage}
          ist etwas besser, aber auch hier muß man manuell nacharbeiten,
          um nur teilgefüllte Seiten zu vermeiden.
       3. Wenn kein Text vorhanden ist, in der die Fließumgebungen
          fließen können, so sollte man besser nicht-fließende
          Umgebungen verwenden.



epslatex:    CTAN: info/epslatex.ps
             CTAN: info/epslatex.pdf
morefloats:  CTAN: macros/latex/contrib/misc/morefloats.sty
 


6.1.5 Wie kann ich es erreichen, daß zwei Abbildungen nicht auf
verschiedenen Seiten, sondern möglichst direkt untereinander plaziert
werden?

In eine einzige `figure'- bzw. `table'-Umgebung können auch mehrere
Abbildungen oder Tafeln gesetzt und mit eigenen Unterschriften versehen
werden:

  \begin{figure}
    erstes Bild
  \caption{erstes Bild}
  \vspace{\floatsep}    % zusaetzlicher Abstand zwischen zwei `floats'
    zweites Bild
  \caption{zweites Bild}
  \end{figure}

Alle Abbildungen oder Tafeln einer Umgebung werden dann nicht mehr
getrennt. Aus diesem Grund sollte man auch darauf achten, daß eine
`figure'- oder `table'-Umgebung durch zu viele Abbildungen und Tafeln
nicht zu hoch wird.

6.1.6 Wie kann ich in einer Abbildung zwei Bilder nebeneinander setzen?

Man kann zum Beispiel zwei `minipage'-Umgebungen verwenden, wobei man
dann auch mit deren optionalem Argument die Ausrichtung der beiden
Bilder angeben kann:

  \begin{figure}
  \begin{minipage}[b]{.4\linewidth} % [b] => Ausrichtung an \caption
    Bild links
    \caption{Bildunterschrift links}
  \end{minipage}
  \hspace{.1\linewidth}% Abstand zwischen Bilder
  \begin{minipage}[b]{.4\linewidth} % [b] => Ausrichtung an \caption
    Bild rechts
    \caption{Bildunterschrift rechts}
  \end{minipage}
  \end{figure}

Ein sehr viel bequemerer Weg, um mehrere zusammengehörende Abbildungen
oder Tafeln in einer Float-Umgebung zu setzen, bietet das Paket
`subfigure'. Hierzu stellt das Paket die Anweisungen \subfigure und
\subtable zur Verfügung. Die Formatierung der Einzelabbildungen läßt
sich sehr leicht anpassen.

subfigure:  CTAN: macros/latex/contrib/subfigure/
 


6.1.7 Wie kann ich eine Abbildung (`figure') und eine Tafel (`table')
nebeneinander setzen?

Verwendet man statt der Anweisung \caption die im Paket `capt-of'
definierte Anweisung \captionof, so ist es möglich, eine eigentlich zu
einer anderen Fließumgebung gehörige Beschriftung zu erreichen. Wie hier
gezeigt

  \usepackage{capt-of}
  ...
  \begin{figure}
    \begin{minipage}{.5\linewidth}
      Abbildung
     \caption{Abbildung}
    \end{minipage}%
    \begin{minipage}{.5\linewidth}
      Tafel
      \captionof{table}{Tafel}
      % auch: \captionof{table}[Eintrag im Verzeichnis]{Tafel}
    \end{minipage}
  \end{figure}

kann man eine Abbildung und eine Tafel nebeneinander setzen, wobei die
Unterschriften auch in das jeweilige Verzeichnis gelangen. Die Anweisung
\captionof ist auch geeignet, um nichtgleitende Abbildungen mit einer
Bildunterschrift zu versehen.

capt-of:  CTAN: macros/latex/contrib/misc/capt-of.sty
 


6.1.8 Wie kann ich mehrere zusammengehörige Abbildungen bzw. Tafeln
entsprechend mit 1a, 1b etc. numerieren?

Das Paket `subfigure' bietet die Anweisungen \subfigure und \subtable
an, mit der man dies innerhalb der gewohnten `figure'- oder
`table'-Umgebung erreichen kann.

subfigure:  CTAN: macros/latex/contrib/subfigure/
 


6.1.9 Gibt es bei der Option `twocolumn' die Möglichkeit, Abbildungen
(`figure') und Tafeln (`table') über beide Spalten, also die gesamte
Textbreite einer Seite zu setzen?

Statt `figure'- die `figure*'-, statt `table'- die `table*'-Umgebung
verwenden.

6.1.10 Wieso bekomme ich Fehlermeldungen, wenn ich eine
`figure'-Umgebung in andere Umgebungen oder Anweisungen einfüge?

Eine `figure'- oder `table'-Umgebung ist ein sogenannter `float', d.h.
der Inhalt ``fließt'' an eine andere Stelle. Deshalb darf diese Umgebung
nicht innerhalb einer anderen, wie `minipage', \parbox o.ä. verwendet
werden. Die Eingabe

  \begin{minipage}{5cm}   %% FALSCH!
  \begin{figure}
    Bild
    \caption{text}
  \end{figure}
  \end{minipage}

ist daher falsch und erzeugt den in der Frage genannten Fehler. Korrekt
und auch logisch einsichtiger ist es, wenn man den Inhalt der
`figure'-Umgebung in eine `minipage' packt, also diese _in_ die
`figure'-Umgebung setzt:

  \begin{figure}
    \begin{minipage}{5cm}   %% KORREKT!
      Bild
      \caption{text}
    \end{minipage}
  \end{figure}


6.1.11 Wie kann ich das Layout der Bildunterschriften (\caption)
verändern?

LaTeX verwendet die interne Anweisung \@makecaption{Bild Nr}{Text}, um
die Bildunterschrift inkl. Bildnummer zu setzen. Indem man diese
Anweisung verändert, die in der Dokumentklasse definiert wird, kann man
das Layout ändern. Will man nur die Bildnummer (z.B. ``Abbildung 1'')
ändern, so reicht es oftmals aus, die interne Anweisung \fnum@figure
bzw. für Tafeln \fnum@table entsprechend umzudefinieren.
Zur Vereinfachung gibt es einige leicht zu verwendende Pakete: `caption'
bzw. `caption2' haben viele Optionen; diese Pakete ermöglichen die
Variation der Schriftart und -größe und des Layouts (zentriert,
überhängend, Absatz mit Einrückung usw.). Beispiel:

  \usepackage[bf]{caption2}
  \renewcommand{\captionfont}{\small\itshape}

für einen etwas kleineren und kursiv gesetzten Unterschriftentext, wobei
die Bildnummer weiterhin fett gesetzt wird.
Um die Benennung zu ändern, wenn man also statt ``Abbildung''
beispielsweise ``Abb.'' verwenden möchte, erreicht man dies durch

  \renewcommand{\figurename}{Abb.}

Im Falle einer Tafel muß analog dazu \tablename umdefiniert werden.
(Achtung: Bitte weitere Hinweise in Frage Frage 8.5.9 beachten!)
Wollen Sie die Zählweise der Abbildungs- bzw. Tabellennumerierung
ändern, so beachten Sie auch Frage Frage 8.5.2.
Speziellere Lösungen existieren natürlich auch oder sind teilweise in
einigen Dokumentklassen enthalten. So enthalten die NTG-und
KOMA-Script-Klassen beispielsweise Anweisungen, um alle Fonts (Sections,
Captions, Running Heads) zu verändern.

epslatex:          CTAN: info/epslatex.ps
                   CTAN: info/epslatex.pdf
caption/caption2:  CTAN: macros/latex/contrib/caption
NTG-Klassen:       CTAN: macros/latex/contrib/ntgclass
KOMA-Script:       CTAN: macros/latex/contrib/koma-script/
hangcaption:       CTAN: macros/latex209/contrib/misc/hangcaption.sty
isucaption:        CTAN: macros/latex209/contrib/misc/isucaption.sty
 


6.1.12 Wie kann ich die Unterschriften (\caption) neben eine Abbildung
oder eine Tafel setzen?

Zu diesem Zweck ist das Paket `sidecap' gedacht.

sidecap:  CTAN: macros/latex/contrib/sidecap
 


6.1.13 Wie kann ich Abbildungen oder Tafeln, die nicht innerhalb einer
`figure'- oder `table'-Umgebung stehen, dennoch mit einer
Bildunterschrift (Legende) versehen?

Keith Reckdahls Artikel `Using Imported Graphics in LaTeX2e' (epslatex)
enthält die Beschreibung eines entsprechenden Tricks. Das Paket
`capt-of' (siehe auch Frage 6.1.7) implementiert diesen und stellt eine
entsprechende Anweisungen zum Satz von Legenden für nicht-gleitende
Abbildungen zur Verfügung.

capt-of:  CTAN: macros/latex/contrib/misc/capt-of.sty
 


6.1.14 Wie kann man neue Typen von Gleitumgebungen (`floats') z.B. für
weitere Arten von Tafeln oder Programm-Code erzeugen?

Prinzipiell muß man für einen neuen Typ von Gleitumgebung einige Makros
definieren. Beispielsweise sind für die zu definierenden Umgebungen
`faqtable' und `faqtable*' die folgenden Anweisungen (in eine .sty-Datei
schreiben, da interne Anweisungen!) notwendig,

  \newcounter{faqtable}[section]
  %\renewcommand{\thefaqtable}{\thesection.\arabic{table}}
  %% \thefaqtable wird bereits durch \newcounter definiert
  \renewcommand{\fps@faqtable}{tp}  % nicht `h' bzw. `b'
  \renewcommand{\ftype@faqtable}{4} % type is a power of two!
  \renewcommand{\ext@faqtable}{lot} % Endung der Hilfsdatei
  \renewcommand{\fnum@faqtable}{FAQ-Tabelle~\thefaqtable}
  \newenvironment{faqtable}{\@float{faqtable}}{\end@float}
  \newenvironment{faqtable*}{\@dblfloat{faqtable}}{\end@dblfloat}

wobei damit noch keine Anpassungen des Inhaltsverzeichnisses, ein
eigenes Inhaltsverzeichnis oder sonstige Anpassungen des Layouts
durchgeführt sind. Mehr Informationen dazu findet man im Buch `Der
LaTeX-Begleiter' (siehe Frage 2.4.1).
Sehr viel einfacher geht dies mit dem Paket `float', mit dem z.B. obiges
auch der normale LaTeX-Benutzer mit der simplen Anweisung
                 \newfloat{faqtable}{tp}{lot}[section]
definieren kann. Daneben sind auch schon einige `float'-Layouts
vordefiniert und können ebenso einfach verwendet werden.

float:  CTAN: macros/latex/contrib/float
 


6.1.15 Abbildungen und Tafeln sollen _immer_ nach dem ersten Verweis auf
sie gesetzt werden. Wie? Es ist möglich, daß LaTeX sie vor der
Abschnittsüberschrift plaziert. Wie unterbinde ich das?

Mit dem LaTeX-Paket `flafter', das Bestandteil jeder LaTeX-Verteilung
ist, werden Abbildungen und Tafeln nie vor dem Text plaziert, in dem sie
im Dokument angegeben werden. Damit LaTeX sie also nie vor dem ersten
Verweis plaziert, schiebt man die entsprechende `figure'- bzw.
`table'-Umgebung einfach hinter die erste \ref- bzw. \pageref-Anweisung.

flafter:  CTAN: macros/latex/base/
          CTAN: macros/latex/unpacked/
 


6.1.16 Gibt es eine einfache Möglichkeit, eine Abbildung oder Tafel
innerhalb des normalen Textes zu setzen, sie also mit dem normalen Text
umfließen zu lassen?

Hierfür gibt es mittlerweile eine große Anzahl von Paketen mit
unterschiedlichen Beschränkungen und Vor- und Nachteilen, die Piet van
Oostrum in einer Liste, die er unregelmäßig nach `comp.text.tex' postet,
aufzählt:
  `flow', `floatflt' (für LaTeX2e, Vorgänger `floatfig' ist für LaTeX
      2.09), `picinpar' (veraltet), `picins', `window', `wrapfig'.
Empfohlen werden: `picins' (funktioniert auch in Listen-Umgebungen),
`floatflt' und `wrapfig' (unterstützen neben `figure'- auch
`table'-Umgebungen), da diese am meisten können und die wenigsten Fehler
aufweisen.

picins:    CTAN: macros/latex209/contrib/picins
floatflt:  CTAN: macros/latex/contrib/floatflt
wrapfig:   CTAN: macros/latex/contrib/wrapfig/
 


6.1.17 Wieso erhalte ich bei einigen Abbildungen falsche Querverweise,
obwohl ich doch die \label-Anweisung innerhalb der `figure'-Umgebung
verwendet habe?

Die \label-Anweisung muß _nach_ der Anweisung folgen, die für die
Numerierung und damit auch für die `Verankerung' des Verweises sorgt.
Solche Verankerungsanweisungen sind z.B. \section oder \caption, die
`figure'-Umgebung dagegen ist keine. Daher muß das \label _nach_ der
entsprechenden \caption folgen:

  \begin{figure}
    ... Abbildung ...
    \caption{Dies ist eine Abbildung}
    \label{fig:beispielabbildung}
  \end{figure}


6.1.18 Wie kann ich erreichen, daß Abbildungen oder Tafeln, die alleine
auf einer sonst leeren Seite plaziert werden, bündig mit der
Seitenoberkante statt vertikal zentriert erscheinen?

Für die Zentrierung von Float-Objekten sind die internen Längenparameter
\@fptop, \@fpsep und \@fpbot verantwortlich. Um die vertikale
Zentrierung aufzuheben, ist daher \@fptop im Dokumentkopf oder in einer
eigenen Paketdatei auf eine unflexible Länge zu setzen:

  \setlength{\@fptop}{0pt}

(Bitte beachten, daß \@fptop ein interner Parameter ist und außerhalb
einer Paketdatei mit \makeatletter/\makeatother geklammert werden muß.)
Diese Änderung gilt dann für _alle_ Float-Objekte, also sowohl
Abbildungen als auch Tafeln.

6.2 Tabellen


6.2.1 Wie kann ich erreichen, daß sich eine Tabelle über mehrere Seiten
erstreckt?

Zu diesem Zweck gibt es die beiden Pakete `longtable' und `supertabular'
sowie `ltxtable', welches die Möglichkeiten von `longtable' und
`tabularx' in sich vereinigt.
`longtable' benutzt auf jeder Seite die gleiche Spaltenbreite, während
`supertabular' auf jeder Seite die Spaltenbreite neu berechnet.
`supertabular' funktioniert im Gegensatz zu `longtable' auch mit der
Klassenoption `twocolumn'. `tabularx' ist nicht direkt für mehrseitige
Tabellen gedacht, sondern zum Austreiben einer Tabelle auf eine
bestimmte Breite. Eine mehrseitige Tabelle kann mit `ltxtable' auf eine
bestimme Breite ausgetrieben werden, wofür auch die Pakete `longtable'
und `tabularx' erforderlich sind.

longtable:     CTAN: macros/latex/required/tools/
tabularx:      CTAN: macros/latex/required/tools/
supertabular:  CTAN: macros/latex/contrib/supertabular
ltxtable:      CTAN: macros/latex/contrib/carlisle
 


6.2.2 Wie kann ich einzelne Felder oder größere Bereiche einer Tabelle
farbig oder grau hinterlegen?

Zu diesem Zweck gibt es die beiden Pakete `colortbl' und `colortab'.
Nähere Hinweise sind den beiliegenden Dokumentationen oder dem Buch
``The LaTeX Graphics Companion'' (siehe Frage 2.4.1) zu entnehmen.

colortbl:  CTAN: macros/latex/contrib/carlisle
colortab:  CTAN: macros/generic/colortab/
 


6.2.3 Wie kann ich erreichen, daß sich eine Tabelle über die gesamte
Spalten- bzw. Textbreite (oder über eine andere vorgegebene Breite)
erstreckt?

Zu diesem Zweck gibt es das Paket `tabularx' sowie `ltxtable', welches
die Möglichkeiten von `longtable' und `tabularx' in sich vereinigt.
`tabularx' ermöglicht das Austreiben einer Tabelle auf eine bestimmte
Breite. Hierzu wird ein neuer Spaltentyp `X' definiert, der sich wie
eine `p'-Spalte verhält, ohne daß man jedoch die Breite explizit angeben
muß. Stattdessen wird von `tabularx' die für alle `X'-Spalten zur
Verfügung stehende Gesamtbreite berechnet und jeder `X'-Spalte ein
entsprechender Bruchteil davon zugewiesen. Eine mehrseitige Tabelle kann
mit `ltxtable' auf eine bestimme Breite ausgetrieben werden, wofür auch
die Pakete `longtable' und `tabularx' erforderlich sind.

tabularx:  CTAN: macros/latex/required/tools/
ltxtable:  CTAN: macros/latex/contrib/carlisle
 


6.2.4 Wie kann ich erreichen, daß Zahlen in einer Tabelle am
Dezimaltrennzeichen ausgerichtet werden?

Die LaTeX-Pakete `dcolumn' und `rccol' (erfordert `fltpoint') sind dazu
geeignet. Letzteres gestattet auch das Runden der Zahlen.

dcolumn:  CTAN: macros/latex/required/tools/
rccol:    CTAN: macros/latex/contrib/rccol/
 


6.2.5 Wie kann ich in einer tabular-Umgebung eine Spalte speziell
setzen, ohne dies in jedem Eintrag zu wiederholen?

Das Paket `array' erweitert die Umgebungen `array' und `tabular' um
weitere Deklarationen, wie >, <, !, m oder p, in der Tabellenpräambel.
So wird bei ``>{text}'' der Teil ``text'' direkt vor die folgende Spalte
eingefügt, so daß beispielsweise nach

  \begin{tabular}{c>{\scshape}cc}

die zweite der drei Spalten in Kapitälchen gesetzt wird.

array:  CTAN: macros/latex/required/
 


6.2.6 Wieso kann ich in einer tabular-Umgebung die letzte Spalte nicht
mit \raggedright linksbündig setzen?

\raggedright definiert die Anweisung \\ um, die in den Umgebungen
`tabular' und `array' zur Markierung des Zeilenendes benutzt wird. In
LaTeX2e und den Paketen `array' und `longtable' existiert daher seit
Dezember 1994 die neue Anweisung \tabularnewline, die man für diesen
Zweck anstelle von \\ verwenden kann.
Für andere Pakete und ältere Versionen kann man auch folgenden Trick aus
dem Buch `Der LaTeX-Begleiter' (siehe Abschnitt 2.4.1) anwenden:

  \newcommand{\PreserveBackslash}[1]{%
    \let\temp=\\#1\let\\=\temp}

Statt einem einfachen \raggedright verwendet man in einer Tabelle dann
\PreserveBackslash{\raggedright}.
Ebenfalls nützlich ist in diesem Zusammenhang die folgende Zeile

  \usepackage[NewCommands]{ragged2e}

zu Beginn des Dokuments. Damit wird eine bessere Trennung innerhalb
eines mittels \raggedright linksbündig mit rechtem Flatterrand gesetzten
Absatzes bewirkt.

ragged2e:  CTAN: macros/latex/contrib/ms/
 


6.2.7 Wie erreiche ich, daß mit `tabular' erstellte Tabellen bündig mit
dem linken Rand gesetzt werden?

Zwischen den Spalten einer `tabular', aber auch links von der ersten und
rechts von der letzten Spalte, wird üblicherweise ein Zwischenraum der
Breite \tabcolsep eingefügt. Um diesen zu unterdrücken, muß man in die
Tabellenpräambel die Anweisung ``@{}'' einfügen, also beispielsweise

  \begin{tabular}{@{}ll@{}}
  ...           % ^^^  ^^^
  \end{tabular}

Die Anweisung ``@{text}'' sorgt dafür, daß ``text'' _statt_ eines
Spaltenzwischenraums eingefügt wird. ``@{}'' unterdrückt also, daß
zwischen zwei Spalten Zwischenraum eingefügt wird. Daran sollte man auch
bei \multicolumn-Anweisungen denken, die sich über die erste bzw. letzte
Spalte etwa einer dreispaltigen Tabelle erstrecken:

  \multicolumn{2}{@{}l}{Spalten 1 und 2} & bla \\

bzw.

  bla & \multicolumn{2}{l@{}}{Spalten 2 und 3} \\


6.3 Fußnoten, Endnoten etc. (*)


6.3.1 Die Fußnoten sollen gesammelt am Ende des Kapitels erscheinen.


endnotes:  CTAN: macros/latex/contrib/misc/endnotes.sty
 


6.3.2 Ich möchte meine Fußnoten auf jeder Seite neu beginnend
durchzählen, d.h. auf jeder Seite soll mit `1' begonnen werden.


footnpag:  CTAN: macros/latex/contrib/footnpag
 


6.3.3 Ich möchte den maximal von den Fußnoten eingenommenen Platz auf 10
Zeilen beschränken. Wie?

Das Längenregister \dimen\footins gibt die maximale Höhe der Box mit den
Fußnoten für eine Seite an. Nach

  \setlength{\dimen\footins}{10\baselineskip}

wird dieser Platz von normalerweise 8 Inch (ca. 20,5 cm) auf ca. 10
Zeilen beschränkt.

6.3.4 Wie erreiche ich eine andere Formatierung der Fußnoten?

Mit dem Paket `footmisc' von Robin Fairbairns (hatte bis Januar 1998
noch den Namen `footnote') kann man sehr einfach einige andere
Formatierungen auswählen. Ansonsten findet man im Buch `Der
LaTeX-Begleiter' nähere Informationen.

footmisc:  CTAN: macros/latex/contrib/footmisc/
 


6.3.5 Wie erhalte ich eine Fußnote innerhalb einer `figure' oder
`table'? Es erscheint zwar eine Markierung, aber kein Fußnotentext. (*)

In Gleitumgebungen funktionieren keine Fußnoten, da diese mitgleiten
müßten, was ohne sehr viel Aufwand nicht möglich ist. Abhilfe kann man
dadurch schaffen, daß man Fußnoten innerhalb einer \caption vermeidet
und den Fußnotentext in die Unterschrift mit einbindet. Ansonsten kann
man die Abbildung oder Tafel in eine `minipage'-Umgebung einklammern, so
daß der Fußnotentext mit in die Gleitumgebung gesetzt wird und somit
mitgleiten kann. Die dann meist störende Abgrenzungslinie kann man mit
\renewcommand{\footnoterule}{} innerhalb der `minipage'-Umgebung
vermeiden.

  \begin{figure}
  \begin{minipage}{\linewidth}
    \renewcommand{\footnoterule}{}
    ... Abbildung mit \footnote{...} ...
  \end{minipage}
  \caption{ ... }
  \end{figure}

Eine weitere Möglichkeit bietet das Paket `threeparttable':

  \begin{figure}
    \begin{threeparttable}
      Abbildung oder Tabelle mit Fu"snote\tnote{1}
      \medskip
      \begin{tablenotes}\footnotesize
      \item[1] Wichtiger Fu"snotentext...
      \end{tablenotes}
    \end{threeparttable}
    \caption{ ... }
  \end{figure}


threeparttable:  CTAN: macros/latex/contrib/misc/threeparttable.sty
 


6.3.6 Wie kann ich Fußnoten in mehreren Gruppen getrennt voneinander auf
einer Seite erscheinen lassen?

Das Paket `manyfoot' erlaubt die Deklaration zusätzlicher
Fußnotenebenen, die zudem noch auf zwei Arten gesetzt werden können.

manyfoot:  CTAN: macros/latex/contrib/ncctools/
 


6.3.7 Wie erreiche ich, daß meine Fußnoten nicht am Text ``hängen''
sondern unten auf der Seite gesetzt werden?

Das Paket `footmisc' bietet mit der Option `bottom' einen Weg, wenn
durch die Deklaration \raggedbottom die Seitenhöhe flattert. In diesem
Fall setzt LaTeX die Fußnote mit etwas vertikalen Abstand
(\skip\footins) an den Text, so daß die Fußnoten ebenso mitflattern.
Fußnoten werden normalerweise am Fuße des Fließtextes und nicht der
Seite gesetzt, also _oberhalb_ einer eventuell vorhandenen unten
plazierten Fließumgebung. Mit dem Paket `stfloats' werden die Fußnoten
an die Unterkante des Satzspiegels verschoben.

footmisc:  CTAN: macros/latex/contrib/footmisc/
stfloats:  CTAN: macros/latex/contrib/sttools/
 


6.3.8 Wie kann ich eine Fußnote in einer Kapitel- oder
Abschnittsüberschrift setzen?

Wie in Frage 7.4.2 erläutert, müssen zerbrechliche Anweisungen wie
\footnote in einem `moving argument' mit \protect geschützt werden, also
beispielsweise

  \section{Titel des Abschnitts\protect\footnote{Fasse dich kurz!}}

Bei Fußnoten ist dies jedoch nicht sinnvoll, da diese dann auch im
Inhaltsverzeichnis und im lebenden Kolumnentitel auftauchen würde. Hier
ist es besser, das optionale Argument der Überschriftsanweisungen zu
verwenden:

  \section[Titel des Abschnitts]%
          {Titel des Abschnitts\footnote{Fasse dich kurz!}}


6.4 Grafiken, Bilder, Farbe und andere Effekte (*)


6.4.1 Wie kann ich Grafiken in mein (La)TeX-Dokument einfügen? (*)

Die LaTeX-Pakete `graphics' bzw. `graphicx' definieren die Anweisung
\includegraphics, welche einen einfachen Weg darstellt, die Einbindung
von Grafiken in ein LaTeX-Dokument in einer weitgehend
systemunabhängigen Syntax vorzunehmen. Die früher für denselben Zweck
verwendeten Anweisungen \psfig, \epsfig, \epsfbox usw. (enthalten in den
Paketen `psfig', `epsf' und `epsfig') sollten nicht mehr verwendet
werden, da sie teilweise fehlerhaft sind, nur für ausgewählte Treiber
funktionieren und auch nicht weiterentwickelt werden.
Neben \includegraphics werden weitere nützliche Befehle zum Skalieren
und Rotieren definiert. Die Größe der Grafik, die von LaTeX benötigt
wird, um entsprechend Platz für die Grafik zu lassen, wird bei
Encapsulated-PostScript-(EPS-)Dateien direkt aus dem
`BoundingBox'-Kommentar in der EPS-Datei gelesen. Bei anderen,
insbesondere bei binär vorliegenden Grafikformaten wie `gif' oder `pcx'
kann die Größe in einer begleitenden Textdatei bzw. im optionalen
Argument der Anweisung \includegraphics angegeben werden. Mit dem
Paketparameter `draft' des Paketes `graphics' kann man LaTeX
veranlassen, in die dvi-Datei nur einen Rahmen in der Größe der Grafik
statt des Verweises auf die Grafikdatei einzufügen, was das Betrachten
beschleunigt und zum Korrekturlesen manchmal hilfreich ist.
Die Grafikinformation kann bei EPS-Dateien sowohl als Vektoren als auch
in Form von Angaben zur Position der einzelnen Grapkikpunkte
(Pixelgrafik) enthalten sein. Wenn möglich, sollte man immer
Vektorgrafiken bevorzugen, da sie ohne Qualitätsverluste skaliert werden
können. Ist man, wie bei gescannten Bildern, auf Pixelgrafiken
angewiesen, so sollte man zur Vermeidung von Qualitätsverlusten darauf
achten, daß die Auflösung der Grafik derjenigen des Druckers entspricht.
Man bedenke auch, daß Grautöne nur mit besser auflösenden Ausgabegeräten
(mind. 600dpi, besser mehr) gut wiedergegeben werden.
Um vorhandene Pixelgrafiken nach EPS zu wandeln, kann man die
Exportfunktion etlicher Grafikprogramme nutzen. Es gibt darüberhinaus
die beiden Programme `jpeg2ps' und `tiff2ps', die sehr kompakte
EPS-Dateien erzeugen. Sie erfordern Ausgabegeräte, die `PostScript
Level 2' beherrschen, wie beispielsweise alle modernen PS-Drucker und
neue Ghostscript-Versionen. Alternativ kann man zur Konvertierung von
JPEG nach EPS auch `imgtops2' verwenden, das in der EPS-Ausgabe
DCT-Kompression nutzt und so sehr kompakte EPS-Dateien erzeugt. Zur
Konvertierung von Pixelgrafiken, die im Format PNG, aber auch TIFF, JPEG
und Netpbm vorliegen, in EPS für Geräte mit PostScript Level 1, 2
oder 3, gibt es das Programm `bmeps', für TIFF auch `tif2eps', das
Ghostscript voraussetzt. Ein weiteres Programm, welches eine Vielzahl
von Grafikformaten konvertieren kann, ist `convert', das Bestandteil der
Programmsammlung `ImageMagick' ist. Es steht ebenfalls für viele
Betriebssysteme zur Verfügung. Da die meisten dvi-Preview-Programme
enthaltene EPS-Grafiken nicht darstellen können, empfiehlt es sich, die
dvi-Datei nach PostScript zu wandeln und dann ein
PostScript-Preview-Programm (`gv', `gsview', `ghostview', `Ghostscript'
etc.) zu verwenden.
Sehr ausführliche und gut verständliche Hinweise zu diesem Thema enthält
Keith Reckdahls Artikel `Using Imported Graphics in LaTeX2e' (epslatex)
und das Buch `The LaTeX Graphics Companion' von Michel Goossens u.a.
sowie `TeX/LaTeX und Graphik, ein Überblick über die Verfahren' von
Friedhelm Sowa (siehe Abschnitte 2.4.1 und 2.4.2).

graphics/graphicx:  CTAN: macros/latex/required/graphics/
graphicx            CTAN: macros/plain/graphics/
(Plain-TeX): 
epslatex (Keith     CTAN: info/epslatex.ps
Reckdahl): 
                    CTAN: info/epslatex.pdf
Graphics and Colour
with LaTeX (Patrick http://www.linmpi.mpg.de/~daly/latex/grf.htm
W. Daly): 
LaTeX2e und Grafik
(Sebastian          http://www.loh-fi.de/howto/latex.htm
Lohmeier): 
jpeg2ps:            http://www.pdflib.com/jpeg2ps/
                    CTAN: nonfree/support/jpeg2ps/
imgtops2:           http://www.cs.washington.edu/homes/dougz/postscript/imgtops2/
tiff2ps:            CTAN: graphics/tiff/
tif2eps:            CTAN: support/pstools/tif2eps/
bmeps:              CTAN: support/bmeps/
gif2eps:            http://www.zib.de/Visual/software/
ImageMagick:        http://www.imagemagick.org/
 


6.4.2 Wie kann ich erreichen, daß anstelle der Grafiken nur leerer Platz
in der Größe der Grafiken im LaTeX-Dokument erscheint?

Mit der Option `draft' der Pakete `graphics' bzw. `graphicx'

  \usepackage[draft]{graphicx}

erreicht man, daß statt der Grafiken nur ein Rahmen in Größe der Grafik
gezeichnet wird. Zusätzlich wird der Name der einzufügenden Datei in
diesen Rahmen geschrieben.
Tip: Verwendet man die Option `draft' in der Klassendeklaration, so gilt
diese auch für das Paket `graphicx'. Diese globale Option kann jedoch
mit der Paketoption `final' wieder überschrieben werden.
Will man weder Rahmen noch Dateinamen erhalten, so kann man das Paket
`crop' in der folgenden Weise nutzen:

  \usepackage[nographics]{crop}[2001/10/07]

Den gegenteiligen Effekt erreicht man mit der Paketoption `notext'.

crop:  CTAN: macros/latex/contrib/crop/
 


6.4.3 Wie kann ich mit TeX farbigen Text setzen?

Das LaTeX-Bundle `graphics' enthält das Paket `color', das Befehle zur
Verfügung stellt, mit denen man Textteile einfärben, eine Box oder den
Hintergrund einer Seite farbig hinterlegen kann. Dies funktioniert
natürlich nur, wenn das Ausgabegerät (Drucker, Bildschirm) dazu in der
Lage ist und der dvi-Treiber die dazu notwendige Funktionalität hat,
entsprechende \special-Anweisungen mit den Farbbefehlen auszuwerten.
Um das Paket `color' an verschiedene Ausgabegeräte und dvi-Treiber
anzupassen, muß eine entsprechende Definitionsdatei für den jeweiligen
Treiber vorhanden sein bzw. noch erstellt werden. Auf jedem System
sollte in der Datei ``color.cfg'' eine dvi-Treiber-Definition als
Default angegeben sein. Das Paket `color' läßt sich dann wie folgt
verwenden:

  \usepackage{color}

Will man in einem Dokument einen vom Standard abweichenden dvi-Treiber
verwenden, so kann man den Namen der dvi-Treiber-Definition als
Paket-Option angeben:


  \usepackage[dvips]{color}

erzeugt eine dvi-Datei mit Farb-\special-Anweisungen für den
dvi-PostScript-Treiber `dvips'. Danach kann man die entstehende
dvi-Datei auch mit anderen dvi-Treibern übersetzen bzw. ausdrucken,
jedoch werden in den meisten Fällen die Farb-\special-Anweisungen nicht
erkannt und mit einer Warnung ignoriert.
Eine genauere Beschreibung der einzelnen Anweisungen und der vorhandenen
Definitionsdateien findet man in der Anleitung `grfguide' im Paket
`graphics'.

graphics/color:  CTAN: macros/latex/required/graphics/
 


6.4.4 Bei mit `XFig' erstellten und exportierten Zeichnungen erhalte ich
bei der Einbindung in LaTeX den Fehler, daß \SetFigFont nicht definiert
ist. Was ist falsch?

Das Programm `fig2dev', das XFig zum Wandeln und Exportieren von
Fig-Bildern aufruft, hat in den Versionen vor Version 3.1pl1 einen
Fehler, der dazu führt, daß das Makro \SetFigFont nicht immer definiert
ist. Nach einem Update des Paketes `Transfig', welches `fig2dev'
enthält, verschwindet der Fehler. Kann man auf den Update nicht warten,
bietet sich auch als Einfachstlösung die Definition
\newcommand{\SetFigFont}[3]{} in der Dokumentpräambel an.

transfig/fig2dev:  CTAN: graphics/transfig/
 


6.4.5 Bei Verwendung von PiCTeX erhalte ich die Meldung `No room for a
new \dimen'. Wie kann ich das vermeiden?

PiCTeX verwendet sehr viele von TeXs Zähler- und Längenregistern und
wenn noch weitere Pakete hinzugeladen werden, die ebenso Register
benötigen, gehen die jeweils 256 vorhandenen, von denen LaTeX bereits
nicht wenige benötigt, aus. Die erste Lösung besteht in der Verwendung
des ConTeXt-Moduls `m-pictex' von Hans Hagen, das beim Laden von PiCTeX
dafür sorgt, daß statt Längen- an einigen Stellen Glue-Register
verwendet werden. Eine alternative Lösung besteht in der Verwendung des
Paketes `pictexwd', eines von Andreas Schrell veränderten PiCTeX, das
weniger Längenregister benutzt.
Eine weitere Lösungsmöglichkeit besteht darin, die größere Anzahl an
Registern zu nutzen, die e-TeX zur Verfügung stellt. Verwendet man LaTeX
(Aufruf: elatex), muß das Paket `etex' vor PiCTeX geladen werden, um von
e-TeX zu profitieren.

m-pictex.tex, m-pictex.sty:  CTAN: macros/context/cont-tmf.zip
pictexwd:                    CTAN: graphics/pictex/addon/
etex.sty ist momentan nur in teTeX und fpTeX enthalten.
 


6.4.6 Was kann ich tun, wenn eine Grafik im EPS-Format beim Einfügen in
ein LaTeX-Dokument Probleme bereitet?

Nicht selten erzeugen Grafikprogramme beim Speichern der Ergebnisse im
PostScript-Code keine oder eine fehlerhafte Boundingbox-Kommentarzeile.
Diese Angabe ist jedoch beim Einfügen der Grafik in ein LaTeX-Dokument
unbedingt erforderlich, da sonst der benötigte Platz nicht korrekt
berechnet werden kann. Der im folgenden testweise eingefügte Rahmen
zeigt die Größe der Boundingbox in Relation zur Grafik:

  \usepackage{graphicx}
  % ...
  \begin{figure}
    \setlength{\fboxsep}{-\fboxrule}\fbox{\includegraphics{dateiname}}
  \end{figure}

Ist die Boundingbox-Zeile fehlerhaft, kann folgendermaßen vorgegangen
werden:

  Manuelle Korrektur:

      Man lade die EPS-Datei in einen PostScript-Viewer und notiere sich
      die Koordinaten der linken unteren (ll,lr) und der rechten oberen
      (ul,ur) Ecke des interessierenden Teils der Grafik, wobei die
      Maßeinheit bp (big points) verwendet werden muß. Diese Werte füge
      man mit Hilfe eines ASCII-Editors im Anschluß an die Zeile
      ``%!PS-Adobe ...'' am Anfang der EPS-Datei hinzu bzw. korrigiere
      die vorhandene Angabe entsprechend:

        %%BoundingBox: ll lr ul ur

      Statt des Eintrags in die EPS-Datei können die Werte auch als
      optionale Parameter der `\includegraphics'-Anweisung angegeben
      werden:

        \includegraphics[bb= ll lr ul ur]{dateiname}


  Automatische Korrektur:

      Man verwende das Programm `epstool' in der folgenden Weise:

        epstool -b -c -oausgabedatei.eps eingabedatei.eps

      In der Datei ``eingabedatei.eps'' befinde sich die fehlerhafte
      Grafik, danach enthält ``ausgabedatei.eps'' die korrigierte
      Grafik. `epstool' erfordert die vorherige Installation des
      PostScript-Interpreters `Ghostscript'.
      Alternativ dazu kann versucht werden, das Problem unter Verwendung
      des Programms `epstopdf' zu lösen:

        epstopdf --nogs --outfile=ausgabedatei.eps eingabedatei.eps

      Liegt die Grafik in Form einer einseitigen PostScript-Datei vor,
      kann man mit Hilfe des Programms `ps2eps' versuchen, diese in eine
      EPS-Datei mit korrekter BoundingBox-Angabe umzuwandeln:

        ps2eps eingabedatei.ps

      `ps2eps' erfordert ebenfalls das Programm `Ghostscript' sowie
      `perl'.

Sollte trotz korrekter Angabe der BoundingBox ein ungünstiges Ergebnis
entstehen, kann es daran liegen, daß die EPS-Datei fälschlicherweise
PostScript-Anweisungen enthält, die auch den Bereich außerhalb der
BoundingBox verändern. Mit der Option [clip] der Anweisung
`\includegraphics' wird die Ausgabe auf den Bereich der BoundingBox
beschränkt.

epstool/gsview:      ftp://support/ghostscript/ghostgum/
epstopdf:            http://www.tug.org/applications/pdftex/
ps2eps:              CTAN: support/ps2eps/
Ghostscript (GPL):   CTAN: support/ghostscript/gnu/
Ghostscript (AFPL):  CTAN: nonfree/support/ghostscript/aladdin/
 


6.4.7 Warum werden Pixelgrafiken in pdf-Dateien, die ich mit pdfTeX
erzeugt habe, verzerrt oder mit falschen Farben dargestellt?

Vermutlich ist die Ursache die veraltete fehlerhafte
pdfTeX-Version 0.13d. Abhilfe schafft die Verwendung einer aktuellen
Version (z.B. 0.14f oder neuer). Bei dieser Gelegenheit empfiehlt es
sich, die im Zusammenhang mit dem LaTeX-Paket `graphicx' wichtige Datei
``pdftex.def'' und das LaTeX-Paket `hyperref' ebenfalls zu erneuern.

pdftex.def:  http://www.tug.org/applications/pdftex/
~:           CTAN: macros/latex/required/graphics
hyperref:    CTAN: macros/latex/contrib/hyperref/
~:           http://www.tug.org/applications/hyperref/
 


6.4.8 Wie kann ich unter Windows Bilder, Grafiken etc. mit LaTeX
verwenden?

Um Bilder u.ä. aus Windows-Programmen in LaTeX einzubinden, sollte man
diese im EPS-Format in eine Datei drucken. Da es mit den EPS-Dateien,
die die Standard-EPS-Druckertreiber unter Windows erzeugen, immer wieder
zu Problemen kommt, sollte man stattdessen die PostScript-Druckertreiber
von Adobe installieren (siehe Frage 11.3.6).
Damit die EPS-Datei nun problemlos und korrekt unter LaTeX mit der
Anweisung \includegraphics eingebunden werden kann, ist die
Bounding-Box-Angabe in der Datei zu bestimmen und eventuell zu
korrigieren (siehe Frage 6.4.6).

6.4.9 Woher kann ich eine Dokumentation zum (La)TeX-Paket `pictex'
bekommen?

Leider ist die Originaldokumentation nur käuflich von der Firma
``Personal TeX, Inc.'' zu erhalten. Ersatzweise kann man die frei
verfügbare Dokumentation zu dem Programm `mathspic' verwenden.
`mathspic' ist ein unter DOS/Windows verwendbares Filterprogramm zum
vereinfachten Erstellen von PiCTeX-Grafiken.

Personal TeX, Inc.:  http://www.pctex.com
mathspic:            CTAN: graphics/pictex/mathspic/mpicm21.pdf
 


--- DE-TeX-FAQ Ende Teil 6 ---