diff options
author | Karl Berry <karl@freefriends.org> | 2010-11-04 22:57:04 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2010-11-04 22:57:04 +0000 |
commit | 5877e6f814a0c1dfce1fc636d6dc2ffc80e997f8 (patch) | |
tree | 0382ec4a7b50d24513363321dcc7a0fbbd25326d | |
parent | da96e42d00bfa5af4b4d7e72fd441b85ff4d3280 (diff) |
new latex package dfgproposal 1.0 (4nov10)
git-svn-id: svn://tug.org/texlive/trunk@20317 c570f23f-e606-0410-a88d-b1316a301751
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 Binary files differnew file mode 100644 index 00000000000..c1b0bb14a2c --- /dev/null +++ b/Master/texmf-dist/doc/latex/dfgproposal/cvpubsmiko.pdf diff --git a/Master/texmf-dist/doc/latex/dfgproposal/dfgproposal.pdf b/Master/texmf-dist/doc/latex/dfgproposal/dfgproposal.pdf Binary files differnew file mode 100644 index 00000000000..a8e688521ac --- /dev/null +++ b/Master/texmf-dist/doc/latex/dfgproposal/dfgproposal.pdf 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 |