From e0c6872cf40896c7be36b11dcc744620f10adf1d Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Mon, 2 Sep 2019 13:46:59 +0900 Subject: Initial commit --- help/de-tex-faq/part6 | 1117 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 1117 insertions(+) create mode 100644 help/de-tex-faq/part6 (limited to 'help/de-tex-faq/part6') diff --git a/help/de-tex-faq/part6 b/help/de-tex-faq/part6 new file mode 100644 index 0000000000..7c4ae54e2f --- /dev/null +++ b/help/de-tex-faq/part6 @@ -0,0 +1,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: +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: +References: +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 --- -- cgit v1.2.3