\cite in subfig

Tabellen und Grafiken erstellen und anordnen


William
Forum-Anfänger
Forum-Anfänger
Beiträge: 10
Registriert: Do 23. Jul 2009, 11:00

\cite in subfig

Beitrag von William »

Hi,
ich nutze bei normalen Grafiken gerne die Option, ein cite-Kommando außerhalb der Caption zu benutzen, damit das Zitat direkt zentriert unter dem Bild angezeigt wird und nicht erst in der Bildbeschreibung:
\begin{figure}[htbp]
	\centering
		\includegraphics[width=0.30\textwidth]{bilder/Bild1.jpg}
	\caption{Bild1.}
	\cite{bild:Bild1}
	\label{fig:Bild1}
\end{figure}
Wenn ich diese Option aber bei mehreren Bildern benutze, die mittels subfig angeordnet sind, erscheint die Quellenangabe immer direkt hinter dem Bild in derselben Zeile, was sehr unschön ist.
\begin{figure}[htbp]
	\centering
	\subfloat[Bild2.]{
		\includegraphics[height=3cm]{bilder/Bild2.jpg}
		\cite{bild:Bild2}
		\label{fig:Bild2} 
	}
	\hspace{0.8cm}
	\subfloat[Bild3.]{
		\includegraphics[height=3cm]{bilder/Bild3.jpg}
		\cite[][S. 424]{Fin06}
		\label{fig:Bild3}
	}
		\caption{Zwei Bilder.}
\end{figure}
Was ich mir wünsche, ist also ein Zeilenumbruch zwischen Bild und Quellenangabe. Ich habe festgestellt, dass dieser Zeilenumbruch beim normalen Bild (ohne subfig) irgendwie durch das Caption kommen muss; schreibe ich cite nämlich hinter caption, bekomme ich auch keinen. Aber bei den subfigures kann man ja kein Caption benutzen.
Danke im Voraus!

sommerfee
Forum-Century
Forum-Century
Beiträge: 219
Registriert: Sa 12. Jul 2008, 08:02

Beitrag von sommerfee »

Anstelle von \subfloat könntest du die subfigure-Umgebung meines subcaption-Paketes verwenden. Innerhalb dieser Umgebung kannst du dann wie gewohnt mit \includegraphics, \caption, \cite und Zeilenumbrüchen arbeiten.

Der Nachteil allerdings wäre, daß du dich in diesem Falle um die vertikale Ausrichtung der Abbildungen selber kümmern müsstest.

Liebe Grüße,
Axel
Zuletzt geändert von sommerfee am Mo 10. Aug 2009, 19:56, insgesamt 1-mal geändert.

William
Forum-Anfänger
Forum-Anfänger
Beiträge: 10
Registriert: Do 23. Jul 2009, 11:00

Beitrag von William »

Danke, das wäre natürlich eine Möglichkeit.
Aber könnte man nicht einfach im Quellcode des subfig-Packages manuell einen Zeilenumbruch einfügen? Ich kenne mich nur leider mit der Programmierung von Packages überhaupt nicht aus.

sommerfee
Forum-Century
Forum-Century
Beiträge: 219
Registriert: Sa 12. Jul 2008, 08:02

Beitrag von sommerfee »

Ich habe schon lange nicht mehr in die Quellen des subfig-Paketes geschaut, aber wenn ich mich recht erinnere misst es intern die Breite des Inhaltes, um ihn dann in eine passend breite Box setzen zu können.

Mit Zeilenumbrüchen sieht das also hier ganz schlecht aus. Man bräuchte anstelle von \subfloat eine Konstruktion, wo man manuell selber eine Breite vorgeben kann. Also so etwas meine subfigure-Umgebung :wink:

Alternativ könnte man sich auch eine Konstruktion basteln, die anstelle der beiden Argumente von \subfig ein drittes Argument erlaubt, die Quellenangabe, und die passend setzt. Einfach ist das aber wohl auch nicht.

Liebe Grüße,
Axel

William
Forum-Anfänger
Forum-Anfänger
Beiträge: 10
Registriert: Do 23. Jul 2009, 11:00

Beitrag von William »

Danke für die Antwort. Ich habe jetzt eine Grafik ins Subcaption-Paket umgesetzt. Es funktioniert auch soweit so, wie ich mir das vorgestellt hatte.
Allerdings musste ich das floatrow-Package auskommentieren, da es sich mit dem Subcaption-Package nicht vertragen hat (Fehlermeldung: Caption(s) lost.). Das brauche ich dann auch nicht unbedingt, aber ich hatte vorher mit Hilfe des Befehls
\floatsetup[figure]{style=BOXED}
einen Rahmen um jede Figure. Den hätte ich gerne wieder.
Mit \fbox bekomme ich aber nur einen Rahmen, der die Caption ausschließt. Was ist da die einfachste Möglichkeit bzw. was mache ich falsch? Am schönsten wäre es natürlich, wenn man global einen Rahmen um alle figures definieren könnte, damit ich das nicht jedes Mal da stehen habe.

sommerfee
Forum-Century
Forum-Century
Beiträge: 219
Registriert: Sa 12. Jul 2008, 08:02

Beitrag von sommerfee »

William hat geschrieben:Allerdings musste ich das floatrow-Package auskommentieren, da es sich mit dem Subcaption-Package nicht vertragen hat (Fehlermeldung: Caption(s) lost.).
Das sollte aber nicht sein! Hast du ein lauffähiges Dokument für mich, so daß ich das hier nachstellen und untersuchen kann?

Liebe Grüße,
Axel

William
Forum-Anfänger
Forum-Anfänger
Beiträge: 10
Registriert: Do 23. Jul 2009, 11:00

Beitrag von William »

Gerne (anbei).
Gruß
William
Dateianhänge
Examensarbeit.tex
(1.4 KiB) 769-mal heruntergeladen

sommerfee
Forum-Century
Forum-Century
Beiträge: 219
Registriert: Sa 12. Jul 2008, 08:02

Beitrag von sommerfee »

Danke!

Das ergibt tatsächlich auch bei mir Probleme. Ich tippe darauf, daß dies mit den Änderungen von floatrow Version 0.2 zu 0.3 zusammenhängt, denn vor ca. 1-2 Jahren (also mit der damaligen floatrow-Version) hat sowas noch definitiv funktioniert.

Ich sehe zu, daß ich im Laufe des Tages einen Workaround für dich zusammenzimmere und das Problem langfristig in Zusammenarbeit mit Olga Lapko (Autorin des floatrow-Paketes) beseitige.

Liebe Grüße,
Axel

sommerfee
Forum-Century
Forum-Century
Beiträge: 219
Registriert: Sa 12. Jul 2008, 08:02

Beitrag von sommerfee »

Hier kommt der versprochene Workaround:
\makeatletter
\let\caption@makecaption\@makecaption
\g@addto@macro\caption@subtypehook{%
  \let\@makecaption\caption@makecaption}
\makeatother
Dies bitte nach dem Laden des caption+subcaption-Paketes einfügen.

Ab der nächsten Version des caption- und floatrow-Paketes wird das dann nicht mehr notwendig sein.

Liebe Grüße,
Axel

William
Forum-Anfänger
Forum-Anfänger
Beiträge: 10
Registriert: Do 23. Jul 2009, 11:00

Beitrag von William »

Ok, vielen Dank für Deine Mühe!
Ich werde es am Montag testen.

Grüße

William

Antworten