doppelte Einträge im Index

Erstellen von Index, Glossar, Symbolverzeichnis, einer Nomenklatur etc. mit MakeIndex oder Xindy


genealogie
Forum-Newbie
Forum-Newbie
Beiträge: 8
Registriert: Sa 3. Apr 2010, 16:21
Wohnort: München

doppelte Einträge im Index

Beitrag von genealogie »

Hallo,

mein Index ist ein Personenverzeichnis mit gut 1000 Einträge.
Das Schlüsselwort zum index-Kommando ist der Nachname.

Ich habe jetzt folgendes Problem: Es gibt in einem Fall drei Personen mit demselben Vor- und Nachnamen, zwei Personen werden jeweils einmal referiert, die dritte Person zweimal. Jetz wird mir im Index der Name mit vier Einträgen referiert.

Ich möchte im Index drei Zeilen haben, für die beiden ersten Personen jeweils eine eigene Zeile mit einem Eintrag und für die dritte Person eine Zeile mit zwei Einträgen.

Ich habe versucht, den drei Personen unterschiedliche Schlüsselwerte zuzuornen, indem ich dem Nachnamen eine laufende Nummer hinzugefögt habe. Aber dann wurden diese drei Personen nicht innerhalb der Personen mit gleichen Nachnamen aufgeliste, sondern erst anschließen.

Benutzeravatar
KOMA
TeX-Entwickler
TeX-Entwickler
Beiträge: 2958
Registriert: Fr 4. Jul 2008, 17:28
Kontaktdaten:

Beitrag von KOMA »

Wie wäre es mit einem vollständigen Minimalbeispiel (← dies ist ein geprüfter Link mit relevanten Informationen!), damit wir sehen können, was Du bisher ganz genau machst, und was dabei schief geht, und damit wir unsere eigenen Lösungsideen ggf. auch ausprobieren können?

Markus
(Moderator)

genealogie
Forum-Newbie
Forum-Newbie
Beiträge: 8
Registriert: Sa 3. Apr 2010, 16:21
Wohnort: München

doppelte Einträge im Index

Beitrag von genealogie »

Die Einträge der drei Personen Peter Muster erscheinen in einem Index-Eintrag
%Mini Beispiel
\documentclass{article}
\usepackage{ngerman}
\usepackage{enumerate}
\usepackage[T1]{fontenc}
\usepackage{ucs}
\usepackage[utf8x]{inputenc}
\usepackage{makeidx}
\makeindex
\begin{document}
Peter Muster\index{Musterohneuml@Muster,Peter} Dieses ist die erste Person Peter Muster\newline
Anton Muster\index{Musterohneuml@Muster,Antom} Dieses ist eine belig andere Person mit dem NachMustern Muster
\newpage
Peter Muster\index{Musterohneuml@Muster,Peter} Dieses ist die zweite Person Peter Muster, erster Eintrag
\newpage 
Peter Muster\index{Musterohneuml@Muster,Peter} Dieses ist die dritte Person Peter Muster
\newpage
Xaver Muster\index{Musterohneuml@Muster,Xaver} Dieses ist  eine belig andere Person mit dem NachMustern Muster\newline
Peter Muster\index{Musterohneuml@Muster,Peter} Dieses ist die zweite Person Peter Muster, zweiter Eintag
\newpage
\printindex
\end{document}
%Ende document
[\code]

Benutzeravatar
KOMA
TeX-Entwickler
TeX-Entwickler
Beiträge: 2958
Registriert: Fr 4. Jul 2008, 17:28
Kontaktdaten:

Beitrag von KOMA »

Wenn Du jedes Mal denselben Sortiereintrag verwendest, ist es nicht sonderlich verwunderlich, dass Du nicht das gewünschte Ergebnis erhältst.
\documentclass{article}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}
\usepackage{makeidx}
\makeindex
\begin{document}
Peter Muster\index{Muster, Peter1@Muster, Peter} Dieses ist die erste Person Peter Muster\newline
Anton Muster\index{Muster, Anton} Dieses ist eine belig andere Person mit dem NachMustern Muster
\newpage
Peter Muster\index{Muster, Peter2@Muster, Peter} Dieses ist die zweite Person Peter Muster, erster Eintrag
\newpage
Peter Muster\index{Muster, Peter3@Muster, Peter} Dieses ist die dritte Person Peter Muster
\newpage
Xaver Muster\index{Muster, Xaver} Dieses ist  eine belig andere Person mit dem NachMustern Muster\newline
Peter Muster\index{Muster, Peter2@Muster, Peter} Dieses ist die zweite Person Peter Muster, zweiter Eintag
\newpage
\printindex
\end{document}
Eine hierarchische Ausgabe mit Untereinträgen für die Vornamen unterhalb des Eintrags für den Nachnamen wäre ebenfalls möglich. Dabei wäre dann das Sortierkriterium ebenfalls nur für den (problematischen) Vornamen anzugeben.
Ergänzende Hinweise:
  • Das Paket ngerman wird seit längerem nicht mehr gepflegt. Ich empfehle deshalb babel.
  • Das Paket ucs und die Codierung utf8x werden nicht mehr gepflegt. AFAIK gibt es bei utf8x ein paar Probleme. Deshalb sollte man utf8 vorziehen, wenn man nicht unbedingt auf utf8x angewiesen ist.
  • Die Seiten hier sind in ISO-Latin-1 codiert.

genealogie
Forum-Newbie
Forum-Newbie
Beiträge: 8
Registriert: Sa 3. Apr 2010, 16:21
Wohnort: München

doppelte Einträge im Index

Beitrag von genealogie »

Vielen Dank für die Antwort. Jetzt kommen die Index-Eonträge wie gewünscht.

Ich habe auf das babel-Package und Latin1 umgestellt. Jedoch habe ich jetzt Schwierigkeiten mit dem Sonderzeichen ß.

Vorher habe ich es ersetzt durch \3. Dieses führte jedoch zu einem Fehler. Jetzt habe ich es durch \"s ersetzt. Dann ist aber der Ausdruck im pdf-Format falsch, es wird ein 's' mit Umlautdoppelpunkt ausgegeben. Wie muß ich das ß bei Latin1 substituieren ?

Meine .tex Datei schreibe ich nicht per Hand, sondern erzeuge sie per Programm. Meine genealogischen Daten, die ich als Stammbaum ausdrucken will, liegen in einer bestimmt struktuierten Datei vor. Diese Datei wird vom Programm ausgewertet. Da ich diese Aufbereitung schon für das Internet in ähnlicher Form durchgeführt hatte, habe ich jetzt dieses java-Programm modifiziert, so dass es statt html- Steuerzeichen tex-Befehle generiert. Die html-Form konnte ich nicht sauber in eine druckbare Form konvertieren.

Benutzeravatar
KOMA
TeX-Entwickler
TeX-Entwickler
Beiträge: 2958
Registriert: Fr 4. Jul 2008, 17:28
Kontaktdaten:

Beitrag von KOMA »

latin1, also ISO-Latin-1 alias ISO-8859-1, beinhaltet ein ß, also kann man das direkt eingeben. Wichtig ist, dass die Dateien dann auch wirklich so codiert sind. Das hängt vom Editor bzw. Codeerzeuger ab.

Du kannst natürlich auch weiter utf8, also UTF-8, für Dich verwenden. Die Seiten hier sind aber nicht UTF-8, sondern ISO-Latin-1 codiert. Beispiele hier sollten also in dieser Eingabecodierung angegeben werden.

Ein Problem ist ggf. makeindex. Das kann nämlich kein ISO-Latin-1, sondern ggf. nur babel-Codierung. Hier ist es deshalb sinnvoll, Wörter mit Umlauten ggf. mit einem Sortierkey ohne Umlaute zuversehen, also etwas wie: \index{Mueller, Baert@Müller, Bärt} (sorry, mir fällt gerade kein guter Vorname mit Umlaut ein). Wenn man das macht, ist die Codierung fast egal (nicht ganz, weil theoretisch bei utf8 dann Zwei-Byte-Zeichen ein zweites Byte haben können, das für makeindex eine Sonderbedeutung hat).

Wir entwickeln uns damit aber vom Thema weg, hin zu einer Editor-Frage. Wenn die eigentliche Frage beantwortet ist, bitte den Status entsprechend anpassen.

genealogie
Forum-Newbie
Forum-Newbie
Beiträge: 8
Registriert: Sa 3. Apr 2010, 16:21
Wohnort: München

Beitrag von genealogie »

Das Problem mit doppeltem Eintrag im Index iist jetzt gelöst.

Danke

Antworten