\pagref{} Funktioniert, \ref{} aber nicht

Redefinition von Makros, Definition eigener Befehle sowie neuer Umgebungen


Gast

\pagref{} Funktioniert, \ref{} aber nicht

Beitrag von Gast »

Hallo ihr Lieben, ich hab ein Problem beim referenzieren meiner Bilder. Obwohl es kein Problem ist die Seite des Bildes mit \pagref zu referenzieren zeigt mir die PDF datei wenn ich \ref benutze nur Fragezeichen, auch dann wenn ich mehrfach kompiliere.
Hier ist die betroffene Code-Stelle

Code: Alles auswählen

\begin{figure}[H]
	\left
	\includegraphics[width=0.4\textwidth]{./Bilder_Foto/Foto.png}
	\caption{Beispiel für eine Fotomaske}
        \label{fig:Fotomaske}
\end{figure}

Wie in Abbildung ~\ref{fig:Fotomaske} zu sehen ist....
ich habe kein zusätzliches Packet zum referenzieren eingebunden, könnte das daran liegen?

Ratgeber

Vollständige und geprüfte Beispiele bereitstellen

Beitrag von Ratgeber »

Wir benötigen schon etwas Verwertbares und nicht nur einen nutzlosen Code-Schnipsel. Komplettiere ich diesen, kann ich das Problem überhaupt nicht nachvollziehen.

Code: Alles auswählen

\documentclass[11pt,a4paper,ngerman]{article}
\usepackage[T1]{fontenc}
\usepackage{selinput}
\SelectInputMappings{
  adieresis={ä},
  germandbls={ß},
  Euro={€}
}
\usepackage{babel}
\usepackage[demo]{graphicx}

\usepackage{lmodern}
\usepackage{microtype}

\begin{document}
  \begin{figure}[!htb]
    \centering
    \includegraphics[width=0.4\textwidth]{./Bilder_Foto/Foto.png}
    \caption{Beispiel für eine Fotomaske}
    \label{fig:Fotomaske}
  \end{figure}

  Wie in Abbildung~\ref{fig:Fotomaske} auf Seite~\pageref{fig:Fotomaske} zu sehen ist, \ldots
\end{document}
Was man sagen kann, ist, dass \left nur im Mathematik-Modus und nicht ohne sein Pendant \right mit einem entsprechenden Klammersymbol funktioniert. Auch kann man sagen, dass die Referenz mindestens zwei Durchläufe des Compilers braucht, um korrekt zu erscheinen.

Bartman
Forum-Meister
Forum-Meister
Beiträge: 2118
Registriert: Do 16. Jul 2009, 21:41
Wohnort: Hessische Provinz

Beitrag von Bartman »

Wenn der Ratgeber mit seiner Vermutung zu Deinen Querverweisen recht hat, dann möchte ich Dich auf eine andere Herangehensweise mit weiteren Paketen aufmerksam machen.

Code: Alles auswählen

\documentclass[11pt,a4paper,ngerman]{article}
\usepackage[T1]{fontenc}
\usepackage{selinput}% https://texwelt.de/wissen/fragen/5546
\SelectInputMappings{
	adieresis={ä},
	germandbls={ß},
	Euro={€}
}
\usepackage{babel}
\usepackage[demo]{graphicx}
\usepackage{lmodern}
\usepackage{microtype}
\usepackage{varioref}
\usepackage[noabbrev]{cleveref}
\usepackage{etoolbox}

% Anpassung, weil cleveref varioref beeinflusst
% Quelle: https://tex.stackexchange.com/questions/257100
\makeatletter
\patchcmd\cref@old@@vpageref
{\advance\@tempcnta-2}
{\advance\@tempcnta-2 }{\typeout{patch ok}}{\ERRORpatchFaild}
\makeatother

\begin{document}
\begin{figure}[!htb]
	\centering
	\includegraphics[width=0.4\textwidth]{./Bilder_Foto/Foto.png}
	\caption{Beispiel für eine Fotomaske}
	\label{fig:Fotomaske}
\end{figure}

\newpage
Wie in \vref{fig:Fotomaske} zu sehen ist, \ldots
\newpage
Wie in \vref{fig:Fotomaske} zu sehen ist, \ldots
\end{document}

Gast

Beitrag von Gast »

Vielen Dank, jetzt funktioniert es

Antworten