PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Bild / Grafik in zweispaltigem Text



DieterH
26-11-2009, 21:03
Um eine Bilddatei in zweispaltigem Text zu setzen, ist die figure*-Umgebung zu verwenden. Der Nachteil ist, jedoch, dass je nach Bildgröße eine Menge Freifläche links und rechts um Bild erzeugt wird (ich gehe dabei von Zentrierung der Bilddatei aus).
Die figure*-Umgebung "unterbricht" also die Zweispaltigkeit für die Bilddatei.

Packt man die Bilddatei in eine Minipage, deren Breite bei entsprechender Skalierung max. der Spaltenbreite des zweispaltigen Textes entspricht, wird die Bilddatei in die Spalte gesetzt, so wie man/frau es (fast) wünscht.

Der Nachteil des Minipage-Ansatzes ist jedoch, dass man keine \caption setzen kann.

Ich habe mir deshalb mit einem Makro beholfen, der allerdings noch etwas holprig ist:


%*** #1: Scaling factor for graphics file OPTIONAL
%*** #2: Name of graphics file
%*** #3: caption short text
%*** #4: caption long text
%*** #5: Label name (without prefix "fig:"
%*** The "!" in the \begin{figure} statement is required
%*** to relax the strict orders
\newcommand{\dhBildMCcaption}[5][1.00]{%
\begin{minipage}{\linewidth}
\begin{minipage}{0.96\linewidth}
\centering
\includegraphics[scale=#1]{#2}
\end{minipage}
\begin{minipage}{0.96\linewidth}
\centering
\small{#4}\normalsize
\addtocontents{lof}{#3}
\end{minipage}
\end{minipage}


Der Makro fasst zwei vertikal zusetzende Minipages in einer übergeordneten Minipage zusammen. Die innere obere Minipage enthält die Bilddatei, die untere innere Minipage den Text der Bildunterschrift. Ähnlich wie bei \caption ist der eine Text (#3) für das Verzeichnis der Abbildungen bestimmt, der andere Text (#4) wird unter das Bild gesetzt.

FRAGEN:

1. Zwischen unterem Bildrand und der Bildunterschrift soll etwas mehr Abstand sein. Was ist die eleganteste Lösung dafür?

2. Mit \addtocontents{lof}{text} kann man Text in das Abbildungsverzeichnis aufnehmen lassen. Ich habe in meiner Dokumentation andere (größere) Bilder, die über \figure(*) und \caption gesetzt werden. Bei denen setzt LaTeX wie gewünscht ein Präfix (Bild 1.2.6: BlaBlaBla) vor den Text der Bildunterschrift.

Wie bekomme ich die fortlaufende NUMMERIERUNG in meinem Makro hin?

Wie kann ich die nächste zu vergebende fortlaufende Nummer angreifen, und diese um 1 erhöhen?

Gibt es eine bessere Lösung für mein Problem? Habe beim Googlen nur die oben erwähnten Einschränkungen gefunden.

Danke im voraus

Gruss
Dieter

localghost
26-11-2009, 21:59
Mit dem Befehl \captionof aus caption (http://ctan.org/pkg/caption) kannst Du auch Beschriftungen außerhalb von Gleitumgebungen setzen. Und damit auch innerhalb einer Spalte. Statt einer Suchmaschine lieber die Suchfunktion des Forums benutzen.


MfG
Thorsten

medidoc
27-11-2009, 22:32
Um eine Bilddatei in zweispaltigem Text zu setzen, ist die figure*-Umgebung zu verwenden. Der Nachteil ist, jedoch, dass je nach Bildgröße eine Menge Freifläche links und rechts um Bild erzeugt wird (ich gehe dabei von Zentrierung der Bilddatei aus).
Die figure*-Umgebung "unterbricht" also die Zweispaltigkeit für die Bilddatei.
entsprechender Skalierung max. der Spaltenbreite des zweispaltigen Textes entspricht, wird die Bilddatei in die Spalte gesetzt, so wie man/frau es (fast) wünscht.
r

Hallo Dieter,

Große Bilder binde ich wie Du mit figure* und Beschriftung unter der Abbildung in meinen Text ein.

als Alternative bei nicht "breiten" Bildern verwende ich immer die normale figure-Umgebung (ohne Stern), welche maximal die Hälfte der Textzeilen-Breite hat:


\begin{figure}
\centering
\includegraphics[angle=0,width=0.5\textwidth]{1/Muster.eps}
\caption{Bildunterschrift}
\label{Muster}
\end{figure}

Das Bild wird dann im zweispaltigem Text sehr harmonisch eingeführt.

Falls das Bild zu breit für eine Textspalte ist (und zu dünn für zwei Spalten), verwende ich seitliche Beschriftungen der Bilder (mit KOMA-Klassen), um die Freifläche zu reduzieren.


\begin{figure*}
\begin{captionbeside}{Seitliche Bildbeschriftung}
\includegraphics[angle=0,width=0.7 \textwidth]{1/Muster.eps}
\end{captionbeside}
\label{Muster}
\end{figure*}

So habe ich je nach Bildbreite drei Optionen, um die Freifläche um Abbildungen zu reduzieren.

Viel Erfolg