Das ist eine schöne Anwendung für ein Paket wie [`splitindex`](http://www.ctan.org/pkg/splitindex):
\RequirePackage{filecontents}
\begin{filecontents*}{\jobname-aut.mst}
delim_0 "\\begin{indexpagenumbers}"
delim_t "\\end{indexpagenumbers}"
\end{filecontents*}
%\documentclass[varwidth, margin=10pt]{standalone}
%\usepackage{xcolor}
%\pagecolor{green!20!yellow}
\documentclass{scrartcl}
\usepackage{selinput}
\SelectInputMappings{adieresis={ä}, germandbls={ß}}
\usepackage[ngerman]{babel}
\usepackage[makeindex]{splitidx}
% Neuen Index definieren:
\newindex[Namensverzeichnis]{aut}
% Damit wir nicht immer die ganze Erklärung zum Autor neu schreiben müssen,
% definieren wir uns einen Befehl, mit dem wir das je Autor einmal machen:
\newcommand{\newauthor}[2]{%
\expandafter\newcommand\csname explain.\detokenize{#1}\endcsname{ #2}%
}
% Jetzt könnten wir natürlich nicht mehr einfach \sindex (siehe
% splitidx-Anleitung) verwenden, wir wollen ja auch, dass die
% Autorinformationen mit ausgegeben werden. Also definieren wir uns dafür
% einen neuen Befehl. Optionales Argument ist hier ggf. eine andere
% Sortiervorgabe. Ich zeige die Verwendung gleich noch.
\newcommand{\authorindex}[2][\optarg]{%
\def\optarg{#2}%
\sindex[aut]{#1@\indexauthor{#1}}%
}
% Hier definieren wir, wie \indexauthor aus dem vorherigen Befehl den
% Autor später ausgeben soll.
\DeclareRobustCommand{\indexauthor}[1]{%
\textsc{#1}\csname explain.\detokenize{#1}\endcsname
}
% Weil die Seitenzahlen etwas anders eingeleitet werden sollen, definieren wir
% dafür einfach eine Umgebung. Diese wird per delim_0 und delim_t um die
% Seitenzahlenausgabe in die ind-Datei gebracht.
\newenvironment{indexpagenumbers}
{\space\dotfill\space(siehe S.\space}
{)}
% Jetzt kommt ein Trick: Um die Literatureinträge in den Index zu bekommen,
% verwenden wir eine Darstellungsform für die Seitenzahlen. Diese bekommt aber
% zusätzlich zum Argument für die Seitenzahl ein erstes Argument mit dem
% Literaturkey.
\DeclareRobustCommand{\indexciteentry}[2]{%
\cite{#1}%
}
\newcommand*{\authorindexcite}[2]{%
\sindex[aut]{#1@\indexauthor{#1}|indexciteentry{#2}}%
}
\usepackage{blindtext}
\usepackage{hyperref}
\begin{document}
\newauthor{Einstein, Albert}{(1879--1955): deutscher Physiker}
\newauthor{Fourier, Joseph}{(1768--1830): französischer Physiker}
% ACHTUNG: Hier muss es gleich Foebe statt Föbe heißen!
\newauthor{Foebe, Klara}{Hier zeige ich, wie ö als oe sortiert werden kann}
\section{Einleitung}
\blindtext
Wie schon Albert Einstein schrieb.\authorindex{Einstein, Albert}. Sein Kollege
Fourier\authorindex{Fourier, Joseph} meinte zu demselben Thema ein Jahrhundert
früher \blindtext.
\blinddocument
Wie schon Albert Einstein schrieb.\authorindex{Einstein, Albert}. Sein Kollege
Fourier\authorindex{Fourier, Joseph} meinte zu demselben Thema ein Jahrhundert
früher \blindtext Die Frau von Alber Einstein hieß übrigens nicht Klara
Föbe\authorindex[Foebe, Klara]{Föbe, Klara}.
\begin{thebibliography}{XXX9999}
\bibitem[Ein1950]{Ein1950} Was auch immer er da geschrieben hat.
\bibitem[Ein1953]{Ein1953} Was auch immer er danach geschrieben hat.
\end{thebibliography}
% Das folgende muss vor dem Index gemacht werden!
% Vermutlich könnte man es bei biblatex auch irgendwie die Erzeugung des
% Literaturverzeichnisses einbauen.
\authorindexcite{Einstein, Albert}{Ein1950}
\authorindexcite{Einstein, Albert}{Ein1953}
% Die folgenden Zeilen sind (fast) direkt aus der splitindex-Anleitung kopiert:
\begingroup % hold following extension local to this group
\makeatletter % allow @ at macro names
\extendtheindex% some changes of theindex environment
{\let\twocolumn\@firstoptofone % deactivate \twocolumn
\let\onecolumn\@firstoptofone % deactivate \twocolumn
\let\clearpage\relax % deactivate \clearpage
}% changes before beginning
{}% no change after beginning
{}% no change before ending
{}% no change after ending
\makeatother % deactivate \makeatletter
\printindex[aut] % print index aut
\endgroup % end group with extended theindex environment
\end{document}
Aufruf des ganzen:
* `pdflatex foo`
* `splitindex foo.idx`
* `pdflatex foo`
unter der Voraussetzung, dass obige Datei unter dem Namen `foo.tex` gespeichert wurde. Man kann natürlich auch jeden anderen Namen verwenden. Wichtig ist übrigens, dass die Dateiendung `.mst` bei der `filecontents*`-Umgebung beibehalten wird. So verwendet das von `splitindex` aufgerufene `makeindex` automatisch diese Datei als Index-Stil.
Wie man das ganze mit dem hier so beliebten `arara` automatisiert, kann ich nicht sagen. Ich verwende das nicht. Vermutlich muss man schlicht irgendwo den Aufruf von `splitindex` aktivieren.
Was noch fehlt ist, dass vor den Zitaten im Index ein »und« an Stelle des Kommas verwendet wird. Dafür müsste man vermutlich mit einem Befehl statt des Kommas arbeiten und über einen Zähler dann die Umschaltung vornehmen. Das war mir aber zu aufwändig. Mir reicht das so bereits.bereits.
![alt text][1]
[1]: http://texwelt.de/wissen/upfiles/1111111111aaaaaa_fvfshdsht_3_1.png