Sie sind hier

Doppelte Einträge im Symbolverzeichnis mit Nomencl-Paket

Hallo Zusammen,
ich schreibe gerade eine Veröffentlichung (zweispaltig, daher funktioniert nomentbl wegen des darin eingebundenen longlist-Paketes nicht). Darin sind einige Formel enthalten. Die Formelzeichen und Indizes würde ich gerne mit dem Nomencl-Paket in lateinische, griechische und Indizes klassieren.
Problem: Einträge erscheinen mehrfach im Symbolverzeichnis, wenn die Einträge im Text auf mehreren Seiten zitiert werden.

Hier mal ein Minimalbeispiel mit der Dokumentenklasse scrartcl statt svjour3 (womit ich eigentlich arbeite).

Vielleicht hat von Euch ja jemand einen Gedankenblitz und kann mir helfen. Darüber würde ich mich sehr freuen.

Live long and prosper
HJ

\RequirePackage{fix-cm} 
 
\documentclass[ 
               twocolumn, 
%               onecolumn, 
               final, 
%               draft, 
               ] 
%               {svjour3} 
            {scrartcl} 
 
\usepackage[T1]{fontenc} 
\usepackage[applemac]{inputenc} 
\usepackage{ngerman} 
\usepackage[notintoc, norefeq, norefpage, german]{nomencl} 
\usepackage{lipsum} 
 
\RequirePackage{ifthen} 
\renewcommand{\nomgroup}[1]{% 
\ifthenelse{\equal{#1}{A}}{\item[\textbf{Lateinische Symbole}]}{% 
\ifthenelse{\equal{#1}{G}}{\item[\textbf{Griechische Symbole}]}{% 
\ifthenelse{\equal{#1}{Z}}{\item[\textbf{Indizes}]}{}}}} 
 
%%% Nomenclatur erzeugen 
\makenomenclature 
 
\begin{document} 
%%% Symbolverzeichnis 
\printnomenclature 
%%% 
 
\lipsum[1-5] 
\begin{eqnarray} 
a^2 + b^2 &=& c^2 
\end{eqnarray} 
\nomenclature[A]{$a$}{Kathete a}%Latin 
\nomenclature[A]{$b$}{Kathete b}%Latin 
\nomenclature[A]{$c$}{Hypothenuse}%Latin 
 
\lipsum[1-3] 
\begin{eqnarray} 
a^2 + b^2 &=& c^2 
\end{eqnarray} 
\nomenclature[A]{$a$}{Kathete a}%Latin 
\nomenclature[A]{$b$}{Kathete b}%Latin 
\nomenclature[A]{$c$}{Hypothenuse}%Latin 
 
\lipsum[1-2] 
\begin{eqnarray} 
a^2 + b^2 &=& c^2 
\end{eqnarray} 
\nomenclature[A]{$a$}{Kathete a}%Latin 
\nomenclature[A]{$b$}{Kathete b}%Latin 
\nomenclature[A]{$c$}{Hypothenuse}%Latin 
 
\lipsum[1-4] 
\begin{eqnarray} 
a^2 + b^2 &=& c^2 
\end{eqnarray} 
\nomenclature[A]{$a$}{Kathete a}%Latin 
\nomenclature[A]{$b$}{Kathete b}%Latin 
\nomenclature[A]{$c$}{Hypothenuse}%Latin 
 
\lipsum[1-5] 
\begin{eqnarray} 
a^2 + b^2 &=& c^2 
\end{eqnarray} 
\nomenclature[A]{$a$}{Kathete a}%Latin 
\nomenclature[A]{$b$}{Kathete b}%Latin 
\nomenclature[A]{$c$}{Hypothenuse}%Latin 
 
\lipsum[1-5] 
\begin{eqnarray} 
a^2 + b^2 &=& c^2 
\end{eqnarray} 
\nomenclature[A]{$a$}{Kathete a}%Latin 
\nomenclature[A]{$b$}{Kathete b}%Latin 
\nomenclature[A]{$c$}{Hypothenuse}%Latin 
 
\end{document} 
%%% 
%: end of file 
%%% 
forum: 
Bild von Admin

Bitte Code-Tags verwenden! Ich werde das ausnahmsweise für Dich nachholen.

Nahezu identische Frage (mit nicht minimalem Beispiel) gibt es bereits hier: http://www.golatex.de/mehrfache-eintraege-im-symbolverzeichnis-mit-nomencl-t5522.html. Bei Crossposts bitte immer den entsprechenden Link selbst mit angeben!

Da die Frage nichts mit KOMA-Script zu tun hat, gehört sie nach Off-Topic oder ist (mit tatsächlichem Minimalbeispiel) auf einer der Partnerseiten besser aufgehoben.

Administratorentscheidungen sind grundsätzlich nicht im Forum zu diskutieren. Für Fragen an die Administratoren ist die bekannte Administrator-E-Mail-Adresse oder das Forum Site zu verwenden.

Bild von Markus Kohm

Die Verwendung ist so in nomencl offensichtlich nicht vorgesehen. In der Anleitung zu dem Paket heißt es: • Issue the \nomenclature command (see Section 2.2) for each symbol
you want to have included in the nomenclature list. The best place
for this command is immediately after you introduce the symbol for
the first time.
Demnach ist der Verwendung also einmalig nach der ersten Verwendung eines Symbols vorgesehen. Dass MakeIndex die Mehrfacheinträge nicht zusammenfassen kann, liegt übrigens daran, dass die Einträge in der nlo-Datei wie folgt lauten:

\nomenclatureentry{A$a$@[{$a$}]\begingroup Kathete a\nomeqref {1}|nompageref}{2}
\nomenclatureentry{A$a$@[{$a$}]\begingroup Kathete a\nomeqref {2}|nompageref}{2}
\nomenclatureentry{A$a$@[{$a$}]\begingroup Kathete a\nomeqref {3}|nompageref}{3}
\nomenclatureentry{A$a$@[{$a$}]\begingroup Kathete a\nomeqref {4}|nompageref}{4}
\nomenclatureentry{A$a$@[{$a$}]\begingroup Kathete a\nomeqref {5}|nompageref}{5}
\nomenclatureentry{A$a$@[{$a$}]\begingroup Kathete a\nomeqref {6}|nompageref}{6}

Sie unterscheiden sich also in dem Teil vor »|«, den MakeIndex für die Sortierung heran zieht im Argument von \nomeqref, also der Referenz auf die Formel, in der sie (erstmals) definiert wurden.

Will man diese ohnehin nicht nutzen, könnte man die Anweisung, die die Einträge schreibt umdefinieren:

%% Don't write \nomeqref
\makeatletter
\def\@@@nomenclature[#1]#2#3{% from `nomencl.sty'
 \def\@tempa{#2}\def\@tempb{#3}%
 \protected@write\@nomenclaturefile{}%
  {\string\nomenclatureentry{#1\nom@verb\@tempa @[{\nom@verb\@tempa}]%
      \begingroup\nom@verb\@tempb% CHANGED!
        |nompageref}{\thepage}}%
 \endgroup
 \@esphack}
\makeatother

Das muss irgendwo nach dem Laden von nomencl in die Präambel.

AFAIK wird nomencl nicht mehr weiter entwickelt. Als Alternative wird häufig glossaries genannt.

BTW: Ich erwarte von Dir, dass Du auf goLaTeX fairer Weise umgehend einen Hinweis auf diese Lösung angibst! Besser wäre übrigens gewesen, wenn Du dort Dein Beispiel minimalisiert hättest!

Die Anpassung der Dokumenteneinstellung wie oben beschrieben löst das Problem in dem aufgeführten Beispiel. Leider wirkt die Anpassung nicht in der Dokumentenklasse "svjour3" des Springer-Verlags. Hier scheinen noch Seiteneffekte vorzuliegen. Momentan kann ich mich nicht darum kümmern, was ich aber nach Abgabe des Manuskriptes nachhole.

Zum Thema Indexerstellung mit Nomencl, bzw. Nomentbl: Die Pakete arbeiten soweit ganz ordentlich und liefern das erwartete Ergebnis. Sie bieten die Möglichkeit, Symbole bei jeder Nennung im Dokument zu bezeichnen.
Mit Glossaries müssen die Einträge vorab definiert werden, was bedeutet, dass in umfangreichen Arbeiten ein Paralleldokument mitgeführt werden muss. Dafür arbeitet Glossaries einwandfrei und wird aktuell gepflegt.

Das Für-und-Wider hat mich aktuell dazu bewogen, das "alte" Paket Nomencl innerhalb des svjour3 zu nutzen.

Vielen Dank an Markus Kohm für die sehr rasche work-around-Lösung
Live long and prosper...
HJG

Live long and prosper...

Beste grüße
HJG

Comments for "Doppelte Einträge im Symbolverzeichnis mit Nomencl-Paket" abonnieren