summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2016-04-15 21:38:41 +0000
committerKarl Berry <karl@freefriends.org>2016-04-15 21:38:41 +0000
commit5e77de80c3619d378c8a85ab0e2413086a57a8a5 (patch)
tree485e88bc2ff057b1286d2d244b8c6afb2ac16fd8
parentdac3dfcfa52f854fa71354a5f4c8c8bb3aa4bc43 (diff)
proposal (15apr16)
git-svn-id: svn://tug.org/texlive/trunk@40538 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/texmf-dist/doc/latex/proposal/README.md24
-rw-r--r--Master/texmf-dist/doc/latex/proposal/base/proposal.pdfbin360359 -> 0 bytes
-rw-r--r--Master/texmf-dist/doc/latex/proposal/dfg/dfgproposal.pdfbin246265 -> 246169 bytes
-rw-r--r--Master/texmf-dist/doc/latex/proposal/dfg/proposal/funds.tex2
-rw-r--r--Master/texmf-dist/doc/latex/proposal/dfg/proposal/proposal.pdfbin0 -> 104932 bytes
-rw-r--r--Master/texmf-dist/doc/latex/proposal/dfg/proposal/proposal.tex1
-rw-r--r--Master/texmf-dist/doc/latex/proposal/dfg/proposal/public.pdfbin109019 -> 91116 bytes
-rw-r--r--Master/texmf-dist/doc/latex/proposal/dfg/proposal/submit.pdfbin97709 -> 91132 bytes
-rw-r--r--Master/texmf-dist/doc/latex/proposal/dfg/proposal/submit.tex2
-rw-r--r--Master/texmf-dist/doc/latex/proposal/dfg/report/Makefile67
-rw-r--r--Master/texmf-dist/doc/latex/proposal/dfg/report/README22
-rw-r--r--Master/texmf-dist/doc/latex/proposal/dfg/report/finalreport.pdfbin0 -> 43539 bytes
-rw-r--r--Master/texmf-dist/doc/latex/proposal/dfg/report/finalreport.tex52
-rw-r--r--Master/texmf-dist/doc/latex/proposal/dfg/report/letter_submission.pdfbin0 -> 34723 bytes
-rw-r--r--Master/texmf-dist/doc/latex/proposal/dfg/report/letter_submission.tex33
-rw-r--r--Master/texmf-dist/doc/latex/proposal/dfg/report/progressreport.tex28
-rw-r--r--Master/texmf-dist/doc/latex/proposal/dfg/report/progresssummary.tex18
-rw-r--r--Master/texmf-dist/doc/latex/proposal/eu/euproposal.pdfbin274045 -> 273933 bytes
-rw-r--r--Master/texmf-dist/doc/latex/proposal/eu/strep/propB.pdfbin0 -> 220999 bytes
-rw-r--r--Master/texmf-dist/doc/latex/proposal/eu/strep/propB.tex4
-rw-r--r--Master/texmf-dist/source/latex/proposal/base/proposal.dtx33
-rw-r--r--Master/texmf-dist/source/latex/proposal/bin/Modparse.pm189
-rw-r--r--Master/texmf-dist/source/latex/proposal/bin/README32
-rwxr-xr-xMaster/texmf-dist/source/latex/proposal/bin/checksum71
-rwxr-xr-xMaster/texmf-dist/source/latex/proposal/bin/filedate45
-rwxr-xr-xMaster/texmf-dist/source/latex/proposal/bin/generate-issues470
-rw-r--r--Master/texmf-dist/source/latex/proposal/dfg/dfgproposal.dtx31
-rw-r--r--Master/texmf-dist/source/latex/proposal/eu/euproposal.dtx34
-rw-r--r--Master/texmf-dist/source/latex/proposal/lib/Makefile.ctan88
-rw-r--r--Master/texmf-dist/source/latex/proposal/lib/Makefile.in90
-rw-r--r--Master/texmf-dist/source/latex/proposal/lib/Makefile.vars38
-rw-r--r--Master/texmf-dist/source/latex/proposal/lib/proposal.bib76
-rw-r--r--Master/texmf-dist/tex/latex/proposal/base/pdata.sty6
-rw-r--r--Master/texmf-dist/tex/latex/proposal/base/proposal.cls21
-rw-r--r--Master/texmf-dist/tex/latex/proposal/base/reporting.cls12
-rw-r--r--Master/texmf-dist/tex/latex/proposal/dfg/dfgpdata.sty16
-rw-r--r--Master/texmf-dist/tex/latex/proposal/dfg/dfgproposal.cls2
-rw-r--r--Master/texmf-dist/tex/latex/proposal/dfg/dfgreporting.cls2
-rw-r--r--Master/texmf-dist/tex/latex/proposal/eu/eupdata.sty2
-rw-r--r--Master/texmf-dist/tex/latex/proposal/eu/euproposal.cls2
-rw-r--r--Master/texmf-dist/tex/latex/proposal/eu/eureporting.cls2
41 files changed, 1403 insertions, 112 deletions
diff --git a/Master/texmf-dist/doc/latex/proposal/README.md b/Master/texmf-dist/doc/latex/proposal/README.md
deleted file mode 100644
index 3fa7664c442..00000000000
--- a/Master/texmf-dist/doc/latex/proposal/README.md
+++ /dev/null
@@ -1,24 +0,0 @@
-LaTeX-proposal
-==============
-proposal.cls: A set of LaTeX classes for preparing proposals for collaborative projects
-
-The base proposal class supports many of the general elemenst of project proposals. It is
-optimized towards collaborate projects. This class is intended to be specialized to
-particular funding bodies that have their own styles.
-
-MANIFEST:
-base: the base proposal class
-dfg: the instance for Deutsche Forschungsgemeinschaft
-eu: the instance for EU proposals
-etc: style files from the sTeX bundle added for convenience
- (only on GitHub, not on CTAN)
-lib: Makefiles for the management of self-documenting packages
-bin: A script that makes GitHub issues from the deliverables of a
- proposal for project managment if the proposal is granted.
-
-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://github.com/KWARC/LaTeX-proposal
-This also contains examples and Makefiles that help the proposal writing process.
diff --git a/Master/texmf-dist/doc/latex/proposal/base/proposal.pdf b/Master/texmf-dist/doc/latex/proposal/base/proposal.pdf
deleted file mode 100644
index 2c003129237..00000000000
--- a/Master/texmf-dist/doc/latex/proposal/base/proposal.pdf
+++ /dev/null
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/proposal/dfg/dfgproposal.pdf b/Master/texmf-dist/doc/latex/proposal/dfg/dfgproposal.pdf
index fe2aee6b1f3..2b718ba8537 100644
--- a/Master/texmf-dist/doc/latex/proposal/dfg/dfgproposal.pdf
+++ b/Master/texmf-dist/doc/latex/proposal/dfg/dfgproposal.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/proposal/dfg/proposal/funds.tex b/Master/texmf-dist/doc/latex/proposal/dfg/proposal/funds.tex
index 93faf326acf..fa6ba1619c8 100644
--- a/Master/texmf-dist/doc/latex/proposal/dfg/proposal/funds.tex
+++ b/Master/texmf-dist/doc/latex/proposal/dfg/proposal/funds.tex
@@ -65,7 +65,7 @@ an average duration of 3 weeks, we estimate the cost of one visit at 600 {\texte
traveling and 70 {\texteuro} per night for accommodation, amounting to 2040 \texteuro per
visit.
-\subsubsubsection{-- 4.1.2.6, 4.1.3 (Expenses for Laboratory Animals / Other Costs
+\subsubsection*{-- 4.1.2.6, 4.1.3 (Expenses for Laboratory Animals / Other Costs
/ Project Related Publication Expenses / Instrumentation) \sf\qquad n/a}
% \subsubsection{Expenses for Laboratory Animals} None.
diff --git a/Master/texmf-dist/doc/latex/proposal/dfg/proposal/proposal.pdf b/Master/texmf-dist/doc/latex/proposal/dfg/proposal/proposal.pdf
new file mode 100644
index 00000000000..7144892c40d
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/proposal/dfg/proposal/proposal.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/proposal/dfg/proposal/proposal.tex b/Master/texmf-dist/doc/latex/proposal/dfg/proposal/proposal.tex
index e586fc2461c..6feedb55130 100644
--- a/Master/texmf-dist/doc/latex/proposal/dfg/proposal/proposal.tex
+++ b/Master/texmf-dist/doc/latex/proposal/dfg/proposal/proposal.tex
@@ -79,7 +79,6 @@ of publications. Non-published works must be included with the proposal.
Funding proposal XYZ-83282 has been submitted prior to this proposal on related topic XYZ.
\end{proposal}
-
\end{document}
%%% Local Variables:
diff --git a/Master/texmf-dist/doc/latex/proposal/dfg/proposal/public.pdf b/Master/texmf-dist/doc/latex/proposal/dfg/proposal/public.pdf
index 2c9e43abdba..3d49aea6873 100644
--- a/Master/texmf-dist/doc/latex/proposal/dfg/proposal/public.pdf
+++ b/Master/texmf-dist/doc/latex/proposal/dfg/proposal/public.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/proposal/dfg/proposal/submit.pdf b/Master/texmf-dist/doc/latex/proposal/dfg/proposal/submit.pdf
index 9fee2535279..df7b10b70d3 100644
--- a/Master/texmf-dist/doc/latex/proposal/dfg/proposal/submit.pdf
+++ b/Master/texmf-dist/doc/latex/proposal/dfg/proposal/submit.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/proposal/dfg/proposal/submit.tex b/Master/texmf-dist/doc/latex/proposal/dfg/proposal/submit.tex
index 5d92f9374de..3f1c60607c2 100644
--- a/Master/texmf-dist/doc/latex/proposal/dfg/proposal/submit.tex
+++ b/Master/texmf-dist/doc/latex/proposal/dfg/proposal/submit.tex
@@ -1,4 +1,4 @@
-\newcommand{\classoptions}{submit}
+\newcommand{\classoptions}{,submit}
\input{proposal}
%%% Local Variables:
diff --git a/Master/texmf-dist/doc/latex/proposal/dfg/report/Makefile b/Master/texmf-dist/doc/latex/proposal/dfg/report/Makefile
new file mode 100644
index 00000000000..3408045db02
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/proposal/dfg/report/Makefile
@@ -0,0 +1,67 @@
+# possibly customize the following variables to your setting
+REPORT = finalreport.tex # the report
+BIB = ../lib/dummy.bib # bibTeX databases
+PROP.dir = ../../..
+###########################################################################
+# the following are computed
+#CVP = $(shell ls CV_PubList*.tex) # CVs of the proposers
+#TSIMP = letter_submission.tex # pdflatex Targets without bibTeX
+#TSIMP.pdf = $(TSIMP:%.tex=%.pdf) # PDFs to be produced
+TBIB = $(REPORT) #$(CVP) # pdflatex Targets with bibTeX
+TARGET = $(TSIMP) $(TBIB) # all pdflatex targets
+TBIB.pdf = $(TBIB:%.tex=%.pdf) # PDFs to be produced
+TBIB.aux = $(TBIB:%.tex=%.aux) # their aux files.
+PDATA = $(REPORT:%.tex=%.pdata) # the proposal project data
+SRC = $(filter-out $(TARGET),$(shell ls *.tex)) # included files
+PDFLATEX = pdflatex -interaction batchmode -file-line-error
+BBL = $(REPORT:%.tex=%.bbl) $(REPORT:%.tex=%1-blx.bbl) $(REPORT:%.tex=%2-blx.bbl) #$(CVP:%.tex=%.bbl)
+PROPCLS.dir = $(PROP.dir)/base
+PROPETC.dir = $(PROP.dir)/etc
+DFGPROPCLS.dir = $(PROP.dir)/dfg
+TEXINPUTS := .//:$(PROPCLS.dir)//:$(DFGPROPCLS.dir)//:$(PROPETC.dir)//:
+BIBINPUTS := ../lib:$(BIBINPUTS)
+PROPCLS.clssty = reporting.cls pdata.sty
+PROPETC.sty = workaddress.sty metakeys.sty sref.sty
+DFGPROPCLS.clssty = dfgreporting.cls dfgpdata.sty
+PROPCLS = $(PROPCLS.clssty:%=$(PROPCLS.dir)/%) $(DFGPROPCLS.clssty:%=$(DFGPROPCLS.dir)/%) $(PROPETC.sty:%=$(PROPETC.dir)/%)
+
+all: $(TBIB.pdf) $(TSIMP.pdf)
+
+cd: # make cd will prepare CD for burning
+ mkdir CD;make $(TARGET.pdf); cp $(TARGET.pdf) CD
+
+$(BBL): %.bbl: %.aux
+ bibtex -min-crossrefs=100 -terse $<
+
+$(TSIMP.pdf): %.pdf: %.tex $(PROPCLS) $(PDATA)
+ $(PDFLATEX) $< || $(RM) $@
+
+$(PDATA): %.pdata: %.tex
+ $(PDFLATEX) $<
+
+$(TBIB.aux): %.aux: %.tex
+ $(PDFLATEX) $<
+
+$(TBIB.pdf): %.pdf: %.tex $(SRC) $(BIB) $(PROPCLS)
+ $(PDFLATEX) $< || $(RM) $@
+# sort $(REPORT:%.tex=%.delivs) > $(REPORT:%.tex=%.deliverables)
+ @if (test -e $(patsubst %.tex, %.idx, $<));\
+ then makeindex $(patsubst %.tex, %.idx, $<); fi
+ $(MAKE) -$(MAKEFLAGS) $(BBL)
+ @if (grep "(re)run BibTeX" $(patsubst %.tex, %.log, $<)> /dev/null);\
+ then $(MAKE) -B $(BBL); fi
+ $(PDFLATEX) $< || $(RM) $@
+ @if (grep Rerun $(patsubst %.tex, %.log, $<) > /dev/null);\
+ then $(PDFLATEX) $< || $(RM) $@; fi
+ @if (grep Rerun $(patsubst %.tex, %.log, $<) > /dev/null);\
+ then $(PDFLATEX) $< || $(RM) $@; fi
+
+clean:
+ rm -f *.log *.blg *~ *.synctex.gz *.cut
+
+distclean: clean
+ rm -f *.aux *.out *.run.xml *.bbl *.toc *.deliv* *.pdata
+ rm -Rf auto
+
+echo:
+ echo $(BIBINPUTS)
diff --git a/Master/texmf-dist/doc/latex/proposal/dfg/report/README b/Master/texmf-dist/doc/latex/proposal/dfg/report/README
new file mode 100644
index 00000000000..dabc084504d
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/proposal/dfg/report/README
@@ -0,0 +1,22 @@
+An Exapmle for dfgproposal.cls
+
+proposal.tex is a fake DFG proposal that shows all elements of
+ dfgproposal.cls in action.
+finalreport.tex does the same for dfgreporting.cls
+CV_PubList_Kohlhase.tex is an example of the CV and publication lists required
+ by the DFG
+letter_submission.tex is an example submission letter.
+*.tex the rest are intemediate files
+doc contains the DFG documentation how to write proposals and
+ final reports: These documents 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.
+Makefile allows the automation via a unix Makefile on the author's
+ machine, adapt it to your needs
+
+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/ex
+
diff --git a/Master/texmf-dist/doc/latex/proposal/dfg/report/finalreport.pdf b/Master/texmf-dist/doc/latex/proposal/dfg/report/finalreport.pdf
new file mode 100644
index 00000000000..4ae10d47a19
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/proposal/dfg/report/finalreport.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/proposal/dfg/report/finalreport.tex b/Master/texmf-dist/doc/latex/proposal/dfg/report/finalreport.tex
new file mode 100644
index 00000000000..e09637ef354
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/proposal/dfg/report/finalreport.tex
@@ -0,0 +1,52 @@
+% 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[gitinfo]{dfgreporting}
+%\documentclass[submit]{dfgproposal}
+%\documentclass[submit,public]{dfgproposal}
+\addbibresource{../lib/dummy.bib}
+% define the proposal acronym;
+% use \texorpdfstring so that it can be used in section headings as well
+% tell the class that this is the proposal acronym
+\input{WApersons}
+\begin{document}
+\providecommand\ifprefchar[2]{}% fix biblatex
+
+\begin{center}\color{red}\huge
+ This mock proposal is just an example for \texttt{dfgreporting.cls} it reflects the
+ template valid until January 2012 (have to update soon)
+\end{center}
+
+\begin{report}[importfrom=../proposal/proposal,
+ PI=miko,PI=gc,site=jacu,site=pcg,
+ key = KO 2428 99-9,
+ key = GS 4711 99-9,
+ thema=Intelligentes Schreiben von Antr\"agen,
+ reportperiod=1. Feb. 2010 - 31. Jan. 2012,
+ % jacuemployed=Junior Researcher: 1. Feb 2010 - 31. Jan 2012,
+ % pcgemployed=Slave Worker: 1. Feb 2010 - 31. Dec 2010,
+ % pcgemployed=Lazy Bones: 1.Jan 2011 - 31. Jan 2012,
+ applareas={Knowledge Management, Document Management, Workflow Systems},
+ % coop={Acquisition Guru, Berlin, Germany},
+ % coop={Deutsche Forschnungsgemeinschaft, Bonn, Germany},
+ projpapers={Kohlhase:pdpl10,providemore}]
+
+\include{progressreport}
+\include{progresssummary}
+\dfgprojpapers[articles,confpapers,wspapers]{Kohlhase:pdpl10,providemore,KohDavGin:psewads11,Lange:OpenMathCDLinkedData10}
+\end{report}
+\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/proposal/dfg/report/letter_submission.pdf b/Master/texmf-dist/doc/latex/proposal/dfg/report/letter_submission.pdf
new file mode 100644
index 00000000000..d56697a35ba
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/proposal/dfg/report/letter_submission.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/proposal/dfg/report/letter_submission.tex b/Master/texmf-dist/doc/latex/proposal/dfg/report/letter_submission.tex
new file mode 100644
index 00000000000..3660eb09546
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/proposal/dfg/report/letter_submission.tex
@@ -0,0 +1,33 @@
+\documentclass{dinbrief}
+\usepackage{ngerman}
+\signature{Dr. Michael Kohlhase\hspace*{5cm} Dr. Great Communicator}
+\usepackage{pdata}\readpdata{proposal}
+\begin{document}
+
+\begin{letter}{Frau ?????\\
+Deutsche Forschungsgemeinschaft\\
+52170 Bonn}
+
+\subject{Antrag auf Sachbeihilfe}
+\opening{Sehr geehrte Frau ?????}
+
+anbei senden wir Ihnen unseren Antrag auf Sachbeihilfe f"ur das Projekt "`\pn"'
+(\pnlong) zu. Die elektronische Version des Antrags inklusive der Anlagen sowie Kopien
+der eigenen Publikationen haben wir diesem Schreiben als CD beigef"ugt. Diese beinhaltet
+die folgenden Dateien:
+\begin{center}
+ \begin{tabular}{lp{8cm}}
+ \texttt{Antrag.pdf} & der Antrag\\
+ \texttt{CV\_Publist\_Kohlhase.pdf} & Lebenslauf Michael Kohlhase\\
+ \texttt{CV\_Publist\_Communicator.pdf} & Lebenslauf Great Communicator\\
+ Publikationen & Ordner mit den im Antrag bzw. in den Lebensl"aufen angegebenen
+eigenen Veröffentlichungen Das projektbezogene Publikationsverzeichnis befindet sich im
+Antrag unter Abschnitt 2.2.
+\end{tabular}
+\end{center}
+
+\closing{Mit freundlichen Gr"u"sen,}
+\end{letter}
+\end{document}
+
+% LocalWords: texttt Publist Schr
diff --git a/Master/texmf-dist/doc/latex/proposal/dfg/report/progressreport.tex b/Master/texmf-dist/doc/latex/proposal/dfg/report/progressreport.tex
new file mode 100644
index 00000000000..a14f0136099
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/proposal/dfg/report/progressreport.tex
@@ -0,0 +1,28 @@
+\section{Final Progress Report\deu{Arbeits- \& Ergebnisbericht}}
+\begin{todo}{from the report template}
+This is what the reviewers 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 progressreport.tex
diff --git a/Master/texmf-dist/doc/latex/proposal/dfg/report/progresssummary.tex b/Master/texmf-dist/doc/latex/proposal/dfg/report/progresssummary.tex
new file mode 100644
index 00000000000..c2722923d88
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/proposal/dfg/report/progresssummary.tex
@@ -0,0 +1,18 @@
+\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/proposal/eu/euproposal.pdf b/Master/texmf-dist/doc/latex/proposal/eu/euproposal.pdf
index 4d93696e632..8d3cd256f04 100644
--- a/Master/texmf-dist/doc/latex/proposal/eu/euproposal.pdf
+++ b/Master/texmf-dist/doc/latex/proposal/eu/euproposal.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/proposal/eu/strep/propB.pdf b/Master/texmf-dist/doc/latex/proposal/eu/strep/propB.pdf
new file mode 100644
index 00000000000..1c5eebf5f15
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/proposal/eu/strep/propB.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/proposal/eu/strep/propB.tex b/Master/texmf-dist/doc/latex/proposal/eu/strep/propB.tex
index 986826c9433..13afd61a7df 100644
--- a/Master/texmf-dist/doc/latex/proposal/eu/strep/propB.tex
+++ b/Master/texmf-dist/doc/latex/proposal/eu/strep/propB.tex
@@ -4,8 +4,8 @@
% - public.tex (like submit.tex, but no financials either)
\providecommand{\classoptions}{,keys} % to be overwritten in variants
\documentclass[noworkareas,deliverables,gitinfo,propB\classoptions]{euproposal}
-%\usepackage[T1]{fontenc}
-%\usepackage[utf8]{inputenc}
+\usepackage[T1]{fontenc}
+\usepackage[utf8]{inputenc}
\addbibresource{../lib/dummy}
\input{../lib/WApersons}% Some sections of the included files depend on this.
diff --git a/Master/texmf-dist/source/latex/proposal/base/proposal.dtx b/Master/texmf-dist/source/latex/proposal/base/proposal.dtx
index d58fadbca23..733f51aa51f 100644
--- a/Master/texmf-dist/source/latex/proposal/base/proposal.dtx
+++ b/Master/texmf-dist/source/latex/proposal/base/proposal.dtx
@@ -13,9 +13,9 @@
%
% \iffalse
%<cls|pdata|reporting>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
-%<cls>\ProvidesClass{proposal}[2015/11/22 v1.5 Project Proposal]
-%<pdata>\ProvidesPackage{pdata}[2015/11/22 v1.5 Project Data]
-%<reporting>\ProvidesPackage{reporting}[2015/11/22 v1.5 Project Reporting]
+%<cls>\ProvidesClass{proposal}[2016/04/15 v1.5 Project Proposal]
+%<pdata>\ProvidesPackage{pdata}[2016/04/15 v1.5 Project Data]
+%<reporting>\ProvidesPackage{reporting}[2016/04/15 v1.5 Project Reporting]
%<*driver>
\documentclass{ltxdoc}
\DoNotIndex{\def,\long,\edef,\xdef,\gdef,\let,\global}
@@ -28,8 +28,8 @@
\RecordChanges
\usepackage{textcomp,url,paralist,a4wide,xspace}
\usepackage[show]{ed}
-\usepackage[maxbibnames=6,hyperref=auto,style=alphabetic]{biblatex}
-\bibliography{kwarc}
+\usepackage[maxbibnames=6,hyperref=auto,style=alphabetic,backend=bibtex]{biblatex}
+\addbibresource{../lib/proposal.bib}
\usepackage[bookmarks=true,linkcolor=blue,
citecolor=blue,urlcolor=blue,colorlinks=true,
breaklinks=true, bookmarksopen=true]{hyperref}
@@ -610,7 +610,7 @@
\renewcommand{\familydefault}{\sfdefault}
\RequirePackage[scaled=.90]{helvet}
\RequirePackage{textcomp}
-\RequirePackage[hyperref=auto,style=numeric,defernumbers=true,backend=bibtex,backref=true,firstinits=true,maxbibnames=6]{biblatex}[2010/11-19]
+\RequirePackage[hyperref=auto,style=alphabetic,defernumbers=true,backend=bibtex,backref=true,firstinits=true,maxbibnames=6]{biblatex}[2010/11-19]
\RequirePackage{csquotes}
\RequirePackage{mdframed}
\RequirePackage{pdata}
@@ -699,9 +699,9 @@
\stepcounter{@site}\pdata@def{site}{#1}{number}{\the@site}%
\@ifundefined{prop@gen@sites}{\xdef\prop@gen@sites{#1}}{\xdef\prop@gen@sites{\prop@gen@sites,#1}}%
\define@key{prop@gen}{#1RM}{\pdata@def{site}{#1}{intendedRM}{##1}}%
-\if@RAM\define@key{prop@gen}{#1RAM}{\pdata@def{site}{#1}{intendedRAM}{##1}}\fi
+\define@key{prop@gen}{#1RAM}{\pdata@def{site}{#1}{intendedRAM}{##1}}
\define@key{workpackage}{#1RM}{\pdata@def\wp@id{#1}{RM}{##1}}%
-\if@RAM\define@key{workpackage}{#1RAM}{\pdata@def\wp@id{#1}{RAM}{##1}}\fi
+\define@key{workpackage}{#1RAM}{\pdata@def\wp@id{#1}{RAM}{##1}}
\define@key{prop@gen}{#1employed}{{\let\tabularnewline\relax\let\hline\relax\let\wa@ref\relax%
\@ifundefined{prop@gen@employed@lines}%
{\xdef\prop@gen@employed@lines{\wa@ref{institution}{#1}{shortname} & ##1\tabularnewline\hline}}%
@@ -828,8 +828,8 @@
\begin{itemize}
\@for\@I:=\prop@gen@PIs\do{%
\item Curriculum Vitae and list of publications for
- \wa@ref{person}\@I{personaltitle} \wa@ref{person}\@I{name}
-\end{itemize}}\newpage
+ \wa@ref{person}\@I{personaltitle} \wa@ref{person}\@I{name}}
+\end{itemize}\newpage
\printbibliography[heading=warnpubs]}
% \end{macrocode}
% \end{environment}
@@ -848,7 +848,7 @@
\pdata@open\jobname
\if@sites\else
\define@key{workpackage}{RM}{\pdata@def{wp}\wp@id{RM}{##1}\@dmp{RM=##1}}
-\if@RAM\define@key{workpackage}{RAM}{\pdata@def{wp}\wp@id{RAM}{##1}\@dmp{RAM=##1}}\fi
+\define@key{workpackage}{RAM}{\pdata@def{wp}\wp@id{RAM}{##1}\@dmp{RAM=##1}}
\fi
\newcounter{@PIs}
\@ifundefined{prop@gen@PIs}{}{\@for\@I:=\prop@gen@PIs\do{\stepcounter{@PIs}}}
@@ -1817,8 +1817,7 @@ ganttgray,.60/.60,.60,.60/0,0,.60/0,0,0,.40}
\else\begin{tabular}{|l|l|*{\thewpfig@options}{r|}|*{\the@sites}{r|}|r|}\hline\fi%|
\wpfig@headline\\\hline\hline}
{\end{tabular}\smallskip\\
-\wpfig@legend@RAM@expl
-\if@sites; \wpfig@legend@lead@expl\fi
+\wpfig@legend@RAM@expl\if@sites; \wpfig@legend@lead@expl\fi
\@ifundefined{wpfig@label}{\caption{\wpfig@legend@caption}}{\caption{\wpfig@caption}}
\@ifundefined{wpfig@label}{\label{fig:wplist}}{\label{\wpfig@label}}
\end{center}\end{table}}
@@ -2445,16 +2444,14 @@ joint&\multicolumn{\the@site}{l|}{\jpub $\hat=$ publication, \jpro $\hat=$ proje
% with the empty header we created before.
% \begin{macrocode}
\newcommand\prop@paperlist[2][]{%
-\begin{refsection}%
-\nocite{#2}\addtocategory{featured}{#2}%
\let\biboldfont\bibfont%
\renewcommand{\bibfont}{\footnotesize}%
\renewcommand{\baselinestretch}{.9}
+\def\do##1{\addtocategory{featured}{##1}}\docsvlist{#2}%
\setkeys{paperlist}{#1}
\@ifundefined{prop@rl}{}{\@latex@warning{some papers are not classified!}}
-\if@allpapers\printbibliography[heading=empty]\fi%
-\let\bibfont\biboldfont%
-\end{refsection}}
+\if@allpapers\printbibliography[category=featured,heading=empty]\fi%
+\let\bibfont\biboldfont}
% \end{macrocode}
% \end{macro}
%
diff --git a/Master/texmf-dist/source/latex/proposal/bin/Modparse.pm b/Master/texmf-dist/source/latex/proposal/bin/Modparse.pm
new file mode 100644
index 00000000000..2fd732b063d
--- /dev/null
+++ b/Master/texmf-dist/source/latex/proposal/bin/Modparse.pm
@@ -0,0 +1,189 @@
+#######################################################################################
+# A module for loading .tex files and feeding the data to the various applications. #
+# Copyright (c) 2005, Ioan Sucan, released under the Gnu General Public License (GPL) #
+# see http://www.gnu.org/copyleft/gpl.html #
+# $URL: svn://kwarc.eecs.iu-bremen.de/repos/kwarc/projects/content/bin/Modparse.pm$ #
+# $Date: 2005-09-26 12:44:28 -0500 (Mon, 26 Sep 2005) $ $Rev: 4243 $ #
+#######################################################################################
+
+package Modparse;
+
+use File::Basename;
+use File::Path;
+
+# if both snippath and snippathList are specified,
+# snippathList is ignored !
+
+# if a default snippath definition file is found
+# (snippath.def) it is used if no snippath is given
+# as argument;
+sub new {
+ my ($class, %options) = @_;
+
+ $options{recursion} = 1 unless defined $options{recursion};
+ $options{requireStatus} = 'include|exclude' unless defined $options{requireStatus};
+ $options{loadInputs} = 1 unless defined $options{loadInputs};
+ $options{onlyModuleLines} = 0 unless defined $options{onlyModuleLines};
+
+ if ( !(%{$options{snippath}}) && (-e "snippath.def") ) {
+ open(SNIPPATHDEF, 'snippath.def');
+ my @snlist = <SNIPPATHDEF>;
+ close(SNIPPATHDEF);
+ for (my $i = 0 ; $i <= $#snlist; $i++) { chomp($snlist[$i]); }
+ %{$options{snippath}} = @snlist; }
+ @{$options{snippathList}} = keys(%{$options{snippath}})
+ if ($options{snippath} && %{$options{snippath}});
+ $options{debug} = 0;
+
+ bless(\%options, $class); }
+
+sub execute{
+ my ($self, $file) = @_;
+
+ local *run_event = sub {
+ my ($event, $arg) = @_;
+ if ($self->{$event}) { $self->{$event}($arg); }
+ };
+
+ local *go = sub {
+ my ($location, %param) = @_;
+ my ($tex, $path, @tex_data) = $self->readLocation($location);
+ return unless @tex_data;
+ my $NL = $#tex_data+1;
+
+ $param{filename} = $tex;
+ $param{depth}++;
+ $param{filecount}++;
+ my $i = 0;
+
+ $param{nextline} = sub { $tex_data[++$i]; };
+ $param{prevline} = sub { $tex_data[--$i]; };
+ $param{rewriteline}= sub { $tex_data[$i] = $_[0]; };
+
+ print "Processing $tex...\n" if $self->{verbose};
+ run_event('onBeginFile', \%param);
+
+ while ($i<$NL){
+ $param{original} = $tex_data[$i];
+ $_ = $tex_data[$i]; chomp; /([^%]*)((%.*)?)/;
+ ($param{tex}, $param{comment}) = ($1, $2); $_ = $1;
+ s/\s+//g; $param{simple_tex} = $_;
+
+ if (/\\begin\{module\}(\[([^\]]*)\])?/) {
+ if ($param{in_module}) {
+ push(@{$param{module_stack}}, [$param{module_id}, $param{module_arg}]); }
+ $param{in_module} = 1;
+ $param{module_args} = $1 ? $2 : undef;
+ $param{module_id} = ($param{module_args} &&
+ $param{module_args} =~ /id=([^\],]+)/) ? $1 : undef;
+ $param{module_nesting}++;
+ run_event('onBeginModule', \%param); }
+
+ if (/\\end\{module\}/) {
+ run_event('onEndModule', \%param);
+ if ($#{$param{module_stack}} >= 0) {
+ ($param{module_id}, $param{module_args}) = @{pop(@{$param{module_stack}})};
+ } else {
+ $param{in_module} = 0;
+ ($param{module_id}, $param{module_args}) = (undef, undef); }
+ $param{module_nesting}--;
+ }
+
+ foreach my $srch_snippath(@{$self->{snippathList}}){
+ $self->{snippath}{$srch_snippath} = $1
+ if (/\\def\\$srch_snippath\#1\{([^\#]+)\#1\}$/); }
+
+ if ($self->{follow} && (/\\((requiremodules(\[($self->{requireStatus})\])?)|input|include)\{([^\}]+)\}/)){
+ my $req_filename = $5; my $req_spath = ''; my $command = $1;
+ my $is_require = ($command =~ /requiremodules/) ? 1 : 0;
+ if ($is_require || $self->{loadInputs}) {
+ foreach my $srch_snippath(@{$self->{snippathList}}){
+ if ($req_filename =~ /\\$srch_snippath\{(.+)/){
+ ($req_spath, $req_filename) = ($self->{snippath}{$srch_snippath}, $1);
+ last; }}
+ run_event('onRecurse', \%param);
+ if ($self->{recursion} || !$is_require) {
+ go($self->makeLocation($req_filename, $path, $req_spath), %param); }
+ }
+ }
+ run_event('onEveryLine', \%param) if ($param{in_module} || !$self->{onlyModuleLines});
+
+ last if (/\\end\{document\}/ && $self->{stopAtEnd});
+ $i++;
+ }
+ run_event('onEndFile', \%param);
+ $param{depth}--; return;
+ };
+
+ my %param = (pack=>$self, perm=>$self->{_AUX_DATA}, depth=>0, filecount=>0,
+ in_module=>0, module_nesting=>0);
+ run_event('onBegin', \%param);
+ go($self->makeLocation($file), %param);
+ run_event('onEnd', \%param);
+ return;
+}
+
+
+# add a [.tex] extension to the filename
+sub add_ext{
+ my ($self, $fn, $ext) = @_;
+ $ext = '.tex' unless $ext;
+ $fn.=$ext if $fn !~ /\Q$ext\E$/;
+ $fn; }
+
+# as long as the extension is .tex, drop it
+sub drop_ext{
+ my ($self, $filename) = @_;
+ while ($filename =~ /\.tex$/){
+ while ($filename !~ /\.$/ ) { chop($filename); }
+ chop($filename); }
+ $filename; }
+
+sub new_ext{
+ my ($self, $filename, $ext) = @_;
+ $self->add_ext($self->drop_ext($filename), $ext); }
+
+# location = pointer to array of strings
+# first element is filename; next are possible paths
+sub makeLocation{ my $self = shift; return \@_; }
+
+# read a location into an array of strings
+# aslo return filename and path to it (just in
+# case some changes were made to it, like adding
+# extension and/or relative paths)
+sub readLocation{
+ my ($self, $location) = @_;
+
+ my ($filename, @paths) = @{$location};
+ # try to add proper extension;
+ my $filename_ext = $self->new_ext($filename) unless -e $filename;
+ $filename = $filename_ext if $filename_ext && -e $filename_ext;
+
+ # try search paths
+ if (! -e $filename){
+ my $all_p = '';
+ foreach my $p(@paths){
+ $all_p .= $p;
+ $filename = $all_p.$filename and last if -e $all_p.$filename;
+ $filename = $p.$filename and last if -e $p.$filename;
+ if ($filename_ext){
+ $filename = $all_p.$filename_ext and last if -e $all_p.$filename_ext;
+ $filename = $p.$filename_ext and last if -e $p.$filename_ext; }
+ }}
+ # don't do the same work too many times
+ foreach my $file(@{$self->{loadedFiles}})
+ { return undef if $file eq $filename; }
+
+ push(@{$self->{loadedFiles}}, $filename);
+ open(FIN, $filename) or die "Cannot open '$filename'\n";
+ my @data = <FIN>;
+ close(FIN);
+
+ # find path of current file
+ my $path = dirname($filename);
+ $path.='/' if ($path ne '');
+
+ return ($filename, $path, @data);
+}
+
+1;
diff --git a/Master/texmf-dist/source/latex/proposal/bin/README b/Master/texmf-dist/source/latex/proposal/bin/README
new file mode 100644
index 00000000000..e33b26bf256
--- /dev/null
+++ b/Master/texmf-dist/source/latex/proposal/bin/README
@@ -0,0 +1,32 @@
+This directory contains the binaries for the proposal class.
+
+We have three utilities:
+- filedate and checksum are for managing metadata in the
+ DTX files of the sTeX distribution (written in perl)
+- Modparse.pm is a perl library they depend on
+- generate-issues is a ruby library that generates issues
+ on http://github.com for the project (experimental)
+
+============== Details =================
+
+checksum
+ "enable, update, and disable checksums in DTX files"
+
+Usage:
+ checksum [options]
+
+Options:
+ -- disable disable the checksum by wrapping in \iffalse ... \fi
+ -- enable remove those again
+ -- update update to the correct checksum
+
+
+filedate <input filename> <newdate>
+
+Purpose:
+ Update the dates for a \ProvidePackage invocation in a given .dtx source
+
+Example:
+ filedate omdoc.dtx
+
+
diff --git a/Master/texmf-dist/source/latex/proposal/bin/checksum b/Master/texmf-dist/source/latex/proposal/bin/checksum
new file mode 100755
index 00000000000..9f0e533a8d4
--- /dev/null
+++ b/Master/texmf-dist/source/latex/proposal/bin/checksum
@@ -0,0 +1,71 @@
+#!/usr/bin/perl -w
+#######################################################################################
+# A tool for updating .dtx files with a correspodning checksum counter #
+# Copyright (c) 2010, Deyan Ginev, released under the Gnu General Public License (GPL)#
+# see http://www.gnu.org/copyleft/gpl.html #
+# $URL: https://svn.kwarc.info/repos/stex/trunk/bin/checksum$ #
+#######################################################################################
+
+use strict;
+
+use Getopt::Long;
+use Modparse;
+use Pod::Usage;
+use Cwd qw(abs_path);
+
+####### start of program #######
+my $mode = "update"; #Default is update
+my $action = { "update" => \&update, "disable" => \&disable, "enable"=>\&enable };
+GetOptions("disable" => sub { $mode="disable"; },
+ "enable" => sub { $mode="enable"; },
+ "update" => sub { $mode="update"; });
+
+
+my ($path) = @ARGV;
+$path = abs_path($path);
+my ($volume,$dir,$file) = File::Spec->splitpath( $path );
+my @lines = `cd $dir; pdflatex "\\nonstopmode\\input{$file}"` if ($mode eq "update");
+my ($checksum) = map {$_=~/^\* The checksum should be (\d+)!/; $1;} grep ($_ =~ /^\* The checksum should be (\d+)!/,@lines) if @lines;
+if (!$checksum) {
+#One more possible error message:
+ ($checksum) = map {$_=~/^! Package doc Error: Checksum not passed \((\d+)<>(\d+)\)\./; $2;} grep ($_ =~ /^! Package doc Error: Checksum not passed \((\d+)<>(\d+)\)\./,@lines) if @lines;
+}
+open(IN,"<$path") or die "Cannot open DTX source: $path\n";
+@lines = ();
+while (<IN>) {
+ push @lines, &{$$action{$mode}}($_,$checksum);
+}
+close(IN);
+open(OUT,">$path") or die "Cannot write to DTX target: $path\n";
+print OUT join("",@lines);
+close(OUT);
+######### Subroutines ############
+sub update {
+ my $checksum=$_[1];
+ $_[0]=~s/\\CheckSum\{\d*\}/\\CheckSum{$checksum}/ if $checksum;
+ $_[0];
+}
+
+sub disable {
+ $_[0]=~s/\\CheckSum\{(\d*)\}/\\iffalse\\CheckSum\{$1}\\fi/ unless $_[0]=~/\\iffalse\\CheckSum\{(\d*)\}\\fi/;
+ $_[0];
+}
+
+sub enable {
+ $_[0]=~s/\\iffalse\\CheckSum\{(\d*)\}\\fi/\\CheckSum{$1}/;
+ $_[0];
+}
+
+
+__END__
+
+
+=head1 SYNOPSIS
+
+checksum <input filename> --update|enable|disable
+
+Purpose:
+ Update, enable or disable the \CheckSum macro for a given .dtx source
+
+Example:
+ checksum omd.dtx --update
diff --git a/Master/texmf-dist/source/latex/proposal/bin/filedate b/Master/texmf-dist/source/latex/proposal/bin/filedate
new file mode 100755
index 00000000000..af49b6550dd
--- /dev/null
+++ b/Master/texmf-dist/source/latex/proposal/bin/filedate
@@ -0,0 +1,45 @@
+#!/usr/bin/perl -w
+#######################################################################################
+# A tool for updating .dtx files with a given package date. #
+# Copyright (c) 2010, Deyan Ginev, released under the Gnu General Public License (GPL)#
+# see http://www.gnu.org/copyleft/gpl.html #
+# $URL: https://svn.kwarc.info/repos/stex/trunk/bin/filedate$ #
+#######################################################################################
+
+use strict;
+
+use Getopt::Long;
+use Modparse;
+use Pod::Usage;
+use Cwd qw(abs_path);
+
+my ($file) = @ARGV;
+my $date = `git log --format='%ai' $file`;
+$date = substr($date, 0, index($date, ' '));
+$date =~ s/-/\//g;
+$file = abs_path($file);
+open(IN,"<$file");
+my @lines = ();
+while (<IN>) {
+ if ($_ =~ /\\Provides(Package|Class)/) {
+ $_ =~ s/\[(.*?)\s/\[$date /;
+ }
+ push @lines, $_;
+}
+close(IN);
+open(OUT,">$file");
+print OUT join("",@lines);
+close(OUT);
+
+__END__
+
+
+=head1 SYNOPSIS
+
+filedate <input filename> <newdate>
+
+Purpose:
+ Update the dates for a \ProvidePackage invocation in a given .dtx source
+
+Example:
+ filedate omdoc.dtx
diff --git a/Master/texmf-dist/source/latex/proposal/bin/generate-issues b/Master/texmf-dist/source/latex/proposal/bin/generate-issues
new file mode 100755
index 00000000000..84ebfd80fd6
--- /dev/null
+++ b/Master/texmf-dist/source/latex/proposal/bin/generate-issues
@@ -0,0 +1,470 @@
+#!/usr/bin/env ruby
+# Generate GitHub Issues for tasks and deliverables
+# - Each work package gets a WPX/README.md file
+# - Each task gets an Issue
+# - Each deliverable gets a Milestone
+# - Each deliverable gets an Issue associated with its Milestone
+# - Each deliverable Issue gets 'deliverable', 'WPX' tags
+# - Each task Issue gets 'task', 'WPX' tags
+
+# Run me from the proposal dir containing proposal.pdata:
+# cd ~/OpenDreamKit/Proposal
+# ~/path/to/LaTeX-Proposal/bin/generate-issues
+
+require 'date'
+require 'Octokit'
+require 'netrc'
+
+# constants for running the script are for OpenDreamKit
+# update these for your own proposal
+
+START_DATE = Date::new(2015, 9, 1) # start date of the project
+HOMEPAGE = "http://opendreamkit.org"
+PROPOSAL_URL = "https://github.com/OpenDreamKit/OpenDreamKit/raw/master/Proposal/proposal-www.pdf"
+PROJECT = "OpenDreamKit"
+REPO = "OpenDreamKit/OpenDreamKit"
+TARGET = "final" # or 'proposal'
+
+# throttle github creation requests to 5 Hz to avoid getting flagged for abuse
+THROTTLE_SECONDS = 5
+
+NATURES = {
+ 'R' => 'Report',
+ 'DEM' => 'Demonstrator',
+ 'DEC' => 'Websites, Media, etc.',
+ 'OTHER' => 'Other',
+}
+
+DISSEMINATIONS = {
+ 'PU' => 'Public',
+ 'CO' => 'Confidential',
+ 'CI' => 'Classified',
+}
+
+SITES = {
+ 'PS' => 'Université Paris-Sud',
+ 'LL' => 'Logilab',
+ 'UV' => 'Université de Versailles Saint-Quentin',
+ 'UJF' => 'Université Joseph Fourier',
+ 'UB' => 'CNRS',
+ 'UO' => 'University of Oxford',
+ 'USH' => 'University of Sheffield',
+ 'USO' => 'University of Southampton',
+ 'SA' => 'University of St Andrews',
+ 'UW' => 'University of Warwick',
+ 'JU' => 'Jacobs University Bremen',
+ 'UK' => 'University of Kaiserslautern',
+ 'US' => 'University of Silesia',
+ 'ZH' => 'Universität Zürich',
+ 'SR' => 'Simula Research Laboratory',
+}
+
+REVERSE_SITES = {}
+SITES.each_pair do |key, name|
+ REVERSE_SITES[name] = key
+end
+
+# Some sites would prefer alternative abbreviations
+REVERSE_SITES['University of St Andrews'] = 'USTAN'
+REVERSE_SITES['Université de Versailles Saint-Quentin'] = 'UVSQ'
+
+#------------------- Parsing proposal.pdata ---------------------
+
+def split_line(line)
+ # super primitive state-machine line split (not going to regex this)
+ parts = []
+ level = 0
+ buffer = []
+ line.each_char do |c|
+ case c
+ when '{'
+ if level > 0
+ buffer.push c
+ end
+ level += 1
+ when '}'
+ level -= 1
+ if level > 0
+ buffer.push c
+ end
+ if level == 0
+ parts.push(scrub_tex(buffer.join('')))
+ buffer = []
+ end
+ else
+ if level > 0
+ buffer.push c
+ end
+ end
+ end
+ return parts
+end
+
+
+def scrub_tex(text)
+ # scrub some latex markup from text
+ text.gsub!(/\\\w+/, '')
+ text.gsub!(/[{}]/, '')
+ text.strip.split.join(' ')
+end
+
+
+def transform_value(key, value)
+ case key
+ when 'lead'
+ return SITES[value]
+ when 'partners'
+ return value.split(',').map { |v| SITES[v] }
+ when 'dissem'
+ return DISSEMINATIONS[value]
+ when 'nature'
+ return NATURES[value]
+ when 'month'
+ return value.to_i
+ when 'delivs'
+ return value.split(',')
+ else
+ return scrub_tex(value)
+ end
+end
+
+
+def load_pdata(proposal_dir)
+ pdata = File.join(proposal_dir, "#{TARGET}.pdata")
+ deliv_data = File.join(proposal_dir, "#{TARGET}.deliverables")
+
+ workpackages = {} # mapping of workpackage id => wp info
+ deliverables = {}
+
+ File.readlines(pdata).each do |line|
+ key, *args = split_line line
+
+ case key
+ when 'wp'
+ name, key, value = args
+ value = transform_value(key, value)
+ if not workpackages.include? name
+ workpackages[name] = {
+ "tasks" => {},
+ "unknown-task" => nil,
+ "deliverables" => [],
+ }
+ end
+ wp = workpackages[name]
+ wp[key] = value
+
+ when 'task'
+ name, key, value = args
+ value = transform_value(key, value)
+ # find my workpackage
+ if name.index('@')
+ wpkey, short_name = name.split('@')
+ if short_name.match(/task\d+/)
+ workpackages[wpkey]['unknown-task'] = short_name
+ name = short_name
+ end
+ else
+ wpkey = workpackages.keys.select { |wpkey| name.start_with? wpkey }.first
+ end
+ # handle workpackage@taskNN weirdness
+ wp = workpackages[wpkey]
+ tasks = wp['tasks']
+ if not wp['unknown-task'].nil? and wp['unknown-task'] != name
+ tasks[name] = tasks.delete(wp['unknown-task'])
+ wp['unknown-task'] = nil
+ end
+ if not tasks.include? name
+ tasks[name] = {}
+ end
+ tasks[name][key] = value
+ when 'deliv'
+ name, key, value = args
+
+ value = transform_value(key, value)
+ if not deliverables.include? name
+ deliverables[name] = {}
+ end
+ deliverables[name][key] = value
+
+ else
+ # DEBUG:
+ # puts " Ignored: #{args}"
+ end
+ end
+
+ # get deliverable data, workpackage id from proposal.deliverables
+ File.readlines(deliv_data).each do |line|
+ args = split_line line
+ name = args[3]
+ if deliverables.include? name
+ deliverable = deliverables[name]
+ else
+ deliverable = {}
+ end
+ month = args[0].to_i
+ deliverable = (deliverables[name] or {}).merge({
+ "month" => month,
+ # due date is last day of the given month, so subtract one day
+ "due_date" => (START_DATE >> month) - 1,
+ "label" => scrub_tex(args[2]),
+ "deliv_id" => args[3],
+ "dissem" => transform_value('dissem', args[4]),
+ "nature" => transform_value('nature', args[5]),
+ "title" => scrub_tex(args[6]),
+ "lead" => SITES[scrub_tex(args[8])],
+ })
+ wpid = scrub_tex(args[7])
+ wp = workpackages.values.find {|wp| wp['label'] == wpid}
+ wp['deliverables'].push(deliverable)
+ end
+
+ workpackages.values.each do |wp|
+ wp['deliverables'].sort_by! {|d| d['label']}
+ end
+
+ return workpackages.values.sort_by {|wp| wp['label']}
+end
+
+
+#--------------- GitHub-related ---------------------
+
+def check_token
+ # get GitHub auth token, creating one if we don't find it.
+ rc = Netrc.read Netrc.default_path
+ if not rc['api.github.com'].nil?
+ return
+ end
+ puts "We need your password to generate an OAuth token. The password will not be stored."
+ username = ask "Username: "
+ password = ask("Password: ") { |q| q.echo = '*' }
+ client = Octokit::Client.new(
+ :login => username,
+ :password => password,
+ )
+ reply = client.create_authorization(
+ :scopes => ["public_repo"],
+ :note => "Issue Migration",
+ )
+ token = reply.token
+ rc['api.github.com'] = username, token
+ rc.save
+end
+
+$cache = {
+ 'issues' => {},
+ 'milestones' => {},
+}
+
+def get_issues(github, repo)
+ # get issues for a repo (cached)
+ cache = $cache['issues']
+ if not cache.include? repo
+ cache[repo] = github.issues(repo)
+ end
+ return cache[repo]
+end
+
+def get_milestones(github, repo)
+ # get issues for a repo (cached)
+ cache = $cache['milestones']
+ if not cache.include? repo
+ cache[repo] = github.list_milestones(repo)
+ end
+ return cache[repo]
+end
+
+# Templates for making readmes, issues
+
+README_TPL = <<-END
+# %{title}
+
+Lead Institution: %{lead}
+
+See page %{page} of the [proposal](#{PROPOSAL_URL}) for the full description.
+END
+
+TASK_TPL = <<-END
+- **%{wplabel}:** [%{wptitle}](https://github.com/#{REPO}/tree/master/%{wplabel})
+- **Lead Institution:** %{lead}
+- **Partners:** %{partners}
+- **Work phases:** %{wphases}
+
+See page %{page} of the [proposal](#{PROPOSAL_URL}) for the full description.
+END
+
+DELIV_TPL = <<-END
+- **%{wplabel}:** [%{wptitle}](https://github.com/#{REPO}/tree/master/%{wplabel})
+- **Lead Institution:** %{lead}
+- **Due:** %{date} (month %{month})
+- **Nature:** %{nature}
+
+See page %{page} of the [proposal](#{PROPOSAL_URL}) for the full description.
+END
+
+DELIV_MILESTONE_TPL = "# %{title}\n\n#{DELIV_TPL}"
+
+
+def make_task_issue(github, repo, task, workpackage, options)
+ title = "#{task['label']}: #{task['title']}"
+ issues = get_issues(github, repo)
+ issue = issues.find { |i| i.title.start_with?(task['label'] + ':') }
+ if issue.nil?
+ body = TASK_TPL % {
+ wplabel: workpackage['label'],
+ wptitle: workpackage['title'],
+ lead: task['lead'],
+ page: task['page'],
+ wphases: task['wphases'],
+ partners: (task['partners'] or ['None']).join(', ')
+ }
+ puts "\n\nMaking Issue on #{repo}: #{title}"
+ puts body
+
+ github.create_issue(repo, title, body, options)
+ # throttle creation calls to avoid flags for abuse
+ sleep THROTTLE_SECONDS
+ else
+ puts "Found Issue #{repo}##{issue.number}: #{issue.title}"
+ existing_labels = issue.labels.map { |label| label['name']}
+ missing_labels = options[:labels].reject { |label| existing_labels.include? label }
+ if not missing_labels.empty?
+ puts "Updating milestone, labels on #{repo}##{issue.number}"
+ github.update_issue(repo, issue.number, options)
+ sleep THROTTLE_SECONDS
+ end
+ end
+end
+
+
+def make_deliverable_issue(github, repo, deliverable, workpackage, options)
+ title = "#{deliverable['label']}: #{deliverable['title']}"
+ issues = get_issues(github, repo)
+ issue = issues.find { |i| i.title.start_with?(deliverable['label'] + ':') }
+ if issue.nil?
+ body = DELIV_TPL % {
+ wplabel: workpackage['label'],
+ wptitle: workpackage['title'],
+ lead: deliverable['lead'],
+ date: deliverable['due_date'],
+ month: deliverable['month'],
+ nature: deliverable['nature'],
+ page: deliverable['page'],
+ }
+ puts "\n\nMaking Issue on #{repo}: #{title}"
+ puts body
+ github.create_issue(repo, title, body, options)
+ # throttle creation calls to avoid flags for abuse
+ sleep THROTTLE_SECONDS
+ else
+ puts "Found Issue #{repo}##{issue.number}: #{issue.title}"
+ existing_labels = issue.labels.map { |label| label['name']}
+ missing_labels = options[:labels].reject { |label| existing_labels.include? label }
+ if issue.milestone.nil? or not missing_labels.empty?
+ puts "Updating milestone, labels on #{repo}##{issue.number}"
+ github.update_issue(repo, issue.number, options)
+ sleep THROTTLE_SECONDS
+ end
+ end
+end
+
+
+def make_deliverable_milestone(github, repo, deliverable, workpackage)
+ title = deliverable['label']
+
+ milestone = get_milestones(github, repo).find { |ms| ms.title == title }
+ if milestone.nil?
+ puts "Making milestone on #{repo}: #{title}"
+ body = DELIV_MILESTONE_TPL % {
+ wplabel: workpackage['label'],
+ wptitle: workpackage['title'],
+ title: deliverable['title'],
+ lead: deliverable['lead'],
+ date: deliverable['due_date'],
+ month: deliverable['month'],
+ nature: deliverable['nature'],
+ page: deliverable['page'],
+ }
+
+ milestone = github.create_milestone(repo, title,
+ :due_on => deliverable['due_date'],
+ :description => body,
+ )
+ # throttle creation calls to avoid flags for abuse
+ sleep THROTTLE_SECONDS
+ else
+ puts "Milestone #{repo}@#{title} exists"
+ end
+ return milestone.number
+end
+
+
+def populate_workpackage(github, repo, workpackage)
+ # populate issues for a given workpackage
+ label = workpackage['label']
+
+ readme_path = "#{label}/README.md"
+ begin
+ github.contents(repo, :path => readme_path)
+ rescue Octokit::NotFound
+ readme = README_TPL % {
+ title: "#{workpackage['label']}: #{workpackage['title']}",
+ lead: workpackage['lead'],
+ page: workpackage['page'],
+ }
+
+ puts "Creating readme at #{repo}/#{readme_path}"
+ puts readme
+ github.create_contents(repo, readme_path, "Creating #{readme_path}", readme)
+ # throttle creation calls to avoid flags for abuse
+ sleep THROTTLE_SECONDS
+ end
+
+ workpackage['tasks'].each_value do |task|
+ org_labels = [REVERSE_SITES[task['lead']]] + \
+ (task['partners'] or []).map {|site| REVERSE_SITES[site]}
+
+ make_task_issue(github, repo, task, workpackage,
+ :labels => [
+ 'task',
+ workpackage['label'],
+ ] + org_labels
+ )
+ end
+ workpackage['deliverables'].each do |deliverable|
+ milestone = make_deliverable_milestone(github, repo, deliverable, workpackage)
+ make_deliverable_issue(github, repo, deliverable, workpackage, {
+ :milestone => milestone,
+ :labels => [
+ 'deliverable',
+ workpackage['label'],
+ REVERSE_SITES[deliverable['lead']]
+ ]
+ })
+ end
+end
+
+
+def main(proposal_dir)
+ # run the whole thing
+
+ # verify that there's a GitHub token in .netrc
+ check_token
+
+ # create client
+ github = Octokit::Client.new(:netrc => true)
+ github.auto_paginate = true
+
+ load_pdata(proposal_dir).each do |wp|
+ populate_workpackage(github, REPO, wp)
+ end
+end
+
+if __FILE__ == $0
+ puts ARGV
+ if ARGV.length > 1
+ proposal_dir = ARGV[1]
+ else
+ proposal_dir = '.'
+ end
+ main(proposal_dir)
+end \ No newline at end of file
diff --git a/Master/texmf-dist/source/latex/proposal/dfg/dfgproposal.dtx b/Master/texmf-dist/source/latex/proposal/dfg/dfgproposal.dtx
index 53d3ecc23e8..63e6a46eadc 100644
--- a/Master/texmf-dist/source/latex/proposal/dfg/dfgproposal.dtx
+++ b/Master/texmf-dist/source/latex/proposal/dfg/dfgproposal.dtx
@@ -13,9 +13,9 @@
%
% \iffalse
%<cls|pdata|reporting>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
-%<cls>\ProvidesClass{dfgproposal}[2015/11/22 v1.4 DFG Proposal]
-%<pdata>\ProvidesPackage{dfgpdata}[2015/11/22 v1.4 DFG Project Data]
-%<reporting>\ProvidesPackage{dfgreporting}[2015/11/22 v1.4 DFG Project Reporting]
+%<cls>\ProvidesClass{dfgproposal}[2016/04/15 v1.4 DFG Proposal]
+%<pdata>\ProvidesPackage{dfgpdata}[2016/04/15 v1.4 DFG Project Data]
+%<reporting>\ProvidesPackage{dfgreporting}[2016/04/15 v1.4 DFG Project Reporting]
%<*driver>
\documentclass[twoside]{ltxdoc}
\DoNotIndex{\def,\long,\edef,\xdef,\gdef,\let,\global}
@@ -28,8 +28,8 @@
\RecordChanges
\usepackage{textcomp,url,paralist,a4wide,xspace}
\usepackage[show]{ed}
-\usepackage[maxnames=6,hyperref=auto,style=alphabetic]{biblatex}
-\bibliography{kwarc}
+\usepackage[maxnames=6,hyperref=auto,style=alphabetic,backend=bibtex]{biblatex}
+\addbibresource{../lib/proposal.bib}
\usepackage[bookmarks=true,linkcolor=blue,
citecolor=blue,urlcolor=blue,colorlinks=true,
breaklinks=true, bookmarksopen=true]{hyperref}
@@ -72,10 +72,10 @@
% \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 extends the |proposal| class~\cite{Kohlhase:pplp:svn} and
+% The |dfgproposal| class extends the |proposal| class~\cite{Kohlhase:pplp:ctan} and
% supports many of the specific elements of a DFG Proposal. The package documentation
% is still preliminary, fragmented and incomplete and only dwells on the particulars of
-% DFG proposals, so we treat~\cite{Kohlhase:pplp:svn} as a prerequisite. Please consult
+% DFG proposals, so we treat~\cite{Kohlhase:pplp:ctan} as a prerequisite. Please consult
% the example proposal |dfg/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
@@ -106,7 +106,7 @@
%
% 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 specified in~\cite{Kohlhase:pplp:svn}. The
+% and gives a comma separated list of options specified in~\cite{Kohlhase:pplp:ctan}. The
% |dfgproposal| class adds the two options
% \begin{compactenum}
% \item \DescribeMacro{general}|general|, which allows generates a first section with
@@ -507,9 +507,12 @@ Applicant\if@sites\ifnum\the@PIs>1{s}\fi\fi\ \deu{(Antragsteller)}}%
% \subsection{German Reports}\label{sec:impl:german}
%
% We have to redefine some macros for German reports.
+%
% \begin{macrocode}
%<*pdata>
\ifdeutsch
+\renewcommand\prop@count[1]{\ifcase #1 null\or ein\or zwei\or drei\or vier\or f"unf\or sechs\or sieben\or
+ acht\or neun\or zehn\or elf\or zw"olf\else#1\fi}
\renewcommand\prop@of@pages[2]{Seite~#1\ifofpage~von~#2\fi}
\renewcommand\wp@mk@title[1]{Arbeitspaket {#1}}
\renewcommand\wp@label[1]{AP{#1}}
@@ -532,9 +535,9 @@ Applicant\if@sites\ifnum\the@PIs>1{s}\fi\fi\ \deu{(Antragsteller)}}%
\renewcommand\wpfig@legend@totalRAM{Summe HM}
\renewcommand\wpfig@legend@RM{PM}
\renewcommand\wpfig@legend@RAM{HM}
-\renewcommand\wpfig@legend@RAM@expl{\if@RAM P/HM $\widehat=$ Personen/Hilfskraft Monate;\else\ Aufw\"ande in Personenmonaten\\\fi}
-\renewcommand\wpfig@legend@lead@expl{(Arbeitspaketleiter sind \wp@lead@style@explained}
-\renewcommand\wp@lead@style@explained{grau und kursiv markiert)}
+\renewcommand\wpfig@legend@RAM@expl{\if@RAM P/HM $\widehat=$ Personen/Hilfskraft Monate\else\ Aufw\"ande in Personenmonaten\fi}
+\renewcommand\wpfig@legend@lead@expl{Arbeitspaketleiter sind \wp@lead@style@explained}
+\renewcommand\wp@lead@style@explained{grau und kursiv markiert}
\renewcommand\wpfig@legend@caption{{\ifwork@areas Arbeitsbereiche und \fi}Arbeitspakete}
\renewcommand\wp@legend@site{Partner}
\renewcommand\wp@legend@effort{Aufwand\if@RAM{ (PM+HM)}\fi}
@@ -543,12 +546,14 @@ Applicant\if@sites\ifnum\the@PIs>1{s}\fi\fi\ \deu{(Antragsteller)}}%
\renewcommand\gantt@caption@lower{draft: unten die Lastverteilung}
\renewcommand\coherence@caption{Bisherige Kollaboration der {\pn} Partner}
\renewcommand\objective@label[1]{Z#1}
-\renewcommand\task@label[1]{S#1}
+\renewcommand\task@label[2]{S#1.#2}
% \renewcommand\month@label[1]{M#1}
\renewcommand\legend@partners{Partner}
\renewcommand\legend@lead{Leiter}
\renewcommand\task@label@long{Schritt}
-\fi
+\renewcommand\task@legend@partners{MA: }
+\renewcommand\task@legend@PM{PM}
+\fi%ifdeutsch
%</pdata>
% \end{macrocode}
% \Finale
diff --git a/Master/texmf-dist/source/latex/proposal/eu/euproposal.dtx b/Master/texmf-dist/source/latex/proposal/eu/euproposal.dtx
index 190575903b1..d9b2e3884a0 100644
--- a/Master/texmf-dist/source/latex/proposal/eu/euproposal.dtx
+++ b/Master/texmf-dist/source/latex/proposal/eu/euproposal.dtx
@@ -13,9 +13,9 @@
%
% \iffalse
%<cls|pdata|reporting>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
-%<cls>\ProvidesClass{euproposal}[2015/11/22 v1.5 EU Proposal]
-%<pdata>\ProvidesPackage{eupdata}[2015/11/22 v1.5 EU Project Data]
-%<reporting>\ProvidesPackage{eureporting}[2015/11/22 v1.5 EU Project Reporting]
+%<cls>\ProvidesClass{euproposal}[2016/04/15 v1.5 EU Proposal]
+%<pdata>\ProvidesPackage{eupdata}[2016/04/15 v1.5 EU Project Data]
+%<reporting>\ProvidesPackage{eureporting}[2016/04/15 v1.5 EU Project Reporting]
%<*driver>
\documentclass[twoside]{ltxdoc}
\DoNotIndex{\def,\long,\edef,\xdef,\gdef,\let,\global}
@@ -28,8 +28,8 @@
\RecordChanges
\usepackage{textcomp,url,paralist,a4wide,xspace}
\usepackage[show]{ed}
-\usepackage[maxnames=6,hyperref=auto,style=alphabetic]{biblatex}
-\bibliography{kwarc}
+\usepackage[maxnames=6,hyperref=auto,style=alphabetic,backend=bibtex]{biblatex}
+\addbibresource{../lib/proposal.bib}
\usepackage[bookmarks=true,linkcolor=blue,
citecolor=blue,urlcolor=blue,colorlinks=true,
breaklinks=true, bookmarksopen=true]{hyperref}
@@ -149,7 +149,7 @@
% the title page, and specify their heights; |1.5cm| is often a good value.
% \end{compactitem}
%
-% \subsection{Work Packages and Work Areas}\label{sec:wpwa}
+% \subsection{Work Packages and Work Areas}\label{sec:user:wpwa}
%
% \DescribeMacro{type} The |type| key specifies the activity type of the work package:
% |RTD| = Research and technological development (including any activities to prepare for
@@ -171,7 +171,14 @@
% name/deliverables/verification columns in the milestone table.
%
% \subsection{Risks}\label{sec:user:risks}
-% \ednote{MK: document the infrastructure, make examples}
+% In some EU proposals (e.g. FET), we need to identify risks and contingency and specify
+% mitigation plans for them. In the |euproposal| we use two environments to mark them up.
+%
+% \DescribeMacro{risk}|\begin{risk}{|\meta{title}|}{|\meta{prob}|}{|\meta{grav}|}|\ldots|\end{risk}|
+% makes a paragraph no a risk \meta{title} with gravity \meta{grav} and probability
+% \meta{prob}, where the body of the environment contains a description of the risk. The
+% \DescribeMacro{riskcont}|riskcont| is a variant, where \meta{title} names a risk and the
+% body is a description of the contingency plan.
%
% \begin{newpart}{MK@MK: This is new, and only partially implemented}
% \subsection{Reporting Infrastructure}\label{sec:user:report}
@@ -427,7 +434,7 @@
% \end{macrocode}
% \end{environment}
%
-% \subsection{Work Packages, Work Areas, and Deliverables}\label{sec:wpwa}
+% \subsection{Work Packages, Work Areas, and Deliverables}\label{sec::impl:wpwa}
%
% \begin{environment}{wp*}
% \begin{macrocode}
@@ -555,17 +562,6 @@
% \end{macrocode}
% \end{environment}
%
-% \subsection{Risks}\label{sec:impl:risks}
-%
-% In some EU proposals (e.g. FET), we need to identify risks and contingency and specify
-% mitigation plans for them. In the |euproposal| we use two environments to mark them up.
-%
-% \DescribeMacro{risk}|\begin{risk}{|\meta{title}|}{|\meta{prob}|}{|\meta{grav}|}|\ldots|\end{risk}|
-% makes a paragraph no a risk \meta{title} with gravity \meta{grav} and probability
-% \meta{prob}, where the body of the environment contains a description of the risk. The
-% \DescribeMacro{riskcont}|riskcont| is a variant, where \meta{title} names a risk and the
-% body is a description of the contingency plan.
-%
% \subsection{Relevant Papers}\label{sec:impl:papers}
%
% \begin{macro}{\keypubs}
diff --git a/Master/texmf-dist/source/latex/proposal/lib/Makefile.ctan b/Master/texmf-dist/source/latex/proposal/lib/Makefile.ctan
new file mode 100644
index 00000000000..d24d524aa6a
--- /dev/null
+++ b/Master/texmf-dist/source/latex/proposal/lib/Makefile.ctan
@@ -0,0 +1,88 @@
+################################################################
+# make a zip for CTAN submission including the TeX directory structure.
+#
+# The overall procedure is to run make in this directory $(HERE) and then
+# export it to a temporary directory $(EXPORTED) without all the generated
+# files. On this directory we run "make ctanext" (see below) which makes a
+# CTAN-compliant directory structure, and zips it up to the file
+# <package>.ctan.zip which can be submitted to the CTAN maintainers.
+#
+# Note that part of the CTAN submission is a zip file with a TDS-compliant
+# directory struture, which is generated by running "make tdsext" (see below)
+# on $(EXPORTED).
+#
+# Note furthermore, that this Makefile only automates the top-level mechanics
+# of the CTAN zip files, ... It relies on the Variables set in the regular Makefiles
+# and in particular on their targets "ltds", "lctan", "filedate", and "checksum".
+################################################################
+
+HERE = $(shell pwd)
+GITREPOS = $(HERE)
+REPOSNAME = LaTeX-proposal
+TMP = /tmp
+#TDSCOLL ?= $(shell basename $$PWD)
+TDSCOLL = proposal
+EXPORTED = $(TMP)/$(TDSCOLL).exp
+
+TDS.dir = $(TDSCOLL).tds
+TDSDIR = $(TMP)/$(TDS.dir)
+TDS.zip = $(TDS.dir).zip
+TDSZIP = $(TMP)/$(TDS.zip)
+
+CTANDIR = $(TMP)/$(TDSCOLL)
+CTAN.zip = $(TDSCOLL).ctan.zip
+CTANZIP = $(TMP)/$(CTAN.zip)
+
+MAKE = make
+
+# this target makes the file CTANZIP by creating and populating the directory
+# CTANDIR and zipping it. To be current, we first make all, and update
+# the filedates and the checksums. To get rid of all the junk we commit and
+# export a clean copy EXPORTED, on which we run the target ctanexp below,
+# which generates a directory CTANDIR, which we zip and move into place.
+ctan: all filedate checksum
+ git commit -am'draining just to be sure for CTAN distribution' --allow-empty
+ rm -Rf $(EXPORTED)
+ @echo "exporting a clean copy to $(EXPORTED)"
+ cd $(TMP);rm -Rf $(REPOSNAME);git clone $(GITREPOS);mv $(REPOSNAME) $(EXPORTED)
+ rm -Rf $(EXPORTED)/.git
+ find $(EXPORTED) -name ".gitignore" -delete
+ cd $(EXPORTED);$(MAKE) -$(MAKEFLAGS) ctanext
+ @echo "zipping the result to $(TDSCOLL).ctan.zip"
+ cd $(TMP);zip -r $(CTANZIP) $(TDS.zip) $(TDSCOLL);cp $(CTANZIP) $(HERE)
+ @echo "cleaning up"
+ rm -Rf $(EXPORTED) $(CTANDIR) $(CTANZIP) $(TDSZIP)
+ @echo "disabling checksums again for further development"
+ $(MAKE) -$(MAKEFLAGS) disablechecksum
+
+# this target is run on EXPORTED. It first makes the target tdsext below,
+# and then copies all necessary stuff into CTANDIR.
+ctanext: tdsext
+ @echo "making a CTAN compliant archive in $(CTANDIR)"
+ rm -Rf $(CTANDIR) $(CTANZIP)
+ mkdir -p $(CTANDIR)
+ @echo " copying material from $(EXPORTED) to $(CTANDIR)"
+ @for d in $(DTXDIRS); do (cd $$d && $(MAKE) -$(MAKEFLAGS) lctan) done
+ @for d in $(SRCDIRS) $(DOCDIRS); do (cp -R $$d $(CTANDIR)) done;
+ @for d in $(SRCFILES); do (cp -p $$d $(CTANDIR)) done;
+ cp $(TDS.README) $(CTANDIR)/README
+
+# this target makes the file TDSZIP by creating and populating the directory
+# TDSDIR and zipping it.
+tdsext:
+ @echo "making a TDS compliant archive"
+ rm -Rf $(TDSDIR) $(TDSZIP)
+ @echo " enabling checksums"
+ $(MAKE) -$(MAKEFLAGS) enablechecksum
+ @echo " copying LaTeX Sources to $(TDSDIR)"
+ @for d in $(DTXDIRS); do (cd $$d && $(MAKE) -$(MAKEFLAGS) ltds) done
+ @echo " copying binary dir to $(TDSDIR)"
+ @for d in $(SRCDIRS); do (cp -R $$d $(TDSDIR)/source/latex/$(TDSCOLL)) done;
+ @for d in $(SRCFILES); do (cp -R $$d $(TDSDIR)/source/latex/$(TDSCOLL)) done;
+ @echo " copying documentation to $(TDSDIR)"
+ @for d in $(DOCDIRS); do (cp -R $$d $(TDSDIR)/doc/latex/$(TDSCOLL)) done;
+ @for d in $(TDS.doc); do (cp -R $$d $(TDSDIR)/doc/latex/$(TDSCOLL)) done;
+ @echo "zipping the result to $(TDSCOLL).tds.zip"
+ cd $(TDSDIR);zip -r -q $(TDSZIP) .
+ @echo "and removing the temporary directory $(TDSDIR)"
+ rm -Rf $(TDSDIR)
diff --git a/Master/texmf-dist/source/latex/proposal/lib/Makefile.in b/Master/texmf-dist/source/latex/proposal/lib/Makefile.in
new file mode 100644
index 00000000000..57da62fad1b
--- /dev/null
+++ b/Master/texmf-dist/source/latex/proposal/lib/Makefile.in
@@ -0,0 +1,90 @@
+all: package doc
+package: $(DTX.sty) $(DTX.cls)
+doc: $(DTX.pdf) $(EXAMPLE.pdf)
+
+$(DTX.sty) $(DTX.cls): $(INS) $(DTX)
+ $(PDFLATEX) $(INS)
+
+
+$(EXAMPLE.pdf): %.pdf: %.tex $(DTX.sty) $(DTX.cls) $(EXAMPLE.deps)
+ $(PDFLATEX) $(firstword $<)
+ @if (grep 'Please (re)run Biber' $(patsubst %.dtx, %.log, $(firstword $<)) > /dev/null);\
+ then biber $(patsubst %.dtx, %, $(firstword $<));fi
+ @if (grep 'Please (re)run BibTeX' $(patsubst %.dtx, %.log, $(firstword $<)) > /dev/null);\
+ then bibtex $(patsubst %.dtx, %, $(firstword $<));fi
+ @if (grep "Writing index file" $(patsubst %.dtx, %.log, $(firstword $<)) > /dev/null);\
+ then makeindex\
+ -o $(patsubst %.dtx, %.ind, $(firstword $<))\
+ $(patsubst %.dtx, %.idx, $(firstword $<)); fi
+ @if (grep Rerun $(patsubst %.dtx, %.log, $(firstword $<)) > /dev/null);\
+ then $(PDFLATEX) $(firstword $<); fi
+ @if (grep Rerun $(patsubst %.dtx, %.log, $(firstword $<)) > /dev/null);\
+ then $(PDFLATEX) $(firstword $<); fi
+
+%.ind:
+ touch $@
+
+$(DTX.pdf): %.pdf: %.dtx $(DTX.sty) $(DTX.cls)
+ $(PDFLATEX) $(firstword $<)
+ @if (grep 'Please (re)run Biber' $(patsubst %.dtx, %.log, $(firstword $<)) > /dev/null);\
+ then biber $(patsubst %.dtx, %, $(firstword $<));fi
+ @if (grep "Writing glossary file" $(patsubst %.dtx, %.log, $(firstword $<)) > /dev/null);\
+ then makeindex\
+ -o $(patsubst %.dtx, %.gls, $(firstword $<))\
+ $(patsubst %.dtx, %.glo, $(firstword $<)); fi
+ @if (grep "Writing index file" $(patsubst %.dtx, %.log, $(firstword $<)) > /dev/null);\
+ then makeindex\
+ -o $(patsubst %.dtx, %.ind, $(firstword $<))\
+ $(patsubst %.dtx, %.idx, $(firstword $<)); fi
+ @if (grep Rerun $(patsubst %.dtx, %.log, $(firstword $<)) > /dev/null);\
+ then $(PDFLATEX) $(firstword $<); fi
+ @if (grep Rerun $(patsubst %.dtx, %.log, $(firstword $<)) > /dev/null);\
+ then $(PDFLATEX) $(firstword $<); fi
+
+clean:
+ rm -f *~ *.log *.ilg *.out *.glo *.idx *.ilg *.blg
+
+distclean: clean
+ rm -f *.aux *.ind *.gls *.ps *.dvi *.toc *.thm
+ rm -Rf auto
+
+filedate:
+ @for d in $(DTX); do \
+ $(FILEDATEPROG) $$d ; \
+ done
+
+checksum:
+ @for d in $(DTX); do \
+ $(CHECKSUMPROG) $$d --update ; \
+ done
+
+enablechecksum:
+ @for d in $(DTX); do \
+ $(CHECKSUMPROG) $$d --enable ; \
+ done
+
+disablechecksum:
+ @for d in $(DTX); do \
+ $(CHECKSUMPROG) $$d --disable ; \
+ done
+
+# copy stuff around for making the TeX Directory Structure
+ltds:
+ rm -Rf $(TDSDIR.doc);mkdir -p $(TDSDIR.doc)
+ rm -Rf $(TDSDIR.tex);mkdir -p $(TDSDIR.tex)
+ rm -Rf $(TDSDIR.src);mkdir -p $(TDSDIR.src)
+ cp $(DTX.src) $(TDS.src) $(TDSDIR.src)
+ cp $(DTX.sty) $(DTX.cls) $(TDS.tex) $(TDSDIR.tex)
+ cp README $(DTX.pdf) $(EXAMPLE.tex) $(EXAMPLE.pdf) $(TDS.doc) $(TDSDIR.doc)
+ @for d in $(TDS.exdirs); do cp -R $$d $(TDSDIR.doc); done
+
+lctan:
+ mkdir -p $(CTANDIR)
+ cp $(DTX.src) $(DTX.sty) $(DTX.cls) $(TDS.src) $(TDS.tex) $(CTANDIR)
+ cp README $(DTX.pdf) $(EXAMPLE.tex) $(EXAMPLE.pdf) $(TDS.doc) $(CTANDIR)
+ @for d in $(TDS.exdirs); do cp -R $$d $(CTANDIR); done
+
+# sometimes (when bibLaTeX changes) we have to rerun biber; use make -B biber
+biber:
+ pdflatex $(DTX.base:%=%.dtx)
+ biber $(DTX.base)
diff --git a/Master/texmf-dist/source/latex/proposal/lib/Makefile.vars b/Master/texmf-dist/source/latex/proposal/lib/Makefile.vars
new file mode 100644
index 00000000000..6155fee0909
--- /dev/null
+++ b/Master/texmf-dist/source/latex/proposal/lib/Makefile.vars
@@ -0,0 +1,38 @@
+# DTX.sty.base and DTX.cls.base are set in the including Makefiles
+DTX.base ?= $(DTX.sty.base) $(DTX.cls.base)
+DTX.src = $(DTX) $(DTX:%.dtx=%.ins)
+INS = $(DTX:%.dtx=%.ins)
+
+DTX.sty = $(DTX.sty.base:%=%.sty)
+DTX.cls = $(DTX.cls.base:%=%.cls)
+DTX.pdf = $(DTX:%.dtx=%.pdf)
+
+# The examples
+EXAMPLE.pdf = $(EXAMPLE.base:%=%.pdf)
+EXAMPLE.tex = $(EXAMPLE.base:%=%.tex)
+EXAMPLE.deps = $(filter-out $(EXAMPLE.base:%=%.tex), $(shell ls *.tex))
+
+# The TeX Directory Structure (see http://www.tug.org/tds/tds.html)
+TDSDIR = /tmp/$(TDSCOLL).tds
+TDSDIR.tex = $(TDSDIR)/tex/latex/$(TDSCOLL)/$(PACKAGE)
+TDSDIR.doc = $(TDSDIR)/doc/latex/$(TDSCOLL)/$(PACKAGE)
+TDSDIR.src = $(TDSDIR)/source/latex/$(TDSCOLL)/$(PACKAGE)
+
+# make a zip for CTAN submission
+CTANDIR = /tmp/$(TDSCOLL)/$(CTANPREFIX)$(PACKAGE)
+
+# the dependencies
+SOURCES = $(DTX.sty) $(BIB)
+TEXINPUTS := .:$(PREFIX)//:
+BIBINPUTS := .:$(PREFIX)//:
+BSTINPUTS := .:$(PREFIX)//:
+
+# we want to quiet down pdflatex
+PDFLATEX = pdflatex -interaction batchmode -file-line-error
+
+# we set the package date for 'make filedate' to today
+BINDIR = $(PREFIX)/../bin
+PACKAGEDATE ?= $(shell date "+%Y/%m/%d")
+FILEDATEPROG = PERL5LIB=$(BINDIR) $(BINDIR)/filedate
+CHECKSUMPROG = PERL5LIB=$(BINDIR) $(BINDIR)/checksum
+
diff --git a/Master/texmf-dist/source/latex/proposal/lib/proposal.bib b/Master/texmf-dist/source/latex/proposal/lib/proposal.bib
new file mode 100644
index 00000000000..8970c41baa9
--- /dev/null
+++ b/Master/texmf-dist/source/latex/proposal/lib/proposal.bib
@@ -0,0 +1,76 @@
+@STRING{stexyear = 2016}
+@techreport{Kohlhase:ed:ctan,crossref={Kohlhase:ed:base},
+ institution = {Comprehensive {\TeX} Archive Network (CTAN)},
+ CHANGEurl = {http://www.ctan.org/get/macros/latex/contrib/ed/ed.pdf},
+ pubs = {mkohlhase,projects/stex}}
+@techreport{Kohlhase:ed:svn,crossref={Kohlhase:ed:base},
+ url = {https://svn.kwarc.info/repos/kwarc/doc/macros/forCTAN/ed/ed.pdf}}
+@techreport{Kohlhase:ed:base,
+ author = {Michael Kohlhase},
+ title = {Editorial Notes for {\LaTeX}},
+ type = {Self-documenting {\LaTeX} package},
+ year = stexyear}
+
+@online{gitinfo2:on,
+ title = {gitinfo2.sty},
+ subtitle = {A package for accessing metadata from the git dvcs},
+ author = {Brent Longborough},
+ urldate = {2014-10-26},
+ url = {http://mirrors.ctan.org/macros/latex/contrib/gitinfo2/gitinfo2.pdf}}
+
+@techreport{Kohlhase:workaddress:ctan,crossref={Kohlhase:workaddress:base},
+ institution = {Comprehensive {\TeX} Archive Network (CTAN)},
+ url = {http://mirror.ctan.org/macros/latex/contrib/stex/sty/workaddress/workaddress.pdf},
+ pubs = {mkohlhase,projects/stex}}
+@techreport{Kohlhase:workaddress:svn,crossref={Kohlhase:workaddress:base},
+ url = {https://github.com/KWARC/sTeX/raw/master/sty/stex/workaddress/workaddress.pdf}}
+@techreport{Kohlhase:workaddress:base,
+ author = {Michael Kohlhase},
+ title = {{\texttt{workaddress.sty}}: An Infrastructure for marking up {Dublin Core} Metadata in {\LaTeX} documents},
+ type = {Self-documenting {\LaTeX} package},
+ year = stexyear}
+
+@techreport{Kohlhase:pdrp:ctan,crossref={Kohlhase:pdrp:base},
+ institution = {Comprehensive {\TeX} Archive Network (CTAN)},
+ url = {http://mirror.ctan.org/macros/latex/contrib/proposal/dfg/dfgproposal.pdf},
+ pubs = {mkohlhase,projects/stex}}
+@techreport{Kohlhase:pdrp:svn,crossref={Kohlhase:pdrp:base},
+ url = {http://github.com/KWARC/LaTeX-proposal/dfg/dfgproposal.pdf}}
+@techreport{Kohlhase:pdrp:base,
+ author = {Michael Kohlhase},
+ title = {Preparing DFG Proposals and Reports in {\LaTeX} with {\texttt{dfgproposal.cls}}},
+ type = {Self-documenting {\LaTeX} package},
+ year = stexyear}
+
+@techreport{Kohlhase:pplp:ctan,crossref={Kohlhase:pplp:base},
+ institution = {Comprehensive {\TeX} Archive Network (CTAN)},
+ url = {http://mirror.ctan.org/macros/latex/contrib/proposal/base/proposal.pdf},
+ pubs = {mkohlhase,projects/stex}}
+@techreport{Kohlhase:pplp:svn,crossref={Kohlhase:pplp:base},
+ url = {http://github.com/KWARC/LaTeX-proposal/base/proposal.pdf}}
+@techreport{Kohlhase:pplp:base,
+ author = {Michael Kohlhase},
+ title = {Preparing Proposals in {\LaTeX} with {\tt{proposal.cls}}},
+ type = {Self-documenting {\LaTeX} package},
+ year = stexyear}
+
+@Manual{DFG:102e,
+ title = {Research Grants, Guidelines and Proposal Preparation Instructions},
+ organization = {German Research Foundation (DFG)},
+ url = {http://www.dfg.de/download/programme/emmy_noether_programm/antragstellung/1_02_e/1_02e.pdf},
+ month = oct,
+ year = 2010}
+
+@Manual{DFG:2012e,
+ title = {Guidelines for the Use of Funds International Research Grants with Guidelines for Final Reports},
+ organization = {German Research Foundation (DFG)},
+ url = {http://www.dfg.de/download/programme/sachbeihilfe/antragstellung/2_012_e/2_012e.pdf},
+ month = jul,
+ year = 2010}
+
+@Manual{DFG:201,
+ title = {Verwendungsrichtlinien, Sachbeihilfen mit Leitfaden f{\"ur}r Abschlussberichte und Regeln guter wissenschaftlicher Praxis},
+ organization = {German Research Foundation (DFG)},
+ url = {http://www.dfg.de/download/programme/sachbeihilfe/abschlussberichte/2_01/2_01.pdf},
+ month = jun,
+ year = 2010}
diff --git a/Master/texmf-dist/tex/latex/proposal/base/pdata.sty b/Master/texmf-dist/tex/latex/proposal/base/pdata.sty
index fb8f99c8d3a..445364676bd 100644
--- a/Master/texmf-dist/tex/latex/proposal/base/pdata.sty
+++ b/Master/texmf-dist/tex/latex/proposal/base/pdata.sty
@@ -7,7 +7,7 @@
%% proposal.dtx (with options: `pdata')
%%
\NeedsTeXFormat{LaTeX2e}[1999/12/01]
-\ProvidesPackage{pdata}[2015/11/22 v1.5 Project Data]
+\ProvidesPackage{pdata}[2016/04/15 v1.5 Project Data]
\RequirePackage{workaddress}[2011/05/03]
\RequirePackage{eurosym}
\newif\if@sites\@sitesfalse\let\prop@gen@sites=\relax%
@@ -16,9 +16,9 @@
\stepcounter{@site}\pdata@def{site}{#1}{number}{\the@site}%
\@ifundefined{prop@gen@sites}{\xdef\prop@gen@sites{#1}}{\xdef\prop@gen@sites{\prop@gen@sites,#1}}%
\define@key{prop@gen}{#1RM}{\pdata@def{site}{#1}{intendedRM}{##1}}%
-\if@RAM\define@key{prop@gen}{#1RAM}{\pdata@def{site}{#1}{intendedRAM}{##1}}\fi
+\define@key{prop@gen}{#1RAM}{\pdata@def{site}{#1}{intendedRAM}{##1}}
\define@key{workpackage}{#1RM}{\pdata@def\wp@id{#1}{RM}{##1}}%
-\if@RAM\define@key{workpackage}{#1RAM}{\pdata@def\wp@id{#1}{RAM}{##1}}\fi
+\define@key{workpackage}{#1RAM}{\pdata@def\wp@id{#1}{RAM}{##1}}
\define@key{prop@gen}{#1employed}{{\let\tabularnewline\relax\let\hline\relax\let\wa@ref\relax%
\@ifundefined{prop@gen@employed@lines}%
{\xdef\prop@gen@employed@lines{\wa@ref{institution}{#1}{shortname} & ##1\tabularnewline\hline}}%
diff --git a/Master/texmf-dist/tex/latex/proposal/base/proposal.cls b/Master/texmf-dist/tex/latex/proposal/base/proposal.cls
index 94f2250ff93..625ca4af6de 100644
--- a/Master/texmf-dist/tex/latex/proposal/base/proposal.cls
+++ b/Master/texmf-dist/tex/latex/proposal/base/proposal.cls
@@ -7,7 +7,7 @@
%% proposal.dtx (with options: `cls')
%%
\NeedsTeXFormat{LaTeX2e}[1999/12/01]
-\ProvidesClass{proposal}[2015/11/22 v1.5 Project Proposal]
+\ProvidesClass{proposal}[2016/04/15 v1.5 Project Proposal]
\newif\if@wpsubsection\@wpsubsectionfalse
\newif\ifsubmit\submitfalse
\newif\ifgrantagreement\grantagreementfalse
@@ -53,7 +53,7 @@
\renewcommand{\familydefault}{\sfdefault}
\RequirePackage[scaled=.90]{helvet}
\RequirePackage{textcomp}
-\RequirePackage[hyperref=auto,style=numeric,defernumbers=true,backend=bibtex,backref=true,firstinits=true,maxbibnames=6]{biblatex}[2010/11-19]
+\RequirePackage[hyperref=auto,style=alphabetic,defernumbers=true,backend=bibtex,backref=true,firstinits=true,maxbibnames=6]{biblatex}[2010/11-19]
\RequirePackage{csquotes}
\RequirePackage{mdframed}
\RequirePackage{pdata}
@@ -109,15 +109,15 @@
\begin{itemize}
\@for\@I:=\prop@gen@PIs\do{%
\item Curriculum Vitae and list of publications for
- \wa@ref{person}\@I{personaltitle} \wa@ref{person}\@I{name}
-\end{itemize}}\newpage
+ \wa@ref{person}\@I{personaltitle} \wa@ref{person}\@I{name}}
+\end{itemize}\newpage
\printbibliography[heading=warnpubs]}
\newenvironment{proposal}[1][]{\readpdata\jobname
\ofpagetrue\setkeys{prop@gen}{#1}
\pdata@open\jobname
\if@sites\else
\define@key{workpackage}{RM}{\pdata@def{wp}\wp@id{RM}{##1}\@dmp{RM=##1}}
-\if@RAM\define@key{workpackage}{RAM}{\pdata@def{wp}\wp@id{RAM}{##1}\@dmp{RAM=##1}}\fi
+\define@key{workpackage}{RAM}{\pdata@def{wp}\wp@id{RAM}{##1}\@dmp{RAM=##1}}
\fi
\newcounter{@PIs}
\@ifundefined{prop@gen@PIs}{}{\@for\@I:=\prop@gen@PIs\do{\stepcounter{@PIs}}}
@@ -564,8 +564,7 @@ ganttgray,.60/.60,.60,.60/0,0,.60/0,0,0,.40}
\else\begin{tabular}{|l|l|*{\thewpfig@options}{r|}|*{\the@sites}{r|}|r|}\hline\fi%|
\wpfig@headline\\\hline\hline}
{\end{tabular}\smallskip\\
-\wpfig@legend@RAM@expl
-\if@sites; \wpfig@legend@lead@expl\fi
+\wpfig@legend@RAM@expl\if@sites; \wpfig@legend@lead@expl\fi
\@ifundefined{wpfig@label}{\caption{\wpfig@legend@caption}}{\caption{\wpfig@caption}}
\@ifundefined{wpfig@label}{\label{fig:wplist}}{\label{\wpfig@label}}
\end{center}\end{table}}
@@ -1003,16 +1002,14 @@ joint&\multicolumn{\the@site}{l|}{\jpub $\hat=$ publication, \jpro $\hat=$ proje
\define@key{paperlist}{techreports}[true]{\prop@ppl{techreport}{Technical Reports}}
\DeclareBibliographyCategory{featured}
\newcommand\prop@paperlist[2][]{%
-\begin{refsection}%
-\nocite{#2}\addtocategory{featured}{#2}%
\let\biboldfont\bibfont%
\renewcommand{\bibfont}{\footnotesize}%
\renewcommand{\baselinestretch}{.9}
+\def\do##1{\addtocategory{featured}{##1}}\docsvlist{#2}%
\setkeys{paperlist}{#1}
\@ifundefined{prop@rl}{}{\@latex@warning{some papers are not classified!}}
-\if@allpapers\printbibliography[heading=empty]\fi%
-\let\bibfont\biboldfont%
-\end{refsection}}
+\if@allpapers\printbibliography[category=featured,heading=empty]\fi%
+\let\bibfont\biboldfont}
\def\prop@warnpubs@message{Many of the proposers' publications are online at one of the following URIs:}
\def\prop@warnpubs@title{References}
\defbibheading{warnpubs}{\section*{\prop@warnpubs@title}%
diff --git a/Master/texmf-dist/tex/latex/proposal/base/reporting.cls b/Master/texmf-dist/tex/latex/proposal/base/reporting.cls
index 4ba4de475b8..f9ce0159ff3 100644
--- a/Master/texmf-dist/tex/latex/proposal/base/reporting.cls
+++ b/Master/texmf-dist/tex/latex/proposal/base/reporting.cls
@@ -7,7 +7,7 @@
%% proposal.dtx (with options: `reporting')
%%
\NeedsTeXFormat{LaTeX2e}[1999/12/01]
-\ProvidesPackage{reporting}[2015/11/22 v1.5 Project Reporting]
+\ProvidesPackage{reporting}[2016/04/15 v1.5 Project Reporting]
\newif\if@wpsubsection\@wpsubsectionfalse
\newif\ifsubmit\submitfalse
\newif\ifgrantagreement\grantagreementfalse
@@ -53,7 +53,7 @@
\renewcommand{\familydefault}{\sfdefault}
\RequirePackage[scaled=.90]{helvet}
\RequirePackage{textcomp}
-\RequirePackage[hyperref=auto,style=numeric,defernumbers=true,backend=bibtex,backref=true,firstinits=true,maxbibnames=6]{biblatex}[2010/11-19]
+\RequirePackage[hyperref=auto,style=alphabetic,defernumbers=true,backend=bibtex,backref=true,firstinits=true,maxbibnames=6]{biblatex}[2010/11-19]
\RequirePackage{csquotes}
\RequirePackage{mdframed}
\RequirePackage{pdata}
@@ -135,16 +135,14 @@
\define@key{paperlist}{techreports}[true]{\prop@ppl{techreport}{Technical Reports}}
\DeclareBibliographyCategory{featured}
\newcommand\prop@paperlist[2][]{%
-\begin{refsection}%
-\nocite{#2}\addtocategory{featured}{#2}%
\let\biboldfont\bibfont%
\renewcommand{\bibfont}{\footnotesize}%
\renewcommand{\baselinestretch}{.9}
+\def\do##1{\addtocategory{featured}{##1}}\docsvlist{#2}%
\setkeys{paperlist}{#1}
\@ifundefined{prop@rl}{}{\@latex@warning{some papers are not classified!}}
-\if@allpapers\printbibliography[heading=empty]\fi%
-\let\bibfont\biboldfont%
-\end{refsection}}
+\if@allpapers\printbibliography[category=featured,heading=empty]\fi%
+\let\bibfont\biboldfont}
\def\prop@warnpubs@message{Many of the proposers' publications are online at one of the following URIs:}
\def\prop@warnpubs@title{References}
\defbibheading{warnpubs}{\section*{\prop@warnpubs@title}%
diff --git a/Master/texmf-dist/tex/latex/proposal/dfg/dfgpdata.sty b/Master/texmf-dist/tex/latex/proposal/dfg/dfgpdata.sty
index 214ef50ba2a..4dd09dc729c 100644
--- a/Master/texmf-dist/tex/latex/proposal/dfg/dfgpdata.sty
+++ b/Master/texmf-dist/tex/latex/proposal/dfg/dfgpdata.sty
@@ -7,7 +7,7 @@
%% dfgproposal.dtx (with options: `pdata')
%%
\NeedsTeXFormat{LaTeX2e}[1999/12/01]
-\ProvidesPackage{dfgpdata}[2015/11/22 v1.4 DFG Project Data]
+\ProvidesPackage{dfgpdata}[2016/04/15 v1.4 DFG Project Data]
\newif\ifdeutsch\deutschfalse
\DeclareOption{german}{\deutschtrue\message{Deutscher Antrag}}
\ProcessOptions
@@ -40,6 +40,8 @@ Applicant\if@sites\ifnum\the@PIs>1{s}\fi\fi\ \deu{(Antragsteller)}}%
\ifdeutsch Arbeitsgebiet\else Fields of work\fi: \prop@gen@areas}
\newcommand\dfgprojpapers[2][]{\prop@paperlist[#1]{#2}}
\ifdeutsch
+\renewcommand\prop@count[1]{\ifcase #1 null\or ein\or zwei\or drei\or vier\or f"unf\or sechs\or sieben\or
+ acht\or neun\or zehn\or elf\or zw"olf\else#1\fi}
\renewcommand\prop@of@pages[2]{Seite~#1\ifofpage~von~#2\fi}
\renewcommand\wp@mk@title[1]{Arbeitspaket {#1}}
\renewcommand\wp@label[1]{AP{#1}}
@@ -62,9 +64,9 @@ Applicant\if@sites\ifnum\the@PIs>1{s}\fi\fi\ \deu{(Antragsteller)}}%
\renewcommand\wpfig@legend@totalRAM{Summe HM}
\renewcommand\wpfig@legend@RM{PM}
\renewcommand\wpfig@legend@RAM{HM}
-\renewcommand\wpfig@legend@RAM@expl{\if@RAM P/HM $\widehat=$ Personen/Hilfskraft Monate;\else\ Aufw\"ande in Personenmonaten\\\fi}
-\renewcommand\wpfig@legend@lead@expl{(Arbeitspaketleiter sind \wp@lead@style@explained}
-\renewcommand\wp@lead@style@explained{grau und kursiv markiert)}
+\renewcommand\wpfig@legend@RAM@expl{\if@RAM P/HM $\widehat=$ Personen/Hilfskraft Monate\else\ Aufw\"ande in Personenmonaten\fi}
+\renewcommand\wpfig@legend@lead@expl{Arbeitspaketleiter sind \wp@lead@style@explained}
+\renewcommand\wp@lead@style@explained{grau und kursiv markiert}
\renewcommand\wpfig@legend@caption{{\ifwork@areas Arbeitsbereiche und \fi}Arbeitspakete}
\renewcommand\wp@legend@site{Partner}
\renewcommand\wp@legend@effort{Aufwand\if@RAM{ (PM+HM)}\fi}
@@ -73,11 +75,13 @@ Applicant\if@sites\ifnum\the@PIs>1{s}\fi\fi\ \deu{(Antragsteller)}}%
\renewcommand\gantt@caption@lower{draft: unten die Lastverteilung}
\renewcommand\coherence@caption{Bisherige Kollaboration der {\pn} Partner}
\renewcommand\objective@label[1]{Z#1}
-\renewcommand\task@label[1]{S#1}
+\renewcommand\task@label[2]{S#1.#2}
\renewcommand\legend@partners{Partner}
\renewcommand\legend@lead{Leiter}
\renewcommand\task@label@long{Schritt}
-\fi
+\renewcommand\task@legend@partners{MA: }
+\renewcommand\task@legend@PM{PM}
+\fi%ifdeutsch
\endinput
%%
%% End of file `dfgpdata.sty'.
diff --git a/Master/texmf-dist/tex/latex/proposal/dfg/dfgproposal.cls b/Master/texmf-dist/tex/latex/proposal/dfg/dfgproposal.cls
index 01dbbf9b3a1..a4abe627164 100644
--- a/Master/texmf-dist/tex/latex/proposal/dfg/dfgproposal.cls
+++ b/Master/texmf-dist/tex/latex/proposal/dfg/dfgproposal.cls
@@ -7,7 +7,7 @@
%% dfgproposal.dtx (with options: `cls')
%%
\NeedsTeXFormat{LaTeX2e}[1999/12/01]
-\ProvidesClass{dfgproposal}[2015/11/22 v1.4 DFG Proposal]
+\ProvidesClass{dfgproposal}[2016/04/15 v1.4 DFG Proposal]
\newif\ifgeneral\generalfalse
\DeclareOption{general}{\generaltrue}
\DeclareOption{german}{\PassOptionsToPackage{\CurrentOption}{dfgpdata}}
diff --git a/Master/texmf-dist/tex/latex/proposal/dfg/dfgreporting.cls b/Master/texmf-dist/tex/latex/proposal/dfg/dfgreporting.cls
index c0d17b3ed5a..9165baf1830 100644
--- a/Master/texmf-dist/tex/latex/proposal/dfg/dfgreporting.cls
+++ b/Master/texmf-dist/tex/latex/proposal/dfg/dfgreporting.cls
@@ -7,7 +7,7 @@
%% dfgproposal.dtx (with options: `reporting')
%%
\NeedsTeXFormat{LaTeX2e}[1999/12/01]
-\ProvidesPackage{dfgreporting}[2015/11/22 v1.4 DFG Project Reporting]
+\ProvidesPackage{dfgreporting}[2016/04/15 v1.4 DFG Project Reporting]
\DeclareOption{german}{\PassOptionsToPackage{\CurrentOption}{dfgpdata}}
\DeclareOption*{\PassOptionsToClass{\CurrentOption}{reporting}}
\ProcessOptions
diff --git a/Master/texmf-dist/tex/latex/proposal/eu/eupdata.sty b/Master/texmf-dist/tex/latex/proposal/eu/eupdata.sty
index a26e81b1e36..bc761c73fdb 100644
--- a/Master/texmf-dist/tex/latex/proposal/eu/eupdata.sty
+++ b/Master/texmf-dist/tex/latex/proposal/eu/eupdata.sty
@@ -7,7 +7,7 @@
%% euproposal.dtx (with options: `pdata')
%%
\NeedsTeXFormat{LaTeX2e}[1999/12/01]
-\ProvidesPackage{eupdata}[2015/11/22 v1.5 EU Project Data]
+\ProvidesPackage{eupdata}[2016/04/15 v1.5 EU Project Data]
\define@key{prop@gen}{coordinator}{\def\prop@gen@coordinator{#1}\pdata@def{prop}{gen}{coordinator}{#1}}
\define@key{prop@gen}{coordinatorsite}{\def\prop@gen@coordinatorsite{#1}\pdata@def{prop}{gen}{coordinator}{#1}}
\def\prop@gen@challenge{??}\def\prop@gen@challengeid{??}
diff --git a/Master/texmf-dist/tex/latex/proposal/eu/euproposal.cls b/Master/texmf-dist/tex/latex/proposal/eu/euproposal.cls
index 93c3bb7febb..0a168c882b6 100644
--- a/Master/texmf-dist/tex/latex/proposal/eu/euproposal.cls
+++ b/Master/texmf-dist/tex/latex/proposal/eu/euproposal.cls
@@ -7,7 +7,7 @@
%% euproposal.dtx (with options: `cls')
%%
\NeedsTeXFormat{LaTeX2e}[1999/12/01]
-\ProvidesClass{euproposal}[2015/11/22 v1.5 EU Proposal]
+\ProvidesClass{euproposal}[2016/04/15 v1.5 EU Proposal]
\newif\ifpartB\partBfalse
\DeclareOption{partB}{\partBtrue}
\DeclareOption*{\PassOptionsToClass{\CurrentOption}{proposal}}
diff --git a/Master/texmf-dist/tex/latex/proposal/eu/eureporting.cls b/Master/texmf-dist/tex/latex/proposal/eu/eureporting.cls
index 9195aec875c..7d2bec442cc 100644
--- a/Master/texmf-dist/tex/latex/proposal/eu/eureporting.cls
+++ b/Master/texmf-dist/tex/latex/proposal/eu/eureporting.cls
@@ -7,7 +7,7 @@
%% euproposal.dtx (with options: `reporting')
%%
\NeedsTeXFormat{LaTeX2e}[1999/12/01]
-\ProvidesPackage{eureporting}[2015/11/22 v1.5 EU Project Reporting]
+\ProvidesPackage{eureporting}[2016/04/15 v1.5 EU Project Reporting]
\DeclareOption*{\PassOptionsToClass{\CurrentOption}{reporting}}
\ProcessOptions
\LoadClass[report,noRAM]{reporting}