1

I'm laying out an edited volume (first of many apparently, so I'm building a class based on memoir), for which each chapter has a different author.

I would like list editor and contributors separately on the titlepage, and place a list of contributors along with their bio/affiliations and contact info ordered by chapter somewhere in the front matter. In addition, each chapter title (and its toc entry) needs to have the author(s) and footnoted affiliations (chapter only).

What I'm thinking is creating a new list (similar to a list of figures) with each contributing author block and point latex's standard author to "editor"?

Unfortunately, that exceeds my skills of latex. Any suggestions on how to proceed would be helpful.

EDIT: I can't use image or cloud access from work, so I'll just have to rough out what I'm talking about:

For the title pages:

TITLE

Edited by:
A.N. Editor

with contributions by:
One Author
Second Author
Third Author

And in the frontmatter:

**List of Contributors**

One Author, Professor Emeritus
Miscatonic University, 123 Main Street, Salem NY 12345
email: email@school.edu

Second Author, Chief Engineer
Big Enviro Firm, Inc., 123 Main Street, Anywhere CA 67890
email: email@place.com

Third Author, Random Expert of Miscellany
DeepThought Consultants, LLC., 21b Baker Street, Washington D.C.
JSCard
  • 366
  • 1
    please see http://tex.stackexchange.com/questions/257096/author-before-title-in-toc-with-repetitions/257109#257109 and http://tex.stackexchange.com/questions/110218/add-author-before-chapter-title-in-toc – touhami Oct 05 '16 at 18:42
  • @touhami Great, those give me a good start. Didn't find those in my searches fo rsome reason. Not sure how to address the affiliations and titlepage issues from this yet, but something to start with. I'd think maybe some combination of those answers and authblk? The coding of the standard \author command has always been a bit opaque to me. – JSCard Oct 05 '16 at 19:01
  • Can you provide an example (no matter how crude) of what you want to see in the final layout? – Peter Wilson Oct 06 '16 at 18:15
  • Unfortunately, the media and cloud filters here at work don't allow me to use images on the site. I did find something similar to what I'm looking for with Springer's LaTeX template for contributed books... I may be able to adapt some code from their style and class to do it. – JSCard Oct 06 '16 at 18:57
  • It's still a little unclear what you want. Each of your two 'graphics' look like a one-column tabular, so I'm not sure what the problem is. Are you trying to avoid repeating the information each time (e.g., is this supposed to be a more complicated version of \maketitle)? And the TOC needs to mention essay title + author name? How is that laid out? And why can't \footnote work for the affiliations on the first page of each essay/chapter? – jon Oct 17 '16 at 04:54
  • @jon, what I'm lookng to do is automate some of the layout based on information entered. In part it's a matter avoiding repeatedly entering the same information (to avoid duplication errors), and in part to automatically generate the frontmatter (i.e., a more complicated \maketitle that generates all of the typical book frontmatter) based on information collected from each input chapter. The publication format also requires a full chapter citation as the chapter page footer instead of footnote affiliations like you would see in some journal articles. – JSCard Oct 17 '16 at 20:25
  • What I've been working on is adapting a new command \contribchapter based on the memoirclass' code to create a chapter that would require an \author-like input (i.e. \author{First Contributor \and Next Contributor}, add it to a list of contributors, and use that for the frontmatter title pages, list of contributors, and update the chapter page and ToC. I've found bits and pieces in othe custom .cls files (e.g. Springer and Cambridge as well as the links that @touhami suggested) but nothing complete. May not work, but figured it would be worth a try? – JSCard Oct 17 '16 at 20:33

1 Answers1

2

Based on the above comments, here's one way to do it. I relied on the little-used yax package because it seems like your key-value needs are pretty simple and it provides a lightweight markup syntax.

The main macros are

\printcontributor{<parameter>}

which will print the full information of each contributor. An example of how you can do some simple conditional formatting is shown.

The other macro is

\maketitlepage{<title>}{<editor>}{<list of contributors, separated by commas>}

This is one way to create a title page by reusing the information from \setparameter. The only little trick is to use etoolbox's list-looping function so you can access the information of each contributor simply by using the parameter name.

In both cases, you'll probably want to change the formatting to suit your needs.

\documentclass[12pt]{memoir}
\usepackage{etoolbox}
\usepackage{yax}
\usepackage{hyperref}

\setparameter Smith:
 firstname   = John
 lastname    = Smith
 job         = {Professor Emeritus}
 univ        = {Miscatonic University}
 address     = {123 Main Street}
 city        = Salem
 region      = NY
 postcode    = 12345
 email       = {\href{mailto:email@school.edu}{email@school.edu}}

\setparameter Doe:
 firstname   = Jane
 lastname    = Doe
 job         = {Chief Engineer}
 firm        = {Big Enviro Firm, Inc.}
 address     = {123 Main Street}
 city        = Anywhere
 region      = CA
 postcode    = 67890
 email       = email@place.com

\setparameter Author:
 firstname   = Third
 lastname    = Author
 job         = {Random Expert of Miscellany}
 firm        = {Deep Thought Consultants, LLC.}
 address     = {123 Main Street}
 city        = Elsewhere
 region      = ZZ
 postcode    = 55555

\newcommand{\printcontributor}[1]{%
  \begingroup
  \parindent 0pt
  \usevalue #1: firstname
  \space
  \usevalue #1: lastname
  \ifattribute #1: job {,\space}{\relax}
  \usevalue #1: job
  \newline
  \usevalue #1: univ
  \usevalue #1: firm
  ,\space
  \usevalue #1: address
  ,\space
  \usevalue #1: city
  \space
  \usevalue #1: region
  \space
  \usevalue #1: postcode
  \ifattribute #1: email {\newline} {\relax}
  \usevalue #1: email
  \endgroup
}

% #1 = title of book
% #2 = editor
% #3 = comma-separated list of contributors from above \setparameter
\newcommand{\maketitlepage}[3]{%
  \begingroup
  \centering
  \begingroup
  \Large \bfseries
  #1
  \endgroup

  \vspace*{2\baselineskip}

  Edited by:\par
  #2

  \vspace*{2\baselineskip}

  with contributions by:

  \renewcommand\do[1]{%
    {\itshape
    \usevalue ##1:firstname \space \usevalue ##1:lastname \par}%
    }
  % \docsvlist{Smith, Doe, Author}
  \docsvlist{#3}

  \endgroup
}

\begin{document}

% print custom title page
\maketitlepage
  {Title of the Book}%
  {A. N. Author}%
  {Smith, Doe, Author}

\bigskip

% Contributors
\begingroup
\parindent 0pt
\parskip  12pt

\textbf{Contributors}

\printcontributor{Smith}

\printcontributor{Doe}

\printcontributor{Author}

\endgroup

\end{document}

The \tableofcontents is left untouched. Although you mentioned the memoir class, it is unclear how the individual entries should appear in the table of contents. (And memoir's manual explains how to fiddle with your TOC settings.)

jon
  • 22,325