Falsche Nummerierung des Formelverzeichnisses

Inhalt, Abbildungen, Tabellen, Quellcodes und andere Verzeichnisse


miney
Forum-Newbie
Forum-Newbie
Beiträge: 3
Registriert: Fr 6. Mär 2015, 19:43

Falsche Nummerierung des Formelverzeichnisses

Beitrag von miney »

Hallo,

ich schreibe gerade an meiner Masterthesis und habe das Problem das mein Formelverzeichnis nicht richtig funktioniert. Während die Nummerierung der Formeln im Dokument mit 1 startet, startet sie im Formelverzeichnis mit 0, daher sind alle Formeln verschoben. Ich habe das Problem mal in folgendem Beispiel so stark wie möglich reduziert:
\documentclass{scrreprt}
\usepackage{amsmath, amssymb, amstext}
\usepackage[titles]{tocloft}
\usepackage[ngerman]{babel}

\begin{document}

\newcommand{\listequationsname}{Formelverzeichnis}
\newlistof{equations}{equ}{\listequationsname}
\newcommand{\equations}[1]{\addcontentsline{equ}{equations}{%
\protect\numberline{Formel\space\theequation:}~~~~~~~~~~~~~~#1}}
\listofequations \addcontentsline{toc}{chapter}{{ } Formelverzeichnis}

\chapter{Kapitel}

	\begin{align}
		&a + b = c \equations{Formel 1} \\[0.25cm]
		&d = e - f \equations{Formel 2}
	\end{align}

\end{document}
Ich muss dazu sagen, dass ich den Teil in dem die ganze Equation-Sache definiert wird aus dem Netz kopiert habe und nur die Formatierung etwas geändert habe. Es wäre nett wenn mir jemand dabei helfen könnte.

Grüße
Miney

Noch so einer

Beitrag von Noch so einer »

Das kann nicht funktionieren. Da die Formelnummer erst durch \\ bzw. das Formelende erhöht wird, kann Dein \equations{…} davor gar nicht die korrekte Formelnummer anzeigen.

Außerdem ist die Verwendung von tocloft bei KOMA-Script eher keine gute Idee. Das beschädigt zumindest diverse Funktionen von KOMA-Script. Man braucht es aber auch nicht:
\documentclass[listof=totoc,listof=entryprefix]{scrreprt}
\usepackage{amsmath, amssymb, amstext}
\usepackage[ngerman]{babel}

\DeclareNewTOC[%
  type=equation,
  name=Formel,
  listname=Formelverzeichnis,
  indent=0pt,
  hang=2.5cm
]{equ}
\BeforeStartingTOC[equ]{\def\autodot{:}}
\newcommand*{\equations}[1]{%
  \begingroup
    \advance\value{equation}1\relax
    \addcontentsline{equ}{equation}{\protect\numberline{\theequation}#1}%
  \endgroup
}

\begin{document}

\tableofcontents
\listofequations

\chapter{Kapitel}

   \begin{align}
      &a + b = c \equations{Formel 1} \\[0.25cm]
      &d = e - f \equations{Formel 2}
   \end{align}

\end{document}
Achtung: Das ganze funktioniert nicht mehr korrekt, wenn man tocloft verwendet!!!

Besserwisser

Beitrag von Besserwisser »

Die Formeleingabe ist so eigentlich wenig sinnvoll. Entweder man lässt die & gleich ganz weg oder man verwendet sie für eine korrekte Ausrichtung am Gleichheitszeichen:
\documentclass[listof=totoc,listof=entryprefix]{scrreprt}
\usepackage{amsmath, amssymb, amstext}
\usepackage[ngerman]{babel}

\DeclareNewTOC[%
  type=equation,
  name=Formel,
  listname=Formelverzeichnis,
  indent=0pt,
  hang=2.5cm
]{equ}
\BeforeStartingTOC[equ]{\def\autodot{:}}
\newcommand*{\equations}[1]{%
  \begingroup
    \advance\value{equation}1\relax
    \addcontentsline{equ}{equation}{\protect\numberline{\theequation}#1}%
  \endgroup
}

\begin{document}

\tableofcontents
\listofequations

\chapter{Kapitel}

   \begin{align}
      a + b &= c \equations{Formel 1} \\
      d &= e - f \equations{Formel 2}
   \end{align}

\end{document}
Näheres zum Mathesatz findet man beispielsweise in [d]voss-mathmode[/d] oder im Buch desselben Autors. In der zugehörigen Buchreihe gibt es weitere empfehlenswerte Literatur.

Antworten