DE-TeX-FAQ (Version 56 vom Oktober 1999)
Copyright © 1995-1999 B. Raichle, R. Niepraschk, Th. Hafner
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 \textfraction 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
info/german/gleitobjekte/
info/german/tabsatz/
http://www.cs.ruu.nl/~piet/floats/
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}(Zeilen mit \makeatletter ... \makeatother klammern oder in eine sty-Datei schreiben!) 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.
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 Tabelle 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 Tabellen, 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
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 Tabellen 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/supported/layouts |
layman: | CTAN: macros/latex/contrib/supported/layouts/layman.tex |
LaTeX reserviert für alle ,floats', also ,figure'- und ,table'-Umgebungen, eines Dokuments 18 Insertion-Registertupel. Der genannte Fehler taucht auf, wenn alle 18 Registertupel belegt sind. Eigentlich sollte der Speicherplatz für 18 noch zu plazierende ,floats' für alle Gegebenheiten ausreichen, so daß dieser Fehler nur auftreten kann, wenn a) ein ,float' beispielsweise aufgrund von zu restriktiven Plazierungsangaben (siehe Abschnitt 6.1.1) nicht auf eine Seite gesetzt werden kann oder b) sehr viele, meist unterschiedlich große ,floats' mit sehr wenig Text auftreten. In Fall a) kann man durch andere Plazierungseinschränkungen oder Änderungen der ,float'-Parameter den Überlauf vermeiden. In Fall b) sollte man mehr erläuternden Text schreiben, eine eigene nicht fließende Umgebung definieren (da ja die Abbildungen im Vordergrund stehen und eher der Text zwischen die Abbildungen ,fließt') oder das Paket ,morefloats' verwenden. Letzteres allokiert weitere 18 Insertion-Registertupel, so daß man jetzt insgesamt 36 ,floats' zwischenspeichern kann, bevor der Fehler auftritt. 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.
morefloats: | CTAN: macros/latex209/contrib/misc/morefloats.sty |
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.
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}
Dies funktioniert leider nicht ohne einen nicht ganz ,sauberen' Trick. Man benötigt die folgende Definition
\newcommand{\setfloattype}[1]{\renewcommand{\@captype}{#1}}die man wegen des internen Makronamens \@captype in eine .sty-Datei schreiben oder im Dokumentkopf mit \makeatletter ... \makeatother klammern muß. Danach kann man mit
\begin{figure} \begin{minipage}{.5\linewidth} Abbildung \caption{Abbildung} \end{minipage}% \begin{minipage}{.5\linewidth} \setfloattype{table} %% <<=== Tafel \caption{Tafel} \end{minipage} \end{figure}eine Abbildung und eine Tafel nebeneinander setzen, wobei die Unterschriften auch in das jeweilige Verzeichnis gelangen.
Das Paket ,subfigure' bietet die Anweisung \subfigure an, mit der man dies innerhalb der gewohnten ,figure'- oder ,table'-Umgebung erreichen kann.
subfigure: | CTAN: macros/latex/contrib/supported/subfigure/ |
Statt ,figure'- die ,figure*'-, statt ,table'- die ,table*'-Umgebung verwenden.
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}
LaTeX verwendet die interne Anweisung
\@makecaption{Bild Nr}{Text}
, um die Bildunterschrift
inkl. Bildnummer zu setzen. Durch Umdefinieren dieser Anweisung, 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 Erleichterung 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.'' vewenden möchte, erreicht man dies durch
\renewcommand{\figurename}{Abb.}Im Falle einer Tabelle muß analog dazu \tablename umdefiniert werden.
Speziellere Lösungen existieren natürlich auch oder sind teilweise in einigen Dokumentklassen enthalten. So enthalten die NTG-Klassen beispielsweise Befehle, 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/supported/caption |
NTG-Klassen: | CTAN: macros/latex/contrib/supported/ntgclass |
hangcaption: | CTAN: macros/latex209/contrib/misc/hangcaption.sty |
isucaption: | CTAN: macros/latex209/contrib/misc/isucaption.sty |
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'.
Sehr viel einfacher geht dies mit dem ,float'-Paket, 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/supported/float |
Mit dem LaTeX2e-Paket ,flafter', das Bestandteil jeder LaTeX2e-Verteilung ist, werden Abbildungen und Tafeln nie vor dem Text plaziert, in dem sie im Dokument angegeben werden. Damit LaTeX2e 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/ | |
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/other/floatflt |
wrapfig: | CTAN: macros/latex/contrib/other/misc/wrapfig.sty |
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}
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/supported/supertabular |
ltxtable: | CTAN: macros/latex/contrib/supported/carlisle |
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 Abschnitt 2.4.1) zu entnehmen.
colortbl: | CTAN: macros/latex/contrib/supported/carlisle |
colortab: | CTAN: macros/generic/colortab/ |
endnotes: | CTAN: macros/latex209/contrib/misc/endnotes.sty |
footnpag: | CTAN: macros/latex/contrib/supported/footnpag |
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.
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/supported/footmisc/ |
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}
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 anzugeben. Die früher für denselben Zweck verwendeten Anweisungen \psfig, \epsfig, \epsfbox u.s.w. (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 z.B. alle modernen PS-Drucker und neue Ghostscript-Versionen. 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 einen PostScript-Preview-Programm (,gv', ,gsview', ,ghostview', ,gs' 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 (Plain-TeX): | CTAN: macros/plain/graphics/ |
epslatex: | CTAN: info/epslatex.ps |
CTAN: info/epslatex.pdf | |
jpeg2ps: | http://www.ifconnection.de/~tm/ |
CTAN: support/jpeg2ps/ | |
tiff2ps: | CTAN: graphics/tiff/ |
tiff2ps: | CTAN: support/pstools/tiff2ps/ |
ImageMagick: | http://www.wizards.dupont.com/cristy/ImageMagick.html |
Mit der Option ,draft' der Pakete ,graphics' bzw. ,graphics'
\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 folgenden Trick verwenden. Man definiere vor \begin{document}, aber nach der Anweisung \usepackage{graphicx}
\makeatletter \renewcommand{\Ginclude@eps}[1]{} \makeatotherDabei darf die Option ,draft' nicht gewählt werden.
Dokumentteile können nur gedreht werden, wenn dies auch vom verwendeten dvi-Gerätetreiber unterstützt wird.
Das LaTeX2e-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.
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' sowie in Keith Reckdahls Artikel ,Using Imported Graphics in LaTeX2e' (siehe Abschnitt 2.4.2).
lscape: | CTAN: macros/latex/required/graphics/ |
rotating: | CTAN: macros/latex/contrib/supported/rotating |
Das LaTeX2e-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 eine vom Default 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/ |
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', das ,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/ |
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.
m-pictex: | CTAN: macros/context/pictex/ |
pictexwd: | CTAN: graphics/pictex/addon/ |
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. Ist die Boundingbox-Zeile fehlerhaft, kann folgendermaßen vorgegangen werden:
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 trage man nun mit Hilfe eines ASCII-Editors in die EPS-Datei ein:
%%BoundingBox: ll lr ul urStatt des Eintrags in die EPS-Datei können die Werte auch als optionaler Parameter der \includegraphics-Anweisung angegeben werden:
\includegraphics[bb= ll lr ul ur]{dateiname}
Man verwende das Programm ,epstool' in der folgenden Weise:
epstool -b -c -oausgabedatei.eps eingabedatei.epsIn 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'.
epstool: | CTAN: support/ghostscript/rjl/ |
ghostscript: | CTAN: support/ghostscript/aladdin/ |
DE-TeX-FAQ (Version 56 vom Oktober 1999)
Copyright © 1995-1999 B. Raichle, R. Niepraschk, Th. Hafner
detexfaq@dante.de
'
- bitte keine Fragen zu TeX!