summaryrefslogtreecommitdiff
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
parentda96e42d00bfa5af4b4d7e72fd441b85ff4d3280 (diff)
new latex package dfgproposal 1.0 (4nov10)
git-svn-id: svn://tug.org/texlive/trunk@20317 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/texmf-dist/doc/latex/dfgproposal/CV_PubList_Kohlhase.tex50
-rw-r--r--Master/texmf-dist/doc/latex/dfgproposal/DCMpersons.tex33
-rw-r--r--Master/texmf-dist/doc/latex/dfgproposal/Makefile.template24
-rw-r--r--Master/texmf-dist/doc/latex/dfgproposal/README17
-rw-r--r--Master/texmf-dist/doc/latex/dfgproposal/README.TEXLIVE8
-rw-r--r--Master/texmf-dist/doc/latex/dfgproposal/cvpubsmiko.pdfbin0 -> 79397 bytes
-rw-r--r--Master/texmf-dist/doc/latex/dfgproposal/dfgproposal.pdfbin0 -> 312868 bytes
-rw-r--r--Master/texmf-dist/doc/latex/dfgproposal/finalreport.pdf0
-rw-r--r--Master/texmf-dist/doc/latex/dfgproposal/finalreport.tex56
-rw-r--r--Master/texmf-dist/doc/latex/dfgproposal/funds.tex69
-rw-r--r--Master/texmf-dist/doc/latex/dfgproposal/mittel.tex69
-rw-r--r--Master/texmf-dist/doc/latex/dfgproposal/preconditions.tex74
-rw-r--r--Master/texmf-dist/doc/latex/dfgproposal/progressreport.tex30
-rw-r--r--Master/texmf-dist/doc/latex/dfgproposal/progresssummary.tex20
-rw-r--r--Master/texmf-dist/doc/latex/dfgproposal/proposal.pdf0
-rw-r--r--Master/texmf-dist/doc/latex/dfgproposal/proposal.tex75
-rw-r--r--Master/texmf-dist/doc/latex/dfgproposal/state.tex37
-rw-r--r--Master/texmf-dist/doc/latex/dfgproposal/workplan.tex159
-rw-r--r--Master/texmf-dist/doc/latex/dfgproposal/zusammenfassung.tex20
-rw-r--r--Master/texmf-dist/source/latex/dfgproposal/dfgproposal.dtx1277
-rw-r--r--Master/texmf-dist/source/latex/dfgproposal/dfgproposal.ins35
-rw-r--r--Master/texmf-dist/tex/latex/dfgproposal/dfgproposal.cls540
-rwxr-xr-xMaster/tlpkg/bin/tlpkg-ctan-check3
-rwxr-xr-xMaster/tlpkg/libexec/ctan2tds1
-rw-r--r--Master/tlpkg/tlpsrc/collection-publishers.tlpsrc1
-rw-r--r--Master/tlpkg/tlpsrc/dfgproposal.tlpsrc0
26 files changed, 2597 insertions, 1 deletions
diff --git a/Master/texmf-dist/doc/latex/dfgproposal/CV_PubList_Kohlhase.tex b/Master/texmf-dist/doc/latex/dfgproposal/CV_PubList_Kohlhase.tex
new file mode 100644
index 00000000000..5cb10ce292b
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/dfgproposal/CV_PubList_Kohlhase.tex
@@ -0,0 +1,50 @@
+\documentclass{article}
+\usepackage{a4wide,url,ngerman}
+\usepackage{biblatex}
+\bibliography{dummy}
+\defbibheading{empty}{}
+\def\omdoc{OMDoc}
+
+\begin{document}
+
+\begin{center}\huge\bf
+ Lebenslauf (kurz), Publikationen\\
+ Prof.\ Dr.\ Michael Kohlhase
+\end{center}
+
+\section{Tabellarischer Lebenslauf}
+
+\noindent\begin{tabular}{lp{12cm}}
+Name: & Dr.\ Michael Kohlhase, geb.\ Kaup 13.9.1964 in Erlangen \\
+\ldots
+\end{tabular}
+
+\section{F"unf wichtige Ver"offentlichungen}
+Eine vollst"andige Liste zum Teil mit Volltexten (21 Journalartikel, 15 Beitr"age in
+Sammelb"anden, 60 Beitr"age auf interantionalen Konferenzen und ca. 40 Beitr"age in der
+grauen Literatur (Workshopbeitr"age und Technical Reports) kann unter
+\url{http://kwarc.info/kohlhase/publications.html} eingesehen werden.
+
+\nocite{Kohlhase:pdpl10,providemore}
+\printbibliography[heading=empty]
+\end{document}
+
+%%% Local Variables:
+%%% mode: latex
+%%% TeX-master: t
+%%% End:
+
+% LocalWords: miko Kaup ubingen qquad Universit Studienf acher adikat Hyperfl
+% LocalWords: homologische Minimalit extremalen achen Mannigfaltigkeiten arz
+% LocalWords: Siekmann Auckand Calude Bundy Benthem Pfenning Deduktionssysteme
+% LocalWords: Heisenbergstipendium unstliche Ausgew ahlte offentlichungen ofx
+% LocalWords: vollst andige footnotesize subsubsection ucher omdoclnai omdoc
+% LocalWords: emph Freksa Schill CALCULEMUS-2000 Kerber Beitr Stamerjohanns sc
+% LocalWords: textbf Deyan Ginev Catalin Birkh auser Chulkov rgen onw exttjsl
+% LocalWords: Benzmueller impredicativity Benzm Extensionality mgperfmod casys
+% LocalWords: calculemus-jsl sigsam00 hocujar Hutter omega-kogwiss hocutsi unf
+% LocalWords: Kognitionswissenschaft lisa-kogwiss Coloured foascomp99 ovely
+% LocalWords: nterface jucs99 jancl Scheja sapperjar sortski oherer Scientec
+% LocalWords: omegaife Nesmith Richts Beweisentwicklungsumgebung sosklkgs dipl
+% LocalWords: Logicum odel-Society noindent Sammelb interantionalen nocite
+% LocalWords: Workshopbeitr ufungsarbeiten pdpl10 providemore
diff --git a/Master/texmf-dist/doc/latex/dfgproposal/DCMpersons.tex b/Master/texmf-dist/doc/latex/dfgproposal/DCMpersons.tex
new file mode 100644
index 00000000000..efbe1a5ec09
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/dfgproposal/DCMpersons.tex
@@ -0,0 +1,33 @@
+\DCMperson[id=miko,
+ personaltitle=Prof. Dr.,
+ birthdate=13. September 1964,
+ academictitle=Professor of Computer Science,
+ affiliation=Jacobs University Bremen,
+ department=Computer Science,
+ privaddress=None of your business,
+ privtel=that neither,
+ email=m.kohlhase@jacobs-university.de,
+ workaddress={Campus Ring 1, 28717 Bremen},
+ worktel=+49 421 200 3140,
+ workfax=+49 421 200 493140]
+ {Michael Kohlhase}
+\DCMperson[id=gc,
+ personaltitle=Dr.,
+ academictitle=Senior Researcher,
+ birthdate=14. April 1972,
+ affiliation=Power Consulting GmbH,
+ department=Science Affairs,
+ privaddress=None of your business,
+ privtel=that neither,
+ workaddress= ,
+ worktel=+49 421 0815 4711,
+ workfax=+49 421 0815 4712,
+ email=gc@pcg.phony]
+ {Great Communicator}
+
+%%% Local Variables:
+%%% mode: latex
+%%% End:
+
+% LocalWords: DCMperson miko personaltitle academictitle privaddress privtel
+% LocalWords: workaddress worktel workfax gc
diff --git a/Master/texmf-dist/doc/latex/dfgproposal/Makefile.template b/Master/texmf-dist/doc/latex/dfgproposal/Makefile.template
new file mode 100644
index 00000000000..edad27867e6
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/dfgproposal/Makefile.template
@@ -0,0 +1,24 @@
+TARGET = proposal.tex CV_PubList_Kohlhase.tex
+TARGET.pdf = $(TARGET:%.tex=%.pdf)
+PDFLATEX = pdflatex -interaction nonstopmode -file-line-error
+
+all: $(TARGET.pdf)
+
+$(TARGET.pdf): %.pdf: %.tex
+ $(PDFLATEX) $< || $(RM) $@
+ @echo
+ @if (test -e $(patsubst %.tex, %.idx, $<));\
+ then makeindex $(patsubst %.tex, %.idx, $<); fi
+ @echo
+ @if (grep "(re)run BibTeX" $(patsubst %.tex, %.log, $<)> /dev/null);\
+ then bibtex $(patsubst %.tex, %, $<); bibtex $(patsubst %.tex, %1-blx, $<);fi
+ @echo
+ $(PDFLATEX) $< || $(RM) $@
+ @echo
+ @if (grep Rerun $(patsubst %.tex, %.log, $<) > /dev/null);\
+ then $(PDFLATEX) $< || $(RM) $@; fi
+ @if (grep Rerun $(patsubst %.tex, %.log, $<) > /dev/null);\
+ then $(PDFLATEX) $< || $(RM) $@; fi
+
+echo:
+ echo $(TARGET.pdf)
diff --git a/Master/texmf-dist/doc/latex/dfgproposal/README b/Master/texmf-dist/doc/latex/dfgproposal/README
new file mode 100644
index 00000000000..2d6e770a113
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/dfgproposal/README
@@ -0,0 +1,17 @@
+dfgproposal.cls: A class for preparing DFG proposals for collaborative projects
+
+The dfgproposal class supports many of the specific elements of an Einzelantrag to the
+DFG. It is optimized towards collaborative projects. The package comes with an extensive
+example (a fake DFG proposal; see the file proposal.tex) that shows all elements in action.
+
+The two files 1_02.pdf and 1_02e.pdf describe DFG's formal requirements for a
+proposal. They are not subject to the package's license but (c) DFG. They are
+bundled for your convenience; up-to-date versions may be found at
+http://www.dfg.de.
+
+Copyright(c) 2010 Michael Kohlhase
+The package is distributed under the terms of the LaTeX Project Public License (LPPL)
+
+The development version of this package can be found at
+https://svn.kwarc.info/repos/kwarc/doc/macros/forCTAN/dfgproposal
+
diff --git a/Master/texmf-dist/doc/latex/dfgproposal/README.TEXLIVE b/Master/texmf-dist/doc/latex/dfgproposal/README.TEXLIVE
new file mode 100644
index 00000000000..e040ec95858
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/dfgproposal/README.TEXLIVE
@@ -0,0 +1,8 @@
+The following files have been removed in the TeX Live installation of
+the current package, typically due to duplication, lack of space, or
+missing source code. You can find these files on CTAN at
+ http://mirror.ctan.org/macros/latex/contrib/dfgproposal
+If questions or concerns, email tex-live@tug.org.
+
+ 1_02.pdf
+ 1_02e.pdf
diff --git a/Master/texmf-dist/doc/latex/dfgproposal/cvpubsmiko.pdf b/Master/texmf-dist/doc/latex/dfgproposal/cvpubsmiko.pdf
new file mode 100644
index 00000000000..c1b0bb14a2c
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/dfgproposal/cvpubsmiko.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/dfgproposal/dfgproposal.pdf b/Master/texmf-dist/doc/latex/dfgproposal/dfgproposal.pdf
new file mode 100644
index 00000000000..a8e688521ac
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/dfgproposal/dfgproposal.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/dfgproposal/finalreport.pdf b/Master/texmf-dist/doc/latex/dfgproposal/finalreport.pdf
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/dfgproposal/finalreport.pdf
diff --git a/Master/texmf-dist/doc/latex/dfgproposal/finalreport.tex b/Master/texmf-dist/doc/latex/dfgproposal/finalreport.tex
new file mode 100644
index 00000000000..88ae6b4bbcc
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/dfgproposal/finalreport.tex
@@ -0,0 +1,56 @@
+% the document class specification for the proposal writing process, add the 'submit' option
+% for submitting (switches off various draft features); add the 'public' option to exclude
+% any private parts.
+\documentclass{dfgproposal}
+%\documentclass[submit]{dfgproposal}
+%\documentclass[submit,public]{dfgproposal}
+\bibliography{kwarc}
+% the following lines get updated by subversion keyword replacement. They are used by the
+% \svninfo package in draft mode to generate metadata.
+\svnInfo $Id: finalreport.tex 20450 2010-11-03 08:30:05Z kohlhase $
+\svnKeyword $HeadURL: https://svn.kwarc.info/repos/kwarc/doc/macros/forCTAN/dfgproposal/finalreport.tex $
+%
+% define the proposal acronym;
+% use \texorpdfstring so that it can be used in section headings as well
+\def\ipower{\texorpdfstring{\textsc{iPoWr}}{iPoWr}}
+\def\ipowerlong{{\underline{I}ntelligent} {\underline{P}r\underline{o}sal} {\underline{Wr}iting}}
+% tell the class that this is the proposal acronym
+\input{DCMpersons}
+\begin{document}
+\begin{finalreport}[PI=miko,PI=gc,site=JU,site=PC,
+ title=\ipower: \ipowerlong,
+ thema=Intelligentes Schreiben von Antr\"agen,
+ acronym=\ipower,acrolong=\ipowerlong,
+ key = KO 2428 99-9,
+ fundedperiod=1. Feb. 2010 - 31. Jan. 2015,
+ reportperiod=1. Feb. 2010 - 31. Jan. 2012]
+
+% It is often good to separate the top-level sections into separate files.
+% Especially in collaborative proposals. We do this here.
+\include{progressreport}
+\include{progresssummary}
+\thispagestyle{empty}\signatures
+% \section{Attachment \deu{(Anlagen)}}
+% --- keine ---
+\end{finalreport}
+% \newpage
+\printbibliography
+% Many of the proposers' publications are online at
+% \url{http://kwarc.info/kohlhase/publications.html} and
+% \url{http://www. pcg.phony/people/gc/pubs.html}.
+
+\end{document}
+
+%%% Local Variables:
+%%% mode: LaTeX
+%%% TeX-master: t
+%%% End:
+
+% LocalWords: empty bibflorian systems rabe institutions modal historical pub
+% LocalWords: kwarc till formalsafe miko gc ipower ipowerlong Antr agen Beitr
+
+% LocalWords: acrolong intellegible kollaboratives koh arenten ussen Proze
+% LocalWords: Versionsmanagementsystem textsc unterst utzt konzentieren stex
+% LocalWords: mechanik workplan thispagestyle newpage Principcal cvpubsmiko
+% LocalWords: finalreport fundedperiod reportperiod progressreport
+% LocalWords: progresssummary
diff --git a/Master/texmf-dist/doc/latex/dfgproposal/funds.tex b/Master/texmf-dist/doc/latex/dfgproposal/funds.tex
new file mode 100644
index 00000000000..9e71b01cd35
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/dfgproposal/funds.tex
@@ -0,0 +1,69 @@
+\svnInfo $Id: funds.tex 20439 2010-11-01 10:51:35Z kohlhase $
+\svnKeyword $HeadURL: https://svn.kwarc.info/repos/kwarc/doc/macros/forCTAN/dfgproposal/funds.tex $
+\section{Funds Requested \deu{(Beantragte Mittel; siehe Appendix~\ref{sec:mittel})}}
+
+\subsection{Staff \deu{(Personalbedarf; siehe~\ref{sec:mittel:stellen})}}\label{sec:positions}
+
+We apply for the following seven positions; all run over the entire duration of the
+proposed project.
+\begin{enumerate}
+\item[A] One junior researcher \deu{(Wissenschaftlicher Mitarbeiter JU)} with a background
+ in {\LaTeX}. We have been able to win Dr. Elfenbein Turm for this position, she has
+ worked on the {\ipower} project at Jacobs University.
+\item[B] Half a junior researcher \deu{(Wissenschaftlicher Mitarbeiter PC)}. We are
+ looking for a person with a background in public relations to sell the product to the
+ scientific community.
+\item[RA] Two research assistants \deu{(wissenschaftliche Hilfskraft)} for implementation
+ work.
+\end{enumerate}
+
+\subsection{Scientific Instrumentation \deu{(Wissenschaftliche Ger\"ate; siehe~\ref{sec:mittel:geraete})}}
+
+\paragraph{More than 10.000 \texteuro.}
+--- does not apply ---
+
+\paragraph{Less than 10.000 \texteuro.}
+
+PC will cover the workspace, computing needs, and consumables for its staff as part of the
+basic support.
+
+\paragraph{Fees.} --- does not apply ---
+
+\subsection{Consumables \deu{(Verbrauchsmaterial; siehe~\ref{sec:mittel:verbrauch})}}
+
+--- none ---
+
+\subsection{Travel Expenses \deu{(Reisen; siehe~\ref{sec:mittel:reisen})}}
+\begin{oldpart}{rework}
+ The travel budget shall cover:
+ \begin{itemize}
+ \item visits to external collaborators. We expect two international visits. We estimate
+ that each visit will be most effective, if the junior researchers can spend about 3
+ weeks with the partners. Thus we estimate 2500 {\texteuro} per visit.
+ \item visits to national conferences to disseminate the results of {\ipower}. We expect
+ one visit for each year for each of the three researchers. (3 x 3 x 1000 {\texteuro})
+ \item visits to international conferences to disseminate the results of {\ipower}. These
+ are in particular the International Joint Conference on Document Engineering (DocEng)
+ and the Tech User Group Meeting (TUG). We expect one visit for each proposed
+ researcher and for each year. (3 x 3 x 1500 {\texteuro})
+ \end{itemize}
+
+ This sums up to a total amount of 32.500 {\texteuro} for travel expenses for the whole
+ funding period of three years which is split into 16.250 {\texteuro} for each institute
+ (PC and Jacobs University).
+\end{oldpart}
+
+\subsection{Publication costs \deu{(Publikationskosten; siehe~\ref{sec:mittel:publ})}.}
+
+--- does not apply ---
+
+\subsection{Other costs \deu{(Sonstige Kosten; siehe~\ref{sec:mittel:sonst})}}
+--- none ---
+
+
+%%% Local Variables:
+%%% mode: LaTeX
+%%% TeX-master: "proposal"
+%%% End:
+
+% LocalWords: ipower texteuro
diff --git a/Master/texmf-dist/doc/latex/dfgproposal/mittel.tex b/Master/texmf-dist/doc/latex/dfgproposal/mittel.tex
new file mode 100644
index 00000000000..a53297929ca
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/dfgproposal/mittel.tex
@@ -0,0 +1,69 @@
+\svnInfo $Id: mittel.tex 20439 2010-11-01 10:51:35Z kohlhase $
+\svnKeyword $HeadURL: https://svn.kwarc.info/repos/kwarc/doc/macros/forCTAN/dfgproposal/mittel.tex $
+\selectlanguage{ngerman}
+\section{Beantragte Mittel (dt. Version)}\label{sec:mittel}
+
+\subsection{Personalbedarf}\label{sec:mittel:stellen}
+Wir beantragen die folgenden vier Stellen f\"ur die Gesamtlaufzeit des beantragten Projektes:
+\begin{enumerate}
+\item[A] Ein wissenschaftlicher Mitarbeiter, der Hintergrundwissen {\LaTeX} mitbringt. Wir
+ konnten Dr. Elfenbein Turm f\"ur diese Aufgabe gewinnen. Sie hat bereits im {\ipower}
+ Projekt an der Jacobs University mitgearbeitet.
+\item[B] Ein halber wissenschaftlicher Mitarbeiter bei der PC GmbH. Wir suchen nam einer
+ Person mit Hintergrundwissen im Marketing, der das {\ipower} system der akademischen
+ Community verkaufen kann.
+\item[RA] zwei wissenschaftliche Hilfskr"afte f"ur Implementierungsarbeiten.
+\end{enumerate}
+
+\subsection{Wissenschaftliche Ger\"ate}\label{sec:mittel:geraete}
+
+\paragraph{Ger\"ate \"uber 10.000 Euro:}
+werden nicht beantragt.
+
+\paragraph{Ger\"ate unter 10.000 Euro:}
+
+
+\subsection{Verbrauchsmaterial}\label{sec:mittel:verbrauch}
+Die Kosten f\"ur Verbrauchsmaterialien werden von der PC GmbH getragen.
+
+\subsection{Reisen}\label{sec:mittel:reisen}
+\begin{todo}{this needs to be convincing, otherwise this is one of the first places where
+ the reviewers will cut the proposal.}
+ Describe the planned travel and the budget necessary for this. Something like the stuff
+ below will do.
+\end{todo}
+
+Die beantragten Mittel f\"ur Dienstreisen dienen den folgenden Zwecken:
+\begin{itemize}
+\item Reisen zu den externen Kooperationspartnern. Wir rechnen mit vier internationalen
+ Reisen im Projektzeitraum. Solche Reisen werden am effektivsten sein, wenn eine Person
+ ca. drei Wochen vor Ort mit den Kooperationspartnern arbeitet, daraus ergibt sich ein
+ Bedarf von ca. 2500\texteuro pro Reise.
+\item Reisen zu nationalen Konferenzen, um die Ergebnisse von {\ipower} zu
+ publizieren. Wir planen eine Reise pro Jahr und Mitarbeiter (3 x 3 x 1000\texteuro).
+\item Reisen zu internationalen Konferenzen, um die Ergebnisse von {\ipower} zu
+ verbreiten. Potentielle Konferenzen sind dabei insbesondere: International Joint
+ Conference on Document Engineering (DocEng) und das Tech User Group Meeting (TUG). Wir
+ planen eine Reise pro beantragtem wissenschaftlichen Mitarbeiter und Jahr (2 x 3 x
+ 1500\texteuro).
+\end{itemize}
+
+Dies ergibt eine Summe von 32.500\texteuro f"ur Reisekosten "uber den
+Projektzeitraum. Diese Summer wird zu gleichen Teilen von den angtragstellenden Instituten
+beantragt.
+
+\subsection{Publikationskosten}\label{sec:mittel:publ}
+
+werden nicht beantragt.
+
+\subsection{Sonstige Kosten}\label{sec:mittel:sonst}
+
+werden nicht beantragt.
+\selectlanguage{USenglish}
+
+%%% Local Variables:
+%%% mode: LaTeX
+%%% TeX-master: "proposal"
+%%% End:
+
+% LocalWords: mittel.tex ngerman ipower Hilfskr uber texteuro USenglish
diff --git a/Master/texmf-dist/doc/latex/dfgproposal/preconditions.tex b/Master/texmf-dist/doc/latex/dfgproposal/preconditions.tex
new file mode 100644
index 00000000000..450e80dd466
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/dfgproposal/preconditions.tex
@@ -0,0 +1,74 @@
+\svnInfo $Id: preconditions.tex 20439 2010-11-01 10:51:35Z kohlhase $
+\svnKeyword $HeadURL: https://svn.kwarc.info/repos/kwarc/doc/macros/forCTAN/dfgproposal/preconditions.tex $
+\section{Preconditions for carrying out the project
+ \deu{(Voraussetzungen f\"ur die Durchf\"uhrung des Vorhabens)}}
+
+\subsection{Our team \deu{(Zusammensetzung der Arbeitsgruppe)}}
+\begin{todo}{from the proposal template}
+ Describe the persons in the work groups of the sites and what they do and can contribute
+ to the proposed project. Something like the following will work:
+\end{todo}
+The KWARC (Knowledge Adaptation and Reasoning for Content) research group headed by
+Michael Kohlhase for has the following members
+\begin{description}
+\item[Dr. N.N.] is the \ldots She has a background in\ldots.
+\end{description}
+Additionally, the group has attracted about 10 undergraduate and master's students that
+actively take part in the project work and various aspects of research.
+
+
+\subsection{Cooperation with other scientists \deu{(Zusammenarbeit mit anderen Wissenschaftlern)}}
+
+\begin{todo}{from the proposal template}
+ Describe your cooperation partners, what they can contribute to the project and what you
+ want to do with them. Note that it is not so important to have an impressive list, but a
+ plausible one (like we do below).
+\end{todo}
+
+\subsubsection{Cooperations within the proposed project} \label{coop}
+\begin{description}
+\item[Prof. Dr. Super Akquisiteur (Uni Paderborn)] knows exactly what to do to get funding
+ with DFG, we will interview him closely and integrate all his intuitions into the
+ {\ipower} templates.
+\item[Prof. Dr. Habe Nichts (Uni Hinterpfuiteufel)] has never gotten a grant proposal
+ through with DFG, we will try to avoid his mistakes.
+\item[Dr. Sach Bearbeiter (DFG)] will consult with the DFG requirements to be met in the
+ proposals.
+\item[Dr. Donald Knuth (Stanford University)] is so surprised that we want to do grant
+ proposals in {\TeX/\LaTeX} that he will help us with any problems we have in coding in
+ this wonderful programming language.
+\end{description}
+
+\subsection{Scientific equipment available \deu{(Apparative Ausstattung)}}
+
+Jacobs University provides laptops or desktop workstations for all academic
+employees. Great Consulting GmbH. is rolling in money anyways and has all of the latest
+gadgets.
+
+\subsection{Running costs for materials \deu{(Laufende Mittel f\"ur Sachausgaben)}}
+
+The costs for consumables are covered by the partner institutions
+
+
+\subsection{Conflicts of interest with commercial activities (Interessenkonflikte bei wirtschaftlichen Aktivit\"aten)}
+--- None ---
+
+\subsection{Other requirements \deu{(Sonstige Voraussetzungen)}}
+--- None ---
+
+\section{Declarations \deu{(Erkl\"arungen)}}\label{sec:declarations}
+
+A request for funding this project has not been submitted to any other addressee. In case
+we submit such a request we will inform the Deutsche Forschungsgemeinschaft immediately.
+
+Jacobs University Bremen is currently not a member university of the
+DFG. Prof. Dr. Bernhard Kramer, the dean of the School of Engineering and Science of
+Jacobs University has been notified of the project proposal.
+
+%%% Local Variables:
+%%% mode: LaTeX
+%%% TeX-master: "proposal"
+%%% End:
+
+% LocalWords: Durchf uhrung subsubsection ipower Hinterpfuiteufel Sach Aktivit
+% LocalWords: Erkl arungen
diff --git a/Master/texmf-dist/doc/latex/dfgproposal/progressreport.tex b/Master/texmf-dist/doc/latex/dfgproposal/progressreport.tex
new file mode 100644
index 00000000000..c2e258e96d7
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/dfgproposal/progressreport.tex
@@ -0,0 +1,30 @@
+\svnInfo $Id: progressreport.tex 20450 2010-11-03 08:30:05Z kohlhase $
+\svnKeyword $HeadURL: https://svn.kwarc.info/repos/kwarc/doc/macros/forCTAN/dfgproposal/progressreport.tex $
+\section{Final Progress Report\deu{Arbeits- \& Ergebnisbericht}}
+\begin{todo}{from the report template}
+This is what the refeviewers read (maximum 10 pages of A4)
+ \begin{itemize}
+ \item Project’s initial questions and objectives.
+ \item Project developments --- including deviations from the original plan, failures,
+ and problems encountered with project organisation or technical execution.
+ \item Presentation of results and discussion of the relevant research situation in this
+ context, potential perspectives for application, and conceivable follow-up research.
+ \item Statement on whether the results of the project are economically valuable and whether exploitation is already taking place or may be anticipated; if applicable, details regarding patents, industrial joint ventures, etc.
+ \item Who has contributed to the results achieved by the project (national/international partners, project staff, etc.)?
+ \item Qualification of young researchers in the context of your project (for example, first degree, doctorate, post-doctorate, etc.).
+ \end{itemize}
+ The report must be understandable without the need to consult additional literature. To
+ illustrate and enhance your presentation you may refer to your own and others’
+ publications. Make it clear whenever you are referring to other researchers’ work and
+ explain your own papers. Please list all cited publications at the end of the
+ section. This reference list is not considered your list of publications. Any
+ unpublished work must be included with the final report. However, note that reviewers
+ are not required to read any of the works you cite. Reviews will be based only on the
+ text of the actual report.
+\end{todo}
+%%% Local Variables:
+%%% mode: LaTeX
+%%% TeX-master: "finalreport"
+%%% End:
+
+% LocalWords: finalreport
diff --git a/Master/texmf-dist/doc/latex/dfgproposal/progresssummary.tex b/Master/texmf-dist/doc/latex/dfgproposal/progresssummary.tex
new file mode 100644
index 00000000000..2ed3596377f
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/dfgproposal/progresssummary.tex
@@ -0,0 +1,20 @@
+\svnInfo $Id: progresssummary.tex 20450 2010-11-03 08:30:05Z kohlhase $
+\svnKeyword $HeadURL: https://svn.kwarc.info/repos/kwarc/doc/macros/forCTAN/dfgproposal/progresssummary.tex $
+\section{Final Progress Report\deu{Arbeits- \& Ergebnisbericht}}
+\begin{todo}{from the report template}
+ This is for the DFG web site and report, made available to the general public (maximum 1 page of A4)
+ \begin{itemize}
+ \item Presentation, in clearly understandable, everyday language of the key scientific
+ findings and any potential applications.
+ \item Any surprises encountered in the course of the project and in the results
+ obtained.
+ \item Reference to any articles published in the media reporting the success of the
+ project.Project’s initial questions and objectives.
+ \end{itemize}
+\end{todo}
+%%% Local Variables:
+%%% mode: latex
+%%% TeX-master: "finalreport"
+%%% End:
+
+% LocalWords: finalreport
diff --git a/Master/texmf-dist/doc/latex/dfgproposal/proposal.pdf b/Master/texmf-dist/doc/latex/dfgproposal/proposal.pdf
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/dfgproposal/proposal.pdf
diff --git a/Master/texmf-dist/doc/latex/dfgproposal/proposal.tex b/Master/texmf-dist/doc/latex/dfgproposal/proposal.tex
new file mode 100644
index 00000000000..bb21c165894
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/dfgproposal/proposal.tex
@@ -0,0 +1,75 @@
+% the document class specification for the proposal writing process, add the 'submit' option
+% for submitting (switches off various draft features); add the 'public' option to exclude
+% any private parts.
+\documentclass{dfgproposal}
+%\documentclass[submit]{dfgproposal}
+%\documentclass[submit,public]{dfgproposal}
+\bibliography{dummy}
+
+% the following lines get updated by subversion keyword replacement. They are used by the
+% \svninfo package in draft mode to generate metadata.
+\svnInfo $Id: proposal.tex 20447 2010-11-02 06:59:08Z kohlhase $
+\svnKeyword $HeadURL: https://svn.kwarc.info/repos/kwarc/doc/macros/forCTAN/dfgproposal/proposal.tex $
+%
+% define the proposal acronym;
+% use \texorpdfstring so that it can be used in section headings as well
+\def\ipower{\texorpdfstring{\textsc{iPoWr}}{iPoWr}}
+\def\ipowerlong{{\underline{I}ntelligent} {\underline{P}r\underline{o}sal} {\underline{Wr}iting}}
+% tell the class that this is the proposal acronym
+\input{DCMpersons}
+\begin{document}
+\begin{proposal}[PI=miko,PI=gc,site=JU,site=PC,
+ pubspage={http://kwarc.info/kohlhase/publications.html},
+ pubspage={http://www.pcg.phony/people/gc/pubs.html},
+ title=\ipower: \ipowerlong,
+ thema=Intelligentes Schreiben von Antr\"agen,
+ acronym=\ipower,acrolong=\ipowerlong,
+ start=1. Feb. 2010,
+ months=24,
+ discipline=Computer Science,
+ areas=Knowledge Management]
+\begin{Summary}
+ \begin{todo}{}
+ Summarize the relevant goals of the proposed project in generally intellegible
+ terms. Do not use more than 15 lines (max. 1600 characters).
+ \end{todo}
+ Writing grant proposals is a collaborative effort that requires the integration of
+ contributions from many individuals. The use of an ASCII-based format like LaTeX allows
+ to coordinate the process via a source code control system like Subversion, allowing the
+ proposal writing team to concentrate on the contents rather than the mechanics of
+ wrangling with text fragments and revisions.
+\end{Summary}
+
+% It is often good to separate the top-level sections into separate files.
+% Especially in collaborative proposals. We do this here.
+\input{state}
+\input{workplan}
+% the following will not become part of the public proposal after all most of this is
+% technical or confidential.
+%\begin{private}
+\input{funds}
+\input{preconditions}
+\end{proposal}
+% we do not want the appendix in the public part either, since people should rather look
+% at our web pages.
+\begin{private}
+\begin{appendix}
+\include{mittel}
+\include{zusammenfassung}
+\end{appendix}
+\end{private}
+\end{document}
+
+%%% Local Variables:
+%%% mode: LaTeX
+%%% TeX-PDF-mode:t
+%%% TeX-master: t
+%%% End:
+
+% LocalWords: empty bibflorian systems rabe institutions modal historical pub
+% LocalWords: kwarc till formalsafe miko gc ipower ipowerlong Antr agen Beitr
+
+% LocalWords: acrolong intellegible kollaboratives koh arenten ussen Proze
+% LocalWords: Versionsmanagementsystem textsc unterst utzt konzentieren stex
+% LocalWords: mechanik workplan thispagestyle newpage Principcal cvpubsmiko
+% LocalWords: ourpubs zusammenfassung printbibliography
diff --git a/Master/texmf-dist/doc/latex/dfgproposal/state.tex b/Master/texmf-dist/doc/latex/dfgproposal/state.tex
new file mode 100644
index 00000000000..e1c69fd9cd7
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/dfgproposal/state.tex
@@ -0,0 +1,37 @@
+\svnInfo $Id: state.tex 20439 2010-11-01 10:51:35Z kohlhase $
+\svnKeyword $HeadURL: https://svn.kwarc.info/repos/kwarc/doc/macros/forCTAN/dfgproposal/state.tex $
+
+\section{State of the Art and Preliminary Work \deu{(Stand der Forschung)}}\label{stand}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\subsection{Description (Beschreibung)}\label{sec:state}
+\begin{todo}{from the proposal template}
+ review the state of the art in the and your own contribution to it; probably you want to
+ divide this into subsubsections.
+\end{todo}
+
+\dfgprojpapers{Kohlhase:pdpl10,providemore}
+\begin{todo}{from the proposal template}
+ Please include a list of own publications that are related to the proposed project. It
+ serves as an important basis for assessing your proposal. The number of publications to
+ cite here is determined as follows:
+ \begin{compactdesc}
+ \item[Single applicant] two publications per year of the funding duration
+ \item[Multiple applicants] three publications per year of the funding duration
+ \end{compactdesc}
+ These rules refer to the proposed funding duration for new proposals and the completed
+ duration for renewal proposals.
+
+ If you are submitting a proposal to the DFG for the first time and have therefore not
+ published in the proposed research area, please list the up to five most important
+ publications so far.
+\end{todo}
+
+%%% Local Variables:
+%%% mode: LaTeX
+%%% TeX-master: "proposal"
+%%% End:
+
+% LocalWords: subsubsections dfgprojpapers pdpl10 providemore compactdesc
+% LocalWords: ourpubs nociteprolist KohKoh ccbssmt09 KohRabZho tmlmrsca10
+% LocalWords: Hutter09 sifemp09
diff --git a/Master/texmf-dist/doc/latex/dfgproposal/workplan.tex b/Master/texmf-dist/doc/latex/dfgproposal/workplan.tex
new file mode 100644
index 00000000000..cc9a90d997d
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/dfgproposal/workplan.tex
@@ -0,0 +1,159 @@
+\svnInfo $Id: workplan.tex 20439 2010-11-01 10:51:35Z kohlhase $
+\svnKeyword $HeadURL: https://svn.kwarc.info/repos/kwarc/doc/macros/forCTAN/dfgproposal/workplan.tex $
+\section{Objectives and Work Schedule \deu{(Ziele und Arbeitsprogramm)}}
+
+\subsection{Objectives}
+
+\paragraph{O1: ???}
+\paragraph{O2: ???}
+\paragraph{O3: ???}
+
+\subsection{Work Schedule}
+\begin{todo}{from the proposal template}
+ Give a short high-level introduction to how the work in the project should proceed,
+ explain Tables~\ref{fig:wplist} and~\ref{fig:activities}.
+\end{todo}
+The project is organized around \dfgcount{all}{wa} large-scale work areas which correspond
+to the objectives formulated above. These are subdivided into \dfgcount{all}{wp} work
+packages, which we summarize in Figure~\ref{fig:wplist}. Work rea
+\euRef{wa}{mansubsus}{label} will run over the whole project\ednote{come up with a better
+ example, this is still oriented towards an EU project} duration of {\ipower}. All work
+packages in {\euRef{wa}{systems}{label}} will and have to be covered simultaneously in
+order to benefit from design-implementation-application feedback loops.
+
+\wpfig
+\ganttchart[draft,xscale=.45]
+
+\begin{workplan}
+
+\begin{workarea}[id=mansubsus,title={Management, Support \& Sustainability}, short=Management]
+ This work-group has two work packages: one for management proper
+ ({\euref{wp}{management}{label}}), and one each for dissemination
+ ({\euref{wp}{dissem}{label}})
+
+ This work group ensures the dissemination and creation of the periodic integrative
+ reports containing the periodic Project Management Report, the Project Management
+ Handbook, an Knowledge Dissemination Plan ({\euref{wp}{management}{label}}), the
+ Proceedings of the Annual {\ipower} Summer School as well as non-public Dissemination
+ and Exploitation plans ({\euref{wp}{dissem}{label}}), as well as a report of the
+ {\ipower} project milestones.
+
+\begin{workpackage}[id=management,lead=JU,
+ title=Project Management,
+ JURM=2,JURAM=8,PCRM=2]
+Based on the ``Bewilligungsbescheid'' of the DFG , and based on the financial and
+administrative data agreed, the project manager will carry out the overall project
+management, including administrative management. A project quality handbook will be
+defined, and a {\ipower} help-desk for answering questions about the format (first
+project-internal, and after month 12 public) will be established. The project management
+will consist of the following tasks
+\begin{tasklist}
+\begin{task}[id=foo,start=0,len=3,requires=\taskin{t1}{dissem}]
+ To perform the administrative, scientific/technical, and financial management of the
+ project
+\end{task}
+\begin{task}[force=0.5,start=13,len=4]
+ To co-ordinate the contacts with the DFG and other funding bodies, building on the
+ results in \taskref{management}{foo}
+\end{task}
+\begin{task}
+ To control quality and timing of project results and to resolve conflicts
+\end{task}
+\begin{task}
+ To set up inter-project communication rules and mechanisms
+\end{task}
+\end{tasklist}
+
+\end{workpackage}
+
+\begin{workpackage}[id=dissem,lead=PC,
+ title=Dissemination and Exploitation,
+ PCRM=8,JURAM=2]
+Much of the activity of a project involves small groups of nodes in joint work. This work
+ package is set up to ensure their best wide-scale integration, communication, and
+ synergetic presentation of the results. Clearly identified means of dissemination of
+ work-in-progress as well as final results will serve the effectiveness of work within the
+ project and steadily improve the visibility and usage of the emerging semantic services.
+
+
+ The work package members set up events for dissemination of the research and
+ work-in-progress results for researchers (workshops and summer schools), and for industry
+ (trade fairs). An in-depth evaluation will be undertaken of the response of test-users.
+
+ \begin{tasklist}
+ \begin{task}[id=t1,start=6,len=1]
+ sdfkj
+ \end{task}
+ \begin{task}[start=12,len=1]
+ sdflkjsdf
+ \end{task}
+ \begin{task}[start=18,len=1]
+ sdflkjsdf
+ \end{task}
+ \begin{task}[start=22,len=2]
+ \end{task}
+\end{tasklist}
+
+Within two months of the start of the project, a project website will go live. This
+website will have two areas: a members' area and a public area.\ldots
+\end{workpackage}
+\end{workarea}
+
+
+\begin{workarea}[id=systems,title={System Development}]
+ This work-group has two work packages: one for the development of the
+ {\LaTeX} class ({\euref{wp}{class}{label}}), and for the proposal template
+ ({\euref{wp}{temple}{label}})
+
+ This work group coordinates the system development.
+
+\begin{workpackage}[id=class,lead=JU,
+ title=A LaTeX class for EU Proposals,short=Class,
+ JURM=12,JURAM=8,PCRM=12,PCRAM=2]
+We plan to develop a {\LaTeX} class for marking up EU Proposals
+
+We will follow strict software design principles, first comes a
+requirements analys, then \ldots
+\begin{tasklist}
+ \begin{task}[start=0,len=2]
+ sdfsdf
+ \end{task}
+ \begin{task}[start=4,len=4]
+ sdfsdf
+ \end{task}
+ \begin{task}[id=t3,start=10,len=4]
+ sdfsdf
+ \end{task}
+ \begin{task}[start=20,len=4]
+ sdfsdfd
+ \end{task}
+\end{tasklist}
+\end{workpackage}
+
+\begin{workpackage}[id=temple,lead=PC,
+ title= Proposal Template,short=Template,JURM=12]
+
+We plan to develop a template file for {\ipower} proposals
+
+We abstract an example from existing proposals
+\begin{tasklist}
+ \begin{task}[start=6,len=6]
+ sdfdsf
+ \end{task}
+ \begin{task}[id=temple2,start=18,len=6,requires=\taskin{t3}{class}]
+ sdfsdf
+ \end{task}
+\end{tasklist}
+\end{workpackage}
+\end{workarea}
+
+\end{workplan}
+
+%%% Local Variables:
+%%% mode: LaTeX
+%%% TeX-master: "proposal"
+%%% End:
+
+% LocalWords: workplan.tex wplist dfgcount wa mansubsus duratio ipower wpfig
+% LocalWords: ganttchart xscale workplan workarea euref dissem workpackage foo
+% LocalWords: tasklist taskin taskref sdfkj sdflkjsdf sdfsdf sdfsdfd sdfdsf
diff --git a/Master/texmf-dist/doc/latex/dfgproposal/zusammenfassung.tex b/Master/texmf-dist/doc/latex/dfgproposal/zusammenfassung.tex
new file mode 100644
index 00000000000..787d279a51b
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/dfgproposal/zusammenfassung.tex
@@ -0,0 +1,20 @@
+\selectlanguage {ngerman}
+\section{Zusammenfassung}\label{sec:zusammenfassung}
+\begin{todo}{from the proposal template}
+ Fassen Sie hier bitte die wesentlichen Ziele Ihres Vorhabens allgemeinverständlich und
+ in nicht mehr als 15 Zeilen (max. 1600 Zeichen) zusammen.
+\end{todo}
+Das Schreiben von Antr"agen ist oft ein kollaboratives Unterfangen in dem Beitr"age von
+mehren Partnern in einen koh"arenten Text integriert werde m"ussen. Durch die Verwendung
+eines ASCII-basierten Formates wie {\LaTeX} kann dieser Proze"s in einem
+Versionsmanagementsystem wie {\textsc{Subversion}} unterst"utzt werden, wodurch sie das
+Projektteam auf das Schreiben konzentrieren kann statt auf die Mechanik der Integration
+%% Local Variables:
+%%% mode: latex
+%%% TeX-master: "proposal"
+%%% End:
+
+% LocalWords: ngerman zusammenfassung popul Komplexit eingef uhrt aquate utzen
+% LocalWords: unterst pn inparaenum Anderungsmanagement zug onnen zugh erm koh
+% LocalWords: oglichen Antr agen kollaboratives Beitr arenten ussen Proze utzt
+% LocalWords: Versionsmanagementsystem
diff --git a/Master/texmf-dist/source/latex/dfgproposal/dfgproposal.dtx b/Master/texmf-dist/source/latex/dfgproposal/dfgproposal.dtx
new file mode 100644
index 00000000000..c36b794aada
--- /dev/null
+++ b/Master/texmf-dist/source/latex/dfgproposal/dfgproposal.dtx
@@ -0,0 +1,1277 @@
+% \iffalse meta-comment
+% A class for preparing DFG proposals
+%
+% Copyright (c) 2009 Michael Kohlhase, all rights reserved
+%
+% This file is distributed under the terms of the LaTeX Project Public
+% License from CTAN archives in directory macros/latex/base/lppl.txt.
+% Either version 1.0 or, at your option, any later version.
+%
+% The development version of this file can be found at
+% $HeadURL: https://svn.kwarc.info/repos/kwarc/doc/macros/forCTAN/dfgproposal/dfgproposal.dtx $
+% \fi
+%
+% \iffalse
+%<cls>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
+%<cls>\ProvidesClass{dfgproposal}[2009/06/27 v0.6 DFG Proposal]
+%<*driver>
+\documentclass{ltxdoc}
+\DoNotIndex{\def,\long,\edef,\xdef,\gdef,\let,\global}
+\DoNotIndex{\begin,\AtEndDocument,\newcommand,\newcounter,\stepcounter}
+\DoNotIndex{\immediate,\openout,\closeout,\message,\typeout}
+\DoNotIndex{\section,\scshape,\arabic}
+\EnableCrossrefs
+%\CodelineIndex
+%\OnlyDescription
+\RecordChanges
+\usepackage{textcomp,url,float,paralist,a4wide}
+\usepackage[show]{ed}
+\usepackage[eso-foot,today,draft]{svninfo}
+\usepackage[hyperref=auto,style=alphabetic]{biblatex}
+\bibliography{kwarc}
+\usepackage[a4paper=true,bookmarks=true,linkcolor=blue,
+ citecolor=blue,urlcolor=blue,colorlinks=true,
+ breaklinks=true, bookmarksopen=true]{hyperref}
+\makeindex
+\floatstyle{boxed}
+\newfloat{exfig}{thp}{lop}
+\floatname{exfig}{Example}
+\def\subversion{\sc{Subversion}}
+\begin{document}
+\svnInfo $Id: dfgproposal.dtx 20454 2010-11-03 15:26:51Z kohlhase $
+\svnKeyword $URL: https://svn.kwarc.info/repos/kwarc/doc/macros/forCTAN/dfgproposal/dfgproposal.dtx $
+\DocInput{dfgproposal.dtx}
+\end{document}
+%</driver>
+% \fi
+%
+%\iffalse\CheckSum{1472}\fi
+%
+% \changes{v0.4}{2009/05/12}{copied over from eustrep.dtx}
+% \changes{v0.5}{2009/05/27}{added gantt charts}
+% \changes{v0.6}{2009/06/27}{added task referencing system}
+% \changes{v0.7}{2010/09/22}{added final report infrastructure}
+% \changes{v0.7}{2010/10/29}{added noRAM option}
+% \changes{v0.7}{2010/11/01}{added paper list infrastructure}
+% \changes{v1.0}{2010/11/03}{this works well, releasing to CTAN}
+%
+% \GetFileInfo{dfgproposal.cls}
+%
+% \MakeShortVerb{\|}
+% \title{Preparing DFG Proposals in {\LaTeX} with {\tt{dfgproposal.cls}}}
+% \author{Michael Kohlhase\\
+% Computer Science, Jacobs University Bremen\\
+% \url{http://kwarc.info/kohlhase}}
+% \maketitle
+%
+% \begin{abstract}
+% The |dfgproposal| class supports many of the specific elements of a DFG Proposal. It
+% is optimized towards collaborative projects. The package comes with an extensive
+% example (a fake DFG proposal) that shows all elements in action.
+% \end{abstract}
+%
+% \tableofcontents\newpage
+%
+% \section{Introduction}\label{sec:intro}
+%
+% Writing grant proposals is a collaborative effort that requires the integration of
+% contributions from many individuals. The use of an ASCII-based format like {\LaTeX}
+% allows to coordinate the process via a source code control system like
+% {\sc{Subversion}}, allowing the proposal writing team to concentrate on the contents
+% rather than the mechanics of wrangling with text fragments and revisions.
+%
+% The |dfgproposal| class supports many of the specific elements of a DFG Proposal. The
+% package documentation is still preliminary, fragmented and incomplete. Please consult
+% the example proposal |proposal.tex|, which comes with the package and shows the usage of
+% the class in action. It is intended as a template for your proposal, but please bear in
+% mind that the DFG guidelines may change, if in doubt, please consult the DFG guide for
+% proposers~\cite{DFG:102e}.
+%
+% The |dfgproposal| class is distributed under the terms of the LaTeX Project Public
+% License from CTAN archives in directory |macros/latex/base/lppl.txt|. Either version
+% 1.0 or, at your option, any later version. The CTAN archive always contains the latest
+% stable version, the development version can be found at
+% {\url{https://svn.kwarc.info/repos/kwarc/doc/macros/forCTAN/dfgproposal}} For bug
+% reports please use the sTeX trac at {\url{https://trac.kwarc.info/sTeX/}} with component
+% |dfgproposal|.
+%
+% \section{The User Interface}\label{sec:user-interface}
+%
+% In this section we will describe the functionality offered by the |dfgproposal| class
+% along the lines of the macros and environments the class provides. Much of the
+% functionality can better be understood by studying the functional example |proposal.tex|
+% (and its dependents) that comes with the |dfgproposal| package in conjunction with the
+% proposer's leaflet of the DFG~\cite{DFG:102e} (we have included it as |1_02e.pdf| for
+% convenience into the package distribution).
+%
+% \subsection{Package Options}\label{sec:user:options}
+%
+% As usual in {\LaTeX}, the package is loaded by
+% |\documentclass[|\meta{options}|]{dfgproposal}|, where |[|\meta{options}|]| is optional
+% and gives a comma separated list of options. The |dfgproposal| package takes the options
+% |submit|, |noworkareas|, |public|, and |keys|.
+%
+% The \DescribeMacro{submit}|submit| will disable various proposal management decorations
+% which are enabled by default for submission.
+%
+% The \DescribeMacro{noworkareas}|noworkareas| specifies that we do not want to structure
+% our work plan into work areas (see section~\ref{sec:user:wpwa}).
+%
+% The \DescribeMacro{noRAM}|noRAM| specifies that we do not specify research assistant
+% months in the effort tallies (see section~\ref{sec:user:wpwa}).
+%
+% Finally, the \DescribeMacro{public}|public| option allows to hide certain sensitive
+% (e.g. financial) parts of the proposal. For this, the |dfgproposal| provides the
+% \DescribeEnv{private} environment. If the option |public| is set, the parts of the
+% document between |\begin{private}| and |\end{private}| do not produce output. This is
+% useful for producing public versions of the proposal that hide confidential parts. Note
+% that both |\begin{private}| and |\end{private}| {\emph{have to be on lines of their own
+% may not have any leading whitespace}} otherwise an error occurs and {\LaTeX} gives
+% error messages that are difficult to comprehend. An alternative way to distinguish
+% private and public sections are to use the \DescribeMacro{\ifpublic}|\ifpublic|
+% conditional: |\ifpublic{3}\else{5}\fi| will result in ``5'' in the submitted draft and
+% ``3'' in the public document.
+%
+% The \DescribeMacro{keys}|keys| specifies that we want to see the values of various
+% keyval arguments in the margin.
+%
+% \subsection{Proposal Metadata and Title page}\label{sec:user:metadata}
+%
+% The metadata of the proposal is specified in the \DescribeEnv{proposal}|proposal|
+% environment, which also generates the title page and the first section of the proposal
+% as well as the last pages of the proposal with the signatures, enclosures, and
+% references. The |proposal| environment should contain all the mandatory parts of the
+% proposal text. The |proposal| environment uses the following keys to specify metadata.
+% \begin{compactitem}
+% \item \DescribeMacro{title}|title| for the proposal title (used on the title page),
+% \item \DescribeMacro{instrument}|instrument| for the instrument of funding
+% that you would like to apply for,
+% \item \DescribeMacro{thema}|thema| for a concise (up to 140 characters) description of
+% the topic of the proposal. This has to be in German and will be used by the DFG in
+% internal communications and publications.
+% \item \DescribeMacro{acronym}|acronym| for the proposal acronym, possibly accompanied
+% \DescribeMacro{acrolong}|acrolong| that explains it. The acronym will also be used in
+% the page headings.
+% \item \DescribeMacro{start}|start| for the start date, and
+% \DescribeMacro{months}|months| for the length of the proposal in months. Both have to
+% be specified to for the |dfgproposal| class to work.
+% \item \DescribeMacro{discipline}|discipline| for the academic discipline and |areas| for
+% the research areas in that discipline.
+% \item \DescribeMacro{PI}|PI| to declare the principal investigator. For collaborative
+% proposals we can use the |PI| key multiple times. The |dfgproposal| package uses the
+% |dcm| package for representation of personal metadata, see~\cite{Kohlhase:dcm:ctan}
+% or the file |proposal.tex| for details.
+% \item Many collaborative proposals are shared between two institutions, which we can
+% declare with the \DescribeMacro{site}|site| key. As this changes the interface this
+% should not be used for single-institution proposals. We will describe the setup for a
+% single-site proposal below and point out the differences. The example |proposal.tex|
+% is a two-site proposal.
+% \item The \DescribeMacro{pubspage}|pubspage| key can be used to give URIs of publication
+% pages that are mentioned in the references sections as sources of publications of the
+% proposers. Use one |pubspage| key per URI.
+% \end{compactitem}
+%
+% The Metadata section of the proposal concludes with a summary for academic laypeople,
+% which will be used by DFG e.g. on their web sites. For Proposals written in English (as
+% we assume in this documentation) most proposers also provide an English summary using
+% the \DescribeEnv{Summary}|Summary| environment.
+%
+% \subsection{Work Areas, Work Packages, and Tasks}\label{sec:user:wpwa}
+%
+% DFG proposals have another part that is often highly stylized; the work plan. This is
+% usually structured into ``work packages'' --- i.e. work items that address a cohesive
+% aspect of the proposed work. These work packages are usually consecutively numbered, have
+% a title, and an associated effort estimation. As work packages are the ``atomic''
+% planning units, they are usually heavily cross-referenced. A well-written proposal
+% usually contains a table giving an overview over the work packages and their efforts and
+% a Gantt chart showing the temporal distribution of the proposed work to allow the
+% reviewers to get a clear picture of the feasibility of the research and development
+% proposed. But this picture is also essential during the development of a proposal (which
+% the |dfgproposal| package aims to support), when the work packages (and their estimated
+% efforts) usually change considerably. Therefore the |dfgproposal| class standardizes
+% markup for work packages and automatically computes the work package table (which can be
+% inserted into the table via the \DescribeMacro{\wpfig}|\wpfig| macro) and the Gantt
+% Chart (see Section~\ref{sec:user:gantt}).
+%
+% To achieve the automation, work plan is marked up by the
+% \DescribeEnv{workplan}|workplan| environment, which setsup various internal counters and
+% bookeeping macros. It contains texts and |workpackage| environments for the work
+% packages.
+%
+% The purpose of the \DescribeEnv{workpackage}|workpackage| environment is to mark up a
+% fragment of text as a work package description and specify the metadata so that it can
+% be used in the work package table and Gantt chart generation. The metadata is specified
+% by the following keys:
+% \begin{compactitem}
+% \item The \DescribeMacro{id}|id| key is used to specify a label for cross-referencing the
+% work package or work group, it must be document-unique.
+% \item The \DescribeMacro{title}|title| and \DescribeMacro{short}|short| keys are used
+% for the work package/group title. The short title is used in tables and should not be
+% longer than 15 characters.
+% \item In single-site proposals, the \DescribeMacro{RM}|RM| and \DescribeMacro{RAM}|RAM|
+% keys are used to specify the estimated efforts to be expended on research and
+% development in this work package. Both are specified in person months. |RM| is used
+% for ``researcher months'' (Wissenschaftlicher Mitarbeiter) and |RAM| for ``research
+% assistant months'' (wissenchaftliche Hilfskraft).
+% \item In multi-site proposals, the |dfgproposal| package generates the keys
+% \DescribeMacro{*RM}\meta{site}|RM| and \DescribeMacro{*RAM}\meta{site}|RAM| where
+% \meta{site} is any site label declared via the |site| key in the top-level |proposal|
+% environment. This can be used to specify the person months that the site spends on
+% this work package (the value for work groups is automatically computed (remember to
+% run {\LaTeX} twice for this)).
+% \item In multi-site proposals the \DescribeMacro{lead} |lead| key specifies the work
+% package or work group lead, the value of this feature should be the short name of the
+% respective partner.
+% \end{compactitem}
+%
+% It is often useful to group the work packages in a proposal further (especially for
+% larger, collaborative proposals). This can be done via the
+% \DescribeEnv{workarea}|workarea| environment, which groups work packages. This
+% environment takes the same keys as the |workpackage| environment, except for the
+% efforts, which can be computed automatically from the work packages it groups.
+%
+% As the author of the |dfgproposal| class likes more structured proposals, using work
+% areas is the default, but the |dfgproposal| class can also be used with the
+% |noworkareas| option for less structured (smaller) proposals.
+%
+% \subsection{Tasks}\label{sec:user:task}
+%
+% In the work packages we can list tasks that need to be undertaken with the
+% \DescribeEnv{tasklist}|tasklist| environment. The individual tasks are marked up with
+% the \DescribeEnv{task}|task| environment. This takes a keyval argument with the keys
+% |id| for identification, |start| for the start month (a natural number) of the task, and
+% |len| for the length of the work phase. The |force| key that specifies the work
+% intensity (this should be a real number between 0 and 1 to prevent overlaps). The main
+% reason for specifying this metadata for tasks is to generate a Gantt chart (see
+% Section~\ref{sec:user:gantt}). The |requires| key can be used to mark, up dependencies
+% between tasks. If |requires=\taskin{|\meta{rid}|}{|\meta{wp}|}| is given in a task with
+% |id=|\meta{t}, then task \meta{rid} in work package \meta{wp} must be completed for task
+% \meta{t} to become possible. This key will draw an arrow into the gantt chart from the
+% end of task \meta{rid} to \meta{t}. Note that dependencies should always point forward
+% in time. Furthermore, note that the fact that dependencies always go from the end of the
+% source to the beginning of the target work phase is intentional, if this does not meet
+% your needs, then you should probably break a work phase into pieces that can be
+% addressed separately.
+%
+% Tasks can be referenced by the \DescribeMacro{\taskref}|\taskref| macro that takes two
+% arguments: the work package identifier and the task identifier. As for work packages and
+% work areas, there is a long reference variant with work package title:
+% \DescribeMacro{\tasktref}|\tasktref|. Finally,
+% \DescribeMacro{\localtaskref}|\localtaskref| references a task in the local work package
+% by the identifier in its argument.
+%
+% If the work packages are not structured into tasks or the task structure is not adequate
+% for structuring the work phases in a work package, then we can use the |\workphase|
+% macro for this. The use of the |\workphase| package is deprecated.
+%
+%
+% \subsection{Gantt Charts}\label{sec:user:gantt}
+%
+% Gantt charts are used in proposals to show the distribution of activities in work
+% packages over time. A gantt chart is represented by the \DescribeEnv{gantt}|gantt|
+% environment that takes a on optional keyval argument. The keys
+% \DescribeMacro{xscale}|xscale| and \DescribeMacro{yscale}|yscale| are used to specify a
+% scale factors for the chart so that it fits on the page. The \DescribeMacro{step}|step|
+% key allows to specify the steps (in months) of the vertical auxiliary lines. Finally,
+% the \DescribeMacro{draft}|draft| key specifies that plausibility checks (that can be
+% expensive to run) are carried out. Note that the value does not have to be given, so
+% |\begin{gantt}{draft,yscale=.5,step=3}| is a perfectly good invocation.
+%
+% Usually, the |gant| environment is not used however, since it is part of the
+% \DescribeMacro{\ganttchart} macro that takes the same keys. This generates a whole
+% Gantt chart automatically from the work phase specifications in the work packages. As
+% above we have to run {\LaTeX} two times for the work phases to show up.
+%
+% \subsection{Project-Related Papers}\label{sec:user:papers}
+%
+% Since August 2010, DFG requests list of ``project-related papers'' as section 2.2. We
+% use the |biblatex| package to automate this. We only need to use
+% \DescribeMacro{\dfgprojpapers}|\dfgprojpapers{|\meta{keys}|}|, where \meta{keys} ist a
+% comma-separated list of keys from the bibTeX database used in the proposal. Note that
+% you will have to run |bibtex proposal1-blx.aux| to generate file |proposal1.bbl| that
+% generates the bibliography list.\ednote{automate this some more}.
+%
+% \subsection{Referencing and Hyperinking}\label{sec:user:hyperinking}
+%
+% The |dfgproposal| package extends the hyperlinking provided by the |hyperref| package it
+% includes to work packages, work groups, \ldots. Whenever these are defined using the
+% |dfgproposal| infrastructure, the class saves the relevant information in the auxiliary
+% file \meta{proposal}|.aux|. This information can be referenced via the
+% \DescribeMacro{\euref} macro, which takes three arguments.
+%
+% In a reference |\euref{|\meta{type}|}{|\meta{id}|}{|\meta{aspect}|}| the first argument
+% \meta{type} specifies the type of the object (currently one of |wp|, |wa|, and
+% |partner|) to be referenced, \meta{id} specifies the identifier of the referenced object
+% (it matches the identifier given in the |id| key of the object), and \meta{aspect}
+% specifies the aspect of the saved information that is referenced.
+%
+% For a partner \meta{aspect} can be one of |number| (partner number), |short| (partner
+% acronym), |long| (official partner name), |nationality| (partner nationality).
+%
+% For a work package \meta{aspect} can be |number|, (the work package number), |label|
+% (the label {\bf{WP$n$}} where $n$ is the work package number for referencing), |title|
+% (the work package title), |lead| the work package leader, |short| (a short version of
+% the WP title for tables). For work groups we have the same aspects with analogous
+% meanings. In all cases, the referenced information carries a hyperlink to the referenced
+% object.
+%
+% The \DescribeMacro{\euRef} |\euRef| macro is a variant of |\euref| that also carries a
+% hyperlink (if the |hyperref| package is loaded).
+%
+% Note that since the referencable information is written into the \meta{proposal}|.aux|
+% file, it is available for forward references. However, it will only become available when
+% the auxiliary file is read, so the proposal has to be formatted twice for references to
+% be correct. \ednote{need to document all the kinds of metadata that can be referenced!}
+%
+% Finally, the |dfgproposal| package supplies specialized reference macros for work
+% packages and areas. The \DescribeMacro{\WPref}|\WPref| macro takes a work package
+% identifier as an argument and makes a reference: |\WPref{|\meta{id}|}| abbreviates
+% |\euRef{wp}{|\meta{id}|}{label}|. The \DescribeMacro{\WPtref}|\WPtref| macro is similar,
+% but also prints out the title: |\WPref{|\meta{id}|}| abbreviates
+% |\euRef{wp}{|\meta{id}|}{label}: \euRef{wp}{|\meta{id}|}{title}|. Unless the
+% |noworkareas| macro is set, we also have the variants \DescribeMacro{\WAref}|\WAref| and
+% \DescribeMacro{\WAtref}|\WAtref| for work areas.
+%
+% \subsection{Final Report Infrastructure}\label{sec:user:report}
+%
+% The |dfgproposal| package also gives an infrastructure for writing final reports of
+% completed projects (see the file |finalreport.tex| in the package distribution). The
+% \DescribeEnv{finalreport}|finalreport| environment has functionality analogous to the
+% |proposal| environment. It takes the same metadata keys --- making it easy to generate
+% by copy/paste from the proposal --- but adds the keys
+% \DescribeMacro{fundedperiod}|fundedperiod| for specifying the funded period and
+% \DescribeMacro{reportperiod}|reportperiod| for the project period reported on (they can
+% differ from each other). Furthermore, the key \DescribeMacro{key}|key| can be used to
+% specify the reference key (something like \texttt{KO 2428 47-11}) given to the project
+% by DFG. Note that in the case of multiple proposers, you can use multiple instances of
+% |key| to specify more than one reference key.
+%
+% \section{Limitations and Enhancements}\label{sec:limitations}
+%
+% The |dfgproposal| is relatively early in its development, and many enhancements are
+% conceivable. We will list them here.
+% \begin{enumerate}
+% \item macros cannot be used work package and work area titles. They really mess up our
+% |\wpfig| automation. The problem is that they are evaluated too early, and our trick
+% with making them undefined while collecting the parts of the table-rows only works if
+% we know which macros we may expect. We might specify all ``allowable'' macros in an
+% optional key |protectmacro|, which is defined via\vspace*{-.7em}
+% \begin{verbatim}
+% \define@key{wpfig}{protectmacro}{\epandafter\let\csname #1\endcsname=\relax}
+% \end{verbatim}
+% \vspace*{-2em} But I am not sure that this will work.
+% \item It would be great, if in the Gantt Charts, we could include some plausibility
+% checks (for draft = not |submit| mode). I can see two at the moment:
+% \begin{itemize}
+% \item calculating the effort (i.e. the weight of the black area) and visualizing
+% it. Then we could check whether that is larger than the effort declared for the work
+% package.
+% \item calculating (and visualizing) the monthly effort. That should be kind of even
+% (or it has to be explained in the positions requested).
+% \end{itemize}
+% \item we currently do not have a way to relate |PI|s to |site|s, but we do not really
+% need to.
+% \item it would be nice if we could count the characters in the places where lengths are
+% restricted (|Abriss|, and |thema|). Then we could warn the authors.
+% \end{enumerate}
+% If you have other enhancements to propose or feel you can alleviate some limitation,
+% please feel free to contact the author.
+%
+% \StopEventually{\newpage\PrintIndex\newpage\PrintChanges\newpage\printbibliography}\newpage
+%
+% \section{The Implementation}\label{sec:implementation}
+%
+% In this section we describe the implementation of the functionality of the |dfgproposal| package.
+%
+% \subsection{Package Options and Format Initialization}\label{sec:impl:options}
+%
+% We first set up the options for the package.
+%
+% \begin{macrocode}
+%<*cls>
+\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
+% \end{macrocode}
+%
+% Then we load the packages we make use of
+%
+% \begin{macrocode}
+\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}
+% \end{macrocode}
+%
+% the |ed| package~\cite{Kohlhase:ed:ctan} is very useful for collaborative writing and
+% passing messages between collaborators or simply reminding yourself of editing tasks, so
+% we preload it in the class. However, we only want to show the information in draft
+% mode. Furthermore, we adapt the options for the |svninfo| package.
+%
+% \begin{macrocode}
+\ifsubmit
+\RequirePackage[hide]{ed}
+\RequirePackage[final,today]{svninfo}
+\else
+\RequirePackage[show]{ed}
+\RequirePackage[eso-foot,today]{svninfo}
+\fi
+% \end{macrocode}
+%
+% \begin{environment}{private}
+% We configure the |comment| package, so that it provides the |private| environment
+% depending on the status of the |public| option.
+% \begin{macrocode}
+\ifpublic\excludecomment{private}\else\includecomment{private}\fi
+% \end{macrocode}
+% \end{environment}
+%
+% And we set up the appearance of the proposal. We want numbered subsubsections.
+% \begin{macrocode}
+\setcounter{secnumdepth}{3}
+% \end{macrocode}
+% We specify the page headings.
+% \begin{macrocode}
+\newif\ifofpage\ofpagefalse
+\fancyhead[RE,LO]{\dfg@gen@acronym}
+\fancyhead[LE,RO]{page~\thepage\ifofpage~of~\euref@num{prop}{page}{last}\fi}
+\pagestyle{fancyplain}
+% \end{macrocode}
+%
+% \subsection{Proposal Metadata and Title Page}\label{sec:impl:metadata}
+%
+% We define the keys for metadata declarations in the |proposal| environment, they park
+% their argument in an internal macro for use in the title page. The |site| key is the
+% most complicated, so we take care of it first: We need a switch |\if@sites| that is set
+% to true when the |site| key is used. Furthermore |site=|\meta{site} makes new keys
+% \meta{site}|RM| and \meta{site}|RAM| (unless the |noRAM| option was set) for the
+% |workpackage| environment and records the sites in the |\dfg@gen@sites| token register.
+% \begin{macrocode}
+\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}
+% \end{macrocode}
+% similarly, the |PI| keys are registered in |\dfg@gen@PIs|.
+% \begin{macrocode}
+\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}}}
+% \end{macrocode}
+% and the |pubspage| keys in |\dfg@gen@pubspages|.
+% \begin{macrocode}
+\define@key{dfg@gen}{pubspage}{\@ifundefined{dfg@gen@pubspages}%
+{\xdef\dfg@gen@pubspages{#1}}{\xdef\dfg@gen@pubspages{\dfg@gen@pubspages,#1}}}
+% \end{macrocode}
+% The rest of the keys just store their value.
+% \begin{macrocode}
+\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}}
+% \end{macrocode}
+% and now the ones for the final report
+% \begin{macrocode}
+\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}}}
+% \end{macrocode}
+%
+% and the default values, these will be used, if the author does not specify something
+% better.
+%
+% \begin{macrocode}
+\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}
+% \end{macrocode}
+% Now, we can build the title page and general information, we first start with the
+% applicants table:
+% \begin{macrocode}
+\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}}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\def\dfg@applicants{\subsection{Applicants \deu{(Antragsteller)}}
+\dfg@applicants@table}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\def\dfg@topic{\deu{\subsection{Topic (Thema)}\dfg@gen@thema}}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\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}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\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}}
+% \end{macrocode}
+%
+% \begin{environment}{proposal}
+% The |proposal| environment reads the metdata keys defined above, and if there were no
+% |site| keys, then it defines keys |RM| and |RAM| (unless the |noRAM| package option
+% was given) for the |workpackage| environment.
+% \begin{macrocode}
+\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}}
+% \end{macrocode}
+% Now we come to the end of the environment:
+% \begin{macrocode}
+{\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]}
+% \end{macrocode}
+% \end{environment}
+% We only have to define the |warnpubs| heading constructor
+% \begin{macrocode}
+\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}}}}
+% \end{macrocode}
+%
+% The |finalreport| is very similar.
+%
+% \begin{environment}{finalreport}
+% \begin{macrocode}
+\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}
+% \end{macrocode}
+% \end{environment}
+%
+% \begin{macrocode}
+\newenvironment{Summary}{\subsection{Summary \deu{(Zusammenfassung)}}}{}
+\newenvironment{Abriss}%
+{\selectlanguage{ngerman}\subsection*{Zusammenfassung (dt. Version)}}
+{\selectlanguage{USenglish}}
+% \end{macrocode}
+%
+% \subsection{Work Packages and Work Groups}\label{sec:impl:wpwa}
+%
+% \begin{macro}{\dfg@def}
+% This macro writes an |\@dfg@def| command to the current aux file and also executes it.
+% \begin{macrocode}
+\def\dfg@def#1#2#3#4{%\@dfg@def{#1}{#2}{#3}{#4}%
+ \protected@write\@auxout{}{\string\@dfg@def{#1}{#2}{#3}{#4}}}
+% \end{macrocode}
+% \end{macro}
+% We first define keys for work groups (if we are in an IP).
+% \begin{macrocode}
+\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
+% \end{macrocode}
+% work packages have similar ones.
+% \begin{macrocode}
+\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}}
+% \end{macrocode}
+% We define the constructors for the work package and work group labels and titles.
+% \begin{macrocode}
+\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
+% \end{macrocode}
+% The |wa| and |wp| counters are for the work packages and work groups
+% \begin{macrocode}
+\ifwork@areas\newcounter{wa}\newcounter{wp}[wa]\else\newcounter{wp}\fi
+\newcounter{allwp}
+% \end{macrocode}
+%
+% \begin{macro}{\update@*}
+% update the list |\@wps| of the work packages in the local group and the list |\@was|
+% work groups for the staff efforts table: if |\@wps| is undefined, then initialize the
+% comma-separated list, otherwise extend it.\ednote{with the current architecture, we
+% cannot have work areas that do not contain work packages, this leads to the error that
+% |\@wps| is undefined in |end{workplan}|}
+% \begin{macrocode}
+\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
+% \end{macrocode}
+% \end{macro}
+%
+% with these it is now relatively simple to define the interface macros.
+%
+% \begin{environment}{workpackage}
+% The |workpackage| environment collects the keywords, steps the counters, writes the metadata
+% to the aux file, updates the work packages in the local group, generates the work
+% package number |\wp@num|.
+% \begin{macrocode}
+\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}%
+% \end{macrocode}
+% Now we have to consider two cases, if we have sites, then we make a header table.
+% \begin{macrocode}
+\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
+% \end{macrocode}
+% When we do not have sites, we can make things much simpler: we just generate a subsection
+% \begin{macrocode}
+\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}}
+% \end{macrocode}
+% \end{environment}
+%
+% \begin{environment}{workarea}
+% the |workarea| environment for work groups is almost the same, but we also have to
+% initialize the work package counters. Also, the efforts can be computed from the work
+% packages in this group via the |wa@effort| counter
+% \begin{macrocode}
+\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
+% \end{macrocode}
+% \end{environment}
+%
+% \begin{environment}{workplan}
+% The |workplan| environment sets up the accumulator macros |\@wps|, |\@was|, for the
+% collecting the identifiers of work packages and work groups. At the end of the
+% workplan description it writes out their content to the aux file for reference.
+% \begin{macrocode}
+\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}}
+% \end{macrocode}
+% \end{environment}
+%
+% \subsection{Tasks and Work Phases}\label{sec:impl:tasks}
+%
+% \begin{environment}{tasklist}
+% \begin{macrocode}
+\newenvironment{tasklist}
+{\begin{compactenum}}{\end{compactenum}}
+% \end{macrocode}
+% \end{environment}
+% The next step is to
+% \begin{macrocode}
+\def\task@label#1{T#1}
+% \end{macrocode}
+% We define the keys for the task macro
+% \begin{macrocode}
+\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}}
+% \end{macrocode}
+% then we define an auxiliary function that gives them sensible defaults and sets the
+% internal macros.
+% \begin{macrocode}
+\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}}
+% \end{macrocode}
+%
+% \begin{environment}{tasklist}
+% \begin{macrocode}
+\newenvironment{task}[1][]
+{\@task{#1}\item[\dfg@target{task}{\taskin\task@id\wp@id}{\task@label{\thetask@wp}}]%
+\@ifundefined{task@title}{}{\textbf{\task@title}}}
+{}
+% \end{macrocode}
+% \end{environment}
+%
+% \begin{macro}{\@task}
+% The |\@task| macro is a internal macro which takes a bunch of keyword keys and writes
+% their values to the aux file.
+% \begin{macrocode}
+\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}}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\localtaskref}
+% \begin{macrocode}
+\def\localtaskref#1{\euRef{task}{\wp@id @#1}{label}}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\taskref}
+% \begin{macrocode}
+\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}
+% \end{macrocode}
+% \end{macro}
+%
+% \subsection{Project-Related Papers}\label{sec:impl:papers}
+%
+% \begin{macro}{\dfgprojpapers}
+% We first define a bibLaTeX bibliography heading that does not create headers, then we
+% generate a subsection with a |refsection| (this makes a separate bibliography for this
+% section) and activate the keys via |\nocite|. Then we just print the bibliography with
+% the empty header we created before.
+% \begin{macrocode}
+\defbibheading{empty}{}
+\def\dfgprojpapers#1{%
+\subsection{Project-Related List of Publications}\label{sec:ourpubs}
+\begin{refsection}
+\nocite{#1}
+\printbibliography[heading=empty]
+\end{refsection}}
+% \end{macrocode}
+% \end{macro}
+%
+% \subsection{Referencing and Hyperinking}\label{sec:impl:hyperinking}
+%
+% \begin{macro}{\@dfg@def}
+% This macro stores the value of its last argument in a custom macro for reference.
+% \begin{macrocode}
+\def\@dfg@def#1#2#3#4{\expandafter\gdef\csname #1@#2@#3\endcsname{#4}}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\euref}
+% \begin{macrocode}
+\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}}%
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\euRef}
+% \begin{macrocode}
+\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}}}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\W*ref}
+% \begin{macrocode}
+\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
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\dfgcount}
+% \begin{macrocode}
+\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}}}
+% \end{macrocode}
+% \end{macro}
+%
+% \subsection{The Work Package Table}\label{sec:impl:wptable}
+%
+% \begin{macro}{\dfg@lead}
+% \begin{macrocode}
+\def\dfg@lead#1{\@ifundefined{wp@#1@lead}%
+{\protect\G@refundefinedtrue\@latex@warning{lead for WP #1 undefined}??}%
+{\csname wp@#1@lead\endcsname}}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macrocode}
+\def\wa@style#1{\cellcolor{lightgray}{\textbf{#1}}}
+\def\wp@style#1{#1}
+% \end{macrocode}
+%
+% \begin{environment}{wptable}
+%
+% \begin{macrocode}
+\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
+% \end{macrocode}
+% \end{environment}
+%
+% \begin{macro}{\wpfig}
+% \ednote{The computation can be distributed much more efficiently (by intermingling the
+% counter advances with the row creation), but this works now}
+% \begin{macrocode}
+\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}}
+% \end{macrocode}
+% \end{macro}
+%
+% \subsection{Gantt Charts}\label{sec:impl:gantt}
+%
+% Gantt Charts are done with help of the the |tikz| package. The |gantt|
+% environments pick up on the declared duration of the proposal in months stored in the
+% |\dfg@gen@months| macro.
+%
+% We define the keys for Gantt tables
+% \begin{macrocode}
+\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}
+% \end{macrocode}
+% Then we define an auxiliary function that provides defaults for these keys and sets the
+% internal macros.
+% \begin{macrocode}
+\def\gantt@set#1{\gantt@draftfalse\def\gantt@xscale{1}\def\gantt@yscale{.35}\def\gantt@step{3}
+\setkeys{gantt}{#1}}
+% \end{macrocode}
+% Finally, the Gantt Chart environment itself.
+% \begin{environment}{gantt}
+% \begin{macrocode}
+\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}}
+% \end{macrocode}
+% \end{environment}
+%
+% In this we have used the macro that does the actual painting.
+% \begin{macrocode}
+\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) {};}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\def\@dependency#1#2{\draw[->,line width=2pt,color=red] (#1@right) -- (#2@left);}
+% \end{macrocode}
+%
+% \begin{macro}{\ganttchart}
+% This macro iterates over the work areas, their work packages, and finally their work
+% phases to use the internal macro |\@action|. All of this in the gantt setting.
+% \begin{macrocode}
+\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}}
+% \end{macrocode}
+% \end{macro}
+%
+% \subsection{Miscellaneous}\label{sec:impl:misc}
+%
+% The next macro is generally useful to put a comment at the end of the line, possibly
+% making a new one if there is not enough space.
+% \begin{macro}{\signatures}
+% \begin{macrocode}
+\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}}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@dmp}
+% \begin{macrocode}
+\def\@dmp#1{\ifkeys\marginpar{#1}\fi}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\texteuro}
+% \begin{macrocode}
+\def\texteuro{\officialeuro\xspace}
+% \end{macrocode}
+% \end{macro}
+% \Finale
+\endinput
+% LocalWords: dfgproposal dtx kohlhase areastrue svninfo noworkareas twoside
+% LocalWords: areasfalse dcm textcomp amssymb url graphicx colortbl xcolor RO
+% LocalWords: fancyhdr keyval eurosym tikz calc USenglish ngerman linkcolor ne
+% LocalWords: citecolor urlcolor colorlinks pagecolor breaklinks bookmarksopen
+% LocalWords: hyperref LaTeX workpackage PIs thema acrolong anzungsantrag im
+% LocalWords: Einzelverfahren tabline Allgemeine Angaben Antragsteller worktel
+% LocalWords: bitabline personaltitle academictitle birthdate Dienstanschrift
+% LocalWords: workaddress atabline workfax Privatanschrift privaddress privtel
+% LocalWords: dt Kennwort Fachgebiet und Arbeitsrichtung Voraussichtliche wa
+% LocalWords: Gesamtdauer Antragszeitraum Zusammenfassung workarea wp wps num
+% LocalWords: refundefinedtrue lightgray gantt xstep Unterschriften Id areas
+% LocalWords: submit hide ed public article paper today array comment wide RE
+% LocalWords: babel true bookmarks blue LO LE page of prop sites key site RM
+% LocalWords: def id title acronym discipline start months Proposal Erg by cls
+% LocalWords: DFG empty em name affiliation Applicants Work Address email The
+% LocalWords: curriculum vita the applicants are enclosed appendix reference
+% LocalWords: Research area and field work Scientific Fields Anticipated write
+% LocalWords: duration Application period Summary short lead Package label task
+% LocalWords: tasks deps number line Effort target ids aux dfg count warning at
+% LocalWords: for undefined safe zero one two three four five six seven eight
+% LocalWords: nine ten eleven twelve style lines totals Packages xscale yscale
+% LocalWords: step set gray very thin grid workphase len force phase length to
+% LocalWords: taskdep from rectangle left right width pt color red above dep
+% LocalWords: Overview Activities Signatures Date paralist ymonths ymid yinc
+% LocalWords: xend effort month iffalse eustrep.dtx fileversion maketitle Antr
+% LocalWords: tableofcontents DescribeEnv ifpublic ifpublic compactitem wpfig
+% LocalWords: wpfig workplan workplan bookeeping wissenchaftliche tasklist dmp
+% LocalWords: tasklist taskin taskref taskref tasktref tasktref localtaskref
+% LocalWords: localtaskref ganttchart biblatex dfgprojpapers dfgprojpapers ifx
+% LocalWords: bibtex proposal1-blx.aux euref WPtref WPtref WAref WAref WAtref
+% LocalWords: WAtref protectmacro thebibliography bibitem newblock newif inst
+% LocalWords: ifsubmit submitfalse publicfalse ifkeys keysfalse ifwork RAMtrue
+% LocalWords: submittrue publictrue excludecomment RAMfalse keystrue sfdefault
+% LocalWords: renewcommand familydefault helvet includecomment subsubsections
+% LocalWords: setcounter secnumdepth ifofpage ofpagefalse fancyhead thepage sw
+% LocalWords: pagestyle fancyplain sitesfalse sitestrue ifundefined gdef allwp
+% LocalWords: fundedperiod reportperiod textbf newenvironment titlepage auxout
+% LocalWords: thispagestyle newcounter stepcounter tocdepth ofpagetrue setkeys
+% LocalWords: finalreport orderzeitraum thewa thewp addtocounter bigskip pws
+% LocalWords: textsf smallskip ignorespaces subsubsection thedfg theallwp req
+% LocalWords: compactenum compactenum thetask newcount thegantt refsection
+% LocalWords: nocite defbibheading ourpubs printbibliography expandafter ifnum
+% LocalWords: csname endcsname dfgcount ifcase cellcolor wptable widehat qquad
+% LocalWords: tabularnewline wplist ifgantt drafttrue RMdisclaimer draftfalse
+% LocalWords: RMdisclaimerfalse RMdisclaimertrue newdimen taskwps thetaskwps
+% LocalWords: whilenum hfill marginpar texteuro officialeuro texttt
diff --git a/Master/texmf-dist/source/latex/dfgproposal/dfgproposal.ins b/Master/texmf-dist/source/latex/dfgproposal/dfgproposal.ins
new file mode 100644
index 00000000000..01fcbe2bf0e
--- /dev/null
+++ b/Master/texmf-dist/source/latex/dfgproposal/dfgproposal.ins
@@ -0,0 +1,35 @@
+%%
+%% This file generates files required to use the dfgproposal package.
+%% At your command prompt write
+%%
+%% latex dfgproposal.ins
+%%
+%% Copyright(c) 2009 Michael Kohlhase
+%%
+%% This file is distributed under the terms of the LaTeX Project Public
+%% License from CTAN archives in directory macros/latex/base/lppl.txt.
+%% Either version 1.0 or, at your option, any later version.
+%%
+%% $Id: dfgproposal.ins 17362 2009-06-02 23:53:39Z kohlhase $
+%% $HeadURL: https://svn.kwarc.info/repos/kwarc/doc/macros/forCTAN/dfgproposal/dfgproposal.ins $
+
+\input docstrip
+\preamble
+\endpreamble
+
+%\usedir{tex/latex/listings}
+\keepsilent
+\askforoverwritefalse
+
+% generate base package
+\generate{\file{dfgproposal.cls}{\from{dfgproposal.dtx}{cls}}}
+
+\Msg{*}
+\Msg{* You probably need to move the file dfgproposal.cls into a directory}
+\Msg{* searched by TeX.}
+\Msg{*}
+\Msg{* And don't forget to refresh your filename database}
+\Msg{* if your TeX distribution uses such a database.}
+\Msg{*}
+
+\endbatchfile
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'.
diff --git a/Master/tlpkg/bin/tlpkg-ctan-check b/Master/tlpkg/bin/tlpkg-ctan-check
index b4cd7db7186..844deeb4c27 100755
--- a/Master/tlpkg/bin/tlpkg-ctan-check
+++ b/Master/tlpkg/bin/tlpkg-ctan-check
@@ -102,7 +102,8 @@ my @TLP_working = qw(
dancers dashbox dashrule dashundergaps datatool
dateiliste datenumber datetime
dblfloatfix dcpic de-macro decimal dehyph-exptl
- delimtxt diagmac2 diagnose dichokey dictsym digiconfigs din1505
+ delimtxt dfgproposal
+ diagmac2 diagnose dichokey dictsym digiconfigs din1505
dinat dingbat directory dirtree disser dk-bib dlfltxb
dnaseq doc-pictex docmfp docmute doi doipubmed
dot2texi dotarrow dotseqn dottex
diff --git a/Master/tlpkg/libexec/ctan2tds b/Master/tlpkg/libexec/ctan2tds
index 61753f1ec64..0d7cccd34a5 100755
--- a/Master/tlpkg/libexec/ctan2tds
+++ b/Master/tlpkg/libexec/ctan2tds
@@ -1814,6 +1814,7 @@ $standardclean = '\.head|\.tmp|\.dvi|\.log|\.out|\.aux|\.toc|\.lof|\.lot'
'chessboard' => 'chessboard.pdf', # no source
'chessfss' => 'chessfonts_gallery.pdf|chessfss.pdf', # no source
'dcpic' => '.*\.pdf', # no source
+ 'dfgproposal' => '1_02.*\.pdf', # nonfree specs
'din1505' => '(leitbild3|normpatsoft).pdf', # no source
'ecclesiastic' => 'ecclesiastic-sample.pdf', # no source
'easy' => '.*\.pdf|doc.html.tgz', # no source
diff --git a/Master/tlpkg/tlpsrc/collection-publishers.tlpsrc b/Master/tlpkg/tlpsrc/collection-publishers.tlpsrc
index 1d743be2006..2885770cb17 100644
--- a/Master/tlpkg/tlpsrc/collection-publishers.tlpsrc
+++ b/Master/tlpkg/tlpsrc/collection-publishers.tlpsrc
@@ -19,6 +19,7 @@ depend beamer-FUBerlin
depend chem-journal
depend classicthesis
depend confproc
+depend dfgproposal
depend ebsthesis
depend economic
depend elbioimp
diff --git a/Master/tlpkg/tlpsrc/dfgproposal.tlpsrc b/Master/tlpkg/tlpsrc/dfgproposal.tlpsrc
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/Master/tlpkg/tlpsrc/dfgproposal.tlpsrc