\def\minfileversion{V1.7}     %^^Aof minutes.sty
\def\minfiledate{2001/09/19}   %^^Aof minutes.sty
% \CheckSum{1736}
%%
%% \CharacterTable
%%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
%%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
%%   Digits        \0\1\2\3\4\5\6\7\8\9
%%   Exclamation   \!     Double quote  \"     Hash (number) \#
%%   Dollar        \$     Percent       \%     Ampersand     \&
%%   Acute accent  \'     Left paren    \(     Right paren   \)
%%   Asterisk      \*     Plus          \+     Comma         \,
%%   Minus         \-     Point         \.     Solidus       \/
%%   Colon         \:     Semicolon     \;     Less than     \<
%%   Equals        \=     Greater than  \>     Question mark \?
%%   Commercial at \@     Left bracket  \[     Backslash     \\
%%   Right bracket \]     Circumflex    \^     Underscore    \_
%%   Grave accent  \`     Left brace    \{     Vertical bar  \|
%%   Right brace   \}     Tilde         \~}
%%
% \DoNotIndex{\@,\@@par,\@beginparpenalty,\@empty}
% \DoNotIndex{\@flushglue,\@gobble,\@input}
% \DoNotIndex{\@makefnmark,\@makeother,\@maketitle}
% \DoNotIndex{\@namedef,\@ne,\@spaces,\@tempa}
% \DoNotIndex{\@tempb,\@tempswafalse,\@tempswatrue}
% \DoNotIndex{\@thanks,\@thefnmark,\@topnum}
% \DoNotIndex{\@@,\@elt,\@forloop,\@fortmp,\@gtempa,\@totalleftmargin}
% \DoNotIndex{\",\/,\@ifundefined,\@nil,\@verbatim,\@vobeyspaces}
% \DoNotIndex{\|,\~,\ ,\active,\advance,\aftergroup,\begingroup,\bgroup}
% \DoNotIndex{\mathcal,\csname,\documentstyle,\dospecials}
% \DoNotIndex{\egroup}
% \DoNotIndex{\else,\endcsname,\endgroup,\endinput,\endtrivlist}
% \DoNotIndex{\expandafter,\fi,\fnsymbol,\futurelet,\gdef,\global}
% \DoNotIndex{\hbox,\hss,\if,\if@inlabel,\if@tempswa,\if@twocolumn}
% \DoNotIndex{\ifcase}
% \DoNotIndex{\ifcat,\iffalse,\ifx,\ignorespaces,\index,\input,\item}
% \DoNotIndex{\jobname,\kern,\leavevmode,\leftskip,\let,\llap,\lower}
% \DoNotIndex{\m@ne,\next,\newpage,\nobreak,\noexpand,\nonfrenchspacing}
% \DoNotIndex{\obeylines,\or,\protect,\raggedleft,\rightskip,\rm,\sc}
% \DoNotIndex{\setbox,\setcounter,\small,\space,\string,\strut}
% \DoNotIndex{\strutbox}
% \DoNotIndex{\thefootnote,\thispagestyle,\topmargin,\trivlist,\tt}
% \DoNotIndex{\twocolumn,\typeout,\vss,\vtop,\xdef,\z@}
% \DoNotIndex{\,,\@bsphack,\@esphack,\@noligs,\@vobeyspaces,\@xverbatim}
% \DoNotIndex{\`,\catcode,\end,\escapechar,\frenchspacing,\glossary}
% \DoNotIndex{\hangindent,\hfil,\hfill,\hskip,\hspace,\ht,\it,\langle}
% \DoNotIndex{\leaders,\long,\makelabel,\marginpar,\markboth,\mathcode}
% \DoNotIndex{\mathsurround,\mbox,\newcount,\newdimen,\newskip}
% \DoNotIndex{\nopagebreak}
% \DoNotIndex{\parfillskip,\parindent,\parskip,\penalty,\raise,\rangle}
% \DoNotIndex{\section,\setlength,\TeX,\topsep,\underline,\unskip,\verb}
% \DoNotIndex{\vskip,\vspace,\widetilde,\\,\%,\@date,\@defpar}
% \DoNotIndex{\[,\{,\},\]}
% \DoNotIndex{\count@,\ifnum,\loop,\today,\uppercase,\uccode}
% \DoNotIndex{\baselineskip,\begin,\tw@}
% \DoNotIndex{\a,\b,\c,\d,\e,\f,\g,\h,\i,\j,\k,\l,\m,\n,\o,\p,\q}
% \DoNotIndex{\r,\s,\t,\u,\v,\w,\x,\y,\z,\A,\B,\C,\D,\E,\F,\G,\H}
% \DoNotIndex{\I,\J,\K,\L,\M,\N,\O,\P,\Q,\R,\S,\T,\U,\V,\W,\X,\Y,\Z}
% \DoNotIndex{\1,\2,\3,\4,\5,\6,\7,\8,\9,\0}
% \DoNotIndex{\!,\#,\$,\&,\',\(,\),\+,\.,\:,\;,\<,\=,\>,\?,\_}
% \DoNotIndex{\discretionary,\immediate,\makeatletter,\makeatother}
% \DoNotIndex{\meaning,\newenvironment,\par,\relax,\renewenvironment}
% \DoNotIndex{\repeat,\scriptsize,\selectfont,\the,\undefined}
% \DoNotIndex{\arabic,\do,\makeindex,\null,\number,\show,\write,\@ehc}
% \DoNotIndex{\@author,\@ehc,\@ifstar,\@sanitize,\@title,\everypar}
% \DoNotIndex{\if@minipage,\if@restonecol,\ifeof,\ifmmode}
% \DoNotIndex{\lccode,\newtoks,\onecolumn,\openin,\p@,\SelfDocumenting}
% \DoNotIndex{\settowidth,\@resetonecoltrue,\@resetonecolfalse,\bf}
% \DoNotIndex{\clearpage,\closein,\lowercase,\@inlabelfalse}
% \DoNotIndex{\selectfont,\mathcode,\newmathalphabet,\rmdefault}
% \DoNotIndex{\bfdefault}
% \DoNotIndex{\LaTeXe,\hline,\hrulefill,\@Roman,\addtocounter,\documentclass}
% \DoNotIndex{\footnotesize,\tiny,\em,\value,\@afterheading,\@afterindentfalse}
% \DoNotIndex{\filedate,\fileversion,\linewidth,\MessageBreak}
% \DoNotIndex{\newcommand,\newcounter,\pageref,\noindent,\newlength}
% \DoNotIndex{\renewcommand,\stepcounter}
% \DoNotIndex{\Lopt,\Lpack,\Lenv,\DTK}
%
% \iffalse
%<*driver>
\documentclass{ltxdoc}
\IfFileExists{hyperref.sty}{\usepackage{hyperref}}{}
\IfFileExists{thumbpdf.sty}{\usepackage{thumbpdf}}{}
\usepackage{makeidx}
\usepackage{url}
\input{Overview}%Tables for minutes.dtx and protokol.tex
\CodelineIndex
\makeindex
%^^A\OnlyDescription
\begin{document}
 \RecordChanges
 \DocInput{minutes.dtx}
\end{document}
%</driver>
%<*package>
% \fi
%
% \title{
%   \LaTeXe\ for people in associations\\
%            \Lpack{Minutes.sty}\thanks{
%   Download possible from CTAN
%   ftp.dante.de/macros/latex/contrib/supported/minutes/
%   }}
% \author{\\
%   Version \minfileversion\ from \minfiledate\\~\\
%   Knut Lickert\\
%^^A   vorstand@koki-es.de\\
%^^A   lickert@gemeinschaftsauto.de\\
%      knut@lickert.net}
% \maketitle
%
% \changes{V1.5b}{2000/12/02}{Separation of package and german description}
%
%\begin{abstract}
%
% With \Lpack{minutes.sty} you can write minutes for
% associations or similar organisations.
%
% Special features:
% \begin{itemize}
% \item header can be choosen
% \item  Support of tasks (who, schedule, what, date of finishing),
%   possibility of creating a list of open tasks
% \item  Support of attachments
% \item  Support of schedule dates (support of \Lpack{calendar.sty})
% \item Different versions (`secret parts')
% \item Macros for votes and decisions (list of decisions)
% \end{itemize}
%\end{abstract}
%
% \tableofcontents
%
% \section{Some hints for \Lpack{minutes.sty}}
% \begin{itemize}
%   \item There is no english description of the package up to now.
%       Please refer the samples and the Style Guide.
%   \item The file \file{Protokol.tex} contains a
%           german description of the package.
%   \item Try the difference of using \Lpack{scrartcl} and
%   \Lpack{scrreprt}.
% \end{itemize}
%
% \subsection{Options}
% \minOptions
% \minStyles
% \subsection{Commands}
% \minCommands
%
% \subsection{Bugs and wishes}
% \changes{V1.4b}{2000/08/09}{list of known bugs}
% Known bugs:\label{sec:bugs}
% \begin{itemize}
%   \item Error with \Lopt{TwoColumn} and \Lenv{Secret}
%       (\emph{V1.4})
%   \item Dates get two :: (\Lopt{refrep})
%   \item Long numbers in the list of topics create bad output (\emph{V1.4}).
%   With \verb|\addtopic| it happen often (long roman Numbers)
%   \item Calender \Lpack{calendar.sty} breaks easily (\emph{V1.4}).
%   \item List of task with dates are printed bad (\emph{1.3})
% \end{itemize}
%
% Issues for the future:
% \begin{itemize}
%   \item Attachments with \LaTeX-Documents should be possible
%   \item List of Attachments also for each minutes.
%   \item The Macro \verb|\schedule| allows no long text
%   \item List of decisions are not complete. Decisions should be arranged
%         in groups (\verb|\decisiontheme|), but the grouping must be done
%         manual. (makeglossary?)
%   \item \verb|\task| and \verb|\schedule| contain both dates,
%   but have different inputs.
%   (\verb|\schedule| need input like yyyy/mm/dd, \verb|\task| is free.
%   There should be one behaviour of both commands.
% \end{itemize}
%
%\iffalse
%</package>
%<*sample>
%\fi
% \section{Samples}\label{sec:Samples}
% This samples contain all features of \Lpack{minutes.sty}.
% Can be used as a torture test for cooperation with classes and other packages.
% If you are using the calendar option you must test it with \Lpack{calendar.sty}.
%
% \subsection{Start a collection of minutes}
% You can use \Lpack{minutes} with \Lpack{report.cls} or
% \Lpack{article.cls} (or similar packets like \Lpack{scrarctl}).
% With \Lpack{article} each
% minutes is a \verb|\part*|, with \Lpack{book} a
% \verb|\chapter|.
%    \begin{macrocode}
\documentclass{report}
%%\documentclass{article}
%%\documentclass{scrreprt}
%%\documentclass{scrarctl}
\usepackage[english,german]{babel}
\usepackage{minutes}

%%\usepackage{Evntlist}%\usepackage{Calendar}
\title{Collection of minutes\\Protokollsammlung\\[1cm]
minutes.sty}
\author{\LaTeXe}
\minutesstyle{
%   columns  = {1},
    header   = {list}, %or {table},
    vote     = {list}, %or {table},
    contents = {true}, %or {false}
}
\begin{document}
%    \end{macrocode}
% You can create your own title and make a table of contents for
% the main topics of the minutes.
%    \begin{macrocode}
\maketitle
\tableofcontents
%    \end{macrocode}
% Here we load two samples. You can insert your minutes here.
%    \begin{macrocode}
\selectlanguage{english}
\inputminutes{SampleEN}%A english minutes
\selectlanguage{german}
\inputminutes{SampleDE}%Ein deutsches Protokoll
%    \end{macrocode}
%
%\iffalse
%</sample>
%<*sampleEN>
%\fi
%
% \subsection{How to write a minutes}
% Here an example of the look of a minutes with all features of
% \Lpack{minutes.sty}.
%
% \subsubsection{Minutes with english macros}
%    \begin{macrocode}
\begin{Minutes}{Title of the english minutes}
%%\subtitle{}
%%\moderation{}
%%\minutetaker{}
\participant{list of participants}
\missing[with excuse]{no excuse}
%%\missingExcused{}
%%\missingNoExcuse{}
\guest{guests}
\minutesdate{24. December 2000}
%%\starttime{}
%%\endtime{}
\location{Esslingen}
%%\cc{}
\maketitle

\topic{Topic one}%<-- insert title of topic
\subtopic{Sub Topic to Topic one}
Text for the topic.

\topic{Dates}
\schedule{2000/12/24}{Christmas eve}
\schedule{2000/12/24}[20:00]{distribution of presents}
\schedule*{2000/12/25}{Christmas day (without entry in calendar)}

\topic{Tasks}
\task{Who}{Action}
\task*{Somebody has to do it}
\task*[today]{Somebody do it}
\task[done]{responsible}[yesterday]{Somebody did it}

\newcols[][1]%because of a Bug
\begin{Secret}
\topic{Secret Topic}
This topic is secret and is printed with the option
\texttt{Secret}.
\end{Secret}
\subtopic{After secret topic}
\secret{small secret}
If this section is printed outside the section "secret", some
secret stuff is not printed. Check the option \texttt{Secret}.
\newcols

\addtopic{Additional Topic}
\subtopic{subtopic}

\topic{Attachments}
\attachment{Attachment with two pages}{2}

\topic{Decisions and votes}
\subtopic{A single vote}
\vote{Short voting}{1}{2}{3}

And a single vote with decision:\par
\vote{Short voting}{1}{2}{3}[Decision]

\subtopic{A couple of votes}
\begin{Vote}
\vote{Vote one}{1}{2}{3}
\vote{Vote two}{1}{2}{3}[decision]
\vote{Vote three}{1}{2}{3}
\end{Vote}

\subtopic{Decisions}
\decisiontheme{Theme}{Theme for a decision}
\decision{Theme}{Decision}
\decision*{Decision without theme}[Long text for the decision]
\end{Minutes}
%    \end{macrocode}
%
%\iffalse
%</sampleEN>
%<*sampleDE>
%\fi
%
% \subsection{Minutes with german commands}
% Some of my german friends complaint about all the english commands
% they have to learn. They do not want to write \verb|\task|, they
% want to use the german word \verb|\aufgabe| for this. So here an
% example for this, a translation table is in
% section~\ref{tab:commands}. There is no difference between the
% german and the english commands, they can be mixed as you
% want.\footnote{Please check the remarks for secret}
%
%    \begin{macrocode}
\begin{Protokoll}{Titel des deutschen Protokolls}
\untertitel{Untertitel}
\moderation{Moderator, Sitzungsleiter}
\protokollant{Protokollant}
\teilnehmer{Teilnehmer}
\gaeste{G\"aste}
\sitzungsdatum{25.\ Dezember 1999}
\sitzungsbeginn{10:00}
\sitzungsende{20:00}
\sitzungsort{Esslingen}
\verteiler{Vereinsmitglieder}
\fehlend[fehlt entschuldigt]{fehlt unentschuldigt}
%%\fehlendEntschuldigt{}
%%\fehlendUnentschuldigt{}
\protokollKopf

\topic{Top eins}%<-- hier Tagesordnungspunkt einfuegen
\subtopic{Unterpunkt zu Top eins}%<-- Unterpunkt
Text zum Tagesordnungspunkt.
%%
\topic{Termine und Aufgaben}
\subtopic{Termine}
\termin{2000/12/24}[10:00]{Heiliger Vormittag}
\termin{2000/12/24}{Heiligabend}
\termin{2000/12/24}[20:00]{Bescherung}[Ob meine W\"unsche erf\"ullt werden?]
\termin*{2000/12/25}{Weihnachten (ohne Kalendereintrag)}

\topic{Aufgaben}
\aufgabe{Wer}{Was}
\aufgabe*{Jemand macht was}
\aufgabe*[Heute]{Jemand soll heute was machen}
\aufgabe[Erledigt]{Zust{\"a}ndig}[Gestern]{Jemand macht was}

\newcols[][1]%notwendig wegen einem Fehler
\begin{Geheim}
\topic{Geheimer Punkt}
Dieser Text ist geheim und kann mit der Option \texttt{Secret}
ausgegeben werden.
\end{Geheim}

\subtopic{Nach Geheimen Text}
Wenn dieser Abschnitt nicht im Hauptabschnitt "`Geheim"' liegt,
dann wurde die Ausgabe des geheimen Textes unterdr{\"u}ckt.
\geheim{Jetzt noch ein kleines Geheimnis}
\newcols

\zusatztopic{Au{\ss}erordentlicher Tagesordnungspunkt}
\subtopic{Unterpunkt}

\topic{Anh{\"a}nge}
\anhang{Anhang mit zwei Seiten}{2}

\topic{Abstimmungen und Entscheidungen}
\subtopic{Einzelne Abstimmungen}
\abstimmung{Kurze Abstimmung}{1}{2}{3}

Und noch eine Abstimmung mit Ergebnis:\par
\abstimmung{Kurze Abstimmung}{1}{2}{3}[Ergebnis]

%
\subtopic{Mehrere Abstimmungen in Folge}
\begin{Abstimmung}
\abstimmung{Abstimmung eins}{1}{2}{3}
\abstimmung{Abstimmung zwei}{1}{2}{3}[Entscheidung]
\abstimmung{Abstimmung drei}{1}{2}{3}
\end{Abstimmung}

\subtopic{Beschl{\"u}sse}
\beschlussthema{Thema}{Titel des Themas}
\beschluss{Thema}{Entscheidung gefallen}
\beschluss*{Entscheidung ohne Thema}[Langtext zur Entscheidung]
\end{Protokoll}
%    \end{macrocode}
%
%\iffalse
%</sampleDE>
%<*sample>
%\fi
%
% \subsection{Finish the collection of minutes}
% When you finish your minutes, you want to print
% \begin{itemize}
%   \item All decisions
%   \item All open tasks
%   \item A list of attachments
%   \item A calendar with scheduled dates (event list\ldots)
% \end{itemize}
%
%    \begin{macrocode}
%%-----------------
\appendix
\chapter{Appendix}
\selectlanguage{english}
\section{List of decisions in sample.tex}\listofdecisions
\section{List of open tasks from sample.tex}\listoftasks
\section{list of attachments in sample.tex}\listofattachments
%%\selectlanguage{german}
%%\section{Liste der Beschl{\"u}sse}\beschlussliste
%%\section{Liste offener Aufgaben}\aufgabenliste
%%\section{Liste der Anh{\"a}nge}\anhangsliste
\section{Calendar}
\prepareCal
%%\begin{eventlist}{}{Sample}
%%1 dec 2000 to 31 dec 2000
%%\end{eventlist}
\end{document}
%    \end{macrocode}
%
%\iffalse
%</sample>
%<*styleguide>
%\fi
%
% \section{Style Guide}
% This part creates a file \url{MinStyGd.tex} to see the
% look of the different options. To check another class, just modify
% the class in header.
%    \begin{macrocode}
\documentclass[10pt,german]{report}
%%\documentclass[10pt,german]{scrreprt}
%%\documentclass[10pt,german]{refrep}
%% This document can be used to check the look of different
%% minutes-styles.
%% To see the effects of other classes and the cooperation with
%% different classes and styles, just add them to this document.
%%
%% Dieses Dokument kann genutzt werden einen Ueberblick ueber
%% die verschiedenen Protokollstile zu bekommen.
%%
\usepackage{babel}%blindtext mag kein german.sty
\usepackage{minutes}
\usepackage{blindtext}
\newcommand{\Lpack}[1]{\texttt{#1}}
\newcommand{\minutes}{\Lpack{minutes.sty}}

\makeatletter
\newcommand{\minexample}[1]{
\begin{Protokoll}{Beispiel eines Protokolls mit #1}
\untertitel{Dieses Protokoll ist mit \minutes\ erzeugt}
\moderation{Knut Lickert}
\protokollant{Knut Lickert}
\teilnehmer{Alle Anwesenden}
\gaeste{G\"aste}
\sitzungsdatum{\today}
\sitzungsbeginn{20:00}
\sitzungsende{23:00}
\sitzungsort{Vereinsgastst{\"a}tte}
\verteiler{alle Interessierten}
\fehlend[alle Analphabeten]{Vereinsm{\"u}ller}
\protokollKopf
\topic{Tagesordnung 1}
\subtopic{Unterpunkt zu Tagesordnung 1}\blindtext
\subtopic{Noch ein Unterpunkt zu Tagesordnung 1}\blindtext
\addtopic{Einschub in die Tagesordnung}\blindtext
\topic{Tagesordnung 2}\blindtext
\end{Protokoll}
}%\minexample
% %\makeatother %no/needed for different maketitle

\begin{document}
\title{Styleguide \minutes:\\~\\
Test for the different options\\ Test der verschiedenen Optionen}
\author{\minutes}
\maketitle

\tableofcontents

\minutesstyle{header={list},columns={1}}
\minexample{Listenkopf}

\minutesstyle{header={table},columns={1}}
\minexample{Tabellenkopf}

\minutesstyle{header={list},columns={1},contents={false}}
\minexample{Listenkopf ohne Topicliste}

\minutesstyle{header={table},columns={1},contents={false}}
\minexample{Tabellenkopf ohne Topicliste}

\minutesstyle{header={list},columns={2},contents={true}}
\minexample{Listenkopf/zweispaltig}

\minutesstyle{header={table},columns={2}}
\minexample{Tabellenkopf/zweispaltig}

\minutesstyle{header={list},columns={3}}
\minexample{Listenkopf/dreispaltig}

\minutesstyle{header={table},columns={3}}
\minexample{Tabellenkopf/dreispaltig}

\end{document}
%    \end{macrocode}
%
%\iffalse
%</styleguide>
%<*package>
%\fi
%
% \StopEventually
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% \part*{Implementation}
%
% \section{Starting the package}
% \setcounter{CodelineNo}{0}%^^A reset line number after samples, style guide...
% \subsection{Needed Packages}
% What do we need and expect:
% \changes{V1.4b}{2000/09/05}{require minitoc 2000/08/08 v32}
%    \begin{macrocode}
\NeedsTeXFormat{LaTeX2e}[1999/12/01]
\ProvidesPackage{minutes}[\minfiledate\space\minfileversion\space
                            minutes.sty]
\RequirePackage{multicol}[1999/10/21 v1.5w]
\RequirePackage{xspace}[1997/10/13 v1.06]
\RequirePackage{url}[1999/03/28]
\RequirePackage{minitoc}[2000/12/13 v34]
\RequirePackage{keyval}[1999/03/16 v1.13]
%    \end{macrocode}
%
% If \Lpack{hyperref} is loaded, we must set some special flags.
% \Lpack[2000/08/08 V32]{minitoc} is patched by Heiko Oberdiek for use with and without
% \Lpack{hyperref}. So forget \Lpack{minitoc\_href} and \Lpack{minitoc-hyper}.
% \changes{V1.4b}{2000/08/08}{Adaption for hyperref 2000/05/08 v6.70f}
% When the levels for the hyperlinks in the lists are undefined we
% get a lot of warnings.
%    \begin{macrocode}
\newif\ifhyperloaded
\@ifpackageloaded{hyperref}{
\global\hyperloadedtrue
\def\theHattachment{\theattachment}%?
%\def\theHdecision{\thedecision}%
%\def\theHschedule{\theschedule}%
%\def\theHtask{\thetask}%
\def\toclevel@attachment{1}%like section
\def\toclevel@decisiontheme{0}%  like section
\def\toclevel@decision{1}%  like section
\def\toclevel@schedule{1}%  like section
\def\toclevel@task{1}%      like section
}{}
%    \end{macrocode}
%
% If \Lpack{hyperref} is loaded after \Lpack{minutes}, minutes is
% not able to work correct (up to now). So here we check if the sequence is
% correct.
%    \begin{macrocode}
\AtBeginDocument{
\@ifpackageloaded{hyperref}{
\ifhyperloaded\else
\PackageError{minutes.sty}{load hyperref.sty before minutes.sty}{
  minutes.sty:\MessageBreak
  You try to use minutes.sty with hyperref.sty\MessageBreak
  minutes.sty must adapt some feature for it,\MessageBreak
  so please load hyperref.sty first.}%
\fi
}{}
}
%    \end{macrocode}
%
% \subsection{Default Settings}
%    \begin{macro}{\minustesstyle}
% \changes{2001/09/19}{V1.6c}{add \cmd{minutesstyle}}
% With the \Lpack{keyval} package you can select parameters better
% then with options. For the options see~\pageref{sec:minStyles}
%    \begin{macrocode}
\newcommand{\minutesstyle}[1]{%
    \setkeys{min@style}{#1}%
}
%    \end{macrocode}
%    \end{macro}%
%
% \changes{2001/10/12}{V1.6c}{Add flag for printing list of topics}
%    \begin{macrocode}
\newif\ifmin@listoftopics
\min@listoftopicstrue
\define@key{min@style}{contents}[true]{%
    \def\min@xx{#1}
    \def\min@yy{true}
    \ifx\min@xx\min@yy
        \min@listoftopicstrue
    \else
        \min@listoftopicsfalse
    \fi
}
%    \end{macrocode}
%
%
% First some settings for pages, columns for \Lpack{multicol}
% Standard is one column for each (\verb|\topic|).
% In case of two columns, the title of the topic is written on both columns.
% The Option \Lopt{OneColumn} set one column, \Lopt{TwoColumn} set two column.
%
% There are two counters. \verb|\columns| is a local counter for
% internal changes. \verb|\min@columns| is a global value for
% reseting \verb|\columns| each start of a new minutes.
%    \begin{macrocode}
\newcounter{columns}\setcounter{columns}{1}
\newcounter{min@columns}\setcounter{min@columns}{1}
\define@key{min@style}{columns}[1]{
    \setcounter{min@columns}{#1}
}
\DeclareOption{OneColumn}{
\minutesstyle{columns = {1}}
}
\DeclareOption{TwoColumn}{
\minutesstyle{columns = {2}}
}
\pagestyle{headings}
%    \end{macrocode}
%
% With the flag \verb|\ifmin@fileinfo| you can influence if you want
% a paper with or without information of the file and line number,
% where some parts occurs. With the option \Lopt{Fileinfo} the file name
% (loaded with \verb|\inputminutes|) and the line number of a task
% will be printed in the list of tasks.
%    \begin{macrocode}
\newif\ifmin@fileinfo
\min@fileinfofalse
\DeclareOption{Fileinfo}{
\min@fileinfotrue
}
%    \end{macrocode}
%
%\changes{2000/08/22}{V1.4b}{Option ASCII added}
% If you prepare your minutes with \Lprog{dvi2tty} for direct
% ASCII-output in a mail program the option \Lopt{ASCII} will be
% helpful to suppress some special characters and the page numbers.
%    \begin{macrocode}
\DeclareOption{ASCII}{
\renewcommand\result{\item [-->]}
\renewcommand\contra{\item [-]}
\renewcommand\pro{\item [+]}
\renewcommand\to{->}
\renewcommand\hookrightarrow{->}%used in in task
\renewcommand\@dotsep{1000}%no dots at \tableofcontents
\renewcommand\thepage{}%no pages in ASCII-lists
\pagestyle{empty}
\setcounter{columns}{1}
%\textwidth=80ex
}
%    \end{macrocode}
% \subsection{Definition for table of contents}
%
% If \verb|\chapter| is defined, a collection of minutes is built.
% Each minutes get a table of contents (\Lpack{minitoc}).
% With the macro \verb|\tableofcontents| you get a table of contents with
% the main topics of the minutes.
%
% If \verb|\chapter| is not defined, each minutes get a table of
% contents with \verb|\tableofcontents|.
% \changes{V1.5b}{2000/12/20}{For article: Use \cmd{parttoc} instead \cmd{tableofcontents}}
%    \begin{macrocode}
\@ifundefined{chapter}{
    \newcounter{min@savesecnumdepth}
    \doparttoc
    }{
    \setcounter{tocdepth}{1}
    \setcounter{minitocdepth}{4}
    \dominitoc
    }
%    \end{macrocode}
%
% \changes{V1.5b}{2000/12/20}{Add \cmd{faketableofcontents}}
% With \verb|\faketableofcontents| the minitoc is possible without a
% \verb|\tableofcontents|. When you insert it in the top of the document,
% a table of contents remain empty. In the end of the document it works.
%    \begin{macrocode}
\AtEndDocument{\faketableofcontents}
%    \end{macrocode}
%
% If \verb|\section| is undefined give an error.
%    \begin{macrocode}
\@ifundefined{section}%
{\PackageError{minutes.sty}{section not defined}{
  minutes.sty:\MessageBreak
  You try to use minutes.sty with a class\MessageBreak
  which does not support the section command\MessageBreak
  Please check your class.}%
}{\relax}
%    \end{macrocode}
%
% \changes{V1.4b}{2000/08/09}{filenames in length 8+3}
% \Lpack{minutes} creates file with an extension, longer than 3 letters.
% The option \Lopt{8+3} creates shorter file names.
%    \begin{macrocode}
\newcommand{\min@file@Att}{minAtt}
\newcommand{\min@file@Cld}{minCld}
\newcommand{\min@file@Dec}{minDec}
\newcommand{\min@file@task}{minTsk}
\DeclareOption{8+3}{
\renewcommand{\min@file@Att}{miA}
\renewcommand{\min@file@Cld}{miC}
\renewcommand{\min@file@Dec}{miD}
\renewcommand{\min@file@task}{miT}
\PackageWarningNoLine{minutes.sty}{
  You selected the option 8+3\MessageBreak
  Check for a correct installation of minitoc.sty.
}
}
%    \end{macrocode}
%
%\subsection{Configuration File}
% For the re-use of address data, you can define your local
% address in the file \file{minutes.cfg}.
%
% The option \Lopt{Dante} gives you an example.
%    \begin{macrocode}
\InputIfFileExists{minutes.cfg}{
\typeout{Using the configuration file minutes.cfg}}{}
%    \end{macrocode}
%
% The option \Lopt{Dante} gives you an example how to define some data in
% the configuration file.
%\iffalse
%</package>
%<*config>
%\fi
%    \begin{macrocode}
\DeclareOption{Dante}{
\newcommand\name{Deutschsprachige Anwendungsvereinigung
                    von \TeX-Anwendern e.V.}
\newcommand\address{Postfach 101640, 69008 Heidelberg}
\newcommand\phone{06221/29766}
\newcommand\eMail{dante@dante.de}
% ^^A Additional constants
}
\DeclareOption{KoKi}{
\newcommand\name{Kommunales Kino Esslingen}
\newcommand\address{Maille 5, 73728 Esslingen}
\newcommand\phone{0711/356 799}
\newcommand\eMail{info@koki-es.de}
\newcommand\film[1]{\emph{#1}}
% ^^A Additional constants
}
%    \end{macrocode}
%\iffalse
%</config>
%
%<*package>
%\fi
% \section{Defining a Minutes}
% \subsection{The different Title-Styles}
%
%With \verb|\maketitle| you create the title of a minutes.
%By Option you can choose different styles for the title of
%a minutes. Standard is a list-like title. An Option set the
%macro \verb|\min@maketitle| to the value of the wanted
%title.
%
% All values are stored in the macros \verb|\min@...|, the texts
% are in \verb|\min@text...|.
%
% \subsubsection{List-like title}
%This title creates a list of all filled values for the
%title. If you are using many parameters, it will look long
%and awful. In this case, choose a more compact version or a
%tabular-like version.\par
%
% \begin{macro}{\min@maketitleList}
% First we write the title. Here we use the functionality of
% the sectioning command of \LaTeX\ and \Lpack{minitoc.sty}.
%    \begin{macrocode}
\def\min@maketitleList{
\minutes@titlesettrue
\@ifundefined{chapter}{%
    \setcounter{min@savesecnumdepth}{\value{secnumdepth}}
    \setcounter{secnumdepth}{-1}%no numbering for minutes
    \part[\min@titleshort]{\min@title}
    \setcounter{section}{0}
    \setcounter{secnumdepth}{\value{min@savesecnumdepth}}
}{  \chapter[\min@titleshort]{\min@title}}
%    \end{macrocode}
%
% \begin{macro}{\min@writeNotRelax}
% A small macro to print a \verb|\item[]|,
% if the according first value is not \verb|\relax|.
%    \begin{macrocode}
\def\min@writeNotRelax##1##2{
\ifx\relax##1\else
\item[##2] ##1
\fi}
%    \end{macrocode}
% \end{macro}% ^^A  \min@writeNotRelax
%
% Here we start the output of the header data using the
% functionality of \verb|\min@writeNotRelax|.
%    \begin{macrocode}
\begin{quote}
\ifx\relax\min@subtitle\else\min@subtitle\fi
\begin{description}
%\settowidth{\leftmargin}{\min@textPresent}
\settowidth{\leftmargin}{10cm}
\min@writeNotRelax{\min@information}{$\Rightarrow$}
\min@writeNotRelax{\min@moderation}{\min@textModerator}
\min@writeNotRelax{\min@minutetaker}{\min@textMinutesTaker}
\min@writeNotRelax{\min@participiant}{\min@textPresent}
\min@writeNotRelax{\min@missing}{\min@textAbsent}
\min@writeNotRelax{\min@missingExc}{\min@textAbsentExcused}
\min@writeNotRelax{\min@missingNoExc}{\min@textAbsentNoExcuse}
\min@writeNotRelax{\min@guest}{\min@textGuest}
%\min@writeNotRelax{\min@date}{\min@textDate}
%\min@writeNotRelax{\min@starttime}{\min@textStarttime}
%\min@writeNotRelax{\min@endtime}{\min@textEndtime}
\min@writeNotRelax{\min@location}{\min@textLocation}
\ifx\relax\min@date\else
\item [\min@textDate] \min@date\
    \min@starttime
    \ifx\relax\min@endtime\else\ -- \min@endtime\fi
\fi
\min@writeNotRelax{\min@cc}{\min@textCc}
%\secret{\item[!] \min@textSecret}
\end{description}
\end{quote}
%    \end{macrocode}
% Insert the list of topics.
%    \begin{macrocode}
\ifmin@listoftopics
    \vspace{1ex}
    \@ifundefined{chapter}{\parttoc}{\minitoc}%
\fi%
%    \end{macrocode}
% Start the multicols-environment if required.
%    \begin{macrocode}
\ifnum\value{columns} > 1
\begin{multicols}{\value{columns}}[][1cm]
\fi
}%
%    \end{macrocode}
% \end{macro} %^^A \min@maketitleList
%
%
% \subsubsection{Table-like title}
% This title creates a table with all values for the title.\par
%
% \begin{macro}{\min@maketitleTable}
% First we write the title. Here we use the functionality of
% the sectioning command of \LaTeX\ and minitoc.sty.
%    \begin{macrocode}
\def\min@maketitleTable{
\minutes@titlesettrue
\@ifundefined{chapter}{
    \setcounter{min@savesecnumdepth}{\value{secnumdepth}}
    \setcounter{secnumdepth}{-1}%no numbering for minutes
    \part[\min@titleshort]{\min@title}
    \setcounter{section}{0}
    \setcounter{secnumdepth}{\value{min@savesecnumdepth}}
}{  \chapter[\min@titleshort]{\min@title}}
%    \end{macrocode}
%
% Here we start the output of the header data using the
% tabular-environment.
% \changes{V1.5b}{2000/11/09}{Fehler behoben bei Datumsausgabe}
%    \begin{macrocode}
\begin{tabular}{|*{2}{p{0.45\linewidth}|}}\hline
%% \min@location is missing
%% \min@guest is missing
  \ifx\relax\min@subtitle\else
    \multicolumn{2}{|p{0.9\linewidth}|}{\min@subtitle}\\\hline\fi
  \ifx\relax\min@date\else
    \multicolumn{2}{|p{0.9\linewidth}|}{
          \min@textDate: \min@date\ \min@starttime
          \ifx\relax\min@endtime\else -- \min@endtime\fi
    }\\\hline
  \fi%\min@date
  \min@textModerator: \min@moderation
  &\min@textMinutesTaker: \min@minutetaker\\\hline
  \min@textPresent:\newline \min@participiant
  &\min@textCc:\newline \min@cc\\\hline
  \ifx\relax\min@missingExc1
        \min@textAbsent:\newline \min@missing&\\\hline
    \else
        \min@textAbsentExcused:\newline \min@missingExc
        &\min@textAbsentNoExcuse:\newline \min@missingNoExc\\\hline
    \fi
\end{tabular}
%    \end{macrocode}
% And the contents of this minutes.
%    \begin{macrocode}
\ifmin@listoftopics%
    \@ifundefined{chapter}{\tableofcontents}{\minitoc}%
\fi%
%    \end{macrocode}
% Start the multicols-environment if required.
%    \begin{macrocode}
\ifnum\value{columns} > 1
\begin{multicols}{\value{columns}}[][1cm]
\fi
}%
%    \end{macrocode}
% \end{macro} %^^A \min@maketitleTable
%
% \subsection{The decision for a title}
%Standard is a list-like header.
%    \begin{macrocode}
\let\min@maketitle\min@maketitleList
\DeclareOption{ListTitle}{
\minutesstyle{header = {list}}
}
\DeclareOption{TableTitle}{
\minutesstyle{header = {table}}
}
%    \end{macrocode}
%
%    \begin{macro}{\minustesstyle/header}
% \label{sec:vote:header}
% With the command |\minutesstyle| you can define different
% parameters of a minutes. Here the definitions for headers.
% There are two possibilities:
% \begin{itemize}
%   \item |\minutesstyle{header={list}|
%   \item |\minutesstyle{header={table}|
% \end{itemize}
%    \begin{macrocode}
\define@key{min@style}{header}{
    \def\min@xx{#1}
    \def\min@yy{list}
    \ifx\min@xx\min@yy
        \let\min@maketitle\min@maketitleList
    \else
        \def\min@yy{table}
        \ifx\min@xx\min@yy
            \let\min@maketitle\min@maketitleTable
        \else
%            \def\min@yy{\relax}
%            \ifcat\min@xx\min@yy??
%            Wie prüfen, ob Kommando vorliegt?
%                \let\min@maketitle#1
%            \else
                \PackageError{minutes.sty}{Unknown Header-Style}{
                    minutes.sty:\MessageBreak
                }
%            \fi
        \fi
    \fi
}
%    \end{macrocode}
%    \end{macro}
%
% \subsection{The Minutes-Environment}
% \DescribeEnv{Minutes}
% Minutes are defined with the environment \Lenv{Minutes}.
%Each minute must contain a \verb|\maketitle|. The flag
%\verb|\ifminutes@titleset| controls this.
%    \begin{macrocode}
\newif\ifminutes@titleset
%    \end{macrocode}
% \subsubsection{Start of the environment}
% \begin{environment}{Minutes}
% The environment has one parameter: the title of the minutes. In an
% optional parameter you can set a short title for the list of
% contents.
%    \begin{macrocode}
\newenvironment{Minutes}[2][\relax]{%[short title]{Titel}
%    \end{macrocode}
% Set \verb|\ifminutes@titleset| to false.
% The flag \verb|\ifminutes@titleset| is used at
% \verb|\end{Minutes}| to check, if \verb|\maketitle| was
% used.
%    \begin{macrocode}
\minutes@titlesetfalse
\setcounter{columns}{\value{min@columns}}
\let\maketitle\min@maketitle
\let\protokollKopf\maketitle
%    \end{macrocode}
%Define the title for use in \verb|\maketitle| and clear the
%other texts. All this macros are defined local inside the
%\Lenv{minutes} environment.
%    \begin{macrocode}
\def\min@title{#2}
\ifx#1\relax
\def\min@titleshort{#2}
\else
\def\min@titleshort{#1}
\fi
\let\min@information\relax
\let\min@subtitle\relax
\let\min@moderation\relax
\let\min@minutetaker\relax
\let\min@participiant\relax
\let\min@missing\relax
\let\min@missingExc\relax
\let\min@missingNoExc\relax
\let\min@guest\relax
\let\min@date\relax
\let\min@starttime\relax
\let\min@endtime\relax
\let\min@location\relax
\let\min@cc\relax
}%
%    \end{macrocode}
%
% \subsubsection{End of the environment}
% If there is a \Lopt{TwoColumn} version, we must close the
% \Lpack{multicols} environment.
%    \begin{macrocode}
{
\ifnum\value{columns} > 1
\end{multicols}
\fi
%    \end{macrocode}
% If the command \verb|\addtopic| is used, \verb|\thesection| was modified. Here we built the standard.
%    \begin{macrocode}
\global\let\thesection=\min@thesection
%    \end{macrocode}
% Reset the date of minutes (If it is used outside the minutes environment).
% \changes{V1.6b}{2001/02/18}{reset date for task outside a minutes environment}
%    \begin{macrocode}
\let\min@date\relax
%    \end{macrocode}
% Close the environment.
%    \begin{macrocode}
}
%    \end{macrocode}
% \end{environment}
%
% \subsection{The title of a minutes}
% Here we give the minutes taker the possibility to define author
% etc.\par
% \DescribeMacro{\subtitle}
%    \begin{macrocode}
\def\subtitle#1{\def\min@subtitle{#1}}
%    \end{macrocode}
%
% \DescribeMacro{\moderation}
% \DescribeMacro{\minutetaker}
% \DescribeMacro{\cc}
%    \begin{macrocode}
\def\moderation#1{\def\min@moderation{#1}}
\def\minutetaker#1{\def\min@minutetaker{#1}}
\def\cc#1{\def\min@cc{#1}}
%    \end{macrocode}
% \DescribeMacro{\minutesdate}
% \DescribeMacro{\starttime}
% \DescribeMacro{\endtime}
% \changes{V1.5b}{2000/10/10}{\cmd{location} added}
% \DescribeMacro{\location}
%    \begin{macrocode}
\def\minutesdate#1{\gdef\min@date{#1}}%use in \task
\def\starttime#1{\def\min@starttime{#1}}
\def\endtime#1{\def\min@endtime{#1}}
\def\location#1{\def\min@location{#1}}
%    \end{macrocode}
%
% \DescribeMacro{\participant}
% \changes{V1.5b}{2000/12/20}{\cmd{guest} added}
% \DescribeMacro{\guest}
%    \begin{macrocode}
\def\participant#1{\def\min@participiant{#1}}
\def\guest#1{\def\min@guest{#1}}
%    \end{macrocode}
%
% \DescribeMacro{\missing}
% \DescribeMacro{\missingExcused}
% \DescribeMacro{\missingNoExcuse}
% The declaration of missing people is divided into people with an excuse
% and people without. If you define only \verb|\missing| without an
% optional parameter, there is no difference taken.
%    \begin{macrocode}
\newcommand{\missing}[2][\min@empty]{
\ifx#1\min@empty\def\min@missing{#2}
\else
\missingExcused{#1}
\missingNoExcuse{#2}
\fi
}
\def\missingExcused#1{\def\min@missingExc{#1}}
\def\missingNoExcuse#1{\def\min@missingNoExc{#1}}
%    \end{macrocode}
%
% \subsection{Signature}
% \DescribeMacro{\signature}
% If you must sign a minutes, add this before
% \verb|\end{Minutes}|.
%    \begin{macrocode}
\newcommand{\signature}[1]{
\begin{tabular}{p{4cm}}
  \vspace{2em}\\ \hline
  \footnotesize #1
\end{tabular}
}
%    \end{macrocode}
%
% \subsection{Compatibility with old version}
%
% \DescribeEnv{Protocoll}
% The \Lenv{Protocoll}-environment is needed for compatibility
% with an old version (I don't want to modify all my old minutes).
% There are five parameters:
%the title, the moderator, the minutes taker, the participants
%and the people you are missing.
%
% Do not mix up with \verb|\begin{Protokoll}| with `k' instead of the `c'.
%
% \begin{environment}{Protocoll}
%    \begin{macrocode}
\newenvironment{Protocoll}[5]{
\PackageWarning{minutes.sty}{Old environment protocoll, do not use!}
\begin{Minutes}{#1}
\ifx\empty#2\else\moderation{#2}\fi
\ifx\empty#3\else\minutetaker{#3}\fi
\ifx\empty#4\else\participant{#4}\fi
\ifx\empty#5\else\missing{#5}\fi
\maketitle
}{\end{Minutes}}
%    \end{macrocode}
% \end{environment}%^^A Protocoll
%
% \subsection{Load a minutes}
% \begin{macro}{\inputminutes}%
% \changes{V1.4B}{2000/08/10}{Add commands for loading minutes in file}
% If you have a master file for all minutes and the minutes in
% special files, you can load the fields with \verb|\inputminutes|.
% As an advantage the filename is stored and can be used for the
% list of tasks. So you can easily find the file, where you have to
% mark the finishing of a task.
%    \begin{macrocode}
\newcommand{\min@file}{\relax}
%\newcommand{\min@file}{\jobname}%Bad, wenn _ in name
%    \end{macrocode}
%
%    \begin{macrocode}
\newcommand*{\inputminutes}[1]{
\renewcommand{\min@file}{\protect\path{#1}}
\input{#1}
\renewcommand{\min@file}{\relax}
}
%    \end{macrocode}
% \end{macro}%^^A{\inputminutes}
%
% \section{Topics and Subtopics}
% \DescribeMacro{\topic}
% The topics of a minutes are defined with \verb|\topic|,
% \verb|\subtopic| and \verb|\subsubtopic|.
% The check for an existing \verb|\maketitle| requires a special
% definition of \verb|\topic|\par
%
% \verb|\addtopic| change \verb|\thesection|, so we save it here.
% For the \verb|\subtopic| after a \verb|\addtopic| we need a counter.
%    \begin{macrocode}
\let\min@thesection=\thesection
\@ifundefined{chapter}{
\newcounter{min@section}[part]
}{
\newcounter{min@section}[chapter]
}
%    \end{macrocode}
% \verb|\topic| check for \verb|\maketitle| and call \verb|\section|.
%    \begin{macrocode}
\newcommand*{\topic}[2][\minxx]{
\min@checktitle
%    \end{macrocode}
% \changes{V1.5b}{2000/11/09}{write TOP before sectioning (german)}
% In Germany the text "Top" is written in front of the topics. The
% macro \verb|\min@toptext| contains this text.\footnote{Thanks to Peter Tillmann for this hint}.
% If you do so, the
% table of topics will become ugly, because of the long numbers.
%    \begin{macrocode}
\immediate\gdef\thesection{\min@toptext\xspace\min@thesection}
\ifx\minxx#1\min@newcoltopic{\section}{#2}{#2}%
\else\min@newcoltopic{\section}{#1}{#2}\fi%
%%\let\thesection=\min@thesection %subtopic without "TOP"
}
%    \end{macrocode}
%
% \DescribeMacro{\addtopic}
% With \verb|\addtopic| you can insert a topic without a number, but
% within the list of topics. Here you can administrate the
% difference between topics which where in an invitation and the
% real topics.\par
% A following \verb|\subtopic| will get a number in roman numbers.
% For this we define the counter \verb|min@section| and we reset all
% subsidiary counters.
%\changes{V1.5}{2000/09/15}{Bug: \cmd{addtopic} and \Lpack{scrartlc}}
%    \begin{macrocode}
\newcommand*{\addtopic}[2][\minxx]{
\min@checktitle
\refstepcounter{min@section}
\@ifundefined{chapter}{
\immediate\gdef\thesection{(\min@toptext\xspace\@Roman\c@min@section)}
}{
\immediate\gdef\thesection{(\min@toptext\xspace\thechapter.\@Roman\c@min@section)}
}
\ifx\minxx#1\min@newcoltopic{\section}{#2}{#2}%
\else\min@newcoltopic{\section}{#1}{#2}\fi%
\global\addtocounter{section}{-1}
%%%If you do not like the roman number
%%\section*{#2}
%%\ifx\minxx#1\addcontentsline{toc}{section}{#2}
%%\else\addcontentsline{toc}{section}{#1}\fi%
}
%    \end{macrocode}
%
% \DescribeMacro{\min@checktitle}
%Here we check with \verb|\ifminutes@titleset|, if the
%title is printed. If not we make an error message.\par
%After the first error message in a minutes, there is no
%other error message in this minutes.
%    \begin{macrocode}
\newcommand{\min@checktitle}{
\ifminutes@titleset\else
\minutes@titlesettrue
\PackageError{minutes.sty}{no output of title}{
minutes.sty:\MessageBreak
  You called the environment minutes,\MessageBreak
  but you forgot to call the 'maketitle'.\MessageBreak
  If you do not use twocolumn, you can continue.\MessageBreak
  With twocolumn, you will become trouble later
}%
\fi}
%    \end{macrocode}
%
% \DescribeMacro{\min@newcoltopic}
% Because we are using \Lpack{multicols} the definition of
% \verb|\min@newcoltopic| must contain a \verb|\end{multicols}| and the start
% of a new \Lenv{multicols}-environment.
% Parameter one contains \verb|\section| or \verb|\section*|.
%    \begin{macrocode}
\newcommand{\min@newcoltopic}[3]{
\ifnum\value{columns} > 1
\end{multicols}
\hrulefill
\begin{multicols}{\value{columns}}[{#1[#2]{#3}}]
\else
#1[#2]{#3}
\fi
}
%    \end{macrocode}
% \DescribeMacro{\subtopic}
% \DescribeMacro{\subsubtopic}
%    \begin{macrocode}
\let\subtopic=\subsection
\let\subsubtopic=\subsubsection
%    \end{macrocode}
%
% \DescribeMacro{\minitopic}
% Copy of \verb|\minisec| from \Lpack{scrrept.cls}.
% There is no \verb|\let|, because of the freedom of the choice of the class.
%    \begin{macrocode}
\newcommand\minitopic[1]{\@afterindentfalse \vskip 1.5ex
  {\parindent \z@ \textbf{#1}\par\nobreak}%
  \@afterheading}
%    \end{macrocode}
%
% \subsection{Finish and start the columns}
%    \begin{macro}{\newcols}
% If you want to finish the actual \Lenv{multicols} and restart it, you
% can use \verb|\newcols|. The macro has two optional parameters:
% a title and a new number of columns.\par
% With \verb|\newcols[][1]| you can change the number of columns.
% This number will be used until a new \Lenv{minutes} starts or
% another \verb|\newcols| reset the value.
% Store the first optional parameter in \verb|\min@newcolsTitle|
% and start \verb|\min@newcols|.
%    \begin{macrocode}
\newcommand{\newcols}[1][\relax]{
\global\def\min@newcolsTitle{#1}
\min@newcols
}
%    \end{macrocode}
%    \end{macro}%^^A {\newcols}
%
%    \begin{macro}{\min@newcols}
% Close and open the minutes environment. In between modify
% the counter \verb|columns|. The first optional parameter
% for the new columns block is going on all columns.
%    \begin{macrocode}
\newcommand{\min@newcols}[1][\value{min@columns}]{
\ifnum\value{columns} > 1
\end{multicols}
\fi
\setcounter{columns}{#1}
\ifnum\value{columns} > 1
\begin{multicols}{\value{columns}}[\min@newcolsTitle][2cm]
\else
\min@newcolsTitle
\fi
}
%    \end{macrocode}
%    \end{macro}^^A {\min@newcols}
%
% \section{Different versions of minutes (secret parts)}
%
% With \verb|\includeversion{Env}| and \verb|\excludeversion{Env}|
% you can prepare different versions of the minutes.
%
% Parts for special people can be between \verb|\begin{Env}| and
% \verb|\end{Env}|.
% By default the \verb|minutes.sty| contains an environment for
% Secret parts.
%
% This coding is based on coding from \verb+version.sty+ of
% Stephen Bellantoni 1990, loosely based on
% "`annotation.sty"' by Tom Hofmann.
% The command \verb|\includeversion| must be adapted for \Lpack{minutes.sty}.
% See this example:
% \begin{center}\begin{minipage}{10cm}
%\begin{verbatim}
%\begin{Secret}
%\topic{xxx}
%\end{Secret}
%\end{verbatim}
%\end{minipage}\end{center}
%This will create an error, because \verb|\topic| will
%closing the \Lenv{multicolumns}, but the last opened environment
%was \Lenv{Secret}. So we have to manipulate a little bit the
%actual name of the current environment. When we close
%\Lenv{Secret} again, we must also close first our opened
%\Lenv{multicols}.\par
%
% \DescribeMacro{\includeversion}
% \DescribeMacro{\excludeversion}
%    \begin{macrocode}
\begingroup
\catcode`@=11\relax%
\catcode`{=12\relax\catcode`}=12\relax%
\catcode`(=1\relax \catcode`)=2\relax%
\gdef\includeversion#1(%
  \expandafter\gdef\csname #1\endcsname%
    (   \ifnum\value(columns) > 1
        \def\@currenvir(multicols)
        \fi
    )%
  \expandafter\gdef\csname end#1\endcsname%
    (   \ifnum\value(columns) > 1
        \def\@currenvir(#1)
        \fi
    )%
)%
\gdef\excludeversion#1(%
  \expandafter\gdef\csname #1\endcsname%
    (\@bsphack\catcode`{=12\relax\catcode`}=12\relax\csname #1@NOTE\endcsname)%
  \long\expandafter\gdef\csname #1@NOTE\endcsname ##1\end{#1}%
    (\csname #1END@NOTE\endcsname)%
  \expandafter\gdef\csname #1END@NOTE\endcsname%
    (\@esphack\end(#1))%
)%
\endgroup
%    \end{macrocode}
%
% \subsection{Secret parts}
% There is a possibility to mark secret parts of minutes. Short
% secret parts can be defined with \verb|\secret|, longer secret
% parts can be between \verb|\begin{Secret}| and
% \verb|\end{Secret}|.
%
% \DescribeMacro{\secret}
% \DescribeEnv{Secret}
%    \begin{macrocode}
\excludeversion{Secret}
\excludeversion{Geheim}
\newcommand{\secret}[1]{}
\newcommand{\geheim}[1]{}
\DeclareOption{Secret}{
\includeversion{Secret}
\includeversion{Geheim}
\renewcommand{\secret}[1]{#1}
\renewcommand{\geheim}[1]{#1}
}
%    \end{macrocode}
%
% %%%%%%%%%%%%%%
% \subsection{Postscripts}
% \begin{macro}{postscript}
% \begin{environment}{Postscript}
% The environment \Lenv{Postscript} is defined for additional
% information, which belong not to the original minutes,
% but they should inserted here.
%    \begin{macrocode}
\newcommand{\postscript}[1]{[\emph{#1}]}
\newenvironment{Postscript}{
\begin{description}
\item[\min@textPostscript:]~\\ \em}{
\em\end{description}}
%    \end{macrocode}
% \end{environment}
% \end{macro}
%
% \section{Non-\LaTeXe documents}
% \subsection{Foreign Minutes}
%   \begin{macro}{\ForeignMinutes}
% If you have minutes from a foreign system (e.g.\ from a
% M\$-Product), you can start a \Lenv{Minutes}-environment.
% Instead a \verb|\maketitle| you give the information, where you
% find the foreign minutes.\par
% Using the optional parameter, you can define free pages for the
% printouts of the minutes, you want to insert. Default is one page.\par
% In addition you can use all parameters of the
% \Lenv{Minutes}-Environment.
%    \begin{macrocode}
\newcounter{@pagecount}%
\newcommand{\foreignMinutes}[2][1]{%[pages]{Description}
\ifnum #1 > 0
\def\min@information{\min@textforeignMinutes: #2}
\fi
\maketitle
\setcounter{@pagecount}{#1}\addtocounter{@pagecount}{-1}%
\addtocounter{page}{\value{@pagecount}}%
}
%    \end{macrocode}
%    \end{macro}%^^A    \ForeignMinutes
%
% \subsection{Attachements}
% Data for the appendix with foreign documents are saved in a
% *.min-File. The *.min-File is filled via the *.aux-file.
%
% \begin{macro}{\theminutes@attachment}
% First we need some counter and their outputs.
%    \begin{macrocode}
\newcounter{minutes@page}
\@ifundefined{chapter}{
\newcounter{minutes@attachment}
\renewcommand{\theminutes@attachment}{\roman{minutes@attachment}}
}{
\newcounter{minutes@attachment}[chapter]
\renewcommand{\theminutes@attachment}{
    \thechapter.\roman{minutes@attachment}}
}
%    \end{macrocode}
% \end{macro}   %^^A{\theminutes@attachment}
%
%    \begin{macro}{\attachment}
% With \verb|\attachment| you are able to define an attachment.
% There are three parameters:
%\begin{enumerate}
%  \item a label [optional]. This value can be used for references with
%  \verb|\ref| \ldots. With this parameter, you get also a reference to the
%   page, where you have to insert the attachment.
%  \item A title
%  \item Number of pages.
%\end{enumerate}
%At the location, where you placed the \verb|\attachment| you get a
%text `enclosure:', the title and with an defined label
% a reference to the page, where you
% should insert the attachment.\par
%
% First write the text "enclosure".
%    \begin{macrocode}
\newcommand{\attachment}[3][\relax]{%[label]{titel}{Seiten}
\stepcounter{minutes@attachment}
\par
\min@textEnclosure\ \theminutes@attachment: #2
\ifx\relax#1\else\min@textPage~\pageref{#1}\fi[#3]%
%    \end{macrocode}
% The add the informations to the *.aux-file. The value of the
%second parameter of \verb|\contentsline| contains four parts.
%These parts will be analysed by \verb|\l@attachment|.
%    \begin{macrocode}
\addcontentsline{\min@file@Att}{attachment}{%
    {#1}{\theminutes@attachment}{#2}{#3}}
}%^^A       \attachment
%    \end{macrocode}
%    \end{macro}%^^A    attachment
%
% \DescribeMacro{\listofattachments}
% Bugs:
% \begin{itemize}
%   \item empty list is not supressed!!!!
%   \item If the list is longer then two pages, the next numbering
%   will be wrong.
% \end{itemize}
%
%    \begin{macrocode}
\newcommand{\listofattachments}{
\ifhyperloaded
\renewcommand{\contentsline}[4]{
\csname l@##1\endcsname{##2}{##3}
}
\fi
\renewcommand\@pnumwidth{2em}%Original: 1.55em
\setcounter{minutes@page}{\value{page}}\stepcounter{minutes@page}
{\@starttoc{\min@file@Att}}
\clearpage
\setcounter{page}{\value{minutes@page}}%
}
%    \end{macrocode}
%
%    \begin{macro}{\l@attachment}
% \verb|\l@attachment| is called by \verb|\contentsline|.
%
% Parameter two contains the page, where the attachment is
% inserted. This value is not used (do we need a back reference?)
%
% Parameter one contains the four variables from \verb|\attachment|.
% To parse this, we expand them, before we call \verb|\min@l@attachment|
%
% Hyperref modify the parameters for \verb|\l@attachment|.
%    \begin{macrocode}
\newcommand{\l@attachment}[2]{%
\expandafter\min@l@attachment#1
}%^^A       \listofAttachments
%    \end{macrocode}
%    \end{macro}%^^A \l@attachment
%
%    \begin{macro}{\min@l@attachment}
%The command \verb|\min@l@attachment| prepares a line for the
%list of the attachments and it makes an entry to the aux-file for
%the table of contents and the label.
%
% First the output. Here we use the macro \verb|\contentsline|.
%    \begin{macrocode}
\newcommand{\min@l@attachment}[4]{%{label}{theattachment}{title}{pages}
\@dottedtocline{1}{0mm}{20mm}{%
\numberline {#2} #3}{%
\arabic{minutes@page} [#4]}
%    \end{macrocode}
%
%The entry to the aux-file should be done normally with
%\verb|\addcontentsline| and \verb|\label|, but this commands give
%the actual number of the page. We want to give our own numbering.
%So we need to create the toc-entry and labels on our own.\par
%
% Prepare the label information.
%    \begin{macrocode}
\ifx\relax#1\else
\ifhyperloaded
\protected@write\@auxout{}%
{\string\newlabel%
{#1}%Label
{%
{#2}%number of section
{\arabic{minutes@page}}%pagenumber
{#2\relax }%title+\relax
{section.\thesection}%"section"+sectionnumber
{}%
}%closenewlabel
}%close \protected@write
\else% hyperref is not used
\protected@write\@auxout{}%
{\string\newlabel{#1}{{#2}{\arabic{minutes@page}}}}%
\fi%\ifhyperloaded
\fi%\ifx\relax
%    \end{macrocode}
% Increase the internal pagenumber for the list.
%    \begin{macrocode}
\addtocounter{minutes@page}{#4}%
}%\def\min@l@attachment
%    \end{macrocode}
%    \end{macro}%^^A    \min@l@attachment
%
% \subsection{Compatibility with old version}
%    \begin{macro}{\enclosure}
% The macro \verb|\enclosure| is used for compatibility with an old version.
% It is the same behaviour as \verb|attachment|, the sequence of
% parameters is modified.
%    \begin{macrocode}
\newcommand{\enclosure}[3][1]{%[pages]{label}{titel}
\attachment[#2]{#3}{#1}
}%^^A       \enclosure
\let\listofenclosure\listofattachments
%    \end{macrocode}
%    \end{macro}%^^A    enclosure
%
%
% \section{Some Macros for Votes}
% \changes{V1.6c}{2001/09/19}{new layout/version}
%
%
%    \begin{macro}{\vote}
% \changes{V1.5b}{2000/12/30}{reconstruction Vote-environment}
% The syntax of this macro is
%     \verb|\vote{text}{yes}{no}{no vote}[decision]|.
% Each number (yes/no/no vote) can get a text on its own. For better
% understanding, look to the samples.
%
% First the title is written to \verb|\min@voteT|, then we call
% \verb|\min@voteI| to parse the optional texts for "yes".
%    \begin{macrocode}
\newcommand{\vote}[1]{
\gdef\min@voteT{#1}
\min@voteI}
%    \end{macrocode}
%    \end{macro}%^^A    vote
%    \begin{macro}{\min@voteI}
%    Read the text and number of yes-votes and save them. The next
%    macros do the same for no\ldots
%    \begin{macro}{\min@voteTI}
%    \begin{macro}{\min@voteVI}
%    \begin{macrocode}
\newcommand{\min@voteI}[2][\min@textYes]{
\gdef\min@voteTI{#1}
\gdef\min@voteVI{#2}
\min@voteII
}
%    \end{macrocode}
%    \end{macro}
%    \end{macro}
%    \end{macro}
%    \begin{macro}{\min@voteII}
%    \begin{macro}{\min@voteTII}
%    \begin{macro}{\min@voteVII}
%    Now we fill the values for "no".
%    \begin{macrocode}
\newcommand{\min@voteII}[2][\min@textNo]{
\gdef\min@voteTII{#1}
\gdef\min@voteVII{#2}
\min@voteIII
}
%    \end{macrocode}
%    \end{macro}
%    \end{macro}
%    \end{macro}
%    \begin{macro}{\min@voteIII}
%    \begin{macro}{\min@voteTIII}
%    \begin{macro}{\min@voteVIII}
% And now the values for "no vote".
%    \begin{macrocode}
\newcommand{\min@voteIII}[2][\min@textNoVote]{
\gdef\min@voteTIII{#1}
\gdef\min@voteVIII{#2}
\min@voteIV
}
%    \end{macrocode}
%    \end{macro}%^^A    Votes
%    \end{macro}
%    \end{macro}
%
%    \begin{macro}{\min@voteIV}
% |\min@voteIV| calls |\min@voteV|. There is the final preparation
% of a vote.
%    \begin{macrocode}
\newcommand{\min@voteIV}[1][\min@empty]{
\min@voteV{#1}
}
%    \end{macrocode}
%    \end{macro}%^^A    Votes
%
%    \begin{macro}{\min@voteV}
% |\min@voteV| is a dummy for the final preparation of a vote. The
% real macro is defined by an option. Default is |\min@voteIVlist|.
% If you want to change the look, add a new macro and replace it
% here. There are the following parameters:
% \begin{itemize}
%   \item |\min@voteT| The text of the decision.
%   \item |min@voteVI| and |\min@voteTI| Number of "yes" (and Text
%   "yes".
%   \item |min@voteVII| and |\min@voteTII| Number of "no" (and Text)
%   \item |min@voteVIII| and |\min@voteTIII| Number of "no vote" (and Text)
% \end{itemize}
%    \begin{macrocode}
\newcommand{\min@voteV}{\min@voteIVlist}
%    \end{macrocode}
%    \end{macro}
%
%    \begin{macro}{\minustesstyle/vote}
% \label{sec:vote:look}
% With the command |\minutesstyle| you can define different
% parameters of a minutes. Here the definitions for votes.
% There are two possibilities:
% \begin{itemize}
%   \item |\minutesstyle{vote={list}|
%   \item |\minutesstyle{vote={table}|
% \end{itemize}
%    \begin{macrocode}
\define@key{min@style}{vote}{
    \newif\ifmin@nofound
    \min@nofoundtrue
    \def\min@xx{#1}
    \def\min@yy{list}
    \ifx\min@xx\min@yy
        \renewcommand{\min@voteV}{\min@voteIVlist}
        \min@nofoundfalse
    \fi
    \def\min@yy{table}
    \ifx\min@xx\min@yy
        \renewcommand{\min@voteV}{\min@voteIVtable}
        \min@nofoundfalse
    \fi
    \ifmin@nofound
        \PackageError{minutes.sty}{Unknown Vote-Style}{
            minutes.sty:\MessageBreak
            You try to use the style #1 for votes.\MessageBreak
            This style is unknown}%
    \fi
}
%    \end{macrocode}
%    \end{macro}
%
%    \begin{macro}{\min@voteIVtable}
% \verb|\min@voteIVtable| close and open a tabular-environment.
% This allows a page break between two votes.
% longtab.sty would allow the same behavior, but I want to keep the number
% of needed packages low.\par
% First we define the length for the width of an vote-box.
% The width will a quarter of the total place, but not more
% than 2 cm. The total place is the \verb|\linewidth|.
% \changes{2001/09/20}{V1.6c}{add decisions to list of decisions}%
%    \begin{macrocode}
\newlength{\votelength}
\newcommand{\min@voteIVtable}[1]{
    \setlength{\votelength}{0.25\linewidth}
    \ifdim\votelength > 2cm \setlength{\votelength}{2cm} \fi
    \par\noindent
    \begin{tabular}{*{3}{p{\votelength}}}% \hline
    \multicolumn{3}{p{3\votelength}}{\min@voteT}\\\hline
    \tiny \min@voteTI & \tiny \min@voteTII & \tiny \min@voteTIII \\
    \hfill \min@voteVI & \hfill \min@voteVII
            & \hfill \min@voteVIII\\\hline
    \ifx\min@empty#1\else%
        \multicolumn{3}{p{3\votelength}}{\decision{-}{#1}}%
    \fi
    \end{tabular}\par
}
%    \end{macrocode}
%    \end{macro}
%
%    \begin{macro}{\min@voteIVlist}
% \verb|\min@voteIVlist| shows the result in a list with "yes, "no"\ldots
%    \begin{macrocode}
\newcommand{\min@voteIVlist}[1]{
    \par
    \begin{tabular}{ll}
    \multicolumn{2}{p{0.9\textwidth}}{\min@voteT}\\
    \min@voteTI:    & \min@voteVI\\
    \min@voteTII:   & \min@voteVII\\
    \min@voteTIII:  &\min@voteVIII\\
    \ifx\min@empty#1\else%
        \multicolumn{2}{p{0.9\textwidth}}{\decision{-}{#1}}%
    \fi
    \end{tabular}\par
}
%    \end{macrocode}
%    \end{macro}
%
% \subsubsection{Old environment/macros}
% \begin{environment}{Vote}
% If you want to hold some votes together, use a
% \Lenv{Vote}-Environment. There was a sense for it
% before Version V1.6c.
%    \begin{macrocode}
\newenvironment{Vote}{
    \setlength{\parindent}{0mm}
}{}
%    \end{macrocode}
% \end{environment} ^^A Vote
%
%    \begin{macro}{\Onevote}
% \verb|\Onevote| was defined in version less V1.6c.
% For compatibility it is remained.
%    \begin{macrocode}
\newcommand{\Onevote}{\vote}
%    \end{macrocode}
%    \end{macro}%^^A    OneVote
%
%\section{Decisions}
%
% You can insert the list of decisions with the command
% \verb|\listofdecisions|
%
% \subsection{Declare decisions}
%Decisions are taken down in the command \verb|\decision|.
%Each decision will be put to an overview of all decisions
%(glossary). So decisions must belong to a decision theme.
%
%    \begin{macro}{\decisiontheme}
%The command \verb|\decisiontheme| has two parameter: A
%classifier and a Title. All decisions must be assigned to one of these
% classified decisions.
%    \begin{macrocode}
\newcommand{\decisiontheme}[2]{
\@ifundefined{chapter}{
\addcontentsline{\min@file@Dec}{decisiontheme}{{#1}{#2}{\thepart}}
}{
\addcontentsline{\min@file@Dec}{decisiontheme}{{#1}{#2}{\thechapter}}
}%
}
%    \end{macrocode}
%    \end{macro}%^^A    \decisiontheme
%
%    \begin{macro}{\decision}
% Called with:
% \verb|\decision{Theme}{Short descr}[long]| or
% \verb|\decision*{...|.\par
% The asterisk-version will not produce an entry in the
% list of all decisions.\par
% Here we check the asterisk.
%    \begin{macrocode}
\newcommand{\decision}[2]{%
\def\min@decisionTheme{#1}%
\def\min@decisionShorttext{#2}%
\min@decision%
}
%    \end{macrocode}
%    \end{macro}
%
%    \begin{macro}{\min@decision}
%    \begin{macrocode}
\newcommand{\min@decision}[1][\min@xx]{%
\if*\min@decisionTheme\else%
\@ifundefined{chapter}{%
\addcontentsline{\min@file@Dec}{decision}{%
    {\min@decisionTheme}{\min@decisionShorttext}{\thepart}}%
}{%
\addcontentsline{\min@file@Dec}{decision}{%
    {\min@decisionTheme}{\min@decisionShorttext}{\thechapter}}%
}%
\fi%
\par\noindent\textbf{\min@textDecision\ifx*\min@decisionTheme$^*$\fi: }%
\min@decisionShorttext\par%
\ifx#1\min@xx\else%
\begin{quote}\small #1\end{quote}%
\fi%
}
%    \end{macrocode}
%    \end{macro}%^^A    \min@decision
%
%\subsection{Output of the list of decisions}
%    \begin{macro}{\listofdecisions}
% If hyperref is loaded, \verb|\contentsline| must be modified.
%    \begin{macrocode}
\newcommand{\listofdecisions}{
\ifhyperloaded
\renewcommand{\contentsline}[4]{
\csname l@##1\endcsname{##2}{##3}
}
\fi
\@starttoc{\min@file@Dec}
}% \listofdecisions
%    \end{macrocode}
%    \end{macro}    %^^A\listofdecisions
%
% \begin{macro}{\l@decisiontheme}
% \begin{macro}{\min@l@decisiontheme}
% Here it is defined how one line for the theme looks like.
%    \begin{macrocode}
\newcommand{\l@decisiontheme}[2]{
\expandafter\min@l@decisiontheme#1
}
\newcommand{\min@l@decisiontheme}[3]{%Theme}{Decision}{Chapter}
\noindent\textbf{#2}\par
}
%    \end{macrocode}
% \end{macro}    %^^A{\l@decisiontheme}
% \end{macro}    %^^A{\min@l@decisiontheme}
%
% \begin{macro}{\l@decision}
% \begin{macro}{\min@l@decision}
% Here it is defined how one line for the decision looks like.
%    \begin{macrocode}
\newcommand{\l@decision}[2]{
\noindent\expandafter\min@l@decision#1{#2}
}
\newcommand{\min@l@decision}[4]{%{Theme}{Decision}{Chapter}{page}
\@dottedtocline{1}{0mm}{0mm}{#2}{#4}
}
%    \end{macrocode}
% \end{macro}   %^^A{\l@decision}
% \end{macro}   %^^A{\min@l@decision}
%
% \subsection{Argumentations}
% \begin{environment}{Argumentation}
% \changes{V1.4b}{2000/07/24}{Added the environment Argumentation with pro and contra}
% Before you make a decision you want to discuss the problem.
% A comparison of arguments can be done with \Lopt{Argumentation}.
%
%    \begin{macrocode}
\newenvironment{Argumentation}{\begin{itemize}}{\end{itemize}}
%    \end{macrocode}
% \end{environment} %^^A{Argumentation}
%
% \begin{macro}{\pro}   \begin{macro}{\Pro}
% \begin{macro}{\contra}\begin{macro}{\Contra}
% \begin{macro}{\result}
% The macros \verb|\pro| and \verb|\contra| (respective the big
% alternatives) define argument for and against the discussed point.
% \verb|\result| gives a result.
%    \begin{macrocode}
\newcommand{\pro}{\item[\textcircled{+}]}
\newcommand{\Pro}{\item[\textbf{\textcircled{+}}]}
\newcommand{\contra}{\item[\textcircled{-}]}
\newcommand{\Contra}{\item[\textbf{\textcircled{-}}]}
\newcommand{\result}{\item[$\Rightarrow$]}
%    \end{macrocode}
% \end{macro}               %^^A\result
% \end{macro}\end{macro}    %^^A\contra/\Contra
% \end{macro}\end{macro}    %^^A\pro/\Pro
%
%
% \section{Tasks}
% \changes{V1.6b}{2001/02/18}{task possible outside minutes environment}
% \begin{macro}{\task}
% Tasks are defined with the macro \verb|\task|. There are
% following parameters:
% \begin{itemize}
%   \item {}[optional] Date of completion.\par
%   If this parameter is not set, the task will be listed in the
%   list of all open tasks. If it is filled a footnote is printed
%   with the information.
%   \item Responsible person. An Asterisk means `anybody' and
%   nothing is printed.
%   \item {}[optional] Date to to it
%   \item What to do.
% \end{itemize}
% If \verb|\task| is used outside the minutes environment, we need the macro
% \verb|\min@date|.
%    \begin{macrocode}
\let\min@date\relax
%    \end{macrocode}
%
%    \begin{macrocode}
\newcommand{\task}[2][\relax]{
\def\min@taskDone{#1}
\def\min@taskWho{#2}
\min@task
}
%    \end{macrocode}
% \end{macro}%^^A{\task}
% \changes{V1.4B}{2000/08/10}{date and fileinfo of the minutes in task list}
% \begin{macro}{\min@task}
%    \begin{macrocode}
\newcommand{\min@task}[2][\relax]{
\def\min@taskWhen{#1}
\def\min@taskWhat{#2}
\ifx\relax\min@file
    \def\min@fileinfo{}
\else
    \def\min@fileinfo{\min@file/\the\inputlineno}
\fi
\def\min@space{}
\par\noindent\textbf{\min@textTask}%
\if\relax\min@taskWhen\else\ (\min@taskWhen)\fi%
\if\relax\min@taskDone{%
\@ifundefined{chapter}{%
\addcontentsline{minTsk}{task}{\protect\minutestask%
   {\min@taskWhat}{\thepart}{\min@taskWhen}%
   {\min@taskWho}{\min@date}{\min@fileinfo}}%
}{%
\addcontentsline{minTsk}{task}{\protect\minutestask%
   {\min@taskWhat}{\thechapter}{\min@taskWhen}%
   {\min@taskWho}{\min@date}{\min@fileinfo}}%
}%chapter defined
}\else%\relax\min@taskDone
\ifx\min@space\min@taskDone\else\footnote{\min@taskDone}\fi%
\fi%\relax\min@taskDone
:
\min@taskWhat\
\if*\min@taskWho\else (\min@taskWho)\fi
}
%    \end{macrocode}
% \end{macro}%^^A{\min@task}
%
%\subsection{Output of the list of tasks}
%    \begin{macro}{\listoftasks}
%    \begin{macrocode}
\newcommand{\listoftasks}[1][\relax]{
\bgroup
\ifhyperloaded
\renewcommand{\contentsline}[4]{
\csname l@##1\endcsname{##2}{##3}
}
\fi
\ifx\relax#1
\@starttoc{minTsk}
\else
\PackageWarning{minutes.sty}{
    foreign minTsk -> Check Hyper\MessageBreak
    You are using the list of tasks with tasks from a foreign
    document\MessageBreak
    This document must use the hyperref-package like this document.
}%
{\InputIfFileExists{#1.minTsk}{}{}}
\fi
\egroup
}% \listoftasks
%    \end{macrocode}
%    \end{macro}    %^^A\listoftasks
%
% To write one task, we must define the width for the responsible persons.
% If somebody want's to modify it, just set another value for
% \verb|\min@responsiblelength|. This
% value reduce the place for the tasks itself.
%    \begin{macrocode}
\newlength{\responsiblelength}
\setlength{\responsiblelength}{0.15\linewidth}
%    \end{macrocode}
%
% \begin{macro}{\l@task}
% Call \verb|\minutestask| from task-file with the page information.
%    \begin{macrocode}
\newcommand{\l@task}[2]{#1{#2}}
%    \end{macrocode}
% \end{macro}%^^A{\l@task}
%
% \begin{macro}{\minutestask}
% Write one task in the list of all tasks. There are a lot of data,
% and it is a problem who to print them in a nice way.
%
% \verb|\minutestask| contains following information:
% \begin{enumerate}
%   \item Text of the task
%   \item Minutes where the task is defined
%   \item When the task should be done
%   \item Who should do the task. Asterisk is for anybody.
%   \item Date of the minutes (defined by \verb|\minutesdate|)
%   \item Page in the document, where the task is defined.
% \end{enumerate}
%
% \changes{1.6B}{2001/03/09}{Hint from Albert Sill: with scrartcl in unneeded / in listoftasks}
%    \begin{macrocode}
\newcommand{\minutestask}[7]{%
%       {What}{section}{When}{Who}{date}{file}{page}
\if*#4
\def\min@l@taskWho{\min@textAnybody}
\else
\def\min@l@taskWho{#4}
\fi
\def\numberline##1{\parbox[t]{\responsiblelength}{##1\hfil}~}
\@dottedtocline{1}{0mm}{\responsiblelength}{
\numberline{\min@l@taskWho}
\if\relax#3\else$\hookrightarrow$ #3\\\fi%date to do
#1 \if\relax#5\else (#5)\fi%Text (date of minutes)
\ifmin@fileinfo\footnotesize\relax~[#6]\fi}%File/linenumber
{#2\ifx#2\empty\else/\fi#7}%sec/page,
}
%    \end{macrocode}
% \end{macro}%^^A{\minutestask}
%
%
% \section{Schedule}
% \begin{macro}{\schedule}
% Called as \verb|\schedule*[File]{yyyy/mm/dd}[xx:xx]{What}|. The
% first optional parameter defines the filename of the
% \file{cld}-File. Default is \verb|\jobname|.
%
% There are only pseudo parameters.
% There is a sequence of actions:
% \begin{enumerate}
%   \item \verb|\schedule| checks for an asteriks and after it, it calls
%   \verb|\min@scheduleStar| or \verb|\min@scheduleNoStar|.
%   \item \verb|\min@scheduleStar| or \verb|\min@scheduleNoStar| set
%   a flag and then they call \verb|\min@scheduleI|.
%   \item \verb|\min@scheduleI| saves the optional jobname and the
%   date. After this \verb|\min@scheduleII| is called.
%   \item \verb|\min@scheduleII| read the rest of the data and do
%   the work.
% \end{enumerate}
%
% Better: \verb|\appointment|, \verb|\event|?
%    \begin{macrocode}
\newcommand*{\schedule}{\@ifstar\min@scheduleStar\min@scheduleNoStar}
\newif{\ifmin@scheduleStar}
\newcommand{\min@scheduleNoStar}{\global\min@scheduleStarfalse\min@scheduleI}
\newcommand{\min@scheduleStar}{\global\min@scheduleStartrue\min@scheduleI}
%    \end{macrocode}
%    \end{macro} %^^A \schedule
%
% \begin{macro}{\min@scheduleI}
%    \begin{macrocode}
\newcommand*{\min@scheduleI}[2][\jobname]{%[file]{yyyy/mm/dd}
\def\min@sch@file{#1}
\def\min@sch@date{#2}
\min@scheduleII
}
%    \end{macrocode}
%    \end{macro}
%
% \begin{macro}{\min@scheduleII}
%    \begin{macrocode}
\newcommand*{\min@scheduleII}[2][]{%[time]{schedule text}
\def\min@sch@time{#1}
\def\min@sch@text{#2}
\min@scheduleIII
}
%    \end{macrocode}
%    \end{macro}
%
% \begin{macro}{\min@scheduleIII}
%
% Write the schedule line. The date is bold, rest normal.
% The date is built by the defined format for a date.
%
% In addition an entry to the \file{aux}-File is created with all
% parameters. This entry can be used to create a \file{cld}-File for
% \Lpack{calendar.sty}
% \changes{V1.5b}{2000/12/19}{Modified look for dates}
%    \begin{macrocode}
\newcommand{\min@scheduleIII}[1][\min@xx]{%[long text]
    \par\noindent\emph{\expandafter\min@writedate \min@sch@date/%
          \ifx\@empty\min@sch@time\else\ \min@sch@time\fi:}
    \min@sch@text
  \ifx#1\min@xx\else\nobreak%
    \begin{list}{}{\setlength{\leftmargin}{1em}\setlength{\partopsep}{\parsep}}
    \item #1
    \end{list}
  \fi\par%
  \ifmin@scheduleStar\else
   \ifx#1\min@xx%
    \addcontentsline{\min@file@Cld}{schedule}{\protect\min@l@schedule{\min@sch@file}%
                    {\min@sch@date}{\min@sch@time}{\min@sch@text}{}}
   \else
    \addcontentsline{\min@file@Cld}{schedule}{\protect\min@l@schedule{\min@sch@file}%
                    {\min@sch@date}{\min@sch@time}{\min@sch@text}{#1}}
   \fi
  \fi
}
%    \end{macrocode}
%    \end{macro}
%
% \begin{macro}{\min@writedate}
% ^^A check CTAN/macros/latex/contrib/supported/isodate
% Fill \verb|\day|\ldots and call \verb|\today| for a language specific
% printout of the date. The modification of \verb|\day|\ldots are local.
%    \begin{macrocode}
\def\min@writedate#1/#2/#3/{
\day=#3
\month=#2
\year=#1
\today
}
%    \end{macrocode}
%    \end{macro}
%
%
% \subsection{Commands to prepare \file{cld}-File}
% \changes{V1.3}{2000/07/22}{Support of calendar.sty}
% Preparation can be called by an option \Lopt{CreateCld}.
%    \begin{macrocode}
\DeclareOption{CreateCld}{\prepareCal}
%    \end{macrocode}
%
% \begin{macro}{\prepareCal}
% Extract data from \file{aux} and fill \file{cld}. The target file
% is in the optional parameter.
%    \begin{macrocode}
\newcommand{\prepareCal}[1][\jobname]{
\ifhyperloaded
\renewcommand{\contentsline}[4]{
\csname l@##1\endcsname{##2}{##3}
}
\fi
\newwrite\cld
\gdef\min@calfilename{#1}
\immediate\openout\cld=#1.cld
\@starttoc{\min@file@Cld}
\immediate\closeout\cld %
}
%    \end{macrocode}
%    \end{macro}    %^^A\prepareCal
%
% \begin{macro}{\l@schedule}
% This macro is called from \verb|\@starttoc|. The first parameter
% contains the data in the macro \verb|\min@l@schedule|.
%    \begin{macrocode}
\newcommand{\l@schedule}[2]{#1}
%    \end{macrocode}
%    \end{macro}    %^^A\l@schedule
%
% \begin{macro}{\min@l@schedule}
% Writes one entry to the \file{cld}-File.
% If \#4 or \#5 is complex, there is an overflow.
%    \begin{macrocode}
\newcommand{\min@l@schedule}[5]{%{file}{date}{time}{what}{longtext}
\let\"\relax%no expansion for "Umlaute"
\let\ss\relax%no expansion for sz
\catcode`\"12\relax%"is normal
\def\min@xx{#5}
%\def\min@temp{#1}
%\if\jobname\min@calfilename--> output to other file.cld
\ifx\min@xx\@empty
\immediate\write\cld{\expandafter\min@writecal#2/ #3 {#4}}
\else
%%This is not robust
%%\immediate\write\cld{\expandafter\min@writecal#2/ #3 {#4}[#4:\noexpand\\ #5]}
%%This is robust, but not the expected behaviour.
\immediate\write\cld{\expandafter\min@writecal#2/ #3 {#4}}
\fi
}
%    \end{macrocode}
%    \end{macro}    %^^A\l@schedule
%
% \begin{macro}{\min@writecal}
% Write the date in a version, understood by \Lpack{calendar.sty}.
% Without the dot after the month there is no space between month
% and year. A \verb|\ | is not extracted and can not be interpreted
% by \Lpack{calendar.sty}.
%    \begin{macrocode}
\def\min@writecal#1/#2/#3/{
#3
\ifcase#2 \or jan\or feb\or mar\or apr\or may\or
jun\or jul\or aug\or sep\or oct\or nov\or dec\fi.
 #1
}
%    \end{macrocode}
%    \end{macro}    %^^A\min@writecal
%
% \section{Multilingual texts, Support of Babel.sty}
% \subsection{German commands}\label{german!commands}
% \begin{macro}{German Alias}
% German minutetaker can use german macros. There is no difference
% in the look or the handling of the parameters, the german macros
% are only alias.\par
% \DescribeMacro{german header macros}
%    \begin{macrocode}
\let\Protokoll\Minutes
\let\endProtokoll\endMinutes
\let\untertitel\subtitle
\let\moderation\moderation
\let\protokollant\minutetaker
\let\teilnehmer\participant
\let\sitzungsdatum\minutesdate
\let\sitzungsbeginn\starttime
\let\sitzungsende\endtime
\let\sitzungsort\location
\let\gaeste\guest
\let\verteiler\cc
\let\fehlend\missing
\let\fehlendEntschuldigt\missingExcused
\let\fehlendUnentschuldigt\missingNoExcuse
%\let\protokollKopf\min@maketitle%->in \begin{Minutes}
\let\fremdProtokoll\foreignMinutes
%    \end{macrocode}
% \DescribeMacro{german topic macros}
% \verb|\topic| is also ok for german.
%    \begin{macrocode}
\let\neueSpalte\newcols
\let\zusatztopic\addtopic
%    \end{macrocode}
% \DescribeMacro{german voting macros}
%    \begin{macrocode}
\newenvironment{Abstimmung}{\begin{Vote}}{\end{Vote}}
\let\abstimmung\vote
\let\Einzelabstimmung\Onevote
%    \end{macrocode}
% \DescribeMacro{german argumentations}
%    \begin{macrocode}
\let\ergebnis\result
%    \end{macrocode}
% \DescribeMacro{german decision macros}
%    \begin{macrocode}
\let\beschluss\decision
\let\beschlussthema\decisiontheme
\let\beschlussliste\listofdecisions
%    \end{macrocode}
%
% \DescribeMacro{german task macros}
%    \begin{macrocode}
\let\aufgabe\task
\let\aufgabenliste\listoftasks
%    \end{macrocode}
%
% \DescribeMacro{german schedule macros}
%    \begin{macrocode}
\let\termin\schedule
%    \end{macrocode}
% \DescribeMacro{german attachment macros}
%    \begin{macrocode}
\let\anhang\attachment
\let\anhangsliste\listofattachments
%    \end{macrocode}
% \DescribeMacro{other german macros}
%    \begin{macrocode}
\let\nachtrag\postscript
\newenvironment{Nachtrag}{\begin{Postscript}}{\end{Postscript}}
%    \end{macrocode}
% \end{macro}
%
% \subsection{The texts of \texttt{minutes.sty}}
% For multilingual use, the packet expect the use of babel.sty.
% If babel.sty is not used, the last defined language will be used
% (up to now german).
%    \begin{macro}{\addto}
%    \begin{macrocode}
\@ifundefined{addto}{\newcommand{\addto}[2]{#2}}{\relax}
%    \end{macrocode}
%    \end{macro}
% Now the definition of the german and english text.
%    \begin{macro}{\extrasenglisch}
%    \begin{macrocode}
\addto\extrasenglish{
\def\min@textModerator{Moderation}
\def\min@textMinutesTaker{Minutes taker}
\def\min@textPresent{Those present} %Participiant:
\def\min@textAbsent{Absent}
\def\min@textAbsentExcused{\min@textAbsent (excused)}
\def\min@textAbsentNoExcuse{\min@textAbsent (not excused)}
\def\min@textGuest{Guest}
\def\min@textDate{Date}
\def\min@textStarttime{Begin of the meeting}
\def\min@textEndtime{End of the meeting}
\def\min@textLocation{Location of the meeting}
\def\min@textCc{Distribution}
\def\min@textPostscript{Postscript}
\def\min@textEnclosure{Enclosure}
\def\min@textforeignMinutes{Foreign minutes}
\def\min@textSecret{including non-public informations}
\def\min@textPage{page}
\def\min@toptext{}%Text before Topic
\def\min@textForeign{(no \LaTeXe -minute)}
\def\min@textYes{Yes}
\def\min@textNo{No}
\def\min@textNoVote{no vote}
\def\min@textDecision{Decision}
\def\min@textTask{Task}
\def\min@textResponsible{Responsible}
\def\min@textAnybody{Anybody}
\@ifundefined{chapter}{
    \renewcommand{\partname}{Minutes}
    \renewcommand{\ptctitle}{Overview of topics}
    }{
    \renewcommand{\chaptername}{Minutes}
    \def\mtctitle{List of topics}
    }
}
%    \end{macrocode}
%    \end{macro}
%
%    \begin{macro}{\min@germanText}
% And the german textes. German got a new spelling,
% so we have to define it for german and ngerman.
% The texts in this packet are written in the same manner for both
% spellings.
%    \begin{macrocode}
\def\min@germanText{
\def\min@textModerator{Moderation}
\def\min@textMinutesTaker{Protokollant}
\def\min@textPresent{Anwesend}
\def\min@textAbsent{Fehlend}
\def\min@textAbsentExcused{\min@textAbsent (entschuldigt)}
\def\min@textAbsentNoExcuse{\min@textAbsent (unentschuldigt)}
\def\min@textGuest{G\"aste}
\def\min@textDate{Datum}
\def\min@textStarttime{Beginn der Sitzung}
\def\min@textEndtime{Ende der Sitzung}
\def\min@textLocation{Sitzungsort}
\def\min@textCc{Verteiler}
\def\min@textPostscript{Nachtrag}
\def\min@textEnclosure{Anhang}
\def\min@textforeignMinutes{Fremdes Protokoll}
\def\min@textSecret{mit nicht\"offentlichen Informationen}
\def\min@textPage{Seite}
\def\min@textForeign{(kein \LaTeXe -Protokoll)}
\def\min@textYes{Ja}
\def\min@textNo{Nein}
\def\min@textNoVote{Enthaltung}
\def\min@textDecision{Beschlu{\ss}}
\def\min@textTask{Aufgabe}
\def\min@textResponsible{Verantwortlich}
\def\min@textAnybody{Irgendwer}
\def\min@toptext{}%Top} %-> ugly table of contents
\@ifundefined{chapter}{
    \renewcommand{\partname}{Protokoll}
    \renewcommand{\ptctitle}{Tagesordnung}
    }{
    \renewcommand{\chaptername}{Protokoll}
    \renewcommand{\mtctitle}{Tagesordnung}
    }
}
%    \end{macrocode}
% \DescribeMacro{\extrasgerman}
% \DescribeMacro{\extrasngerman}
%    \begin{macrocode}
\addto\extrasgerman{\min@germanText}
\addto\extrasngerman{\min@germanText}
%    \end{macrocode}
%    \end{macro}
%
% \section{Execute the Options}
%    \begin{macrocode}
\ProcessOptions\relax
%    \end{macrocode}
% \PrintIndex
% \Finale
%\iffalse
%</package>
%\fi
% \end{document}
