Seite 1 von 2

Referenzen auf ein Bild

Verfasst: Mo 6. Okt 2014, 10:07
von BigPun
Hi Freunde,

es gibt ja das altbekannte Problem, soweit ich weiß, dass wenn man \label nicht direkt nach captition einfügt man später Probleme bekommt hinsichtlich der Referenz Nummer. Dann kann es sein das auf Abbildung 3.3 eine Referenz ist, aber in wirklichkeit ist es ne andere Abbildung.....
Wie ist es bei meinem Codebeispiel da unten, ist das \label direkt nach \caption oder wie würde es laufen. Ich bin absoluter Anfänger.....

% bild mit defnierter Breite einfügen
\newcommand{\bild}[4]{
  \begin{figure}[H]
    \centering
      \vspace{1ex}
      \includegraphics[width=#2]{images/#1}
      \caption[#4]{\label{img.#1} #3}
    \vspace{1ex}
  \end{figure}
}



\documentclass[fontsize=12pt, paper=a4, headinclude, twoside=false, parskip=half+, pagesize=auto, numbers=noenddot, plainheadsepline, open=right, toc=listof, toc=bibliography]{scrreprt}
\setcounter{tocdepth}{3}
\stepcounter{secnumdepth}% Nummerierung von \subsubsection 
\renewcommand*\chapterheadstartvskip{\vspace*{-\topskip}}
\setkomafont{chapter}{\Huge\rmfamily} % Überschrift der Ebene
\setkomafont{section}{\Large\rmfamily}
\setkomafont{subsection}{\large\rmfamily}
\setkomafont{subsubsection}{\large\rmfamily}
\setkomafont{chapterentry}{\large\rmfamily} % Überschrift der Ebene in Inhaltsverzeichnis
\setkomafont{descriptionlabel}{\bfseries\rmfamily} % für description Umgebungen
\setkomafont{captionlabel}{\small\bfseries}
\setkomafont{caption}{\small}
% Sprache: Deutsch
\usepackage[ngerman]{babel} 
\usepackage{graphicx} % Bilder
\usepackage{color} % Farben
\graphicspath{{images/}}
\DeclareGraphicsExtensions{.pdf,.png,.jpg} % bevorzuge pdf-Dateien
\usepackage{subfigure} % mehrere Abbildungen nebeneinander/übereinander
\newcommand{\subfigureautorefname}{\figurename} % um \autoref auch für subfigures 

\newcommand{\bild}[4]{
  \begin{figure}[H]
    \centering
      \vspace{1ex}
      \includegraphics[width=#2]{#1}
      \caption[#4]{\label{img.#1} #3}
    \vspace{1ex}
  \end{figure}
}

\begin{document}
	\chapter{1}
	\section{11}
	\ref{sec}
	\bild{HTWGLogo}{10cm}{bild1}{Test}\label{sec}
	
	\subsection{111}
	\ref{sub}
	\bild{HTWGLogo}{10cm}{bild2}{Test}\label{sub}

	\subsubsection{1111}
	\ref{subsub}
	\bild{HTWGLogo}{10cm}{bild3}{Test}\label{subsub}

\end{document}

Verfasst: Mo 6. Okt 2014, 10:09
von Johannes_B
as könnte so klappen, allerdings rate ich dir ab Bilder (samt caption) in einem Makro aufzurufen.
Das wird quatsch.

Wann sollte ich Gleitumgebungen für Tabellen und Abbildungen verwenden?

easyfig

Schade

Verfasst: Mo 6. Okt 2014, 10:16
von BigPun
Vielen Dank für die Antwort!!

aber schade!! ich war so dämlich und hab meine Bachelorarbeit mit dieser Umgebung geschrieben. Jetzt kann ich wieder alles umändern... :evil:

Verfasst: Mo 6. Okt 2014, 10:26
von Johannes_B
Du hast gerade noch ein Beispiel hinzugefügt. Das taugt leider nicht sehr um irgendetwas zu zeigen. Was willst du uns damit eigentlich zeigen?

Und wenn du schon deine Arbeit geschrieben hast, warum fragst du erst jetzt nach, ob das ok ist? Und nicht zu Beginn?

Verfasst: Mo 6. Okt 2014, 10:35
von BigPun
Ich dachte das Beispielt reicht aus, keine Ahnung...Wie gesagt ich bin ein absolute noob in Latex..

Und ich frag erst jetzt, weil es noch super funktioniert hat, erst seid 2-3 Stunden sehe ich das die Referenzen plötzlich nicht mehr mit den Bilder übereinstimmen... Was habt ihr mir für einen Rat :P Welchen nächsten Schritt soll ich jetzt gehen damit ich das noch um geschickt löse?

Verfasst: Mo 6. Okt 2014, 10:36
von Besserwisser
Lass doch einfach mal das [H] bei \begin{figure} weg. Dann hast du schon richtige Gleitumgebungen.

Verfasst: Mo 6. Okt 2014, 10:54
von BigPun
Klappt leider nicht.
Ist es eigentlich grundsätzlich schlecht ein Dokument mit tiefen Kapiteln ebenen zu schreiben? also in Bezug auf die Referenzen?

Und wie ist es wenn ich zusätzlich minipages verwende?

Das ist echt eine kleine Katastrophe, ich hab morgen Abgabe :lol:

Verfasst: Mo 6. Okt 2014, 11:09
von Noch so einer
Es ist grundsätzlich stilistisch nicht gut, zu tief zu gliedern. Mit drei bis vier Gliederungsebenen sollte man auskommen. Für die Referenzen ist das aber kein Problem. Man muss natürlich auch die Labels verwenden, die man gesetzt hat. Du setzt die Labels ja in Deiner Definition von \bild automatisch und verwendest dabei den Dateinamen. Also musst Du natürlich auch darüber referenzieren:
\documentclass[fontsize=12pt, paper=a4, headinclude, twoside=false, parskip=half+, pagesize=auto, numbers=noenddot, plainheadsepline, open=right, toc=listof, toc=bibliography]{scrreprt}
\setcounter{tocdepth}{3}
\stepcounter{secnumdepth}% Nummerierung von \subsubsection
\renewcommand*\chapterheadstartvskip{\vspace*{-\topskip}}
\setkomafont{disposition}{\bfseries}
\setkomafont{descriptionlabel}{\bfseries\rmfamily} % für description Umgebungen
\setkomafont{captionlabel}{\small\bfseries}
\setkomafont{caption}{\small}
% Sprache: Deutsch
\usepackage[ngerman]{babel}
\usepackage{graphicx} % Bilder
\usepackage{color} % Farben

\newcommand{\bild}[4]{
  \begin{figure}
    \centering
      \includegraphics[width=#2]{#1}
      \caption[#4]{#3}
      \label{img:#1}%
  \end{figure}
}

\usepackage{mwe}% Zu Demozwecken

\begin{document}
   \chapter{Das ist ein Kapitel}
   \section{Das ist ein Abschnitt}
   Siehe Abbildung~\ref{img:example-image}
   \bild{example-image}{10cm}{bild1}{Test}
   
   \subsection{Das ist ein Unterabschnitt}
   Siehe Abbildung~\ref{img:example-image-a}
   \bild{example-image-a}{10cm}{bild2}{Test}

   \subsubsection{Das is ein Unterunterabschnitt}
   Siehe Abbildung~\ref{img:example-image-b}
   \bild{example-image-b}{10cm}{bild3}{Test}

\end{document}
Dass Du das in Deinem Beispiel nicht machst, sondern nochmal versuchst andere Labels zu setzen, kann ich mir nur dadurch erklären, dass Du eine dieser unsäglichen Vorlagen verwendest und diese nicht verstanden hast. Daher: »Minimale Vorlage vs. maximale Probleme«.

Dass das nachträgliche \label nicht den gewünschten Erfolg bringt ist leicht erklärt. Da es nach der figure-Umgebung steht, ist es in Label zur jeweiligen Gliederungsebene und nicht mehr zur Abbildung, Das ist eigentlich LaTeX-Grundwissen. Daher empfehle ich außerdem eine ausführliche LaTeX-Einführung zu lesen.

Verfasst: Mo 6. Okt 2014, 11:45
von BigPun
Wow, danke...es klappt größtenteils, jedoch ist durch diese richtige Gleitumgebung, bzw. ohne das [H] ein anderes Problem aufgetreten. Die Bilder huschen ab und zu an die falsche Stelle....

Trotzdem riesen Dank!

Verfasst: Mo 6. Okt 2014, 12:29
von esdd
Wenn die Bilder nicht gleiten sollen, dann verzichte komplett auf die Gleitumgebung:
\newcommand{\bild}[4]{
  \begin{center}
     \begin{minipage}{\linewidth} 
       \centering 
         \includegraphics[width=#2]{#1} 
         \captionof{figure}[#4]{#3} 
         \label{img:#1}% 
     \end{minipage} 
  \end{center}
} 
Gruß
Elke