summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2010-11-04 22:57:04 +0000
committerKarl Berry <karl@freefriends.org>2010-11-04 22:57:04 +0000
commit5877e6f814a0c1dfce1fc636d6dc2ffc80e997f8 (patch)
tree0382ec4a7b50d24513363321dcc7a0fbbd25326d /Master/texmf-dist/tex/latex
parentda96e42d00bfa5af4b4d7e72fd441b85ff4d3280 (diff)
new latex package dfgproposal 1.0 (4nov10)
git-svn-id: svn://tug.org/texlive/trunk@20317 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex')
-rw-r--r--Master/texmf-dist/tex/latex/dfgproposal/dfgproposal.cls540
1 files changed, 540 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/dfgproposal/dfgproposal.cls b/Master/texmf-dist/tex/latex/dfgproposal/dfgproposal.cls
new file mode 100644
index 00000000000..46bda291112
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/dfgproposal/dfgproposal.cls
@@ -0,0 +1,540 @@
+%%
+%% This is file `dfgproposal.cls',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% dfgproposal.dtx (with options: `cls')
+%%
+\NeedsTeXFormat{LaTeX2e}[1999/12/01]
+\ProvidesClass{dfgproposal}[2009/06/27 v0.6 DFG Proposal]
+\newif\ifsubmit\submitfalse
+\newif\ifpublic\publicfalse
+\newif\ifkeys\keysfalse
+\newif\ifwork@areas\work@areastrue
+\newif\if@RAM\@RAMtrue
+\DeclareOption{submit}{\submittrue}
+\DeclareOption{public}{\publictrue\excludecomment{private}}
+\DeclareOption{noworkareas}{\work@areasfalse}
+\DeclareOption{noRAM}{\@RAMfalse}
+\DeclareOption{keys}{\keystrue}
+\DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}}
+\ProcessOptions
+\LoadClass[a4paper,twoside]{article}
+\RequirePackage{dcm}
+\RequirePackage{amssymb}
+\RequirePackage{url}
+\RequirePackage{graphicx}
+\RequirePackage{colortbl}
+\RequirePackage{xcolor}
+\RequirePackage{rotating}
+\RequirePackage{fancyhdr}
+\RequirePackage{array}
+\RequirePackage{xspace}
+\RequirePackage{eurosym}
+\RequirePackage{comment}
+\RequirePackage{tikz}
+\RequirePackage{paralist}
+\RequirePackage{a4wide}
+\renewcommand{\familydefault}{\sfdefault}
+\RequirePackage[scaled=.90]{helvet}
+\RequirePackage{textcomp}
+\RequirePackage[USenglish,ngerman]{babel}
+\RequirePackage{biblatex}
+\RequirePackage[a4paper=true,bookmarks=true,linkcolor=blue,
+ citecolor=blue,urlcolor=blue,colorlinks=true,
+ breaklinks=true, bookmarksopen=true]{hyperref}
+\ifsubmit
+\RequirePackage[hide]{ed}
+\RequirePackage[final,today]{svninfo}
+\else
+\RequirePackage[show]{ed}
+\RequirePackage[eso-foot,today]{svninfo}
+\fi
+\ifpublic\excludecomment{private}\else\includecomment{private}\fi
+\setcounter{secnumdepth}{3}
+\newif\ifofpage\ofpagefalse
+\fancyhead[RE,LO]{\dfg@gen@acronym}
+\fancyhead[LE,RO]{page~\thepage\ifofpage~of~\euref@num{prop}{page}{last}\fi}
+\pagestyle{fancyplain}
+\newif\if@sites\@sitesfalse\let\dfg@gen@sites=\relax
+\define@key{dfg@gen}{site}{\@sitestrue\@dmp{site=#1}%
+\@ifundefined{dfg@gen@sites}{\xdef\dfg@gen@sites{#1}}{\xdef\dfg@gen@sites{\dfg@gen@sites,#1}}
+\define@key{workpackage}{#1RM}{\dfg@def\wp@id{#1}{RM}{##1}}
+\if@RAM\define@key{workpackage}{#1RAM}{\dfg@def\wp@id{#1}{RAM}{##1}}\fi}
+\define@key{dfg@gen}{PI}{\@dmp{PI=#1}%
+\@ifundefined{dfg@gen@PIs}{\xdef\dfg@gen@PIs{#1}}{\xdef\dfg@gen@PIs{\dfg@gen@PIs,#1}}}
+\define@key{dfg@gen}{pubspage}{\@ifundefined{dfg@gen@pubspages}%
+{\xdef\dfg@gen@pubspages{#1}}{\xdef\dfg@gen@pubspages{\dfg@gen@pubspages,#1}}}
+\define@key{dfg@gen}{instrument}{\def\dfg@gen@instrument{#1}\@dmp{inst=#1}}
+\define@key{dfg@gen}{title}{\def\dfg@gen@title{#1}}
+\define@key{dfg@gen}{thema}{\def\dfg@gen@thema{#1}}
+\define@key{dfg@gen}{acronym}{\gdef\dfg@gen@acronym{#1}\@dmp{acro=#1}}
+\define@key{dfg@gen}{acrolong}{\def\dfg@gen@acrolong{#1}}
+\define@key{dfg@gen}{discipline}{\def\dfg@gen@discipline{#1}}
+\define@key{dfg@gen}{areas}{\def\dfg@gen@areas{#1}}
+\define@key{dfg@gen}{start}{\def\dfg@gen@start{#1}}
+\define@key{dfg@gen}{months}{\def\dfg@gen@months{#1}}
+\define@key{dfg@gen}{fundedperiod}{\def\dfg@gen@fundedperiod{#1}}
+\define@key{dfg@gen}{reportperiod}{\def\dfg@gen@reportperiod{#1}}
+\define@key{dfg@gen}{key}{\@dmp{key=#1}%
+\@ifundefined{dfg@gen@keys}{\xdef\dfg@gen@keys{#1}}{\xdef\dfg@gen@keys{\dfg@gen@keys,#1}}}
+\def\dfg@gen@acro{ACRONYM}
+\def\dfg@gen@months{???}
+\def\dfg@gen@title{Proposal Title}
+\def\dfg@gen@instrument{Neuantrag auf Sachbeihilfe}
+\def\dfg@gen@thema{??? Thema ???}
+\long\def\deu#1{#1}
+\def\dfg@applicants@table%
+{\begin{tabular}{|l|*{\the@PIs}{l|}}\hline
+ \dcm@bitabline\dfg@gen@PIs{personaltitle}{ }{name}\\
+ \dcm@tabline\dfg@gen@PIs{academictitle}\\
+ \dcm@tabline\dfg@gen@PIs{birthdate}\\\hline
+ &\multicolumn{\the@PIs}{|l|}{\textbf{Work Address\deu{ (Dienstanschrift)}:}}\\\hline
+ \dcm@tabline\dfg@gen@PIs{affiliation}\\
+ \dcm@tabline\dfg@gen@PIs{workaddress}\\
+ \dcm@atabline\dfg@gen@PIs{Tel: }{worktel}\\
+ \dcm@atabline\dfg@gen@PIs{Fax: }{workfax}\\
+ \dcm@tabline\dfg@gen@PIs{email}\\\hline
+ &\multicolumn{\the@PIs}{|l|}{\textbf{Private Address\deu{ (Privatanschrift)}:}} \\\hline
+ \dcm@tabline\dfg@gen@PIs{privaddress}\\
+ \dcm@atabline\dfg@gen@PIs{Tel: }{privtel}\\\hline
+\end{tabular}}
+\def\dfg@applicants{\subsection{Applicants \deu{(Antragsteller)}}
+\dfg@applicants@table}
+\def\dfg@topic{\deu{\subsection{Topic (Thema)}\dfg@gen@thema}}
+\def\dfg@area@field{%
+\subsection{Research area and field of work \deu{(Fachgebiet und Arbeitsrichtung)}}
+Scientific discipline: \dfg@gen@discipline\\
+Fields of work: \dfg@gen@areas}
+\newenvironment{dfg@titlepage}
+{\thispagestyle{empty}\setcounter{page}{0}%
+\begin{center}}
+{\newcounter{@PIs}\@for\@I:=\dfg@gen@PIs\do{\stepcounter{@PIs}}
+ \newcounter{@sites}\@for\@I:=\dfg@gen@sites\do{\stepcounter{@sites}}
+\begin{tabular}{c*{\the@PIs}{c}}
+\dcm@tabline\dfg@gen@PIs{name}\\
+\dcm@tabline\dfg@gen@PIs{affiliation}
+\end{tabular}\\[2cm]
+\end{center}
+\setcounter{tocdepth}{1}\tableofcontents\newpage\setcounter{page}{1}}
+\newenvironment{proposal}[1][]
+{\ofpagetrue\setkeys{dfg@gen}{#1}
+\if@sites\else
+\define@key{workpackage}{RM}{\dfg@def{wp}\wp@id{RM}{##1}\@dmp{RM=##1}}
+\if@RAM\define@key{workpackage}{RAM}{\dfg@def{wp}\wp@id{RAM}{##1}\@dmp{RAM=##1}}\fi
+\fi
+\begin{dfg@titlepage}
+ {\LARGE \dfg@gen@instrument}\\[.2cm]
+ {\LARGE\textbf{\dfg@gen@title}}\\[.3cm]
+ {\LARGE Acronym: {\dfg@gen@acronym}}\\[.2cm]
+ {\large\today}\\[1em]
+\end{dfg@titlepage}
+\section{General Information \deu{(Allgemeine Angaben)}}
+\dfg@applicants
+\dfg@topic
+\dfg@area@field
+\subsection{Anticipated total duration \deu{(Voraussichtliche
+ Gesamtdauer)}}\dfg@gen@months\quad Months
+\subsection{Application period \deu{(Antragszeitraum)}}\dfg@gen@start
+\selectlanguage{USenglish}}
+{\thispagestyle{empty}\signatures
+\section{List of Attachments \deu{(Verzeichnis der Anlagen)}}
+\begin{itemize}
+\@for\@I:=\dfg@gen@PIs\do{%
+\item Curriculum Vitae and list of publications for
+ \@nameuse{dcm@person@\@I @personaltitle}
+ \@nameuse{dcm@person@\@I @name}
+ (CD + printed version)}
+\item Publications either cited in section~\ref{sec:ourpubs} or occurring in one of the
+ curricula vitae (CD only)
+\end{itemize}
+\dfg@def{prop}{page}{last}{\thepage}\ofpagefalse
+\newpage
+\printbibliography[heading=warnpubs]}
+\defbibheading{warnpubs}{\section*{References}%
+ \@ifundefined{dfg@gen@pubspages}
+ {\@latex@warning{No publication pages specified;
+ use the pubspage key in the proposal environment!}}
+ {Many of the proposers' publications are online at one of the following URIs:
+ \@for\@I:=\dfg@gen@pubspages\do{\par\noindent\url{\@I}}}}
+\newenvironment{finalreport}[1][]
+{\ofpagetrue\setkeys{dfg@gen}{#1}
+\begin{dfg@titlepage}
+ {\LARGE Final Project Report}\\[.2cm]
+ {\LARGE\textbf{\dfg@gen@title}}\\[.3cm]
+ {\LARGE Acronym: {\dfg@gen@acronym}}\\[.2cm]
+ {\large Reference number(s): \@ifundefined{dfg@gen@keys}{??:???? ?/?}{\dfg@gen@keys}}\\[.2cm]
+ {\large\today}\\[1em]
+\end{dfg@titlepage}
+\section{General Information \deu{(Allgemeine Angaben)}}
+\dfg@applicants
+\dfg@topic
+\subsection{Funding Period \deu{(F\"orderzeitraum)}}\dfg@gen@fundedperiod
+\subsection{Report Period \deu{(Berichtszeitraum)}}\dfg@gen@reportperiod
+\selectlanguage{USenglish}}
+{\dfg@def{prop}{page}{last}{\thepage}\ofpagefalse}
+\newenvironment{Summary}{\subsection{Summary \deu{(Zusammenfassung)}}}{}
+\newenvironment{Abriss}%
+{\selectlanguage{ngerman}\subsection*{Zusammenfassung (dt. Version)}}
+{\selectlanguage{USenglish}}
+\def\dfg@def#1#2#3#4{%\@dfg@def{#1}{#2}{#3}{#4}%
+ \protected@write\@auxout{}{\string\@dfg@def{#1}{#2}{#3}{#4}}}
+\ifwork@areas
+\define@key{workarea}{id}{\def\wa@id{#1}\@dmp{id=#1}}
+\define@key{workarea}{title}{\dfg@def{wa}\wa@id{title}{#1}}
+\define@key{workarea}{short}{\dfg@def{wa}\wa@id{short}{#1}}
+\fi
+\define@key{workpackage}{id}{\def\wp@id{#1}\@dmp{id=#1}}
+\define@key{workpackage}{title}{\dfg@def{wp}\wp@id{title}{#1}}
+\define@key{workpackage}{lead}{\dfg@def{wp}\wp@id{lead}{#1}\def\wp@lead{#1}\@dmp{lead=#1}}
+\define@key{workpackage}{short}{\dfg@def{wp}\wp@id{short}{#1}}
+\def\wp@mk@title#1{Work Package {#1}}
+\def\wp@label#1{WP{#1}}
+\ifwork@areas
+\def\wa@label#1{WA{#1}}
+\def\wa@mk@title#1{Work Area {#1}}
+\fi
+\ifwork@areas\newcounter{wa}\newcounter{wp}[wa]\else\newcounter{wp}\fi
+\newcounter{allwp}
+\def\update@wps#1{\@ifundefined{@wps}{\xdef\@wps{#1}}{\xdef\@wps{\@wps,#1}}}
+\def\update@tasks#1{\@ifundefined{@tasks}{\xdef\@tasks{#1}}{\xdef\@tasks{\@tasks,#1}}}
+\def\update@deps#1{\@ifundefined{task@deps}{\xdef\task@deps{#1}}{\xdef\task@deps{\task@deps,#1}}}
+\ifwork@areas\def\update@was#1{\@ifundefined{@was}{\xdef\@was{#1}}{\xdef\@was{\@was,#1}}}\fi
+\newcounter{wp@RM}
+\if@RAM\newcounter{wp@RAM}\fi
+\newenvironment{workpackage}[1][]%
+{\setkeys{workpackage}{#1}\stepcounter{wp}\stepcounter{allwp}%
+\let\@tasks=\relax%
+\edef\wp@num{\ifwork@areas\thewa.\fi\thewp}%
+\dfg@def{wp}\wp@id{label}{\wp@label\wp@num}%
+\dfg@def{wp}\wp@id{number}{\thewp}%
+\dfg@def{wp}\wp@id{page}{\thepage}%
+\update@wps\wp@id%
+\edef\wp@num{\ifwork@areas\thewa.\fi\thewp}%
+\dfg@def{wp}{\wp@id}{num}{\thewp}%
+\if@sites%
+{\let\G@refundefinedtrue=\relax\let\@latex@warning=\relax%
+\xdef\sites@line{Site}\xdef\efforts@line{Effort}%initialize lines
+\setcounter{wp@RM}{0}%
+\if@RAM\setcounter{wp@RAM}{0}\fi%
+\@for\@site:=\dfg@gen@sites\do{%
+\xdef\sites@line{\sites@line&\@site\ifx\@site\wp@lead~(lead)\fi}%
+\xdef\efforts@line{\efforts@line&\euref\wp@id\@site{RM}\if@RAM+\euref\wp@id\@site{RAM}\fi}%
+\edef\@RM{\euref@num\wp@id\@site{RM}}\addtocounter{wp@RM}{\@RM}%
+\if@RAM\edef\@RAM{\euref@num\wp@id\@site{RAM}}\addtocounter{wp@RAM}{\@RAM}\fi}}%
+\dfg@def{wp}\wp@id{RM}{\thewp@RM}%
+\if@RAM\dfg@def{wp}\wp@id{RAM}{\thewp@RAM}\fi%
+\bigskip\noindent\begin{tabular}{|l||l|*{\the@sites}{c|}}\hline%
+\textbf{\wp@mk@title{\wp@num}}&\sites@line\\\hline%
+\textsf{\dfg@target{wp}{\wp@id}{\euref{wp}\wp@id{title}}} &\efforts@line\\\hline%
+\end{tabular}\smallskip\par\noindent\ignorespaces%
+\else% if@sites
+\subsubsection*{\wp@mk@title{\wp@num}: \dfg@target{wp}{\wp@id}{\euref{wp}\wp@id{title}}
+(\euref@safe{wp}\wp@id{RM} RM\if@RAM+\euref{wp}\wp@id{RAM} RAM\fi)}%
+\fi}%
+{\@ifundefined{@tasks}{}{\dfg@def{\wp@id}{task}{ids}\@tasks}}
+\newcounter{dfg@RM}\if@RAM\newcounter{dfg@RAM}\fi
+\ifwork@areas
+\newcounter{wa@RM}\if@RAM\newcounter{wa@RAM}\fi\newcounter{wa@wps}
+\newenvironment{workarea}[1][]
+{\setkeys{workarea}{#1}
+\let\@wps=\relax
+\stepcounter{wa}
+\dfg@def{wa}{\wa@id}{label}{\wa@label\thewa}
+\dfg@def{wa}{\wa@id}{number}{\thewa}
+\dfg@def{wa}{\wa@id}{page}{\thepage}
+\update@was{\wa@id}
+\dfg@def{wa}{\wa@id}{num}{\thewa}
+\setcounter{wa@RM}{0}\if@RAM\setcounter{wa@RAM}{0}\fi\setcounter{wa@wps}{0}
+\if@sites
+\@for\@site:=\dfg@gen@sites\do{%
+\edef\@@wps{\euref@aux\wa@id{wp}{ids}}
+\@for\@wp:=\@@wps\do{%
+ \edef\@RM{\euref@num\@wp\@site{RM}}
+ \if@RAM\edef\@RAM{\euref@num\@wp\@site{RAM}}\fi
+ \addtocounter{wa@RM}{\@RM}\addtocounter{dfg@RM}{\@RM}
+ \if@RAM\addtocounter{wa@RAM}{\@RAM}\addtocounter{dfg@RAM}{\@RAM}\fi}}
+\else
+\edef\@@wps{\euref@aux\wa@id{wp}{ids}}
+\@for\@wp:=\@@wps\do{%
+ \edef\@RM{\euref@num{wp}\@wp{RM}}
+ \if@RAM\edef\@RAM{\euref@num{wp}\@wp{RAM}}\fi
+ \stepcounter{wa@wps}
+ \addtocounter{wa@RM}{\@RM}\addtocounter{dfg@RM}{\@RM}
+ \if@RAM\addtocounter{wa@RAM}{\@RAM}\addtocounter{dfg@RAM}{\@RAM}\fi}
+\fi
+\dfg@def{wa}\wa@id{RM}\thewa@RM
+\dfg@def{dfg}{all}{RM}\thedfg@RM
+\if@RAM
+\dfg@def{wa}\wa@id{RAM}\thewa@RAM
+\dfg@def{dfg}{all}{RAM}\thedfg@RAM
+\fi
+\subsection*{{\wa@mk@title\thewa}: {\dfg@target{wa}\wa@id{\euref{wa}\wa@id{title}}}}}
+{\@ifundefined{@wps}{}{\dfg@def\wa@id{wp}{ids}\@wps}\dfg@def\wa@id{wp}{count}\thewa@wps}\fi
+\newenvironment{workplan}%
+{\ifwork@areas\let\@was=\relax\else\let\@wps=\relax\fi}%
+{\@ifundefined{task@deps}{}{\dfg@def{all}{task}{deps}{\task@deps}}
+\ifwork@areas
+\@ifundefined{@was}{}{\dfg@def{all}{wa}{ids}\@was}
+\else
+\@ifundefined{@wps}{}{\dfg@def{all}{wp}{ids}\@wps}
+\fi
+\ifwork@areas\dfg@def{all}{wa}{count}{\thewa}\fi
+\ifwork@areas\dfg@def{all}{wp}{count}{\theallwp}\fi}
+\def\dfg@target#1#2#3{\hypertarget{#1@#2@target}{#3}}
+\newenvironment{tasklist}
+{\begin{compactenum}}{\end{compactenum}}
+\def\task@label#1{T#1}
+\define@key{task}{id}{\def\task@id{#1}\@dmp{id=#1}}
+\define@key{task}{start}{\def\task@start{#1}\@dmp{start=#1}}
+\define@key{task}{len}{\def\task@len{#1}\@dmp{len=#1}}
+\define@key{task}{force}{\def\task@force{#1}\@dmp{f=#1}}
+\define@key{task}{requires}{\@requires\task@id{#1}\@dmp{req=#1}}
+\define@key{task}{title}{\def\task@title{#1}\@dmp{title=#1}}
+\def\task@set#1{\edef\task@id{task\thetask@all}
+\def\task@force{1}
+\let\task@start=\relax\let\task@len=\relax
+\setkeys{task}{#1}}
+\newenvironment{task}[1][]
+{\@task{#1}\item[\dfg@target{task}{\taskin\task@id\wp@id}{\task@label{\thetask@wp}}]%
+\@ifundefined{task@title}{}{\textbf{\task@title}}}
+{}
+\newcounter{task@all}\newcounter{task@wp}[wp]
+\newcount\task@@end
+\def\@task#1{\stepcounter{task@all}\stepcounter{task@wp}
+ \task@set{#1}
+ \@ifundefined{task@start}%
+ {\protect\G@refundefinedtrue\@latex@warning{start of task #1 undefined}}%
+ {\dfg@def{task}{\taskin\task@id\wp@id}{start}\task@start}
+ \@ifundefined{task@len}%
+ {\protect\G@refundefinedtrue\@latex@warning{length of task #1 undefined}}%
+ {\dfg@def{task}{\taskin\task@id\wp@id}{len}\task@len}
+ \dfg@def{task}{\taskin\task@id\wp@id}{force}\task@force
+ \dfg@def{task}{\taskin\task@id\wp@id}{label}{\task@label\thetask@wp}%
+ \dfg@def{task}{\taskin\task@id\wp@id}{number}{\thetask@wp}%
+ \dfg@def{task}{\taskin\task@id\wp@id}{page}{\thepage}%
+ \update@tasks{\taskin\task@id\wp@id}}
+\def\workphase#1{\@task{#1}}
+\def\localtaskref#1{\euRef{task}{\wp@id @#1}{label}}
+\def\taskin#1#2{#2@#1}
+\def\taskref#1#2{\WPref{#1}\euRef{task}{#1@#2}{label}}
+\def\tasktref#1#2{\WPref{#1} (Task \euRef{task}{#1@#2}{number})}
+\newcounter{gantt@deps}
+\def\@requires#1#2{\stepcounter{gantt@deps}%
+\edef\dep@id{taskdep\thegantt@deps}%
+\dfg@def{taskdep}\dep@id{from}{\taskin{#1}\wp@id}%
+\dfg@def{taskdep}\dep@id{to}{#2}%
+\update@deps\dep@id}
+\defbibheading{empty}{}
+\def\dfgprojpapers#1{%
+\subsection{Project-Related List of Publications}\label{sec:ourpubs}
+\begin{refsection}
+\nocite{#1}
+\printbibliography[heading=empty]
+\end{refsection}}
+\def\@dfg@def#1#2#3#4{\expandafter\gdef\csname #1@#2@#3\endcsname{#4}}
+\def\euref#1#2#3{\@ifundefined{#1@#2@#3}%
+ {\protect\G@refundefinedtrue\@latex@warning{#3 for #1 #2 undefined}??}%
+ {\csname #1@#2@#3\endcsname}}%
+\def\euref@aux#1#2#3{\@ifundefined{#1@#2@#3}{??}{\csname #1@#2@#3\endcsname}}%
+\def\euref@num#1#2#3{\@ifundefined{#1@#2@#3}{0}{\csname #1@#2@#3\endcsname}}%
+\def\euref@safe#1#2#3{\@ifundefined{#1@#2@#3}{}{\csname #1@#2@#3\endcsname}}%
+\def\euRef#1#2#3{\@ifundefined{#1@#2@#3}%
+{\protect\G@refundefinedtrue\@latex@warning{#3 for #1 #2 undefined}??}%
+{\hyperlink{#1@#2@target}{\csname #1@#2@#3\endcsname}}}
+\def\WPref#1{\euRef{wp}{#1}{label}}
+\def\WPtref#1{\euRef{wp}{#1}{label}: \euRef{wp}{#1}{title}}
+\ifwork@areas
+\def\WAref#1{\euRef{wa}{#1}{label}}
+\def\WAtref#1{\euRef{wa}{#1}{label}: \euRef{wa}{#1}{title}}
+\fi
+\def\@count #1{\ifcase #1 zero\or one\or two\or three\or four\or five\or six\or seven \or
+ eight\or nine\or ten\or eleven \or twelve\else#1\fi}
+\def\dfgcount#1#2{\@count{\euref@num{#1}{#2}{count}}}
+\def\dfg@lead#1{\@ifundefined{wp@#1@lead}%
+{\protect\G@refundefinedtrue\@latex@warning{lead for WP #1 undefined}??}%
+{\csname wp@#1@lead\endcsname}}
+\def\wa@style#1{\cellcolor{lightgray}{\textbf{#1}}}
+\def\wp@style#1{#1}
+\if@RAM
+\newenvironment{wptable}%
+{\begin{tabular}{|l|l|l|l|l|}\hline%
+ \textbf{\ifwork@areas{WA/P}\else{WP}\fi}&
+ \textbf{Title}&
+ \textbf{p.}&
+ \textbf{RM} &
+ \textbf{RAM}\\\hline\hline}
+{\end{tabular}}
+\else
+\newenvironment{wptable}%
+{\begin{tabular}{|l|l|l|l|}\hline%
+ \textbf{\ifwork@areas{WA/P}\else{WP}\fi}&
+ \textbf{Title}&
+ \textbf{p.}&
+ \textbf{RM}\\\hline\hline}
+{\end{tabular}}
+\fi
+\define@key{wpfig}{size}{\def\wpfig@size{#1}\@dmp{size=#1}}
+\def\@sw#1{\begin{sideways}#1\end{sideways}}
+\newcommand{\wpfig}[1][]{\setkeys{wpfig}{#1}
+\newcount\@@@RM\if@RAM\newcount\@@@RAM\fi
+{\gdef\@wp@lines{}%initialize
+\let\tabularnewline\relax\let\hline\relax\let\cellcolor\relax% so they
+\let\wa@style\relax\let\wp@style\relax \let\@sw\relax\let\textbf\relax% do not
+\let\G@refundefinedtrue=\relax\let\@latex@warning=\relax\let\hyperlink=\relax% bother us
+\gdef\wpfig@headline{\textbf{\ifwork@areas{WA/P}\else{WP}\fi}&\textbf{Title}&\textbf{p.}}
+\if@sites
+\@for\@site:=\dfg@gen@sites\do{\xdef\wpfig@headline{\wpfig@headline&\@sw{\@site\ RM}\if@RAM&\@sw{\@site\ RAM}\fi}}
+\else
+\xdef\wpfig@headline{\wpfig@headline &\@sw{RM}\if@RAM&\@sw{RAM}\fi}
+\fi
+\edef\@@was{\euref@safe{all}{wa}{ids}}%
+\@for\@@wa:=\@@was\do{% iterate over the work areas
+\xdef\@@wa@line{\wa@style{\euRef{wa}\@@wa{label}}&
+\wa@style{\@ifundefined{wa@\@@wa @short}{\euref{wa}\@@wa{title}}{\euref{wa}\@@wa{short}}}&
+\wa@style{\euref{wa}\@@wa{page}}}
+\if@sites
+\@for\@site:=\dfg@gen@sites\do{\@@@RM=0\if@RAM\@@@RAM=0\fi
+\edef\@@wps{\euref@safe\@@wa{wp}{ids}}%
+\@for\@@wp:=\@@wps\do{% compute the WA efforts
+\advance\@@@RM by \euref@num\@@wp\@site{RM}%
+\if@RAM\advance\@@@RAM by \euref@num\@@wp\@site{RAM}\fi}
+\xdef\@@wa@line{\@@wa@line&\wa@style{\the\@@@RM}\if@RAM&\wa@style{\the\@@@RAM}\fi}}
+\else
+\@@@RM=0\if@RAM\@@@RAM=0\fi
+\edef\@@wps{\euref@safe{all}{wp}{ids}}%
+\@for\@@wp:=\@@wps\do{% compute the efforts
+\advance\@@@RM by \euref@num{wp}\@@wp{RM}%
+\if@RAM\advance\@@@RAM by \euref@num{wp}\@@wp{RAM}\fi}
+\xdef\@@wa@line{\@@wa@line&\wa@style{\euref{wa}\@@wa{RM}}
+\if@RAM&\wa@style{\euref{wa}\@@wa{RAM}}\fi}%
+\fi
+\xdef\@wp@lines{\@wp@lines\@@wa@line\tabularnewline\hline}% add the line for the workarea
+\edef\@@wps{\euref@safe\@@wa{wp}{ids}}%
+\@for\@@wp:=\@@wps\do{% iterate over its work packages
+\xdef\@@wp@line{\euRef{wp}\@@wp{label}&
+\@ifundefined{wp@\@@wp @short}{\euref{wp}\@@wp{title}}{\euref{wp}\@@wp{short}}&
+\euref{wp}\@@wp{page}}
+\if@sites
+\@for\@site:=\dfg@gen@sites\do{%
+\xdef\@@wp@line{\@@wp@line&\wp@style{\euref\@@wp\@site{RM}}\if@RAM&\wp@style{\euref\@@wp\@site{RAM}}\fi}}%
+\else
+\xdef\@@wp@line{\@@wp@line&\wp@style{\euref{wp}\@@wp{RM}}\if@RAM&\wp@style{\euref{wp}\@@wp{RAM}}\fi}%
+\fi
+\xdef\@wp@lines{\@wp@lines\@@wp@line\tabularnewline\hline}}}
+\gdef\@totals{}
+\if@sites
+\@for\@site:=\dfg@gen@sites\do{\@@@RM=0\if@RAM\@@@RAM=0\fi
+\edef\@@was{\euref@safe{all}{wa}{ids}}%
+\@for\@@wa:=\@@was\do{%
+\edef\@@wps{\euref@safe\@@wa{wp}{ids}}%
+\@for\@@wp:=\@@wps\do{% iterate over the work areas
+\advance\@@@RM by \euref@num\@@wp\@site{RM}%
+\if@RAM\advance\@@@RAM by \euref@num\@@wp\@site{RAM}\fi}}
+\xdef\@totals{\@totals & \textbf{\the\@@@RM}\if@RAM& \textbf{\the\@@@RAM}\fi}}
+\else
+\@@@RM=0\if@RAM\@@@RAM=0\fi
+\edef\@@was{\euref@safe{all}{wa}{ids}}%
+\@for\@@wa:=\@@was\do{\edef\@@wps{\euref@safe\@@wa{wp}{ids}}%
+\@for\@@wp:=\@@wps\do{% iterate over the work areas
+\advance\@@@RM by \euref@num{wp}\@@wp{RM}%
+\if@RAM\advance\@@@RAM by \euref@num{wp}\@@wp{RAM}\fi}}
+\xdef\@totals{&\the\@@@RM\if@RAM &\the\@@@RAM\fi}
+\fi}
+\begin{figure}[ht]\centering%
+\if@RAM
+\begin{tabular}{|l|l|l|*{\the@sites}{|r|r|}}\hline
+\else
+\begin{tabular}{|l|l|l|*{\the@sites}{|r|}}\hline
+\fi
+\wpfig@headline\\\hline\hline
+\@wp@lines\hline
+\multicolumn{3}{|c|}{\textbf{totals}}\@totals\\\hline
+\end{tabular}
+\caption{Work Areas and Work Packages [R{\if@RAM(A)\fi}M $\widehat=$ Researcher \if@RAM(Assistant)\fi Months]}\label{fig:wplist}
+\end{figure}}
+\newif\ifgantt@draft
+\define@key{gantt}{xscale}{\def\gantt@xscale{#1}}
+\define@key{gantt}{yscale}{\def\gantt@yscale{#1}}
+\define@key{gantt}{step}{\def\gantt@step{#1}}
+\define@key{gantt}{size}{\def\gantt@size{#1}}
+\define@key{gantt}{draft}[true]{\gantt@drafttrue}
+\newif\ifgantt@RMdisclaimer\gantt@RMdisclaimerfalse
+\define@key{gantt}{RMdisclaimer}[true]{\gantt@RMdisclaimertrue}
+\def\gantt@set#1{\gantt@draftfalse\def\gantt@xscale{1}\def\gantt@yscale{.35}\def\gantt@step{3}
+\setkeys{gantt}{#1}}
+\newenvironment{gantt}[1][]
+{\gantt@set{#1}
+\@ifundefined{gantt@size}{}{\csname\gantt@size\endcsname}
+\def\gantt@wps{\euref@num{all}{wp}{count}}
+\newdimen\gantt@ymonths
+\gantt@ymonths=\gantt@wps cm
+\advance\gantt@ymonths by .5cm
+\begin{tikzpicture}[xscale=\gantt@xscale,yscale=\gantt@yscale]
+\draw[xstep=\gantt@step,gray,very thin] (0,0) grid (\dfg@gen@months,\gantt@wps);
+\foreach \x in {0,\gantt@step,...,\dfg@gen@months} \node at (\x,\gantt@ymonths) {\x};}
+{\end{tikzpicture}}
+\newdimen\gantt@ymid\newdimen\gantt@yinc\newdimen\gantt@xend
+\newcommand{\@action}[5]{%\message{@action: id=#1, line=#2, start=#3, dur=#4, int=#5.}
+\gantt@ymid=#2 cm\gantt@yinc=\gantt@yscale cm
+\gantt@xend=#3 cm\advance\gantt@xend by #4 cm
+\advance\gantt@ymid by \gantt@yinc
+\fill (#3,#2) rectangle +(#4,#5);
+\node (#1@left) at (#3,\gantt@ymid) {};
+\node (#1@right) at (\gantt@xend,\gantt@ymid) {};}
+\def\@dependency#1#2{\draw[->,line width=2pt,color=red] (#1@right) -- (#2@left);}
+\newcommand{\ganttchart}[1][]{\begin{figure}[ht]\centering
+\begin{gantt}[#1]
+ \newcounter{taskwps}\newcount\@@line
+ \edef\@@was{\euref@safe{all}{wa}{ids}}
+ \@for\@@wa:=\@@was\do{% iterate over work areas
+ \edef\@@wps{\euref@safe\@@wa{wp}{ids}}
+ \@for\@@wp:=\@@wps\do{% iterate over work packages
+ \stepcounter{taskwps}
+ \@@line=\gantt@wps\advance\@@line by -\thetaskwps
+ \edef\@@tasks{\euref@safe\@@wp{task}{ids}}
+ \node at (-1/\gantt@xscale,\@@line) [above=-2pt] {\euRef{wp}\@@wp{label}};
+ \@for\@@task:=\@@tasks\do{% iterate over work phases
+ \@action\@@task\@@line
+ {\euref@num{task}\@@task{start}}
+ {\euref@num{task}\@@task{len}}
+ {\euref@num{task}\@@task{force}}}}}
+ \edef\@@deps{\euref@safe{all}{task}{deps}}
+ \@for\@@dep:=\@@deps\do{\@dependency{\euref@safe{taskdep}\@@dep{from}}{\euref@safe{taskdep}\@@dep{to}}}
+ \ifgantt@draft
+ \newcounter{gantt@month}
+ \newcount\@@e\newdimen\gantt@effort\newdimen\gantt@plus
+ \@whilenum\thegantt@month<\dfg@gen@months\do{% step over months
+ \gantt@effort=0cm
+ \edef\@@was{\euref@safe{all}{wa}{ids}}
+ \@for\@@wa:=\@@was\do{% iterate over work areas
+ \edef\@@wps{\euref@safe\@@wa{wp}{ids}}
+ \@for\@@wp:=\@@wps\do{% iterate over work packages
+ \edef\@@tasks{\euref@safe\@@wp{task}{ids}}
+ \@for\@@task:=\@@tasks\do{% iterate over work phases
+ \@@e=\euref@num{task}\@@task{start}
+ \advance\@@e by \euref@num{task}\@@task{len}
+ \ifnum\thegantt@month<\euref@num{task}\@@task{start}\else
+ \ifnum\thegantt@month<\@@e
+ \gantt@plus=\euref@num{task}\@@task{force}cm
+ \advance\gantt@effort by \gantt@plus\fi\fi
+ \fill (\thegantt@month,-5) rectangle +(1,\gantt@effort);}}}
+ \stepcounter{gantt@month}}\fi
+ \end{gantt}
+ \ifgantt@RMdisclaimer
+ \caption{Overview Work Package Activities}
+ \else
+ \caption{Overview Work Package Activities \if@RAM(the table only shows efforts
+ for the junior researchers (RM))\fi}
+ \fi\label{fig:activities}
+\end{figure}}
+\newcommand{\signatures}{\section{Signatures \deu{(Unterschriften)}}
+\qquad\number\day. \number\month. \number\year\\[2ex]
+\strut\qquad Date\hfill\@for\@p:=\dfg@gen@PIs\do{%
+\dcm@pers@ref\@p{personaltitle}~\dcm@pers@ref\@p{name}\hfill}}
+\def\@dmp#1{\ifkeys\marginpar{#1}\fi}
+\def\texteuro{\officialeuro\xspace}
+\endinput
+%%
+%% End of file `dfgproposal.cls'.