PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Figurenlegende unter Bild zu lang



BackZlash
05-01-2013, 15:05
Hallo zusammen,
ich habe folgendes Problem:
Ich würde gerne eine Figur einfügen und darunter den Legendentext abgezeigt bekommen. Leider ist der Figurentext zu lang als dass er noch unter dem Bild auf der Seite dargestellt werden kann.
Ich habe es mit nur 5 Zeilen der Legende getestet, doch würde ich gerne die komplette Legende haben :-) Das sind so 15-20 Zeilen.
Hat vielleicht jemand ne Idee wie genau das geht?
Würde dann automatisch ne Fehlermeldung kommen, wenn der Text zuviel für die Seite wäre?
Hatte schon fltpage ausprobiert, aber das wollte nicht so wirklich wie ich.
Hier mein Quellcode:
\documentclass[a4paper, twoside, abstracton]{scrreprt}
\usepackage[utf8]{inputenc}
\usepackage{tabularx}
\usepackage{booktabs}
\usepackage{graphicx}
\usepackage{float}
\usepackage[activate]{pdfcprot}
\usepackage[normal]{caption}
\usepackage{floatflt}
...
\begin{document}
...

\begin{figure}[H]
\centering
\includegraphics[width=\textwidth]{embo.jpg}
\caption{legendentext sehr lang}
\label{irgendwas}
\end{figure}

Hat jemand vielleicht ne Idee wie der Quellcode dafür dann sein müsste?
Besten Dank schon mal!
René

hakaze
05-01-2013, 15:21
Gib der Gleitumgebung (figure) doch etwas mehr Spielraum mit den Parametern htp statt H! Oder passen Bild und caption überhaupt nicht auf eine komplette Seite?

BackZlash
05-01-2013, 15:31
Also Bild und caption passen definitiv nicht auf eine Seite. Das Bild hat schon fast eine ganze Seite, dass es in Anspruch nimmt und die Legende ist ne drittel Seite lang!

hakaze
05-01-2013, 16:37
Dann ist das ccaption-Paket (http://ctan.org/pkg/ccaption) (continued caption Beispiel (http://tex.stackexchange.com/a/53391/17198)) vielleicht was für dich?!

sommerfee
05-01-2013, 16:59
Dann ist das ccaption-Paket (http://ctan.org/pkg/ccaption) (continued caption Beispiel (http://tex.stackexchange.com/a/53391/17198)) vielleicht was für dich?!

Da er das caption-Paket lädt, ist das nichts für ihn, weil das ccaption-Paket inkompatibel zum caption-Paket ist. Aber das caption-Paket bietet mit \ContinuedFloat die gleiche Funktionalität wie \contcaption in grün an.

Was mich aber mehr interessiert, weil ich persönlich fltpage als Lösung vorschlagen würde:


Hatte schon fltpage ausprobiert, aber das wollte nicht so wirklich wie ich.


Was genau wollte da nicht so wie du?

BackZlash
08-01-2013, 17:17
Mit fltpage klappt es nun. Hatte nen Problem mit dem micrometer und dem caption paket anscheinend.
Nur beim fltpage package war ich etwas skeptisch, weil ich im manual gelesen habe, dass man nicht mehrere davon verwenden soll (vorallem hintereinander), weil das zu Problemen führen könnte. Und ich habe ca. 20 von diesen riesigen Abbildungen.
Wie kann ich übrigens dafür sorgen, dass der Text nach dem Bild und nicht vorher erscheint beim fltpage?

BackZlash
08-01-2013, 18:08
Hatte usepackage[leftFloats, CaptionAfterwards]{fltpage} ausprobiert, damit Legende nach dem Bild erscheint, aber es ist immer noch davor? Ist nen anderer Befehl nötig?

Und wie sähe der Befehl mit dem ContinuedFloat aus?
Sprich würde ich erst den normalen Quellcode definieren, nur beim ersten Mal caption leer lassen und 2.teil dann beim continuedfloat kein bild einfügen, sondern nur caption?

sommerfee
08-01-2013, 19:08
Hatte usepackage[leftFloats, CaptionAfterwards]{fltpage} ausprobiert, damit Legende nach dem Bild erscheint, aber es ist immer noch davor?

Das kann ich so nicht bestätigen:


\documentclass{article}

\usepackage[leftFloats, CaptionAfterwards]{fltpage}
\usepackage{caption}

\begin{document}

\section{Example}

The following example will produce a caption below and an almost empty facing
page:

\begin{FPfigure}
\caption[A caption alone on a page (\ref*{FPfigure1})]%
{A caption alone on a page will belong to the
following figure without a caption!}
\label{FPfigure1}
\newlength\tempdima
\setlength\tempdima\textheight
\addtolength\tempdima{-7pt}%
\fbox{\rule[-10cm]{0pt}{\tempdima}Frame symbolizing figure on a whole page.\hspace{5cm}}
\end{FPfigure}

\end{document}


Bastele ein kleines Dokument, wo das nicht so ist, und wir können dir helfen...


Und wie sähe der Befehl mit dem ContinuedFloat aus?

Wie bei dem verlinkten Beispiel für \contcaption, nur daß man eben \ContinuedFloat + \caption verwendet. Mehr dazu gibt bei Bedarf die Anleitung zum caption-Paket her.


Sprich würde ich erst den normalen Quellcode definieren, nur beim ersten Mal caption leer lassen und 2.teil dann beim continuedfloat kein bild einfügen, sondern nur caption?

Ja, zum Beispiel.

BackZlash
09-01-2013, 10:30
hier mein Beispiel, das nicht läuft (ohne leftFloats, CaptionAfterwards läufts):

\documentclass[a4paper, twoside, abstracton]{scrreprt}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage[version=3]{mhchem}
\usepackage[english]{babel}
\usepackage{siunitx}
\usepackage{tabularx}
\usepackage{booktabs}
\usepackage{graphicx}
\usepackage{float}
\usepackage[activate]{pdfcprot}
\usepackage[normal]{caption}
\usepackage{floatflt}
\usepackage[leftFloats, CaptionAfterwards]{fltpage}

\begin{document}
\begin{FPfigure}[H]
\centering
\includegraphics[width=\textwidth]{fig1.pdf}
\caption{text text text text.\\
(A-D) text text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text text Scale bar =
100 .\\}
\label{embo1}
\end{FPfigure}
\end{document}

sommerfee
09-01-2013, 20:19
hier mein Beispiel, das nicht läuft (ohne leftFloats, CaptionAfterwards läufts)

Ich bekomme das nicht einmal übersetzt:


! Illegal parameter number in definition of \AP@.
<to be read again>
1
l.13 \end{FPfigure}


Schuld ist die Kombination aus "twoside" und "CaptionAfterwards", nimmt man eine der beiden Optionen weg, dann geht es.

Ich habe mir das notiert und schaue mir das beizeiten an, werde aber wohl erst übernächstes Wochenende dazu kommen.

BackZlash
09-01-2013, 20:38
Klingt toll, dass du das in Angriff nimmst.

Hatte nur eben twoside für meine Dissertation nehmen wollen, da das mir von Kollegen wegen des Druckes angeraten wurde. Werde nun aber erstmal es ohne twoside versuchen.

Besten Dank nochmal an euch alle!

BackZlash
09-01-2013, 21:27
Muss doch noch einmal kurz etwas fragen:

Ohne twoside läuft das jetzt gut, nur hab ich die Figurenlegende dann auf der nächsten Seite unten - sprich großes Bild, dann Text auf der nächsten Seite und unten auf der Seite dann die Legende zur vorherigen Seite, auf der das Bild ist (hoffe man versteht das so... ;-) ).
Mit welchem Befehl hab ich wie jetzt auch die Legende auf der nächsten Seite, nur anstatt unten oben auf der Seite?!

Danke noch einmal!

sommerfee
09-01-2013, 21:58
Mit welchem Befehl hab ich wie jetzt auch die Legende auf der nächsten Seite, nur anstatt unten oben auf der Seite?!

Das geht (noch) nicht, denn das "unten" ist im fltpage-Paket fest eingebaut. Wenn ich aber sowieso den Fehler fixe, könnte ich das als Feature mit einbauen, kein Problem, habe ich mir gerade vermerkt.

BTW, gerade gefunden: http://tex.stackexchange.com/questions/73456/combining-the-caption-and-fltpage-package-when-using-twopage-setting-in-book-cla

BackZlash
09-01-2013, 22:31
Danke!

Ich muss zugeben, dass ich aber noch eine letzte Frage für heute habe:
Ich gehe vom gleichen wie oben aus, nur dass ich 2 Figures (jeweils ca. 1 Seite groß) untereinander haben möchte und abschließend dann die Legende.
Ich denke, dass ich dann mit continuedfloat arbeiten muss oder? Könntest du mir vielleicht anhand meines MWEs von oben, den Befehl dafür nennen? Hab bissl rumprobiert und kam nix bei rum. Bin eben noch Latex-Neuling...
Hatte mal das probiert:


\documentclass[a4paper, abstracton]{scrreprt}

\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage[version=3]{mhchem}
\usepackage[english]{babel}
\usepackage{siunitx}
\usepackage{tabularx}
\usepackage{booktabs}
\usepackage{graphicx}
\usepackage{float}
\usepackage[activate]{pdfcprot}
\usepackage[normal]{caption, subcaption}
\usepackage[leftFloats, CaptionAfterwards]{fltpage}
\usepackage{floatflt}

\begin{document}


\begin{figure}[H]
\centering
\begin{subfigure}
\centering
\includegraphics[width=\textwidth]{fig1a.pdf}
\end{subfigure}

\begin{subfigure}
\centering
\includegraphics[width=\textwidth]{fig1b.pdf}
\end{subfigure}
\caption{(A-D) text text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text text.\\
(A-D) text text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text text}
\label{fig1}
\end{figure}

\end{document}

sommerfee
10-01-2013, 07:21
Ich denke, dass ich dann mit continuedfloat arbeiten muss oder?

\ContinuedFloat benötigst du nur, wenn du die \caption in zwei Teile aufspalten möchtest, ansonsten nicht. Ansonsten kannst du die Teile einfach in verschiedene, aufeinanderfolgende figure-Umgebungen packen, ganz einfach.

(Zu der subfigure-Umgebung: Die ist nur dann sinnvoll, wenn man eine Unterabbildungsbeschriftung haben möchte, d.h. eine subfigure-Umgebung ohne \caption braucht man nicht.)



\documentclass[a4paper, abstracton]{scrreprt}

\usepackage[english]{babel}
\usepackage[demo]{graphicx}

\usepackage{blindtext}

\begin{document}

\blindtext

\begin{figure}[p!]
\centering
\includegraphics[height=\textheight]{fig1a}
\end{figure}

\begin{figure}[p!]
\centering
\includegraphics[height=\textheight]{fig1b}
\end{figure}

\begin{figure}[t!]
\captionabove[...]{(A-D) text text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text text.\\
(A-D) text text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text text}
\label{fig1}
\hrule
\end{figure}

\blindtext[20]

\end{document}

BackZlash
10-01-2013, 11:05
Dein Vorschlag läuft selbstverständlich gut und ich habe den Code noch etwas verändert, damit der Einzug in der Legende anders ist:


\documentclass[a4paper, abstracton]{scrreprt}

\usepackage[english]{babel}
\usepackage{graphicx}

\usepackage{blindtext}
\usepackage{caption}
\captionsetup[figure]{format=plain}

\begin{document}

\blindtext

\begin{figure}[p!]
\centering
\includegraphics[height=\textwidth]{embo1.pdf}
\end{figure}

\begin{figure}[p!]
\centering
\includegraphics[height=\textwidth]{embo1.pdf}
\end{figure}

\begin{figure}[t!]
\captionabove[]{(A-D) text text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text text.\\
(A-D) text text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text text}
\label{fig1}
\hrule
\end{figure}

\blindtext[20]

\end{document}

Allerdings mit meinen anderen Packages bekomm ich einen Fehler:
LaTeX Error: File `fltpage.sty' not found.

Dazu der Code:


\documentclass[a4paper, abstracton]{scrreprt}

\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage[version=3]{mhchem}
\usepackage[english]{babel}
\usepackage{siunitx}
\usepackage{tabularx}
\usepackage{booktabs}
\usepackage{graphicx}
\usepackage{float}
\usepackage[activate]{pdfcprot}
\usepackage[normal]{caption, subcaption}
\usepackage[leftFloats, CaptionAfterwards]{fltpage}
\usepackage{floatflt}
\usepackage{blindtext}

\begin{document}
\blindtext

\begin{figure}[p!]
\centering
\includegraphics[height=\textwidth]{fig1.pdf}
\end{figure}

\begin{figure}[p!]
\centering
\includegraphics[height=\textwidth]{fig1.pdf}
\end{figure}

\begin{figure}[t!]
\captionabove[]{(A-D) text text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text text.\\
(A-D) text text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text texttext text text text}
\label{fig1}
\hrule
\end{figure}

\blindtext[20]

\end{document}

Frage mich, warum er das fltpage paket nicht findet?! Oder liegt es woanders dran?