Randziffernverweise in mehreren Indizes mit splitidx

Inhalt, Abbildungen, Tabellen, Quellcodes und andere Verzeichnisse


axel
Forum-Newbie
Forum-Newbie
Beiträge: 6
Registriert: Do 26. Feb 2009, 11:39

Randziffernverweise in mehreren Indizes mit splitidx

Beitrag von axel »

Hallo Ihr Experten

Auch ich bastele gerade an einer Vorlage für meine Diss, die auf koma-script v.3.0x basiert.

Ich benötige Randziffern und möchte im Sachregister auf diese statt auf Seitenzahlen verweisen.

Ich habe mich an jurabook orientiert, wo die Umsetzung mit makeidx gut funktioniert, wenn man folgende Anpassung vornimmt:
\makeatletter
 \renewcommand{\@wrindex}[1]{%
     \protected@write\@indexfile{}%
        {\string\indexentry{#1}{\therandnr}}% statt \thepage
   \endgroup
   \@esphack}%
\makeatother
Da ich jedoch noch einen weiteren Index einfügen möchte, versuche ich dasselbe Ergebnis nun mit splitidx umzusetzen.

Das funktioniert für den Hauptindex gut, nicht jedoch für den zweiten Index, der mit \sindex einen abweichenden Befehl nutzt.

Was muss ich ändern, damit folgendes Minimalbeispiel auch im zweiten Index auf die Randziffer und nicht die Note verweist? Splitidx kennt zwar die Option "useindex", von der ich vermutet hätte, dass sie in diesem Fall weiterhilft. Wenn ich sie setze, verweisen allerdings beide Indizes auf die Seitenzahlen.

\documentclass{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{marginnote}
\usepackage[split,makeindex]{splitidx}

% Randnummernzähler einrichten
\newcounter{randnr}
\newcommand{\newrandnummer}{\refstepcounter{randnr}}
\newcommand{\rdnr}{\newrandnummer\marginnote{\textbf{\therandnr}}}

% Im Sachregister auf Randziffern verweisen
\makeatletter
 \renewcommand{\@wrindex}[1]{%
     \protected@write\@indexfile{}%
        {\string\indexentry{#1}{\therandnr}}% statt \thepage
   \endgroup
   \@esphack}%
\makeatother

% Index setzen
\newindex[Sachregister]{idx}
\newindex[Zweites Register]{reg}

% Zur Veranschaulichung unterschiedliche Zählerstände setzen

\setcounter{page}{25}
\setcounter{randnr}{100}

\begin{document}

Bla \rdnr \label{Absatz1}

\index{Test}
\sindex[reg]{Test}

\printindex[idx]
\printindex[reg]

\end{document}
Vielen Dank für Euren Rat!

Herzlicher Gruss,
Axel

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

Beitrag von KOMA »

In der Anleitung zur aktuellen Release von SplitIndex ist sogar ein Beispiel für die Verwendung eines anderen Zählers drin (Anweisung \AtWriteToIndex) . Im Beispiel wird die Abschnittnummer (\thesection) an Stelle der Seitenzahl verwendet. Du kannst das sicher leicht an Deine Erfordernisse anpassen.

axel
Forum-Newbie
Forum-Newbie
Beiträge: 6
Registriert: Do 26. Feb 2009, 11:39

Beitrag von axel »

Herzlichen Dank, Markus. Dein release kommt ja wie gerufen!
In der Tat ist es mit der neuesten Version ein Kinderspiel und funktioniert einwandfrei.

Darf ich Dich bei der Gelegenheit um einen weiteren Gefallen bitten?
Mich ärgert ebenfalls, dass hyperref bei nicht nummerierten Kapiteln nicht die Überschrift trifft. Ich habe hier gelesen, dass Du auf Nachfrage ein gepatchtes Paket zur Verfügung stellst. Würdest Du es mir an meine Anschrift abzweitausend6-1[AT]yahoo.de schicken? Das wäre toll.

Grüsse,
axel

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

Beitrag von KOMA »

axel hat geschrieben:Würdest Du es mir an meine Anschrift abzweitausend6-1[AT]yahoo.de schicken?
Ich schicke grundsätzlich keine Pakete an x-beliebige E-Mail-Adressen, die mir irgendwer in einem Forum nennt. Das Paket ist auf anderem Weg unterwegs zu Dir.

axel
Forum-Newbie
Forum-Newbie
Beiträge: 6
Registriert: Do 26. Feb 2009, 11:39

Beitrag von axel »

Danke!
axel

axel
Forum-Newbie
Forum-Newbie
Beiträge: 6
Registriert: Do 26. Feb 2009, 11:39

Beitrag von axel »

Bitte erlaubt mir noch zwei weitere Rückfragen:

Wie gesagt, ist das geschilderte Problem insoweit gelöst, als nun im Sachregister wie gewünscht nicht die jeweiligen Seitenzahlen, sondern die entsprechenden Randziffern genannt werden.

1. Meine erste Frage: Wenn ich nun das Hyperref-Paket hinzufüge, verlinkt dieses auf die Seitenzahl, die der Randziffer entspricht, und damit an den falschen Ort.

Ich sehe, das splitidx hyperpage-Befehle setzt. Wie kann ich das ändern?

2. Meine zweite Frage: Ich setze die Überschriften der Indizes als Option von \newindex[Überschrift]{verzeichnis}. Darin kommen auch Umlaute vor. Der Befehl \printsubindex[verzeichnis] gibt diese auch korrekt im Text wieder, führt jedoch in der Inhaltsverzeichnisdatei .toc zu einer Fehlermeldung:

Package inputenc error: Unicode chat ... is not set up for use with latex

Der Fehler bleibt, auch wenn ich die Umlaute entsprechend als {\"a} angebe. Wie muss ich Umlaute angeben?

UPDATE: Benutzt man den Befehl \printsubindex[verzeichnis][Überschrift], tritt der Fehler nicht mehr auf. Woran liegt das ?

Danke für Eure Hilfe und herzlicher Gruss,
axel

Antworten