Bilder bei LaTeX verschoben

Locusta

Locusta

Aktives Mitglied
Thread Starter
Dabei seit
19.12.2004
Beiträge
846
Reaktionspunkte
26
Bisher habe ich immer mit Postscript und dem PS-Tricks-Paket gearbeitet. D.h. ich habe nie Bilder verwendet sondern alle Bilder direkt getecht. Dann habe ich vor einiger Zeit KOMA-Script entdeckt, konnte mich aber nie dazu durchringen es zu verwenden, bis ich ein Briefpapier erstellen musste und da nur KOMA-Script in Frage kam. Davon abgesehen fand ich es immer recht mühsam die Grafiken sich vorstellen zu müssen und dann eben das, was man sich vorstellt einzutippen um dann zum Schluß dann doch wieder Kleinigkeiten zu ändern. Der Vorteil waren natürlich sehr kleine Dateigrößen.

Nun bin ich komplett auf KOMA-Script und gleichzeitig auf LaTeX2PDF umgestiegen und habe halt das Problem, dass ich mit PS-Tricks nicht mehr arbeiten kann. Also erstelle ich jetzt alle Grafiken "von Hand" in einem Vektorgrafikprogramm und konvertiere dann die Grafiken in PDFs. Diese füge ich dann so ein:

Code:
\begin{figure}
\centering
\includegraphics{bild1.pdf}
\caption{Bild 1}
\label{fig:bild1}
\end{figure}

Nun habe ich das Problem, dass die Bilder immer an das Ende der jeweiligen Sektion gesetzt werden, also wenn im Code steht:

Code:
*Sektion 1
blubblub
__BILD__
blablabla

*Sektion 2
blublublu

dann kommt es so raus:

Code:
*Sektion 1
blubblub
blablabla
__BILD__

*Sektion 2
blublublu

Das will ich nicht, das Bild soll dort hin, wo es auch im TeX-File steht. Was für Attribute muss ich dem Bild noch geben, damit es wirklich dort plaziert wird, wo es auch im Quelltext steht?
 
Code:
\begin{figure}
\centering
\includegraphics{bild1.pdf}
\caption{Bild 1}
\label{fig:bild1}
\end{figure}

Am besten erstmal eine vernünftige LaTeX-Anleitung lesen ;)

Zu deinem Problem: einfach die Gleit(!)-Umgebung figure weglassen, denn damit sagst du LaTeX explizit, dass er die Graphik dort platzieren soll, wo es typografisch am besten ist.

Wenn du trotzdem eine Beschriftung haben willst, kannst du das caption-Paket verwenden.

Ansonsten wäre wohl auch tikz was für dich zum Erstellen der Graphiken.
 
  • Gefällt mir
Reaktionen: Locusta
In der Dokumentation, welche ich habe (l2picfaq), wird explizit darauf hingewiesen, dass für Bilder die Gleitumgebung mit \begin{figure} verwendet werden soll. Zusätzlich wird geraten, dass man mit [!htb] versucht LaTeX zu "zwingen" es dort zu plazieren wo es hin soll.

Das habe ich jetzt geändert aber leider werden bei weitem nicht alle Bilder dort plaziert. Das Ganze dreht sich um einen Vorlesungsmitschrieb, wo ca. 70% Bilder und 30% Text vorhanden sind.

Als Alternative wird folgendes vorgeschlagen:
Code:
\begin{center}
\begin{minipage}{\linewidth}
\centering
\includegraphics{Bild}%
\captionof{figure}[kurze Bildunterschrift]{Bildunterschrift}%
\end{minipage}
\end{center}
Zusammen mit dem Paket capt-of anstatt caption

Macht das mehr Sinn? Ich habe wenig Lust jetzt wieder alles zu ändern, um dann festzustellen, dass es so nicht klappt.
 
das hängt damit zusammen, dass selbst h=here, t=top un b=bottom die werte nicht zufriedenstellend ändern, und latex die bilder einfach alle an das ende verschiebt. siehe auch -> http://people.cs.uu.nl/piet/floats/node1.html

also entweder du lässt gleitumgebungen ganz sein und benutzt captionof, oder du bindest das paket 'float' ein, und kannst damit den parameter 'H' bei gleitumgebungen benutzen, der das bild wirklich GENAU dort setzt wo du willst. was im grunde den sinn von floating environments wieder zunichte macht, ABER manchmal ganz hilfreich ist und latex wirklich alle floats ans ende packt. auch noch ganz hilfreich ist der befehle \clearpage, der die gleitumgebungen bis zu dem kommando alle setzt. noch zwei pakete, die was mit floats zu tun haben sind placeins und afterpage. um die dokumentationen dafür zu lesen, genügt ein texdoc <paketname> im terminal.
 
  • Gefällt mir
Reaktionen: Locusta
Das habe ich jetzt geändert aber leider werden bei weitem nicht alle Bilder dort plaziert. Das Ganze dreht sich um einen Vorlesungsmitschrieb, wo ca. 70% Bilder und 30% Text vorhanden sind.

Als Alternative wird folgendes vorgeschlagen:
Code:
\begin{center}
\begin{minipage}{\linewidth}
\centering
\includegraphics{Bild}%
\captionof{figure}[kurze Bildunterschrift]{Bildunterschrift}%
\end{minipage}
\end{center}
Zusammen mit dem Paket capt-of anstatt caption

Macht das mehr Sinn? Ich habe wenig Lust jetzt wieder alles zu ändern, um dann festzustellen, dass es so nicht klappt.

Bei 70% Bildern in Gleitumgebungen kann man versuchen, an den Platzierungsparametern zu drehen, z.B. an der Gesamtzahl der Objekte (totalnumber) oder dem Textanteil der Seite (textfraction) uvm.

Ansonsten solltest du für die Bilder eine eigene Umgebung definieren, z.B. Bild, und alle Bilder mit dieser Umgebung setzen. Dann läßt sich an einer Stelle leicht das Verhalten umstellen. Gleiches gilt für die Beschriftung.

Das Codebeispiel ist ziemlich komisch, eine zentrierte minipage in Zeilenbreite, dessen Inhalt zentriert ist ... Da kann man die Minipage auch weglassen!
 
das hängt damit zusammen, dass selbst h=here, t=top un b=bottom die werte nicht zufriedenstellend ändern, und latex die bilder einfach alle an das ende verschiebt. siehe auch -> http://people.cs.uu.nl/piet/floats/node1.html
So habe ich das auch aus der Dokumentaion herausgelesen.

also entweder du lässt gleitumgebungen ganz sein und benutzt captionof, oder du bindest das paket 'float' ein, und kannst damit den parameter 'H' bei gleitumgebungen benutzen, der das bild wirklich GENAU dort setzt wo du willst. was im grunde den sinn von floating environments wieder zunichte macht, ABER manchmal ganz hilfreich ist und latex wirklich alle floats ans ende packt. auch noch ganz hilfreich ist der befehle \clearpage, der die gleitumgebungen bis zu dem kommando alle setzt. noch zwei pakete, die was mit floats zu tun haben sind placeins und afterpage. um die dokumentationen dafür zu lesen, genügt ein texdoc <paketname> im terminal.
Sehr guter Tipp, ich werde mir die Pakete näher ansehen und dann hoffentlich eine Problemlösung finden :). Die alleinigen Gründe, warum ich die Gleitumgebungen bisher verwendet habe war/ist einmal das besagte gefährliche Halbwissen und vor allem weil ich es immer recht bequem fand da diese automatisch im Bilder-/Tabellen-/etz-VZ eingetragen wurden. Abund an habe ich mit den über- oder untervollen Boxen zu kämpfen aber das hat vermutlich jeder...

Bei 70% Bildern in Gleitumgebungen kann man versuchen, an den Platzierungsparametern zu drehen, z.B. an der Gesamtzahl der Objekte (totalnumber) oder dem Textanteil der Seite (textfraction) uvm.

Ansonsten solltest du für die Bilder eine eigene Umgebung definieren, z.B. Bild, und alle Bilder mit dieser Umgebung setzen. Dann läßt sich an einer Stelle leicht das Verhalten umstellen. Gleiches gilt für die Beschriftung.
Die eigene Umgebung macht vermutlich am meißten Sinn. Immerhin hätte ich gerne eine "allgemeingültige Lösung" und keine auf speziell dieses Dokument zu geschnitten. Ich glaube ja, dass die Könige der Typographie das teilweise anders sehen und eben aus irgendwelchen Gründen nun Bilder speziell an eine gewisse Stelle plazieren wollen, nur ist das bei einem 1:1 Mitschrieb einer Vorlesung überhaupt nicht Hilfreich, insbesondere wenn diese Vorlesung zu 70-80% aus Bildern besteht und von keinem Typo-Profi erstellt wurde.

Da ich aber schon öfters Bilder einbinden wollte und vor ca. einem halben Jahr die Schönheit von Vektorgrafiken entdeckt habe und inzwischen davon komplett begeistert bin, suche ich halt eine allgemeine Lösung.

Meine Idee war die vier Grundklassen einmal anständig zu definieren um damit dann anständig arbeiten zu können (natürlich incl. einer Dokumentation im Dokument mit eingebaut, denn bisher fand ich es immer recht schwer sich in den Harikiri-Code von anderen einzuarbeiten, u.A. wegen mangelnder Doku ;)).

Das Codebeispiel ist ziemlich komisch, eine zentrierte minipage in Zeilenbreite, dessen Inhalt zentriert ist ... Da kann man die Minipage auch weglassen!
Genau das habe ich mich auch gefragt. Vielleicht war ja die Idee dahinter, dass man die Positionsangabe \centering innerhalb der minipage noch variieren kann.
 
Zurück
Oben Unten