moving milestonestable into euproposal, documenting

This commit is contained in:
Michael Kohlhase 2015-01-15 14:07:17 +01:00
parent 7139425218
commit bd0b4afb3b
13 changed files with 140 additions and 99 deletions

View File

@ -386,62 +386,27 @@
\newcounter{milestone} \newcounter{milestone}
\define@key{milestone}{id}{\gdef\mile@id{#1}} \define@key{milestone}{id}{\gdef\mile@id{#1}}
\define@key{milestone}{month}{\gdef\mile@month{#1}} \define@key{milestone}{month}{\gdef\mile@month{#1}}
\define@key{milestone}{verif}{\gdef\mile@verif{#1}}
\newcommand\milestone[3][]{% \newcommand\milestone[3][]{%
\ifdelivs% \ifdelivs%
\setkeys{milestone}{#1}\stepcounter{milestone}% \setkeys{milestone}{#1}\stepcounter{milestone}%
\pdata@def{mile}\mile@id{label}{\milestone@label{\themilestone}}% \pdata@def{mile}\mile@id{label}{\milestone@label{\themilestone}}%
\pdata@def{mile}\mile@id{month}{\mile@month}% \pdata@def{mile}\mile@id{month}{\mile@month}%
\pdata@def{mile}\mile@id{verif}{\mile@verif}%
\pdata@def{mile}\mile@id{title}{#2}% \pdata@def{mile}\mile@id{title}{#2}%
\pdata@def{mile}\mile@id{description}{#3}% \pdata@def{mile}\mile@id{description}{#3}%
\@ifundefined{mile@stones}{\xdef\mile@stones{\mile@id}}{\xdef\mile@stones{\mile@stones,\mile@id}}% \@ifundefined{mile@stones}{\xdef\mile@stones{\mile@id}}{\xdef\mile@stones{\mile@stones,\mile@id}}%
\@milestone{\mile@id}{#2}{#3}% presentation \@milestone{\mile@id}{#2}{#3}% presentation
\else\deliv@error\fi} \else\deliv@error\fi}
\newcommand\@milestone[3]{% id, title, description \newcommand\@milestone[3]{% id, title, description
\item \textbf{Milestone \pdataref{mile}{#1}{label} (Month \pdataref{mile}\mile@id{month}) \item \textbf{\miles@legend@milestone \pdataref{mile}{#1}{label} (\miles@legend@month \pdataref{mile}\mile@id{month})
\textbf{#2}} #3} \textbf{#2}} #3}
\newcommand\miles@legend@month{Month}
\newcommand\miles@legend@milestone{Milestone}
\newenvironment{milestones}% \newenvironment{milestones}%
{\ifdelivs\begin{@milestones}\else\deliv@error\fi} {\ifdelivs\begin{@milestones}\else\deliv@error\fi}
{\ifdelivs\pdata@def{all}{mile}{ids}{\mile@stones}% {\ifdelivs\pdata@def{all}{mile}{ids}{\mile@stones}%
\pdata@def{all}{mile}{count}{\themilestone}% \pdata@def{all}{mile}{count}{\themilestone}%
\end{@milestones}\fi} \end{@milestones}\fi}
\newenvironment{@milestones}{\begin{enumerate}}{\end{enumerate}} \newenvironment{@milestones}{\begin{enumerate}}{\end{enumerate}}
\newcommand\milestonetable{%
{\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{2.5cm}|p{7cm}|l|p{4cm}|}\hline
\#&\textbf{\miles@legend@name}
&\textbf{\miles@legend@involved}
&\textbf{\miles@legend@month}
&\textbf{\miles@legend@verif}\\\hline\hline
\mst@lines
\end{tabular}
\caption{Milestones, Deliverables, and Verification}\label{tab:milestonetable}
\end{table}
\footnotetext\miles@legend@footnote}
\newcommand\miles@legend@name{Name}
\newcommand\miles@legend@month{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.}
\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}}
\newcommand{\deliverable}[9]{\pdataRef{deliv}{#4}{label}&#7&#8&#9&#6&#5&#2\\\hline}%sortkey,due,label,id,title,type,level,lead \newcommand{\deliverable}[9]{\pdataRef{deliv}{#4}{label}&#7&#8&#9&#6&#5&#2\\\hline}%sortkey,due,label,id,title,type,level,lead
\newenvironment{deliverables}[1]{\ifdelivs\begin{longtable}{|l|p{#1}|l|l|l|l|l|}\hline% \newenvironment{deliverables}[1]{\ifdelivs\begin{longtable}{|l|p{#1}|l|l|l|l|l|}\hline%
\#&\textbf{\delivs@legend@name}&% \#&\textbf{\delivs@legend@name}&%

View File

@ -368,11 +368,9 @@
% descriptions via the \DescribeMacro{\milestone}|\milestone| macro which is invoked as % descriptions via the \DescribeMacro{\milestone}|\milestone| macro which is invoked as
% |\milestone[|\meta{keys}|]{|\meta{title}|}{|\meta{desc}|}|, where \meta{keys} supports % |\milestone[|\meta{keys}|]{|\meta{title}|}{|\meta{desc}|}|, where \meta{keys} supports
% the keys |id| for identification |month| for specifying the milestone date (in months of % the keys |id| for identification |month| for specifying the milestone date (in months of
% the project duration), and |verif| for specifying a means of % the project duration). Milestones are numbered with labels whose shape can be customized
% verification\footnote{Arguably, this set of keys is inspired by EU proposals, but can be % by redefining \DescribeMacro{\milestone@label}|\milestone@label| and referenced by the
% extended in class instances.} Milestones are numbered with labels whose shape can be % \DescribeMacro{\mileref}|\mileref{|\meta{id}|}| and
% customized by redefining \DescribeMacro{\milestone@label}|\milestone@label| and
% referenced by the \DescribeMacro{\mileref}|\mileref{|\meta{id}|}| and
% \DescribeMacro{\miletref}|\miletref{|\meta{id}|}| for a reference with milestone % \DescribeMacro{\miletref}|\miletref{|\meta{id}|}| for a reference with milestone
% title. |\pdatacount{all}{miles}| gives the number of milestones. % title. |\pdatacount{all}{miles}| gives the number of milestones.
% %
@ -1353,7 +1351,7 @@
% \end{macrocode} % \end{macrocode}
% \end{macro} % \end{macro}
% %
% Now, we only need to instantiate % Now, we only need to instantsiate
% %
% \begin{environment}{wadeliv} % \begin{environment}{wadeliv}
% \begin{macrocode} % \begin{macrocode}
@ -1389,13 +1387,11 @@
\newcounter{milestone} \newcounter{milestone}
\define@key{milestone}{id}{\gdef\mile@id{#1}} \define@key{milestone}{id}{\gdef\mile@id{#1}}
\define@key{milestone}{month}{\gdef\mile@month{#1}} \define@key{milestone}{month}{\gdef\mile@month{#1}}
\define@key{milestone}{verif}{\gdef\mile@verif{#1}}
\newcommand\milestone[3][]{% \newcommand\milestone[3][]{%
\ifdelivs% \ifdelivs%
\setkeys{milestone}{#1}\stepcounter{milestone}% \setkeys{milestone}{#1}\stepcounter{milestone}%
\pdata@def{mile}\mile@id{label}{\milestone@label{\themilestone}}% \pdata@def{mile}\mile@id{label}{\milestone@label{\themilestone}}%
\pdata@def{mile}\mile@id{month}{\mile@month}% \pdata@def{mile}\mile@id{month}{\mile@month}%
\pdata@def{mile}\mile@id{verif}{\mile@verif}%
\pdata@def{mile}\mile@id{title}{#2}% \pdata@def{mile}\mile@id{title}{#2}%
\pdata@def{mile}\mile@id{description}{#3}% \pdata@def{mile}\mile@id{description}{#3}%
\@ifundefined{mile@stones}{\xdef\mile@stones{\mile@id}}{\xdef\mile@stones{\mile@stones,\mile@id}}% \@ifundefined{mile@stones}{\xdef\mile@stones{\mile@id}}{\xdef\mile@stones{\mile@stones,\mile@id}}%
@ -1408,8 +1404,10 @@
% the corresponding presentation macro. % the corresponding presentation macro.
% \begin{macrocode} % \begin{macrocode}
\newcommand\@milestone[3]{% id, title, description \newcommand\@milestone[3]{% id, title, description
\item \textbf{Milestone \pdataref{mile}{#1}{label} (Month \pdataref{mile}\mile@id{month}) \item \textbf{\miles@legend@milestone \pdataref{mile}{#1}{label} (\miles@legend@month \pdataref{mile}\mile@id{month})
\textbf{#2}} #3} \textbf{#2}} #3}
\newcommand\miles@legend@month{Month}
\newcommand\miles@legend@milestone{Milestone}
% \end{macrocode} % \end{macrocode}
% \end{macro} % \end{macro}
% %
@ -1433,56 +1431,6 @@
% \end{macrocode} % \end{macrocode}
% \end{environment} % \end{environment}
% %
% \begin{macro}{milestonetable}
% here we do the work.
% \begin{macrocode}
\newcommand\milestonetable{%
{\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{2.5cm}|p{7cm}|l|p{4cm}|}\hline
\#&\textbf{\miles@legend@name}
&\textbf{\miles@legend@involved}
&\textbf{\miles@legend@month}
&\textbf{\miles@legend@verif}\\\hline\hline
\mst@lines
\end{tabular}
\caption{Milestones, Deliverables, and Verification}\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@month{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}
%
% \begin{macro}{\deliverable} % \begin{macro}{\deliverable}
% the first argument is an extended due date to facilitate sorting. % the first argument is an extended due date to facilitate sorting.
% \begin{macrocode} % \begin{macrocode}

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -140,6 +140,49 @@
\wp@efforts@line\\\hline% \wp@efforts@line\\\hline%
\end{tabular}\smallskip\par\noindent\ignorespaces} \end{tabular}\smallskip\par\noindent\ignorespaces}
\surroundwithmdframed{wpdelivs} \surroundwithmdframed{wpdelivs}
\define@key{milestone}{verif}{\gdef\mile@verif{#1}\pdata@def{mile}\mile@id{verif}{#1}}
\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}
\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.}
\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}}
\newenvironment{risk}[3] \newenvironment{risk}[3]
{\paragraph{Risk: #1}\hfill\emph{probability}: #2, \emph{gravity}: #3\par\noindent\ignorespaces} {\paragraph{Risk: #1}\hfill\emph{probability}: #2, \emph{gravity}: #3\par\noindent\ignorespaces}
{} {}

View File

@ -157,6 +157,22 @@
% |DEM| = Demonstration; |MGT| = Management of the consortium; |OTHER| = Other specific % |DEM| = Demonstration; |MGT| = Management of the consortium; |OTHER| = Other specific
% activities, if applicable in this call. % 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}
% \ednote{MK: document the infrastructure, make examples}
%
% \begin{newpart}{MK@MK: This is new, and only partially implemented} % \begin{newpart}{MK@MK: This is new, and only partially implemented}
% \subsection{Reporting Infrastructure}\label{sec:user:report} % \subsection{Reporting Infrastructure}\label{sec:user:report}
% %
@ -447,12 +463,77 @@
% \end{macrocode} % \end{macrocode}
% \end{macro} % \end{macro}
% %
% \subsection{Milestones and Deliverables}\label{sec:impl:deliverables}
%
% \begin{environment}{wpdelivs} % \begin{environment}{wpdelivs}
% We make the deliverables boxed, this is simple with |mdframed.sty|. % We make the deliverables boxed in EU proposals, this is simple with |mdframed.sty|.
% \begin{macrocode} % \begin{macrocode}
\surroundwithmdframed{wpdelivs} \surroundwithmdframed{wpdelivs}
% \end{macrocode} % \end{macrocode}
% \end{environment} % \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} % \subsection{Risks}\label{sec:impl:risks}
% %

Binary file not shown.

Binary file not shown.

View File

@ -18,7 +18,7 @@ TBIB.pdf = $(TBIB:%.tex=%.pdf) # PDFs to be produced
TBIB.aux = $(TBIB:%.tex=%.aux) # their aux files. TBIB.aux = $(TBIB:%.tex=%.aux) # their aux files.
PDATA = $(PROPOSAL:%.tex=%.pdata) # the proposal project data PDATA = $(PROPOSAL:%.tex=%.pdata) # the proposal project data
SRC = $(filter-out $(TARGET),$(shell ls *.tex)) # included files SRC = $(filter-out $(TARGET),$(shell ls *.tex)) # included files
PDFLATEX = pdflatex -interaction batchmode -file-line-error PDFLATEX = pdflatex -interaction scrollmode -file-line-error
BBL.base = 1 2 3 4 BBL.base = 1 2 3 4
BBL = $(PROPOSAL:%.tex=%.bbl) $(BBL.base:%=$(PROPOSAL:%.tex=%)%-blx.bbl) BBL = $(PROPOSAL:%.tex=%.bbl) $(BBL.base:%=$(PROPOSAL:%.tex=%)%-blx.bbl)
PROPCLS.dir = $(PROP.dir)/base PROPCLS.dir = $(PROP.dir)/base

View File

@ -11,6 +11,8 @@ The Project Management of {\pn} is based on its Consortium Agreement, which will
signed before the Contract is signed by the Commission. The Consortium Agreement will signed before the Contract is signed by the Commission. The Consortium Agreement will
enter into force as from the date the contract with the European Commission is signed. enter into force as from the date the contract with the European Commission is signed.
\subsection{Organizational structure}\label{sec:management-structure} \subsection{Organizational structure}\label{sec:management-structure}
\subsection{Milestones}\label{sec:milestones}
\milestonetable
\subsection{Risk Assessment and Management} \subsection{Risk Assessment and Management}
\subsection{Information Flow and Outreach}\label{sec:spread-excellence} \subsection{Information Flow and Outreach}\label{sec:spread-excellence}
\subsection{Quality Procedures}\label{sec:quality-management} \subsection{Quality Procedures}\label{sec:quality-management}
@ -51,6 +53,8 @@ joint publications (only international, peer reviewed ones).
\jointorga{jacu,efo,baz} \jointorga{jacu,efo,baz}
\jointpub{efo,baz,jacu} \jointpub{efo,baz,jacu}
\jointproj{efo,bar} \jointproj{efo,bar}
\jointsup{jacu,bar}
\jointsoft{baz,efo}
\coherencetable \coherencetable
\subsection{Subcontracting}\label{sec:subcontracting} \subsection{Subcontracting}\label{sec:subcontracting}

Binary file not shown.