PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : nomencl hat doppelte einträge



fireglow
06-02-2006, 21:44
hallo,

ich hab da ein kleines problem mit nomencl, es liefert doppelte einträge, was soviel heisst wie:

ich habe formeln in denen teilweise die gleichen formelzeichen vorkommen

in jeder dieser formeln habe ich einen nomenklatureintrag für jedes element. jeder dieser nomenklatureinträge wir jetzt also in mein verzeichnis eingetragen und zwar DOPPELT. das erscheint mir auf der einen seite logisch, da ich ja jeden eintrag per \nomenclature einfüge, sinnvoller wäre es in meinen augen aber, wenn, ähnich wie beim index (und auf diesem basiert ja \nomencl) doppelte einträge zusammengefasst werden würden.

wenn also jemand weiss, wie ich das erreichen kann, würde mir das sehr weiterhelfen.

gruesse

fireglow :cool:

TomDD
07-02-2006, 07:40
Hallo,

also ich habe das ganze eben mal ausprobiert und bei mir missachtet er doppelte Einträge. D. h. er zeigt diese nur einmal an, solange diese genau identisch sind.

Gruß, Thomas

fireglow
07-02-2006, 10:03
bei mir klappt das irgendwie nicht, habe die formel mit den einträgen einfach kopiert und schwupp da war alles zweimal da????

hab hier mal ein minimalbeispiel, das bei mir den fehler produziert


\documentclass[liststotoc,idxtotoc,12pt,a4paper,oneside]{scrbook}
\usepackage[intoc,german]{nomencl}
\makenomenclature
\renewcommand{\nomname}{Verwendete Formelzeichen}
\newcommand{\nc}[3][a]{#2\nomenclature[#1]{#2}{#3}}
\usepackage{trfsigns}
\usepackage{amsmath}
\usepackage{amssymb}
\begin{document}

\printnomenclature

\chapter{Test}

\begin{equation}
\nc{E}{Energie} = \nc{m}{Masse} * \nc{c}{Lichtgeschwindigkeit}^2
\end{equation}

\begin{equation}
\nc{E}{Energie} = \nc{m}{Masse} * \nc{c}{Lichtgeschwindigkeit}^2
\end{equation}

\end{document}

TomDD
07-02-2006, 10:13
Also hier mal ein MiniBeispiel. Hab allerdings keine Formeln darin. Aber der Eintrag "Customer Relationship Management" erscheint dann nur einmal. Vieleicht findest du si heraus, woran es liegt

\documentclass[12pt,BCOR12mm,twoside,DIV15,openright,liststotoc,b ibtotocnumbered,headinclude,footinclude,a4paper,he adsepline,footsepline,plainfootsepline,cleardouble plain,tablecaptionabove,pointlessnumbers,bigheadin gs,tocleft]{scrbook}
\usepackage{setspace}
\onehalfspacing

\usepackage[pdfstartview=FitH,plainpages=false,pdfpagelabels]{hyperref}

\usepackage{pdfpages}

\typearea[current]{current}

\usepackage[ansinew]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{ngerman}
\usepackage{ifthen}
\usepackage[intoc,german]{nomencl}
\renewcommand{\nomname}{Glossar}
\setlength{\nomlabelwidth}{4cm}
\setlength{\nomitemsep}{-\parsep}
\makenomenclature

\makeatletter
\renewcommand{\thenomenclature}{%
\chapter{\nomname}
\nompreamble{Dieses Glossar erklärt verwendete Begriffe in der Systemanalyse. Die Einträge sind alphabetisch sortiert.\par\bigskip}
\list{}{%
\labelwidth\nom@tempdim
\leftmargin\labelwidth
\advance\leftmargin\labelsep
\itemsep\nomitemsep
\let\makelabel\nomlabel}}
\makeatother

\usepackage[automark,clines,markuppercase]{scrpage2}
\pagestyle{scrheadings}

\setcounter{secnumdepth}{4}
\setcounter{tocdepth}{3}

\clearscrheadings
\clearscrplain
\clearscrheadfoot

\ohead[]{\leftmark}%Rechts Seitennummer
\ifoot[]{\rightmark}
\ofoot[\pagemark]{\pagemark}

\setheadtopline{1.5pt}
\setheadsepline{.4pt}

\begin{document}

\tableofcontents

\newcommand*{\appendixmore}{\renewcommand*{\chapte rformat}{\appendixname~\thechapter\autodot\enskip}
\renewcommand*{\chaptermarkformat}{\appendixname~\ thechapter\autodot\enskip}
}

\chapter{Chapter1}

\nomenclature[T]{t}{test}
\nomenclature[C]{Customer Relationship Managemant}{Erklärung}
\nomenclature[C]{Customer Relationship Managemant}{Erklärung}

\begin{appendix}

\chapter{Appendix 1}

\printnomenclature

\chapter{Appendix 3}

\end{appendix}

\end{document}

fireglow
07-02-2006, 10:25
was ist denn wenn du mein minimalbeispiel mal bei dir laufen lässt, bekommst du den gleichen fehler?

fireglow
07-02-2006, 10:38
hab dein minibsp ma getestet.

funzt bei mir

weiss jetzt auch woran das liegt mit den doppelten einträgen, zu den einträgen gehört auch noch eine nummer die automatisch mit eingetragen wird, ohne dass diese zwangsläufig im verzeichnis auftaucht. und zwar einmal die seite und zum zweiten die nummer der formel die zu den zeitpunkt gültig ist. das heisst bei mir sind die einträge trotz gleichem text im .tex file nicht identisch, bei dir schon, da sie weder durch eine formel noch durch eine seite getrennt sind.

ich hätte als ergebnis gerne etwas in der form:

c Lichtgeschwindigkeit 5,6,7 für seiten... oder

c Lichtgeschwindigkeit (1.1),(1.2) für formeln

das gelingt mir bisher allerdings nicht.

vielleicht hat ja noch jemand eine idee

fireglow :cool:

Salnic
07-02-2006, 18:05
Hallo Fireglow und Tom,

\documentclass[12pt,a4paper]{article}
\usepackage{nomencl}
\makenomenclature
\begin{document}
\nomenclature{test1}{Das ist ein Test}
\nomenclature{test1}{Das ist ein Test}
\begin{equation}
\nomenclature{test1}{Das ist ein Test}
\end{equation}
\begin{equation}
\nomenclature{test1}{Das ist ein Test}
\end{equation}
\printnomenclature
\end{document}

Habe mal das Minimalbeispiel weiter verkürzt, bekomme jetzt immer noch mehrfache (hier dreifach) Einträge in die Nomenclature. Offensichtlich unterscheidet das Nomenclature-Package zwischen dem Vorkommen in Umgebungen und im "Fließtext". Vielleicht gibt es ja Einstellungen, genau das zu verhindern. Möglicher Weise kann man auch hinterher die .nlo-Datei manipulieren. ?


die .nlo-Datei sieht übrigens so aus:

\nomenclatureentry{atest1@[{test1}]\begingroup Das ist ein Test\nomeqref {0}|nompageref}{1}
\nomenclatureentry{atest1@[{test1}]\begingroup Das ist ein Test\nomeqref {0}|nompageref}{1}
\nomenclatureentry{atest1@[{test1}]\begingroup Das ist ein Test\nomeqref {1}|nompageref}{1}
\nomenclatureentry{atest1@[{test1}]\begingroup Das ist ein Test\nomeqref {2}|nompageref}{1}

Salnic

fireglow
08-02-2006, 12:26
jau, das mit der nlo geht ist aber zu umständlich. in der doku zu nomencl steht nichts davon und auch bei der suche nach makeindex habe ich keine einstellungen dazu gefunden. trotzdem danke für eure antworten

gruss

fireglow :cool:

Salnic
08-02-2006, 12:33
> jau, das mit der nlo geht ist aber zu umständlich
Das muss man ja nicht per Hand machen, das kann man doch bestimmt automatisieren. Möglicherweise reicht da schon ein einfaches Suchen-Ersetzen. Suche alle "\nomeqref {X}" und ersetze sie mit "\nomeqref {0}" - fertig.

Das reicht ja aus, wenn man für die Fertig-Version macht.

Natürlich ist das nicht die beste Lösung und ich bin mir sicher, dass es eine bessere gibt. Muss es geben.

Salnic

fireglow
08-02-2006, 17:51
hast recht,

ich mach's erstmal so suche aber weiterhin nach ner besseren lösung, wenn ich die gefunden haben sollte poste ich die natürlich hier.

gruss

fireglow :cool: