Bildpositionierung bei SCfigure

Tabellen und Grafiken erstellen und anordnen


Sputnik83
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 71
Registriert: Fr 28. Dez 2012, 22:58

Bildpositionierung bei SCfigure

Beitrag von Sputnik83 »

Ich habe ein Problem mit der "H"-Positionierung bei SCfigure.
Ich habe gelesen, das SCfigure analog zu figure funktioniert.
Klappt aber leider nicht.
Lass ich den [H] Parameter weg, klappt es, nur ist das Bild nicht da, wo es sein soll...
Ich bin ganz frischer TeX´er und benutze diese Vorlage, verstehe aber leider noch nicht alles ;)
Vielleicht liegt der Hund ja hier begraben...
\usepackage{graphicx}
\usepackage{sidecap}
\usepackage{float}

% Klappt
\begin{figure}[H]
	\centering
   		\includegraphics[width=10cm]{Bild.jpg}
   		\caption{Eine Bildbeschreibung}
   		\label{Ein Label}		
\end{figure}

% Klappt nicht
% Der [H]-Parameter macht Schwierigkeiten
\begin{SCfigure}[H]
	\centering
		\includegraphics[width=10cm]{Bild.jpg}
		\caption{Eine Bildbeschreibung}
		\label{Ein Label}		
\end{SCfigure}
Danke für eure Hilfe[/url]

Epllus
Forum-Guru
Forum-Guru
Beiträge: 470
Registriert: So 23. Sep 2012, 17:31

Beitrag von Epllus »

Ich vermute, dass du noch nicht ganz über die floating Funktion im klaren bist (bitte korrigiere mich, wenn ich mich irre).

Bilder in einer "figure"-Umgebung (oder auch SCfigure) werden von LaTeX dort positioniert, wo sie einerseits der Autor haben möchte (mittels h,t,b,p), andererseits wo sie hinpassen. Passt das Bild nicht mehr auf diese eine Seite(h), versucht LaTeX es auf die nächste Seite oben(t) bzw danach nach unten(b) zu verschieben. Wenn sie dort auch nicht passt, kommt es auf eine eigene Seite(p).
Dadurch werden große Lücken oder andere Unschöhnheiten umgangen.

Das Paket float definiert zu den normalen (h,t,b,p) auch noch die Definition H.
Dies erzwingt von LaTeX dieses Bild genau dorthin zu positionieren (auch wenn LaTeX es eigentlich auf die nächste Seite geben würde und es hier nicht ganz so gut hinpasst).
Zu dieser Funktion steht im l2picfaq.pdf:
Dieses Vorgehen [H] wird allerdings im Normalfall nicht empfohlen, da es zu unschönen Lücken im Text kommen kann.
Wenn du nun bei deiner SCfigure das H weg gibst, fließt das Bild dorthin, wo es hinpasst.
Es ist so, und man sollte sich daran gewöhnen, dass die Bilder nicht dort landen, wo man sie gerne hätte, sondern wo sie platz haben und am besten Aussehen. Es ist also ganz normal, dass deine Abbildung nicht dort ist, wo du sie gerne hättest, wenn du den Parameter H wegibst.

Du solltest sowieso im Text auf das Bild mittels \ref{} oder noch besser mittels \vref{} (\usepackage[ngerman]{varioref}) verweisen.

Hoffe es hilft
Epllus

Sputnik83
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 71
Registriert: Fr 28. Dez 2012, 22:58

Beitrag von Sputnik83 »

Ich fürchte, da hast du mich falsch verstanden ;)
Im Beispiel ist mir wichtig, dass das Bild GENAU da ist, wo ich es haben möchte. Was sich ja eigentlich durch den [H]-Parameter erreichen lassen sollte.
Bei
\begin{figure}[H]
klappt das auch wunderbar
Bei
\begin{SCfigure}[H]
bekomme ich aber eine Fehlermeldung, obwohl der Dokumentation zu entnehmen ist, das der SCfigure Befehl analog zu dem figure Befehl funktionieren sollte.
Lasse ich den [H]-Parameter weg, wird der Code lauffähig, das Bild ist allerdings nicht mehr da, wo es sein soll, auch wenn es vielleicht unschön ist ;)
Mich dran zu gewöhnen ist für mich hier leider keine Option.

Benutzeravatar
bloodworks
Moderator
Moderator
Beiträge: 1425
Registriert: Mo 19. Jan 2009, 10:52
Wohnort: /dev/null

Beitrag von bloodworks »

Wenn ein Bild nicht fließen soll, dann braucht es auch nicht in einer Gleitumgebung stehen. Lasse diese einfach weg.
[1] Nützliche Webdokumente für Anfänger und Fortgeschrittene
[2]Minimalbeispiel | [3]FAQ
[4]Regelwerk | [5] Knigge
Wenn nicht anderst angegeben ist mein System: texlive 2012, pdflatex, x86-64, Snow Leopard utd.
Angehöriger der Liga zur Verwendung von texdoc
texdoc mathmode koma l2picfaq l2tabu lshort-en
Achtung: Aufforderungen ein Minimalbeispiel oder mehr Erklärungen zu einer Frage zu liefern sind keine persönlichen Angriffe. Sie dienen viel mehr dazu die Kommunikation zwischen Fragendem und potentiellen Helfern zu erleichtern und zu präzisieren.


Sputnik83
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 71
Registriert: Fr 28. Dez 2012, 22:58

Beitrag von Sputnik83 »

dann kann ich aber doch keine caption und kein Label setzen und das Bild auch nicht ins Abbildungsverzeichnis aufnehmen oder?

Außerdem würde ich den Fehler gerne nachvollziehen können.

Hier noch mal ein Beispiel was den Fehler bei der Kompilierung ausgibt:
\documentclass[ngerman]{scrreprt}
\usepackage[ngerman]{babel}
\usepackage[demo]{graphicx}
\usepackage{float}
\usepackage{sidecap}
\usepackage{ifthen}

\begin{document}

%klappt
\begin{SCfigure}
	\centering
   		\includegraphics[width=10cm]{Test}
   		\caption[Bildbeschreibung]{lange Bildbeschreibung}
   		\label{Beispiel}		
\end{SCfigure}

%klappt nicht (egal ob H, h, t, b oder p)
\begin{SCfigure}[h]
	\centering
   		\includegraphics[width=10cm]{Test}
   		\caption[Bildbeschreibung]{lange Bildbeschreibung}
   		\label{Beispiel}		
\end{SCfigure}

\end{document}
Dabei liest sich die Dokumentation unter Punkt: 2 Usage so, als ob es eigentlich klappen müsste.

Epllus
Forum-Guru
Forum-Guru
Beiträge: 470
Registriert: So 23. Sep 2012, 17:31

Beitrag von Epllus »

Wie es aussieht liegt der Fehler in vergessenen Klammern:
\documentclass[ngerman]{scrreprt} 
\usepackage[ngerman]{babel} 
\usepackage[demo]{graphicx} 
\usepackage{float} 
\usepackage{sidecap} 
\usepackage{ifthen} 

\begin{document} 

%klappt 
\begin{SCfigure} 
   \centering 
         \includegraphics[width=10cm]{Test} 
         \caption[Bildbeschreibung]{lange Bildbeschreibung} 
         \label{Beispiel}       
\end{SCfigure} 

%klappt nicht (egal ob H, h, t, b oder p) 
\begin{SCfigure}[][h] 
   \centering 
         \includegraphics[width=10cm]{Test} 
         \caption[Bildbeschreibung]{lange Bildbeschreibung} 
         \label{Beispiel}       
\end{SCfigure} 

\end{document}
Zwischen begin{} und [h] gehört noch eine Klammer.

Außerdem kennt sidecap wie es aussieht die Definition H nicht (jedenfalls bei mir).
Darum würde ich (wenn du noch immer H verwenden möchtest) das Paket floatrow empfehlen.

Falls alle \captions neben der Grafik stehen sollen benutzt du:
\usepackage{caption,subcaption}
\usepackage[facing=yes, capposition=beside, capbesideposition=outside]{floatrow} % ohne Paket float	
Falls du nur einzelne Bilder brauchst verwendest du:
\usepackage{caption,subcaption}	
\usepackage[capbesideposition=outside, facing=yes,capbesidesep=quad]{floatrow}


% im Dokument
\begin{figure}[H]
\fcapside
{\caption{...}\label{...}}
{   \includegraphics[width=0.5\textwidth]{./Bilder/example.jpg} } \end{figure}
Hoffe es hilft,
Epllus
Zuletzt geändert von Epllus am Mo 31. Dez 2012, 16:14, insgesamt 1-mal geändert.

Sputnik83
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 71
Registriert: Fr 28. Dez 2012, 22:58

Beitrag von Sputnik83 »

dann doch so einfach ;) ich danke von Herzen!

Antworten