Gleichung mit \cref referenzieren

Formelsatz für Mathematik, Naturwissenschaften und Technik


zevgdimi
Forum-Anfänger
Forum-Anfänger
Beiträge: 19
Registriert: Fr 7. Nov 2014, 21:55

Gleichung mit \cref referenzieren

Beitrag von zevgdimi »

Hallo Leute,

wie der Titel schon sagt, ich würde gerne meine Gleichung über \cref referenzieren, damit sowohl der Bezeichner als auch die Gleichungsnummer im Fließtext auftauchen. Leider referenziert \cref aber auf das zugehörige Kapitel und nicht auf die Nummer der Gleichung.
Mit eqref funktioniert es zwar, aber ohne den Bezeichner "Gleichung".

Was mache ich denn hier falsch? Bei Bildern und Sektionen hat es bisher einwandfrei funktioniert.

Hier mein Minimalbeispiel:
\documentclass[%
		fontsize=12pt		%Schriftgröße
		a4paper,			%Papierformat
		headsepline,		%footsepline: Trennlinie in der Kopfzeile/Fußzeile	
		toc=bib,toc=listof,	%Bib, Abb./Tab. in Inhaltsverzeichnis (toc)
		abstract=on			%Abstract anzeigen
		%landscape      	%Querformat wird natürlich unterstützt ;-)
		%parskip        	%Absatzabstand anstatt Einzüge
		%draft          	%Der Entwurfsmodus deckt Schwächen auf
]{scrartcl}	

\usepackage[utf8]{inputenc} 		% Direkte Angabe von Umlauten im Dokument.
\usepackage[T1]{fontenc}    		% Silbentrennung bei Sonderzeichen
\usepackage{lmodern}				% Schriftart
\usepackage{textcomp}       		% Zusätzliche Symbolzeichen
\usepackage[english,ngerman]{babel} % Deutsche Sprachanpassungen

\usepackage[capitalise,ngerman,nameinlink]{cleveref}		%Querverweise, Bezeichner großgeschrieben
\crefname{equation}{Gleichung}{Gleichungen} % bringt nichts

\usepackage{amsmath}					%Mathematik-Package
\numberwithin{equation}{section}		%Nummerierung in Zeile mit Gleichung
\usepackage[version=4]{mhchem}

\makeatletter
\@addtoreset{equation}{section}			%Zurücksetzen der Nummerierung je Kapitel
\@addtoreset{figure}{section}
\@addtoreset{table}{section}
\renewcommand{\theequation}{\arabic{section}.\arabic{equation}}
\renewcommand{\thefigure}{\arabic{section}.\arabic{figure}}
\renewcommand{\thetable}{\arabic{section}.\arabic{table}}
\makeatother


\begin{document}

Entsprechende Intermediate ergeben sich auch für Ammoniumfluorid, wobei es in diesem Fall zwei Gleichgewichtsreaktionen (\cref{eq:NH4F1,eq:NH4F2}) gibt, die sich ergänzen.

\begin{equation}
\ce{3NH4+ + 2F- + GaN(s) <=> [Ga(NH3)4F2]+} 
\label{eq:NH4F1}
\end{equation}


\begin{equation}
\ce{3NH4+ + 4F- + GaN(s) <=> [Ga(NH3)2F4]- + 2NH3}
\label{eq:NH4F2}
\end{equation}

\end{document}

Gewünschte Ausgabe im Text:

...Gleichgewichtsreaktionen (Gleichung 1, Gleichung 2) gibt

Vielen Dank für die Hilfe


EDIT: sorry Leute, hatte vorhin ein paar Zeilen der Präambel nicht mit reinkopiert, das habe ich in dem Code ergänzt. Die beanstandete Zeile war natürlich vorhanden, leider funktioniert die Ausgabe nicht.

Wie gesagt, mit eqref kommt und die Nummer ohne Bezeichner und \cref gibt den Abschnitt an. \eqnumref gibt nur einen Fehler aus. Sonst nocht Ideen?


EDIT: Also, ich habe nach langer Suche das (triviale) Problem gefunden: Man muss cleverref GANZ am ENDE der Präambel laden, in meinem Fall wurde es vor amsmath geladen und da kamen sich die Befehle \cref{eq:..} und \eqref von amsmath in die Quere. Also immer \cleverref am ENDE laden.
Zuletzt geändert von zevgdimi am Mo 12. Dez 2016, 20:33, insgesamt 2-mal geändert.

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

Beitrag von Bartman »

In Deiner Präambel fehlt
\usepackage[version=4]{mhchem}

Stamm-

Eigentliches Problem nicht nachvollziehbar

Beitrag von Stamm- »

Wenn »mhchem« entsprechend ergänzt wurde, stimmt die Referenz. Die Ausgabe lautet dann "Gleichungen (1) und (2)". Für die gewünschte Ausgabe kannst Du einzeln auf jede Gleichung durch `\cref{eq:NH4F1},\cref{eq:NH4F2}` referenzieren und erhältst dann "Gleichung (1), Gleichung (2)". Weitere Anpassungen sind in den Abschnitten 8 und 9 der Anleitung zu »cleveref« zu finden. Eine davon passt dann sicher auch für eine Liste an Argumenten für `\cref`.

Antworten