Referenzieren auf mathematische und Reaktionsgleichungen

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: Referenzieren auf mathematische und Reaktionsgleichungen

Re: Referenzieren auf mathematische und Reaktionsgleichungen

von cgnieder » Di 15. Feb 2022, 18:44

Seit chemmacros v6.1 funktionieren Reaktionen mit \autoref und \cref von selbst zusammen und können wie Gleichungen auch entsprechend angepasst werden:
\documentclass{scrreprt}
\usepackage[ngerman]{babel}
\usepackage{chemmacros}
\chemsetup[reactions]{
  before-tag = R \textbf ,
  tag-open = [ ,
  tag-close = ]
}
\usepackage{hyperref}
\usepackage[ngerman,nameinlink,noabbrev]{cleveref}

\crefname{reaction}{Reaktion~R}{Reaktionen~R}
\renewcommand\reactionautorefname{Reaktion~R}

\begin{document}
\chapter{Kapitel 1}
\begin{equation}\label{eq:id_Gas}
  p \cdot V = n \cdot R \cdot T
\end{equation}
\begin{reaction}\label{rxn:BSZ}
  H2 + 1/2 O2 <=> \water
\end{reaction}

Nun soll auf \autoref{eq:id_Gas} anders verwiesen wird, als auf \autoref{rxn:BSZ}

Nun soll auf \cref{eq:id_Gas} anders verwiesen wird, als auf \cref{rxn:BSZ}

\end{document}
test.png

Re: Refernzieren auf mathematische und Reaktionsgleichungen

von gast. » Mo 13. Dez 2021, 09:29

Die Umgebung heißt reaction, also muss man für cleveref ggf.:
\crefname{reaction}{Reaktion~R~}{Reaktionen~R~}
verwenden. Und natürlich muss man dann beispielsweise mit \cref statt \ref oder \autoref referenzieren. Aber das sollte nach Lesen der cleveref-Anleitung ja bereits klar sein.

Lies aber unbedingt auch den zweiten Absatz in Abschnitt 7.2 der cleveref-Anleitung.

von Gast. » Mo 13. Dez 2021, 00:07

Re: Refernzieren auf mathematische und Reaktionsgleichungen

von Mikkka » So 12. Dez 2021, 23:46

Hallo!

Ich habe jetzt für die Reaktionsgleichung cleveref verwendet. Vielen Dank für den Tipp! Damit bin ich meiner gewünschten Ausgabe deutlich näher gekommen. Die Textausgabe passt soweit, ich hätte jedoch auch gern, dass auch der Text "Reaktion R" mit dem Hyperlink zur Gleichung hinterlegt ist und nicht ausschließlich die Nummer. Nachdem ich ein bisschen rumgegoogelt habe, denke ich, dass der Befehl \crefname{Objekt}{Singularbezeichnung}{Pluralbezeichnung} in der folgenden Art die gewünschte Wirkung erzielen müsste:
\crefname{reactions}{Reaktion~R~}{Reaktionen~R~}
Allerdings scheint reactions kein vordefiniertes Objekt in cleveref zu sein, weshalb ich das Problem noch nicht lösen konnte. Welche andere Möglichkeit habe ich noch, um über \cref auch die Verlinkung über den Text zu ermöglichen?

Mein bearbeitetes Minimalbeispiel habe ich nochmal angefügt.
\documentclass{scrreprt}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{chemmacros}
\chemsetup{modules={all}}
\chemsetup[reactions]{
	before-tag = R \textbf ,
	tag-open = [ ,
	tag-close = ]
	}
\usepackage{hyperref}
\usepackage[ngerman,nameinlink,noabbrev]{cleveref}
\crefname{reactions}{Reaktion~R~}{Reaktionen~R~}
\newcommand{\rxnref}[1]{\text{Reaktion R }\ref{#1}}

\begin{document}
\chapter{Kapitel 1}
\begin{equation}\label{eq:id_Gas}
    p \cdot V = n \cdot R \cdot T
\end{equation}
\begin{reaction}\label{rxn:BSZ}
H2 + 1/2 O2 <=> \water
\end{reaction}
Nun soll auf \autoref{eq:id_Gas} anders verwiesen wird, als auf \rxnref{rxn:BSZ}
\end{document}

Re: Refernzieren auf mathematische und Reaktionsgleichungen

von gast. » Mi 27. Okt 2021, 11:52

Das Problem ist, dass für hyperref beides equations sind. Du kannst aber cleveref (sollte ausnahmsweise irgendwo nach hyperref geladen werden) laden und \cref verwenden. Warum dabei nur die Nummer als Hyperlink markiert wird, ist der cleveref-Anleitung zu entnehmen.

Referenzieren auf mathematische und Reaktionsgleichungen

von Mikkka » Mi 27. Okt 2021, 11:36

Ich schreibe gerade an meiner Masterarbeit, in der ich sowohl mathematische Gleichungen, als auch Reaktionsgleichungen verwende. Mathematischen Gleichungen werden in der Form (1.1) nummeriert, Reaktionsgleichungen in der Form [R 1]. Im Text möchte ich nun mit dem Befehl \autoref auf beide Arten von Gleichungen verweisen. Für mathematische Gleichungen klappt das problemlos, bei dem Verweis auf die Reaktionsgleichungen, gibt Latex jedoch „Gleichung 1“ aus. Damit schon am Text deutlich wird, dass es sich um eine Reaktionsgleichung handelt, suche ich eine Möglichkeit den \autoref Befehl so umzuändern, dass wenn auf ein Label innerhalb einer reaction-Umgebung steht „Reaktion R 1“ ausgegeben wird. Trotz viel suchen, habe ich dazu noch keine Lösung gefunden. Ich hoffe, jemand hier kann mir weiterhelfen.
Anbei ein Minimalbeispiel das mein Problem hoffentlich verdeutlicht:
\documentclass{scrreprt}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{hyperref}
\usepackage{chemmacros}
\chemsetup{modules={all}}
\chemsetup[reactions]{
	before-tag = R \textbf ,
	tag-open = [ ,
	tag-close = ]
	}
\begin{document}
\chapter{Kapitel 1}
\begin{equation}\label{eq:id_Gas}
    p \cdot V = n \cdot R \cdot T
\end{equation}
\begin{reaction}\label{rxn:BSZ}
H2 + 1/2 O2 <=> \water
\end{reaction}
Nun soll auf \autoref{eq:id_Gas} anders verwiesen wird, als auf \autoref{rxn:BSZ}
\end{document}

Nach oben