for a book publication I need to create an index of all persons appearing in the text, along with some biographical information about them. It should be formatted like

Personenregister

KAMMEL, Richard, Lic. Dr.                   310f., 347, 363, 420
born 20.12.1882 Munich, Germany, died 1.12.1957 Berlin, was a great actor and so on

KUMMEL, Michael, Lic. Dr.                   310f., 347, 363, 420
born 21.12.1882 Berlin, Germany, died 2.12.1957 Munich, was a great writer and so on


,where 310f., 347, 363, 420 are the pages the person appears in the text. As I am creating multiple indices for the book, I am using the package multind, which in turn needs multicol. I am using makeindex currently, maybe something can be done with texindy. Here is a MWE

\documentclass{book}
\usepackage[bookmarks]{hyperref}
\usepackage{lipsum}
\usepackage{multicol}
\usepackage{multind}
\newcommand{\p}[1]{#1\index{personen}{#1}}
\makeindex{personen}
\begin{document}
\p{Kammel, Richard, Lic. Dr.}
\p{Kummel, Michael, Lic. Dr.}
\newpage
\newpage
\p{Kammel, Richard, Lic. Dr.}
\p{Kummel, Michael, Lic. Dr.}
\newpage
\printindex{personen}{Personenregister}
\end{document}


It would be ideal for me if I could specify the biographical information somehow within the indexing command, something like

\p{Kammel, Richard, Lic. Dr.}{born 20.12.1882 Munich, Germany, died 1.12.1957 Berlin, was a great actor and so on}


but if that is not possible, any other solution is fine as well. Thanks so much for the help, this is a little bit too complicated for me.

• What about using package like glossaries-extra? – Schweinebacke Feb 8 '17 at 12:11
• can you give me hint what to look for in the docs? – Philipp Feb 8 '17 at 12:43
• With biblatex is possible make automatically and index of authors, showing the pages where each is cited, the problem is only include additional information, but biblatex is very flexible, may be is easily solved. – Fran Feb 8 '17 at 18:36
• Interesting, but I want an index of persons mentioned in the text which is different from the list of cited authors. – Philipp Feb 8 '17 at 19:48

Working solution:

\documentclass{book}
\usepackage[bookmarks]{hyperref}
\usepackage{lipsum}
\usepackage[nopostdot,toc]{glossaries}

\glsaddkey*% star version needed as default value needs expanding
{nn}% key
{\glsentrytext{\glslabel}nn}% default value
{\glsentrynn}% command analogous to \glsentrytext
{\Glsentrynn}% command analogous to \Glsentrytext
{\glsnn}% command analogous to \glstext
{\Glsnn}% command analogous to \Glstext
{\GLSnn}% command analogous to \GLStext

\glsaddkey*% star version needed as default value needs expanding
{fn}% key
{\glsentrytext{\glslabel}fn}% default value
{\glsentryfn}% command analogous to \glsentrytext
{\Glsentryfn}% command analogous to \Glsentrytext
{\glsfn}% command analogous to \glstext
{\Glsfn}% command analogous to \Glstext
{\GLSfn}% command analogous to \GLStext

\makeglossaries

\newglossarystyle{urls}
{% based on list style
\setglossarystyle{list}%
\renewcommand{\glossentry}[2]{%
\item[\glsentryitem{##1}%
\glstarget{##1}{\glossentryname{##1}}]
\\
\glossentrydesc{##1}}
}

\newcommand*{\entryurl}[1]{%
\glsdoifexists{#1}%
{%
\glsletentryfield{\thisurl}{#1}{useri}%
\expandafter\url\expandafter{\thisurl}%
}%
}

\begin{document}
\chapter{Sample}
\forglsentries{\thislabel}{\gls{\thislabel}. }
The URL associated with the entry \gls{abromeit}
is \entryurl{abromeit}.
\newpage
\newpage
\gls{abromeit}
\newpage
\newpage
\gls{abromeit}
\newpage
\newpage
\glsnn{abromeit}
\printglossary[style=urls,nopostdot=true,nogroupskip]

\end{document}


with person-glossary.tex:

\newglossaryentry{abromeit} {
name = {Abromeit, Hans - Jürgen}, nn = {Abromeit},
fn = {Hans - Jürgen Abromeit}, description = {
geb. 13.10.1954 Gevelsberg(Westfalen),
seit 2001 Bischof der PEK,
seit Pfingsten 2012 Bischof im Sprengel Mecklenburg und Pommern.
}
}