This is not an answer to “how to reproduce”, but could give you some notion about how to start. Look at the TOC of my note on functional analysis. It is not what you're after, but I think you'll agree it is nonstandard.
Here is some (most?) of the code implementing this, from a local class file:
\renewcommand\l@chapter[2]
{\vrule width0pt height 16pt depth 4pt
\normalfont\bfseries#1&\normalfont\bfseries#2\cr}
\renewcommand\l@section[2]{\small#1&\small#2\cr}
\renewcommand\tableofcontents{\par
\bigskip
\begingroup\centering
\renewcommand\numberline[1]{Chapter ##1:\enspace}
\leavevmode
\vbox{\baselineskip10pt
\halign{\hfil##\quad$\cdot$&\quad##\hfil\cr
\@input{\jobname.toc}}}
\par\endgroup
\newwrite\tf@toc
\immediate\openout\tf@toc\jobname.toc}
A bit of explanation: Here are the first two lines from the .toc
file:
\contentsline {chapter}{\numberline {1}Transfinite induction}{3}
\contentsline {section}{Wellordering}{3}
These expand into (assuming @
is a letter)
\l@chapter{\numberline {1}Transfinite induction}{3}
\l@section{Wellordering}{3}
so \l@chapter
and friends are the macros that need tweaking. Here, I made them produce output suitable for going into an \halign
construct.
From these ideas, you may be able to produce something similar for your preferred layout. You will need to alter the \chapter
command to also include author information in its call to \addcontentsline
, and of course \l@chapter
must be able to pick this information out of its two argument. Easy solution: Let the first argument have the form {chapter title}{author info}
and use an auxiliary macro to tease the bits apart.
Disclaimer: It's years since I wrote that code. My understanding of it has very likely deteriorated.