Doppelter Eintrag in Formelverzeichnis

Inhalt, Abbildungen, Tabellen, Quellcodes und andere Verzeichnisse


SmallPete
Forum-Newbie
Forum-Newbie
Beiträge: 2
Registriert: Mi 20. Feb 2019, 13:24

Doppelter Eintrag in Formelverzeichnis

Beitrag von SmallPete »

Hallo zusammen,

beim schreiben meiner Arbeit habe ich mein Formelverzeichnis wie folgt definiert:
\documentclass[12pt,a4paper,abstracton, notitlepage]{scrreprt}
\usepackage{amsmath}

%Formelverzeichnis
\DeclareNewTOC[indent=0pt, hang=2em,type=equation]{loe}

\AtBeginDocument{
\newcaptionname{english}\listequationname{List of Equations}}

\makeatletter
\newcommand*{\@currententry}{}
\g@addto@macro\make@display@tag{\set@currententry}
\def\tagform@#1{\maketag@@@{(\ignorespaces#1\unskip\@@italiccorr)} \set@currententry}
\newcommand*{\set@currententry}{\typeout{set current entry} \ifx\@currententry\@empty\else
\addcontentsline{loe}{equation}{\protect\numberline{\@currentlabel}\@currententry}
\global\let\@curententry\@empty
\fi
}

\newcommand*{\equationentry}[1]{\gdef\@currententry{#1}}
\makeatother

\begin{document}

\listofequations

\begin{equation}
\label{formel_A}
\equationentry{Availability}
\begin{split}
\text{Availability (A)} & = \frac{\text{Required Availability} - \text{Downtime}}{\text{Required Availability}} = \\  & = \frac{\text{Actual Operating Time}}{\text{Required Availability}}
\end{split}
\end{equation}

\end{document}
Hat soweit auch super funktioniert bis ich Formeln, welche über mehrer Zeilen gehen einfügen wollte. Bei mehrzeiligen Formeln kommt es zur Doppelnennung im Verzeichnis. Hat jemand einen Tipp um das Problem zu lösen?

Gast

Beitrag von Gast »

Wenn du das an den tag bindest, wird es überall verwendet, wo der tag zum Einsatz kommt. Ich würde da weniger Intelligenz anwenden. Den Text musst du ohnehin festlegen. Dann kann man die entsprechende Anweisung auch entsprechend \label dort aufrufen, wo sie relevant ist.
\documentclass[12pt,a4paper,abstracton, notitlepage]{scrreprt}
\usepackage{amsmath}

%Formelverzeichnis
\DeclareNewTOC[indent=0pt, hang=2em,type=equation]{loe}

\providecaptionname{english}\listequationname{List of Equations}

\makeatletter
\newcommand*{\addequationentry}[2][\@currentlabel]{%
  \ifstr{#1}{}{%
    \addxcontentsline{loe}{equation}{#2}%
  }{%
    \addxcontentsline{loe}{equation}[#1]{#2}%
  }%
}
\makeatother

\begin{document}

\listofequations

\begin{equation}
\begin{split}
\text{Availability (A)} & = \frac{\text{Required Availability} - \text{Downtime}}{\text{Required Availability}} = \\  & = \frac{\text{Actual Operating Time}}{\text{Required Availability}}\label{formel_A}\addequationentry{Availability}
\end{split}
\end{equation}

Funktioniert auch mit nicht nummerierten Formeln:
\begin{equation*}
\begin{split}
\text{Availability (A)} & = \frac{\text{Required Availability} -
  \text{Downtime}}{\text{Required Availability}} = \\  & = \frac{\text{Actual
    Operating Time}}{\text{Required
    Availability}}\addequationentry{Another Availability}
\end{split}
\end{equation*}

Oder:
\begin{equation}
\begin{split}
\text{Availability (A)} & = \frac{\text{Required Availability} -
  \text{Downtime}}{\text{Required Availability}} = \\  & = \frac{\text{Actual
    Operating Time}}{\text{Required
    Availability}}\addequationentry[]{Again Another Availability}
\end{split}\notag
\end{equation}
Notfalls kann man über das optionale Argument die Nummer sogar manuell korrigieren.

SmallPete
Forum-Newbie
Forum-Newbie
Beiträge: 2
Registriert: Mi 20. Feb 2019, 13:24

Beitrag von SmallPete »

Vielen Dank für die schnelle Antwort! Funktioniert! :)

Jetzt ist mir leider noch eine Kleinigkeit aufgefallen:

Im Abbildungsverzeichnis z.B. sind die Einträge etwas eingerückt. Ist es möglich das bei meinem Formelverzeichnis anzupassen? :shock:

Gast

Beitrag von Gast »

Statt indent und hang solltest du ohnehin die Optionen verwenden, die in der Anleitung dokumentiert sind. Dort findest du auch die Einstellungen für Abbildungs- und Tabellenverzeichniseinträge. Einfach einmal die beiden genannten Option in Tabelle 15.2 nachlesen.

Antworten