Seite 1 von 1
Nummerierung von mehreren Formelkategorien
Verfasst: Di 20. Jul 2010, 19:27
von Nilson
Hallo,
ich habe hierzu leider keine Lösung im Netz gefunden:
Ich würde gerne verschiedene Klassen von Formeln definieren, und diese dann von Anfang an durchzählen lassen. Verschiene Kategorien von Formeln sind z.B. A (für auxiliary) C (für Constant) oder T (für Table).
Es wäre super, wenn die Nummerierung so aussehen würde(Beispiel):
5x+7b (A27)
27 (C12)
f(bla) (T3)
4+14x (A28)
War das einigermassen verständlich?
Vielen Dank schon mal!
Nilson
Verfasst: Di 20. Jul 2010, 20:14
von KOMA
Hier einmal nur mit zwei Formelklassen:
\documentclass{article}
\usepackage{amsmath}
\newcounter{auxiliary}
\renewcommand*{\theauxiliary}{A\arabic{auxiliary}}
\makeatletter
\newenvironment{auxiliary}{%
\let\c@equation\c@auxiliary% Hinweis: \c@foo ist der LaTeX-Zähler foo
\let\p@equation\p@auxiliary% \label-prefix
\let\cl@equation\cl@auxiliary% Reset-Liste
\let\theequation\theauxiliary% Ausgabe
}{}
\newcounter{constant}
\renewcommand*{\theconstant}{C\arabic{constant}}
\newenvironment{constant}{%
\let\c@equation\c@constant% Hinweis: \c@foo ist der LaTeX-Zähler foo
\let\p@equation\p@constant% \label-prefix
\let\cl@equation\cl@constant% Reset-Liste
\let\theequation\theconstant% Ausgabe
}{}
\makeatother
\begin{document}
\setcounter{auxiliary}{26}
\setcounter{constant}{11}
Siehe \eqref{aux:a} und \eqref{aux:b} oder \eqref{const:a}.
\begin{auxiliary}
\begin{equation}
5x+7b
\end{equation}
\end{auxiliary}
\begin{constant}
\begin{equation}
27
\end{equation}
\end{constant}
\begin{auxiliary}
\begin{equation}
4+14x
\end{equation}
\end{auxiliary}
\end{document}
Die dritte Klasse sollte kein Problem sein.
Verfasst: Di 20. Jul 2010, 20:15
von phi
Hallo,
hier ein Ansatz (etwas hackish, aber könnte durchaus recht robust sein):
\documentclass{minimal}
\usepackage{etoolbox}
\usepackage{amsmath}
\newcommand*{\neweqclass}[1]{\newcounter{eqclass#1}}
\makeatletter
\newenvironment*{eqclass}[1]{%
\letcs\c@equation{c@eqclass#1}%
\renewcommand*{\theequation}{#1\arabic{equation}}%
}{}
\makeatother
\neweqclass{A}
\neweqclass{C}
\neweqclass{T}
\begin{document}
\eqref{eq:1}
\begin{eqclass}{A}
\begin{equation}
5x+7b
\end{equation}
\end{eqclass}
\begin{eqclass}{C}
\begin{equation}
27
\end{equation}
\end{eqclass}
\begin{eqclass}{T}
\begin{equation}
f(bla)
\end{equation}
\end{eqclass}
\begin{eqclass}{A}
\begin{equation}
\label{eq:1}
4+14x
\end{equation}
\end{eqclass}
\end{document}
Super! Danke!
Verfasst: Mi 21. Jul 2010, 10:54
von Nilson
Hey Koma, hey phi,
vielen Dank für die schnellen und ausführlichen Antworten. Beide Lösungen funktionieren wunderbar bisher. Ich bin beeindruckt von der Hilfsbereitschaft!
Danke für Eure Mühen nochmal,
Nils
Re: Super! Danke!
Verfasst: Mi 21. Jul 2010, 11:51
von skater
Nilson hat geschrieben:Beide Lösungen funktionieren wunderbar bisher. Ich bin beeindruckt von der Hilfsbereitschaft!
Ich interpretiere das jetzt mal so, dass die Frage damit beantwortet ist. Deshalb ändere ich den Status auch zu »beantwortet«.
Etwas, was bitte das nächste mal du machen mögest.
Verfasst: Do 22. Jul 2010, 09:51
von Nilson
Ja, Pardon, wusste nicht, dass man das machen muss. Vielen Dank!