Formel über die Referenz nochmal anzeigen lassen

Formelsatz für Mathematik, Naturwissenschaften und Technik


newHippie
Forum-Newbie
Forum-Newbie
Beiträge: 9
Registriert: Fr 20. Nov 2009, 23:48
Wohnort: Leipzig

Formel über die Referenz nochmal anzeigen lassen

Beitrag von newHippie »

Hallo,

ich würde gerne wissen, ob es denn möglich ist, nachdem man in einer align Umgebung einen Label für die Formel vorgegeben hat, diese Formel zum einen späteren Zeitpunkt wieder zeigen zu lassen.

Es geht dabei darum, dass ich im Text die Formeln erkläre, aber gleichzeitig eine Tabelle als Übersicht machen will.

Natürlich kann ich mir eigene Befehle für die Forlmeln machen, aber es ist sehr viel aufwendiger und der Nachteil ist, dass in der newcommand Umgebung die Syntaxhervorhebung nichts mehr macht (zumindenstens bei Kile).

Wäre für Alternativen dankbar.

Minibeispiel:

\documentclass{report}
\usepackage{amsmath}
\begin{document}
\begin{align}
\label{eq:meineFormel}
	1 + 2 = A
\end{align}
...
\ref{eq:meineFormel}
...
\irgendwie{eq:meineFormel} -> hier steht die Formel nochmal.
\end{document}

Linux forever

Benutzeravatar
bloodworks
Moderator
Moderator
Beiträge: 1425
Registriert: Mo 19. Jan 2009, 10:52
Wohnort: /dev/null

Beitrag von bloodworks »

Hallo du könntest so was machen:
So richtig getestet ist das noch nicht, aber du könnest mal so was probieren:
\documentclass{scrartcl} 


\newcommand{\defneweqn}[2]{%
\expandafter\def\csname name#1\endcsname{#1}
\expandafter\def\csname cont#1\endcsname{#2}
}
 
\newcommand{\geteqn}[1]{%
\csname cont#1\endcsname  \label{\csname name#1\endcsname}}

\begin{document} 


\defneweqn{test}{a=b \hat{c}}


\defneweqn{testa}{ a=b \sin a }
%%%
$\geteqn{test}$
$\geteqn{testa}$
\begin{equation}
\geteqn{test}
\end{equation}
\ref{test}
\begin{equation}
\geteqn{test}
\end{equation}
\ref{test}

\end{document}

Es wird eine Formel Definiert, die mit geteqn ausgegeben wird. Damit wird auch ein Label ausgegeben. Das definert natürlich ein label mehrfach.
Das könntest du so umgehen:
\documentclass{scrartcl} 


\newcommand{\defneweqn}[2]{%
\expandafter\def\csname name#1\endcsname{#1}
\expandafter\def\csname cont#1\endcsname{#2}
%
}
 
\newcommand{\firstgeteqn}[1]{%
\csname cont#1\endcsname  \label{\csname name#1\endcsname}}
\newcommand{\geteqn}[1]{%
\csname cont#1\endcsname }

\begin{document} 


\defneweqn{test}{a=b \hat{c}}


\defneweqn{testa}{ a=b \sin a }

%%%
$\geteqn{test}$
$\geteqn{testa}$
\begin{equation}
\firstgeteqn{test}
\end{equation}
\ref{test}
\begin{equation}
\geteqn{test}
\end{equation}
\ref{test}

\end{document}
Ich denke es wird klar was der Unterschied zwischen firstgeteqn und get eqn ist. Das ganze könnte man natürlich auch etwas eleganter mit entsprechenden Abfragen lösen, ich habs jetzt aber mal so hardgecoded.
[1] Nützliche Webdokumente für Anfänger und Fortgeschrittene
[2]Minimalbeispiel | [3]FAQ
[4]Regelwerk | [5] Knigge
Wenn nicht anderst angegeben ist mein System: texlive 2012, pdflatex, x86-64, Snow Leopard utd.
Angehöriger der Liga zur Verwendung von texdoc
texdoc mathmode koma l2picfaq l2tabu lshort-en
Achtung: Aufforderungen ein Minimalbeispiel oder mehr Erklärungen zu einer Frage zu liefern sind keine persönlichen Angriffe. Sie dienen viel mehr dazu die Kommunikation zwischen Fragendem und potentiellen Helfern zu erleichtern und zu präzisieren.


Antworten