Gleichung benennen, aber mit Nummer referenzieren Thema ist als GELÖST markiert

Formelsatz für Mathematik, Naturwissenschaften und Technik


Gast

Gleichung benennen, aber mit Nummer referenzieren

Beitrag von Gast »

Hallo zusammen!

Ich beiße mir an folgendem Problem die Zähne aus: Ich nummeriere meine Gleichungen durch, möchte aber einige zusätzlich (zur Hervorhebung) mittels des \tag-Befehls benennen. Der Verweis auf die Formel im Text soll aber nur die Gleichungsnummer ausgeben (weil es je nach Kontext sonst einfach den Lesefluss und die Optik stört).

Tag und Nummer habe ich in meinem Minimalbeispiel bewerkstelligt:
\documentclass{scrartcl}
\usepackage{amsmath}

\begin{document}
\begin{equation}
F = m \, a \label{eq:newton}\stepcounter{equation}\tag{Newton's Formel, \theequation}
\end{equation}

Hier jetzt die Referenz auf \eqref{eq:newton}.
\end{document}
Das liefert mir als Ausgabe:

Hier jetzt die Referenz auf (Newton's Formel, 1).

Jetzt möchte ich im Text aber nur mit der Nummer auf die Gleichung verweisen, also so:

Hier jetzt die Referenz auf (1).

Ich habe schon das Netz durchforstet, aber keine Lösung dafür gefunden (z.B. geht \caption ja nur für float-Elemente...) Habt ihr da Vorschläge, wie das zu bewerkstelligen ist?

LG, Thomas

Noch so einer

Beitrag von Noch so einer »

Zunächst einmal brauchst Du in Formeln nicht händisch mit \, einen Abstand zwischen Variablen eines Produkts zu setzen. Die Buchstaben werden automatisch als Einzelvariablen gesetzt, das heißt $m a$ ist bereits das Produkt aus $m$ und $a$. Wenn Du wirklich einmal betonen willst, das es sich um ein Produkt handelt, dann setze ein Multiplikationszeichen dazwischen. LaTeX bietet davon verschiedene. In meinem Lösungsvorschlag habe ich Dir mal zwei davon zur Auswahl gestellt:
\documentclass{scrartcl}
\usepackage{amsmath}

\DeclareRobustCommand*{\tagtext}[1]{#1}
\DeclareRobustCommand*{\tagcomma}{, }
\DeclareRobustCommand*{\tagnumber}[1]{#1}
\newcommand*{\nametag}[1]{%
  \stepcounter{equation}%
  \tag{\tagtext{#1}\tagcomma\tagnumber{\theequation}}%
}
\makeatletter% <-- anklicken liefert Erklärung
\newcommand*{\eqnumref}[1]{%
  \begingroup
    \let\tagtext\@gobble
    \let\tagcomma\relax
    \eqref{#1}%
  \endgroup
}
\newcommand*{\eqtextref}[1]{%
  \begingroup
    \let\tagcomma\relax
    \let\tagnumber\@gobble
    \ref{#1}%
  \endgroup
}
\makeatother% <-- anklicken liefert Erklärung
\begin{document}
\expandafter\show\csname r@eq:newton\endcsname
\begin{align}
F &= m \cdot a \label{eq:newton}\nametag{Newton's Formel}\\
E &= m \times \mathrm{c}^2 \label{eq:einstein}\nametag{Einstein's Formel}
\end{align}

Hier jetzt die Referenz auf \eqnumref{eq:newton} in \eqtextref{eq:newton} oder
\eqref{eq:newton}.

Hier jetzt die Referenz auf \eqnumref{eq:einstein} in \eqtextref{eq:einstein} oder
\eqref{eq:einstein}.

\end{document}

Gast

Beitrag von Gast »

Funktioniert einwandfrei. Vielen Dank!

HansAchterbahn

Beitrag von HansAchterbahn »

Ich hatte das selbe Problem, funktioniert super - Danke!! :D

Antworten