PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : teile aus \tab mit \ref separieren



mannie_mammut
04-01-2012, 19:05
moin moin,
wieder habe ich ein problem:

ich habe eine arbeit mit vielen gleichungen zu schreiben. dabei muss ich für alle gleichungen literaturverweise haben. dafür habe ich einen befehl, der hinter der gleichungsnummer den literaturverweis anzeigt:


\newcommand{\eqcite}[1]{\refstepcounter{equation}\tag*{(\theequation)\cit e{#1}}}

der zeigt dann folgendes an: (formel)(gleichungsnummer)[literatur]
soweit, so gut. nun habe ich das problem, dass der literaturverweis mit im tag steht und somit auch auftaucht, wenn ich mich später mit \ref auf die gleichung beziehe. Bsp.: \ref{a} wird zu (1)[25] zitiert. ich möchte aber nur die gleichungsnummer dort stehen haben. wie schaffe ich es also, aus dem tag nur die gleichungsnummer auszulesen?

ich habe es schon mit dem xstring-package und \StrBefore in einem neuen befehl versucht, habe da aber das problem, dass \StrBefore kein # als argument übergeben werden darf, was ich bei \newcommand aber muss.

hat irgendwer eine idee, wie ich das problem anpacken kann? :(

u_fischer
05-01-2012, 12:24
hat irgendwer eine idee, wie ich das problem anpacken kann?

Nun, ich weiß den ersten Schritt: Erstelle ein geeignetes, vollständiges Minimalbeispiel zum Testen.

mannie_mammut
06-01-2012, 08:36
natürlich, gerne:



\documentclass[a4paper, 11pt]{article}
\usepackage[ngerman]{babel}
\usepackage[ansinew]{inputenc}
\usepackage{amsmath, amssymb, amsthm, amsfonts}
\usepackage{tabularx}%tabelle auf textbreite
\usepackage{booktabs}%tabellenlinien
\usepackage[automark]{scrpage2}

\renewcommand{\theequation}{\arabic{subsection}.\a rabic{equation}}%gleichungsnummerierung
\makeatletter \@addtoreset{equation}{subsection} \makeatother

\renewcommand{\thetable}{\arabic{section}.\arabic{ table}}%tabellennummerierung
\makeatletter \@addtoreset{table}{section} \makeatother

\newcommand{\eqcite}[1]{\refstepcounter{equation}\tag*{(\theequation)\cit e{#1}}}%literaturverweis in gleichungen


\begin{document}

\begin{equation}
\eqcite{formelsammlung}
\begin{split}
B,T_{DP}&=B,T_{max}+2*50 \ mm \ \\
&=600 \ mm \ +2*50 \ mm \ \\
&=700 \ mm \ \\
\end{split}
\label{a}
\end{equation}
\begin{equation}
\begin{split}
p_{DP}&=\frac{F_{p}}{B_{min}*T_{min}} \\
&=\frac{11.000 \ N \ }{200 \ mm \ *200 \ mm \ } \\
&=0,275 \ \ \frac{N}{mm^2} \\
\end{split}
\eqcite{formelsammlung}
\label{b}
\end{equation}
\ref{a}

\end{document}

das sind meine ersten beiden gleichungen. bei \ref{a} wird im moment noch die gleichungsnummer von b angezeigt. die literaturliste ist jetzt natürlich nicht dabei.

wäre wirklich genial wenn jemand eine lösung findet...

u_fischer
06-01-2012, 15:17
Du kannst mal das hier versuchen (ich bin mir aber überhaupt nicht sicher, ob es nicht irgendwo explodiert. amsmath ist was kompliziert):


\makeatletter
\newcommand{\eqcite}[1]{%
\refstepcounter{equation}%
\tag*{(\theequation)\cite{#1}}%
\gdef\df@tag{\maketag@@@{(\theequation)\cite{#1}}%
\def\@currentlabel{\theequation}}%
}

mannie_mammut
07-01-2012, 10:39
wenn ich \makeatother drunter setzte, funktioniert es!:D

vielen dank, das war ne riesen hilfe! jetzt siehts toll aus!