PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Latex Bilder positionieren



Blubberblase
03-03-2013, 18:51
Hallo,

um Bilder einzubinden benutze ich die \figure Umgebung. Nun habe ich einzelse \subsections, welche über eine Seite gehen und ein Bild besitzen. In diese subsection soll das Bild auch rein. Wie kann ich die Positionierung des Bildes anpassen, ohne dass es mir die Formatierung immer komisch hin und her schiebt? Bisher benutze ich \begin{figure}[H]. Nun kann es auch irgendwo zwischen den Text, allerdings soll es nicht außerhalb des Kapitels auftauchen.

Vielen Dank für die Hilfe!
Blubb

rstuby
03-03-2013, 18:56
Es gibt das Paket placeins mit dem Befehl \FloatBarrier, ich weiß allerdings nicht, ob das noch aktuell ist oder vielleicht veraltet.
Falls es dir in den Kram passt, nach so einer kurzen subsection eine neue Seite aufzumachen: \clearpage gibt auch alle noch anstehenden Gleitumgebungen aus.

hakaze
03-03-2013, 21:58
Oder wie in diesem (nicht allzu alten) Thread (http://www.mrunix.de/forums/showthread.php?t=74836) zur Frage:

mein Anhang besteht nur aus Bildern. Ich platziere die einzelnen Bilder in unterschiedliche Kapitel durch netsprechende Befehle ( \section, \sub...). Latex aber sammelt alle Überschriften der Kapitel auf eine Seite und die Bilder behalten die Reihenfolge. Es ist als ob ich erst die ganzen Kapitel aufzähle und anschließend die gesamten Bilder folgen. ;)

rstuby
04-03-2013, 05:23
Na ja hakaze, dort sollten die Bilder ja gar nicht gleiten, hier aber schon, nur nicht aus den subsections heraus.

hakaze
04-03-2013, 08:27
So wie ich Blubberblases Frage verstehe, wird die im anderen Thread (http://www.mrunix.de/forums/showthread.php?t=74836) erwähnte Lösung aber auch hier funktionieren.

bobmalaria
04-03-2013, 09:09
placeins ist nicht veraltet. funktioniert ja.

also dasplaceins paket laden und dann wo benötigt den \FloatBarrier befehl aufrufen.

gruss

Blubberblase
06-03-2013, 20:23
Danke, das passt prinzipiell ganz gut. Der Text ist jetzt ordentlicher formatiert aber tritt ein neues Problem auf.

Bei Seitenumbrüchen werden die Bildunterschriften vom Gesamtbild getrennt, als ds Originalbild ist auf seite 1 unten, die Beschriftung auf Seite 2 oben.

Edit.: Außerdem wird dabei eine neue Bildnummerierung eingeführt.

bobmalaria
06-03-2013, 20:32
hi,

dann weiss ich leider nicht was du da zauberst. ein bild bindet man in aller regel so ein



\begin{figure}
\includegraphics{bild}
\caption{titel der grafik}
label{label der grafik}
\end{figure}


da die figure-umgebung eine gruppe bildet, wird abbildung und beschriftung nie getrennt. wenn das bei dir so ist machst du was anders.

bitte also ein minimalbeispiel machen das dein problem zeigt (bitte nicht den kompletten code posten, nur relevantes. anstatt \includegraphics{bild} kannst du mit \rule{7cm}{5cm} eine schwarze dummy-box erstellen)

Blubberblase
06-03-2013, 20:57
Mit dem hier aus dem Thread :p

http://www.mrunix.de/forums/showthread.php?t=74836

\begin{center}%so wird's zentriert
\includegraphics{bild}
\captonof{figure}{Bildunterschift}
\end{center}

Geht placeins auch mit subsections? Dann wärs perfekt!

bobmalaria
06-03-2013, 22:37
hi,

wenn man die figure umgebung nicht verwendt, dann braucht man auch placeins nicht!

ich glaube du hast die grundsätze noch nicht verstanden.

wenn etwas in einer figure odertable umgebung steht, d.h. alles was zwischen einem
\begin{figure}
...
\end{figure}

gleitet. das wiederum heisst, dass sich die grafik im text verschieben kann um die lesbarkeit des textes zu erhöhen. dem verschieben kann man grezen setzen. dazu dient placeins. der \FloatBarrier befehl bedeutet, das bilder verschoben/gleiten können, aber spätestens an der stelle wo der befehl steht ausgegeben werden müssen.

wenn du bilder so einbindest wie du dargestellt hast und sich was im text verändert hat, dann war das reiner zufall! denn placeins hat keine wirkung auf deinen code!

du hast also zwei möglichkeiten. du verwendest gleitumgebungen oder nicht. bisher verwendest du sie nicht.

ich empfehle dir sehr sie zu verwenden da es sonst schnell zu hässlichen weissen lücken im dokument kommt da bilder an ungünstigen stellen stehen. den befehl \FloatBarrier kannst du dann überall hinschreiben und so oft du willst. es empfiehlt sich aber ein sparsamer einsatz nur an den stellen an denen es unbedingt nötig ist.

so jetzt völlig getrennt dazu zu deinem problem das bild und unterschrift getrennt werden:



\begin{minipage}{1\textwidth}
\begin{center}%so wird's zentriert
\includegraphics{bild}
\captonof{figure}{Bildunterschift}
\end{center}
\end{minipage}


minipage wird alles als gruppe zusammenhalten.

gruss

Blubberblase
07-03-2013, 10:34
Okay, top! So langsam verstehe ich auch, was ich eigentlich bei Tex mache.

Wie ist es denn mit der Gleitumgebung, wenn ich \Floatbarrier verwende, gleiten die Bilder auch nach oben aus der Umgebung heraus?

bobmalaria
07-03-2013, 10:48
wenn du mit den optionen

\begin{figure}[htb] % h=here, t=top, b=bottom

arbeitest (wobei die reihenfolge keine rolle spielt), dann sollte das bild ziemlich in der gegend auftauchen wo du es setzt. gebe immer mehrere parameter an. nur [h] ist z.b. schlecht, auch wenn es vielleicht intuitiv ist. praktisch sagst du dann tex aber: platziere es hier und sonst mach was du willst (stark vereinfacht).

ich arbeite manchmal noch mit \begin{figure}[!htb], wobei das ausrufezeichen sozusagen nochmal etwas mehr betonung auf das "hier" legt.

damit solltest du nicht das problem haben das ein bild zu weit oben erscheint.
ich setze auch oft gar keine optionen und lasse tex machen. in kombination mit \FloatBarrier passt das dann oft schon ziemlich gut und nur im "final edit" spiele ich dann noch etwas rum.

es kostet etwas zeit bevor man sich von der MS word-idee loest das bilder immer genau da auftauchen wo man sie setzt.

ich hoffe du nutzt den \label{} \ref{} mechanismus von tex um dich auf die bilder zu beziehen. dabei muss das label immer nach der caption stehen



\begin{figure}
\includegraphics{bild}
\caption{mein bild}
label{fig:bildchen}
\end{figure}

\begin{minipage}{1\textwidth}
\includegraphics{Bild}
\captionof{figure}{ Mein anderes Bild \label{fig:anderes-bildchen}}
\end{minipage}

Wie in Bild~\ref{fig:bildchen} zu sehen ist...ander als in Bild~\ref{fig:anderes-bildchen} in dem...


gruss