## Creating Documents for Multiple Audiences (with the multiaudience package)

Boris Veytsman has recently published a new package to create output documents for multiple audiences in one single file.

The document creation process is divided into two steps: a) create the document and b) create the batch/bash file to automate the document creation.

Find below a sample document (save as ‚multdocument.tex‘) you can use as a starting point. As one can see, three audiences are defined here: „board“, „business“ and „tech“. The „shownto“ environment has one parameter, the comma-separated list of audiences, the content of the section shall be shown to. If the first item is a „-“ instead, the negates the meaning (so {-,board} means „show to every audience except the board). There are also commands for audience-specific footnotes or sections, check the manual for more information.

\begin{shownto}{board}
Some text for the board, for example an executive summary.
\end{shownto}

Remark 2015-08-17: With „tagging“ there is another package, that supports the creation of multiple editions in a single file.

\documentclass[12pt,english]{article} \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} \usepackage{babel}   \usepackage{multiaudience}   \SetNewAudience{tech} \SetNewAudience{business} \SetNewAudience{board}   \begin{document}   This text is shown to everybody as it is outside any multiaudience' environment   \begin{shownto}{board} Some text for the board, for example an executive summary. \end{shownto}   \begin{shownto}{tech,business} Text for the tech department and the business users, for example a list of business requirements. \end{shownto}   \begin{shownto}{-, board} Text for every audience except the board. \end{shownto}   Some text.\Footnote{board}{Some footnote just for the board}     \begin{Section}{board}[Short title]{Long Title of this Section}   Text in the section just for the board.   \end{Section}     \end{document}

After we have defined the document with the audiences we want to automate the PDF-creation process in which we tell LaTeX for which audience we want to create the document.

Since LaTeX can take definitions via LaTeX-commandline call, it’s quite easy to create a batch file with one line for each audience:

pdflatex -jobname file-board "\def\CurrentAudience{board}\input{multdocument}"
pdflatex -jobname file-tech "\def\CurrentAudience{tech}\input{multdocument}"
`