List of Names
\documentclass{scrartcl} \usepackage{etoolbox} % set up defaults so we don't get an error % when we try to redefine these commands \newcommand*{\surnamesep}{}% \newcommand*{\lastsurname}{}% \newcommand*{\prelastsurname}{}% % define the handler macro: \newcommand*{\dodisplayname}[1]{% \surnamesep \lastsurname \renewcommand{\lastsurname}{% \renewcommand{\surnamesep}{, }% \renewcommand{\prelastsurname}{ and }% #1% }}% % define the new command to process a list of names: \newcommand*{\displaynames}[1]{% % initialise: \renewcommand*{\surnamesep}{}% \renewcommand*{\lastsurname}{}% \renewcommand*{\prelastsurname}{}% % Iterate through list \forcsvlist{\dodisplayname}{#1}% % Finish off: \prelastsurname \lastsurname } \begin{document} \displaynames{Parrot,Canary,Zebra,Arara,Duck} \end{document}
Download namelist.tex or namelist.pdf.