diff options
Diffstat (limited to 'macros/latex/contrib/proposal/eu/euproposal.dtx')
-rw-r--r-- | macros/latex/contrib/proposal/eu/euproposal.dtx | 601 |
1 files changed, 601 insertions, 0 deletions
diff --git a/macros/latex/contrib/proposal/eu/euproposal.dtx b/macros/latex/contrib/proposal/eu/euproposal.dtx new file mode 100644 index 0000000000..d9b2e3884a --- /dev/null +++ b/macros/latex/contrib/proposal/eu/euproposal.dtx @@ -0,0 +1,601 @@ +% \iffalse meta-comment +% A class for preparing FP7 proposals for collaborative projects +% +% Copyright (c) 2011 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 +% https://github.com/KWARC/LaTeX-proposal +% \fi +% +% \iffalse +%<cls|pdata|reporting>\NeedsTeXFormat{LaTeX2e}[1999/12/01] +%<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} +\DoNotIndex{\begin,\AtEndDocument,\newcommand,\newcounter,\stepcounter} +\DoNotIndex{\immediate,\openout,\closeout,\message,\typeout} +\DoNotIndex{\section,\scshape,\arabic} +\EnableCrossrefs +%\CodelineIndex +%\OnlyDescription +\RecordChanges +\usepackage{textcomp,url,paralist,a4wide,xspace} +\usepackage[show]{ed} +\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} +\makeindex +\newcommand\subversion{\textsc{Subversion}\xspace} +\begin{document} +\DocInput{euproposal.dtx} +\end{document} +%</driver> +% \fi +% +%\CheckSum{639} +% +% \changes{v0.1}{2007/05/07}{used in the SciML proposal} +% \changes{v0.2}{2007/05/09}{First Version with Documentation} +% \changes{v0.3}{2007/06/04}{staff effort table finally works, released} +% \changes{v0.3a}{2008/01/18}{error corrections and more documentation} +% \changes{v1.3}{2011/05/18}{basing this on proposal.cls} +% \changes{v1.4}{2012/01/18}{various tweaks for the Jan 2012 proposal deadline} +% \changes{v1.4}{2015/01/14}{lots of tweaks} +% +% \GetFileInfo{euproposal.cls} +% +% \MakeShortVerb{\|} +% \title{Preparing FP7 EU Proposals and Reports in {\LaTeX} with \texttt{euproposal.cls}} +% \author{Michael Kohlhase\\ +% Computer Science, Jacobs University Bremen\\ +% \url{http://kwarc.info/kohlhase}} +% \maketitle +% +% \begin{abstract} +% The |euproposal| class supports many of the specific elements of a Framework 7 +% Proposal. It is optimized towards collaborative projects. The package comes with an +% extensive example (a fake EU 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 +% \subversion, allowing the proposal writing team to concentrate on the contents +% rather than the mechanics of wrangling with text fragments and revisions. +% +% The |euproposal| class extends the |proposal| class~\cite{Kohlhase:pplp:svn} and +% supports many of the specific elements of Part B of a Framework 7 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 the example proposal |propB.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 EU guidelines may change from call to +% call, if in doubt, please consult the FP7 guide for proposers.\ednote{say something +% about the proposers guide.} +% +% The |eureporting| class supports most of the specific elements of the project reports +% to the EC. The example report |dfg/report.tex| is intended as a template for your +% final report\ednote{say something about reporting}. +% +% The |euproposal| and |eureporting| classes and the |eupdata| package are 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://github.com/KWARC/LaTeX-proposal}. For bug reports +% please use the sTeX TRAC at \url{https://github.com/KWARC/LaTeX-proposal/issues}. +% +% \section{The User Interface}\label{sec:user-interface} +% +% In this section we will describe the functionality offered by the |euproposal| 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 |euproposal| package in conjunction with the +% proposer's EU proposer's guidelines (we have included it as |***| for convenience into +% the package distribution).\ednote{MK@MK do that and talk about reporting as well.} +% +% \subsection{Package Options}\label{sec:user:options} +% +% As usual in {\LaTeX}, the package is loaded by +% |\documentclass[|\meta{options}|]{euproposal}|, where |[|\meta{options}|]| is optional +% and gives a comma separated list of options specified in~\cite{Kohlhase:pplp:svn}. Some +% versions EU proposals want non-standard numbering schemes (e.g. starting with +% \textbf{B...} since we are writing Part B.), this can be reached by giving the |propB| +% option. +% +% \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 EU-specific keys to +% specify metadata. +% \begin{compactitem} +% \item \DescribeMacro{callname}|callname| specifies the call the proposal addresses. It is +% usually a string of the form |ICT Call 1|, \DescribeMacro{callid}|callid| is the +% corresponding identifier, usually a string of the form |FP7-???-200?-?|. An overview +% over open calls can be found at \url{http://cordis.europa.eu/fp7/dc/index.cfm} +% \item The \DescribeMacro{challenge}|challenge|, \DescribeMacro{objective}|objective|, +% and \DescribeMacro{outcome}|outcome| keys specifies the specific parts in the call +% this proposal addresses. These are specified in the ``call fiche'' that can be +% obtained from the URL above. All of these have an identifier, which can be specified +% via the \DescribeMacro{challengeid}|challengeid|, +% \DescribeMacro{objectiveid}|objectiveid|, and \DescribeMacro{outcomeid}|outcomeid| +% keys.\ednote{MK@MK: the outcomeid should key should be a list key, I am not +% implementing this right now, since it comes more natural when we change the class to +% metakeys support.} +% \item \DescribeMacro{topicsaddressed}|topicsaddressed| allows to enter free-form text +% instead of specifying the |challenge*|, |objective*|, and |outcome*| keys. +% \item The \DescribeMacro{coordinator}|coordinator| key gives the identifier of the +% proposal coordinator. The |euproposal| package uses the |workaddress| package for +% representation of personal metadata, see~\cite{Kohlhase:workaddress:ctan} for details. +% \item The \DescribeMacro{coordinatorsite}|coordinatorsite| key gives the identifier of +% the coordinating site (for the table). +% \item If given, the \DescribeMacro{iconrowheight}|iconrowheight| key instructs the +% |euproposal| class to make a line with the logos of the participants at the bottom of +% the title page, and specify their heights; |1.5cm| is often a good value. +% \end{compactitem} +% +% \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 +% the dissemination and/or exploitation of project results, and coordination activities); +% |DEM| = Demonstration; |MGT| = Management of the consortium; |OTHER| = Other specific +% activities, if applicable in this call. +% +% \subsection{Milestones and Deliverables}\label{sec:user:deliverables} +% +% |euproposal.cls| adds the \DescribeMacro{verif}|verif| key to \DescribeMacro{\milestone} +% for specifying a means of verification that the milestone has been successful. +% +% With this, we can generate the milestone table that is required in many EU +% proposals. This can simply be done via the +% \DescribeMacro{\milestonetable}|\milestonetable| macro. It takes a keyword argument with +% the keys \DescribeMacro{caption}|caption| for specifying a different caption, and the +% widths \DescribeMacro{wname}|wname|, \DescribeMacro{wdeliv}|wdeliv|, and +% \DescribeMacro{wverif}|wverif| that can be used to specify different widths for the +% name/deliverables/verification columns in the milestone table. +% +% \subsection{Risks}\label{sec:user: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. +% +% \begin{newpart}{MK@MK: This is new, and only partially implemented} +% \subsection{Reporting Infrastructure}\label{sec:user:report} +% +% The |eureporting| class gives an infrastructure for writing final reports of completed +% projects (see the file |finalreport.tex| in the package distribution). The +% \DescribeEnv{report}|report| 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{key}|key| can be used +% to specify the reference key (something like \texttt{KO 2428 47-11}) given to the +% project by EU. Note that in the case of multiple proposers, you can use multiple +% instances of |key| to specify more than one reference key. +% \end{newpart} +% +% \section{Limitations and Enhancements}\label{sec:limitations} +% +% The |euproposal| is relatively early in its development, and many enhancements are +% conceivable. We will list them here. +% \begin{enumerate} +% \item none reported yet. +% \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 |euproposal| +% and |eureporting| classes and the |eupdata| package. +% +% \subsection{Package Options and Format Initialization}\label{sec:impl:options} +% +% We first set up the options for the package. +% +% \begin{macrocode} +%<*cls> +\newif\ifpartB\partBfalse +\DeclareOption{partB}{\partBtrue} +\DeclareOption*{\PassOptionsToClass{\CurrentOption}{proposal}} +%</cls> +%<reporting>\DeclareOption*{\PassOptionsToClass{\CurrentOption}{reporting}} +%<cls|reporting>\ProcessOptions +% \end{macrocode} +% +% Then we load the packages we make use of +% +% \begin{macrocode} +%<cls>\ifpartB\LoadClass[report,noRAM]{proposal}\else\LoadClass[noRAM]{proposal}\fi +%<reporting>\LoadClass[report,noRAM]{reporting} +%<*cls|reporting> +\RequirePackage{longtable} +\RequirePackage{eurosym} +\RequirePackage{wrapfig} +\RequirePackage{eupdata} +% \end{macrocode} +% we want to change the numbering of figures and tables +% \begin{macrocode} +\RequirePackage{chngcntr} +\counterwithin{figure}{subsection} +\counterwithin{table}{subsection} +%</cls|reporting> +% \end{macrocode} +% +% \subsection{Proposal Metadata and Title Page}\label{sec:impl:metadata} +% +% We extend the metadata keys from the |proposal| class. +% \begin{macrocode} +%<*pdata> +\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{??} +\define@key{prop@gen}{challenge}{\def\prop@gen@challenge{#1}\pdata@def{prop}{gen}{challenge}{#1}} +\define@key{prop@gen}{challengeid}{\def\prop@gen@challengeid{#1}\pdata@def{prop}{gen}{challengeid}{#1}} +\def\prop@gen@objective{??}\def\prop@gen@objectiveid{??} +\define@key{prop@gen}{objective}{\def\prop@gen@objective{#1}\pdata@def{prop}{gen}{objective}{#1}} +\define@key{prop@gen}{objectiveid}{\def\prop@gen@objectiveid{#1}\pdata@def{prop}{gen}{objectiveid}{#1}} +\def\prop@gen@outcome{??}\def\prop@gen@outcomeid{??} +\define@key{prop@gen}{outcome}{\def\prop@gen@outcome{#1}\pdata@def{prop}{gen}{outcome}{#1}} +\define@key{prop@gen}{outcomeid}{\def\prop@gen@outcomeid{#1}\pdata@def{prop}{gen}{outcomeid}{#1}} +\define@key{prop@gen}{callname}{\def\prop@gen@call{#1}\pdata@def{prop}{gen}{callname}{#1}} +\define@key{prop@gen}{callid}{\def\prop@gen@call{#1}\pdata@def{prop}{gen}{callid}{#1}} +\define@key{prop@gen}{iconrowheight}{\def\prop@gen@iconrowheight{#1}} +\define@key{prop@gen}{topicsaddressed}{\def\prop@gen@topicsaddressed{#1}} +%</pdata> +% \end{macrocode} +% +% and now the ones for the final report +% \begin{macrocode} +%<*reporting> +\define@key{prop@gen}{reportperiod}{\def\prop@gen@reportperiod{#1}} +\define@key{prop@gen}{key}{\@dmp{key=#1}% +\@ifundefined{prop@gen@keys}{\xdef\prop@gen@keys{#1}}{\xdef\prop@gen@keys{\prop@gen@keys,#1}}} +\define@key{prop@gen}{projpapers}{\def\prop@gen@projpapers{#1}} +%</reporting> +% \end{macrocode} +% +% and the default values, these will be used, if the author does not specify something +% better. +% +% If the |propB| option is given, we need to redefine some of the internal counters and +% table of contents mechanisms to adapt to the fact that the proposal text is just Part B. +% +% \begin{macrocode} +%<*cls> +\ifpartB +\def\thepart{\Alph{part}} +\setcounter{part}{2} +\def\thechapter{\thepart.\arabic{chapter}} +\def\numberline#1{\hb@xt@\@tempdima{#1\hfil} } +\fi +% \end{macrocode} +% +% \begin{macro}{\prop@sites@table} +% \begin{macrocode} +\newcommand\prop@sites@table{\def\@@table{} +{\let\tabularnewline\relax\let\hline\relax +\@for\@I:=\prop@gen@sites\do{\xdef\@@table{\@@table\pdataref{site}\@I{number}} +\xdef\@@table{\@@table&\@nameuse{wa@institution@\@I @name} +\ifx\@I\prop@gen@coordinatorsite (coordinator)\fi} +\xdef\@@table{\@@table&\@nameuse{wa@institution@\@I @acronym}} +\xdef\@@table{\@@table&\@nameuse{wa@institution@\@I @countryshort}\tabularnewline\hline}}} +\begin{tabular}{|l|p{8cm}|l|l|}\hline%| +\# & Participant organisation name & Short name & Country\\\hline\hline +\@@table +\end{tabular}} +% \end{macrocode} +% \end{macro} +% +% \begin{environment}{prop@proposal} +% \begin{macrocode} +\renewenvironment{prop@proposal} +{\ifgrantagreement\else + \thispagestyle{empty}\begin{center} + {\Large \prop@gen@instrument}\\[.2cm] + {\Large\textbf\prop@gen@callname}\\[.4cm] + {\LARGE \prop@gen@callid}\\[.8cm] + {\huge\textbf\prop@gen@title}\\[.4cm] + {\LARGE Acronym: {\prop@gen@acronym}}\\[2cm] +\end{center} +%{\large\prop@gen@instrument}\\ +{\large\textbf{Date of Preparation: \today}} +% \ifsubmit\else\if@svninfo\if@gitinfo\\ +% {\large\textbf{Revision}: +% \if@svninfo\svnInfoRevision\fi\if@gitinfo\gitAbbrevHash\fi +% of +% \if@svninfo\svnInfoDate\fi\if@gitinfo\gitAuthorDate\fi} +% \fi\fi\fi +\\[1em] +\begin{large} + \begin{description} + % \item[Work program topics addressed by \pn:] + % \@ifundefined{prop@gen@topicsaddressed} + % {\textbf{Challenge \prop@gen@challengeid}: \prop@gen@challenge, + % \textbf{Objective \prop@gen@objectiveid}: \prop@gen@objective, + % \textbf{target outcome \prop@gen@outcomeid}) \prop@gen@outcome. + % {\prop@gen@topicsaddressed}\\[1em] + \item[Coordinator:] \wa@ref{person}\prop@gen@coordinator{name} + \item[e-mail:] \wa@ref{person}\prop@gen@coordinator{email} + \item[tel/fax:] \wa@ref{person}\prop@gen@coordinator{worktelfax} + \@ifundefined{prop@gen@keywords}{}{\item[Keywords:] \prop@gen@keywords} + \end{description} +\end{large} +\vspace*{1em} +\begin{center} +\prop@sites@table\vfill +\@ifundefined{prop@gen@iconrowheight}{} +{\@for\@site:=\prop@gen@sites\do{\wa@institution@logo[height=\prop@gen@iconrowheight]\@site\qquad}} +\end{center} +\newpage +\fi% ifgrantagreement +\setcounter{tocdepth}{2}\setcounter{part}{2}} +{\newpage\printbibliography[heading=warnpubs,maxnames=999]} +% \end{macrocode} +% \end{environment} +% +% \begin{macrocode} +\def\prop@gen@instrument{Proposal Instrument (e.g. IP)} +% \end{macrocode} +% +% \subsection{Site Descriptions}\label{sec:sitedesc} +% \ednote {this functionality should probably be refactored into proposal.dtx} +% +% \begin{environment}{sitedescription} +% \ednote{document this above} |\begin{sitedescritpion}[|\meta{opt}|]{\meta{site}}| +% marks up the description for the site \meta{site}. It looks up the relevant metadata +% from the respective |\WAinstitution| declarations. The options argument \meta{opt} +% is a key-value list for the keys \DescribeMacro{logo}|logo| (add the logo from +% |\WAinstitution| to the site description), \DescribeMacro{width}|width|, +% \DescribeMacro{height}|height| (intended dimensions of the logo), \ednote{more?}. +% \begin{macrocode} +\define@key{site@desc}{box}[true]{\def\site@desc@box{#1}% +\pdata@def{sitedesc}{\@site}{box}{#1}} +\define@key{site@desc}{logo}[true]{\def\site@desc@logo{#1}% +\pdata@def{sitedesc}{\@site}{logo}{#1}} +\define@key{site@desc}{width}{\def\site@desc@width{#1}% +\pdata@def{sitedesc}{\@site}{width}{#1}\@dmp{wd=#1}} +\define@key{site@desc}{height}{\def\site@desc@height{#1}% +\pdata@def{sitedesc}{\@site}{height}{#1}\@dmp{ht=#1}} +\newenvironment{sitedescription}[2][]% +{\def\c@site{#2}% remember the site ID +\newcounter{site@#2@PM} % for the site PM +\def\site@desc@box{false}% not box unless requested +\def\site@desc@logo{false}% not logo unless requested +\def\site@desc@height{1.3cm}% default height +\def\site@desc@width{5cm}% default width +\setkeys{site@desc}{#1}% read the keys to overwrite the defaults +\ifx\@site@desc@box\@true% if we want a logo +\begin{wrapfigure}{r}{\site@desc@width}\vspace{-2.5ex}% +\begin{tabular}{|p{\site@desc@width}|}\hline\vspace{1mm}% +\ifx\@site@desc@logo\@true% if we want a logo +\wa@institution@logo[height=\site@desc@width]{#2}\\[1ex]% +\fi% end logo +\textbf{\wa@ref{institution}{#2}{type}.\hfill \wa@ref{institution}{#2}{country}}\\% +\small\wa@ref{institution}{#2}{streetaddress}, \wa@ref{institution}{#2}{townzip}\\\hline% +\end{tabular}\vspace{-2.5ex}% +\end{wrapfigure}% +\fi% end box +\pdata@target{site}{#2}% +{\subsubsection{\wa@ref{institution}{#2}{acronym}: % space here +{\textsc{\wa@ref{institution}{#2}{name}} (\wa@ref{institution}{#2}{countryshort})}}}% +\small% +\renewcommand\paragraph{\@startsection{paragraph}{4}{\z@}% + {0.25ex \@plus1ex \@minus.2ex}% + {-1em}% + {\normalfont\normalsize\bfseries}}} +{\pdata@def{site}{\c@site}{reqPM}{\csname thesite@\c@site @PM\endcsname}} +% \end{macrocode} +% \end{environment} +% +% \begin{environment}{participant} +% \ednote{document this above} |\begin{picv}[|\meta{PM}|]{\meta{name}}| marks up the CV +% and metadata about a principal investigator of a site (it can only be use inside a +% |sitedescription| environment). The first argument \meta{PM} specifies the +% involvement in person months: a fair estimation this PI will spend on this specific +% project over its whole duration. +% \begin{macrocode} +\define@key{site@part}{type}{\def\site@part@type{#1}\@dmp{type=#1}} +\define@key{site@part}{PM}{\def\site@part@PM{#1}\@dmp{PM=#1}} +\define@key{site@part}{salary}{\def\site@part@salary{#1}}%\@dmp{\euro=#1}} +\define@key{site@part}{gender}{\def\site@part@gender{#1}}%\@dmp{\euro=#1}} +\newenvironment{participant}[2][]% +{\def\site@part@type{}\def\site@part@PM{}\def\site@part@salary{}\def\site@part@gender{}% +\setkeys{site@part}{#1}% +\ifx\site@part@PM\@empty\else\addtocounter{site@\c@site @PM}{\site@part@PM}\fi% +\paragraph*{#2\ % +(\ifx\site@part@type\@empty\else\site@part@type\fi% +\ifx\site@part@gender\@empty\else, \site@part@gender\fi% +\ifx\site@part@PM\@empty\else, \site@part@PM~PM\fi% +)}% +\ignorespaces} +{\par\medskip} +% \end{macrocode} +% \end{environment} +% +% \subsection{Work Packages, Work Areas, and Deliverables}\label{sec::impl:wpwa} +% +% \begin{environment}{wp*} +% \begin{macrocode} +\newmdenv[frametitle=Objectives]{wpobjectives} +\newmdenv[frametitle=Description]{wpdescription} +% \end{macrocode} +% \end{environment} +% +% \begin{environment}{workpackage} +% +% \begin{macrocode} +\renewenvironment{workpackage}[1][] +{\begin{work@package}[#1]\medskip\wpheadertable% +\addcontentsline{toc}{subsubsection}{\wp@label\wp@num: \pdataref{wp}\wp@id{title}}} +{\end{work@package}} +% \end{macrocode} +% \end{environment} +% +% \begin{macro}{\wpheadertable} +% We redefine the macro that computes the default work package header table, since there +% are more sites in a EU proposal, we do this in a tabular form as asked for in the +% template. We use the internal counter |@sites@po| (sites plus one) for convenience. +% \begin{macrocode} +\newcounter{@sitespo}\newcounter{@sitespt} +\renewcommand\wpheadertable{% +\wp@sites@efforts@lines% +\setcounter{@sitespo}{\thewp@sites@num}\addtocounter{@sitespo}{1}% +\par\noindent\begin{tabular}{|l|*{\thewp@sites@num}{c|}c|}\hline% +\multicolumn{\the@sitespo}{|l|}{\textbf{\wp@mk@title{\wp@num}: }% +\textsf{\pdata@target{wp}{\wp@id}{\pdataref{wp}\wp@id{title}}}} +&\textbf{Start: }\pdataref{wp}\wp@id{start}\\\hline% +\wp@sites@line\\\hline% +\wp@efforts@line\\\hline% +\end{tabular}\smallskip\par\noindent\ignorespaces} +% \end{macrocode} +% \end{macro} +% +% \subsection{Milestones and Deliverables}\label{sec:impl:deliverables} +% +% \begin{environment}{wpdelivs} +% We make the deliverables boxed in EU proposals, this is simple with |mdframed.sty|. +% \begin{macrocode} +\surroundwithmdframed{wpdelivs} +% \end{macrocode} +% \end{environment} +% +% \begin{macro}{\milestone} +% \begin{macrocode} +\define@key{milestone}{verif}{\gdef\mile@verif{#1}\pdata@def{mile}\mile@id{verif}{#1}} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{milestonetable} +% here we do the work. +% \begin{macrocode} +\define@key{mst}{caption}{\gdef\mst@caption{#1}} +\define@key{mst}{wname}{\gdef\mst@wname{#1}} +\define@key{mst}{wdeliv}{\gdef\mst@wdeliv{#1}} +\define@key{mst}{wverif}{\gdef\mst@wverif{#1}} +\newcommand\milestonetable[1][]{% +\def\mst@caption{Milestones, Deliverables, and Verification}% +\def\mst@wname{2.5cm}\def\mst@wdeliv{7cm}\def\mst@wverif{4cm} +\setkeys{mst}{#1}% +{\gdef\mst@lines{}%initialize +\let\tabularnewline\relax\let\hline\relax% so they +\let\textbf\relax\let\emph\relax% do not bother us +\edef\@@miles{\pdataref{all}{mile}{ids}} +\@for\@I:=\@@miles\do{ +\edef\@delivs{\pdataref@safe{mile}{\@I}{delivs}}% +\def\@@delivs{} +\@for\@J:=\@delivs\do{\xdef\@@delivs{\@@delivs\ \pdataref{deliv}\@J{label}}} +\def\@@line{ +\textbf{\pdataref{mile}\@I{label}}& +\emph{\pdataref{mile}{\@I}{title}} & +\@@delivs& +\pdataref{mile}\@I{month} & +\pdataref{mile}\@I{verif}} +\xdef\mst@lines{\mst@lines\@@line\tabularnewline\hline}}} +\begin{table}[ht] +\begin{tabular}{|l|p{\mst@wname}|p{\mst@wdeliv}|l|p{\mst@wverif}|}\hline +\#&\textbf{\miles@legend@name} +&\textbf{\miles@legend@involved} +&\textbf{\miles@legend@mo} +&\textbf{\miles@legend@verif}\\\hline\hline +\mst@lines +\end{tabular} +\caption{\mst@caption}\label{tab:milestonetable} +\end{table} +\footnotetext\miles@legend@footnote} +% \end{macrocode} +% now the multilinguality support +% \begin{macrocode} +\newcommand\miles@legend@name{Name} +\newcommand\miles@legend@mo{Mo} +\newcommand\miles@legend@verif{Means of Verif.} +\newcommand\miles@legend@involved{WPs\footnotemark/Deliverables involved} +\newcommand\miles@legend@footnote{The work package number is the first number in the deliverable number.} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\prop@milesfor} +% the due date is the first argument to facilitate sorting +% \begin{macrocode} +\newcommand\prop@milesfor[1]{\edef\@delivs{\pdataref@safe{mile}{#1}{delivs}}% +\let\m@sep=\relax\def\new@sep{,\ }% +\@for\@I:=\@delivs\do{\m@sep\pdataRef{deliv}\@I{label}\let\m@sep=\new@sep}} +% \end{macrocode} +% \end{macro} +% +% \subsection{Risks}\label{sec:impl:risks} +% +% \begin{environment}{risk} +% \begin{macrocode} +\newenvironment{risk}[3] +{\paragraph{Risk: #1}\hfill\emph{probability}: #2, \emph{gravity}: #3\par\noindent\ignorespaces} +{} +% \end{macrocode} +% \end{environment} +% +% \begin{environment}{riskcont} +% \begin{macrocode} +\newenvironment{riskcont}[3] +{\begin{risk}{#1}{#2}{#3}\textbf{Contingency:} } +{\end{risk}} +% \end{macrocode} +% \end{environment} +% +% \subsection{Relevant Papers}\label{sec:impl:papers} +% +% \begin{macro}{\keypubs} +% \ednote{MK: the baselinestretch manipulation does not work here, since +% \texttt{prop@paperslist} makes its own provisions. We should provide a way of +% manipulating sizes here.} +% \begin{macrocode} +\newcommand\keypubs[1]{% +\paragraph{Key publications relevant to the project}% +{\renewcommand{\baselinestretch}{.9}\prop@paperlist{#1}}} +%</cls> +% \end{macrocode} +% \end{macro} +% +% \Finale +\endinput +% LocalWords: iffalse cls euproposal euproposal.dtx tt maketitle newpage wpwa eudata dfg +% LocalWords: tableofcontents ednote euproposal DescribeEnv compactitem impl eureporting +% LocalWords: longtable eurosym pdata thepart setcounter env vfill qquad NeedsTeXFormat +% LocalWords: thechapter newcommand tabularnewline hline xdef pdataref nameuse SciML gen +% LocalWords: countryshort rpoposal clange wrapfig wrapfigure vspace bfseries eupdata wd +% LocalWords: startsection normalfont normalsize baselinestretch callname hb newpart wp +% LocalWords: countryshort rpoposal clange wrapfig renewenvironment worktelfax prop@gen +% LocalWords: tocdepth wpobjectives newenvironment noindent boxedminipage fbox warnpubs +% LocalWords: textwidth textbf wpdescription sitedescription pgfdeclareimage projpapers +% LocalWords: wrapfigure vspace pgfuseimage streetaddress townzip textsc xt wa maxnames +% LocalWords: renewcommand startsection normalfont normalsize bfseries wptitle sitedesc +% LocalWords: workpackage subsubsection wpheadertable newcounter sitespo hfil if@svninfo +% LocalWords: newcounter sitespt addtocounter textsf smallskip ignorespaces pn setkeys +% LocalWords: cellcolor lightgray keypubs paperlist callname callid callid ifx csname +% LocalWords: challengeid challengeid objectiveid objectiveid outcomeid hfill if@gitinfo +% LocalWords: outcomeid metakeys workaddress numberline tempdima ifsubmit iconrowheight +% LocalWords: proposal.dtx texttt paperslist workaddress.dtx topicsaddressed thesite +% LocalWords: topicsaddressed iconrowheight finalreport.tex printbibliography endcsname +% LocalWords: reportperiod organisation thispagestyle gitAbbrevHash sitedescritpion +% LocalWords: WAinstitution picv medskip newmdenv frametitle wpdelivs mdframed.sty emph +% LocalWords: surroundwithmdframed emph riskcont prob grav ldots endinput |