adding RM/RAM to tasks for finer-grained specification (needs some beautification).

This commit is contained in:
Michael Kohlhase 2017-02-02 11:55:31 +01:00
parent 08ac67667d
commit 733f5889cf
6 changed files with 49 additions and 7 deletions

View File

@ -7,7 +7,7 @@
%% proposal.dtx (with options: `pdata') %% proposal.dtx (with options: `pdata')
%% %%
\NeedsTeXFormat{LaTeX2e}[1999/12/01] \NeedsTeXFormat{LaTeX2e}[1999/12/01]
\ProvidesPackage{pdata}[2016/11/24 v1.6 Project Data] \ProvidesPackage{pdata}[2016/12/15 v1.6 Project Data]
\RequirePackage{workaddress}[2016/07/06] \RequirePackage{workaddress}[2016/07/06]
\RequirePackage{eurosym} \RequirePackage{eurosym}
\newif\if@sites\@sitesfalse\let\prop@gen@sites=\relax% \newif\if@sites\@sitesfalse\let\prop@gen@sites=\relax%
@ -19,6 +19,8 @@
\if@RAM\define@key{prop@gen}{#1RAM}{\pdata@def{site}{#1}{intendedRAM}{##1}}\fi \if@RAM\define@key{prop@gen}{#1RAM}{\pdata@def{site}{#1}{intendedRAM}{##1}}\fi
\define@key{workpackage}{#1RM}{\pdata@def\wp@id{#1}{RM}{##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 \if@RAM\define@key{workpackage}{#1RAM}{\pdata@def\wp@id{#1}{RAM}{##1}}\fi
\define@key{task}{#1RM}{\pdata@def{\wp@id @\task@id}{#1}{RM}{##1}}%
\if@RAM\define@key{task}{#1RAM}{\pdata@def{\wp@id @\task@id}{#1}{RAM}{##1}}\fi
\define@key{prop@gen}{#1employed}{{\let\tabularnewline\relax\let\hline\relax\let\wa@ref\relax% \define@key{prop@gen}{#1employed}{{\let\tabularnewline\relax\let\hline\relax\let\wa@ref\relax%
\@ifundefined{prop@gen@employed@lines}% \@ifundefined{prop@gen@employed@lines}%
{\xdef\prop@gen@employed@lines{\wa@ref3{institution}{#1}{shortname} & ##1\tabularnewline\hline}}% {\xdef\prop@gen@employed@lines{\wa@ref3{institution}{#1}{shortname} & ##1\tabularnewline\hline}}%

View File

@ -7,7 +7,7 @@
%% proposal.dtx (with options: `cls') %% proposal.dtx (with options: `cls')
%% %%
\NeedsTeXFormat{LaTeX2e}[1999/12/01] \NeedsTeXFormat{LaTeX2e}[1999/12/01]
\ProvidesClass{proposal}[2016/11/24 v1.6 Project Proposal] \ProvidesClass{proposal}[2016/12/15 v1.6 Project Proposal]
\newif\if@wpsubsection\@wpsubsectionfalse \newif\if@wpsubsection\@wpsubsectionfalse
\newif\ifsubmit\submitfalse \newif\ifsubmit\submitfalse
\newif\ifgrantagreement\grantagreementfalse \newif\ifgrantagreement\grantagreementfalse

View File

@ -69,6 +69,7 @@
% \changes{v1.4}{2013/01/12}{more documentation of milestones} % \changes{v1.4}{2013/01/12}{more documentation of milestones}
% \changes{v1.5}{2014/01/14}{many layout tweaks support for CVs, milestones in gantt} % \changes{v1.5}{2014/01/14}{many layout tweaks support for CVs, milestones in gantt}
% \changes{v1.6}{2016/10/26}{splitting off proposal.sty so that documentation becomes easier} % \changes{v1.6}{2016/10/26}{splitting off proposal.sty so that documentation becomes easier}
% \changes{v1.6}{2017/02/01}{adding RM/RAM to tasks for fine-grained specification}
% %
% \GetFileInfo{proposal.cls} % \GetFileInfo{proposal.cls}
% %
@ -735,6 +736,8 @@
\if@RAM\define@key{prop@gen}{#1RAM}{\pdata@def{site}{#1}{intendedRAM}{##1}}\fi \if@RAM\define@key{prop@gen}{#1RAM}{\pdata@def{site}{#1}{intendedRAM}{##1}}\fi
\define@key{workpackage}{#1RM}{\pdata@def\wp@id{#1}{RM}{##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 \if@RAM\define@key{workpackage}{#1RAM}{\pdata@def\wp@id{#1}{RAM}{##1}}\fi
\define@key{task}{#1RM}{\pdata@def{\wp@id @\task@id}{#1}{RM}{##1}}%
\if@RAM\define@key{task}{#1RAM}{\pdata@def{\wp@id @\task@id}{#1}{RAM}{##1}}\fi
\define@key{prop@gen}{#1employed}{{\let\tabularnewline\relax\let\hline\relax\let\wa@ref\relax% \define@key{prop@gen}{#1employed}{{\let\tabularnewline\relax\let\hline\relax\let\wa@ref\relax%
\@ifundefined{prop@gen@employed@lines}% \@ifundefined{prop@gen@employed@lines}%
{\xdef\prop@gen@employed@lines{\wa@ref3{institution}{#1}{shortname} & ##1\tabularnewline\hline}}% {\xdef\prop@gen@employed@lines{\wa@ref3{institution}{#1}{shortname} & ##1\tabularnewline\hline}}%
@ -882,6 +885,8 @@
\if@sites\else \if@sites\else
\define@key{workpackage}{RM}{\pdata@def{wp}\wp@id{RM}{##1}\@dmp{RM=##1}} \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 \if@RAM\define@key{workpackage}{RAM}{\pdata@def{wp}\wp@id{RAM}{##1}\@dmp{RAM=##1}}\fi
\define@key{task}{RM}{\pdata@def{task}{\wp@id @\task@id}{RM}{##1}\@dmp{RM=##1}}
\if@RAM\define@key{task}{RAM}{\pdata@def{wp}{\wp@id @\task@id}{RAM}{##1}\@dmp{RAM=##1}}\fi
\fi \fi
\newcounter{@PIs} \newcounter{@PIs}
\@ifundefined{prop@gen@PIs}{}{\@for\@I:=\prop@gen@PIs\do{\stepcounter{@PIs}}} \@ifundefined{prop@gen@PIs}{}{\@for\@I:=\prop@gen@PIs\do{\stepcounter{@PIs}}}
@ -1318,24 +1323,51 @@
% \end{macro} % \end{macro}
% %
% \begin{environment}{task} % \begin{environment}{task}
% The |task| environment. We first set up config stuff
% \begin{macrocode} % \begin{macrocode}
\newcounter{alltasks} \newcounter{alltasks}
\def\task@post@title@space{ } \def\task@post@title@space{ }
\newcommand\task@legend@partners{Sites: } \newcommand\task@legend@partners{Sites: }
\newcommand\task@legend@PM{PM} \newcommand\task@legend@PM{PM}
% \end{macrocode}
% now comes the environment proper. We first call |\@task| on the keyval argument to do
% the metadata handling. Then we start formatting the task as an item in the |description|
% list from the |tasklist| environment, and print the |title| if there is one
% \begin{macrocode}
\newenvironment{task}[1][]% \newenvironment{task}[1][]%
{\stepcounter{alltasks}% {\stepcounter{alltasks}%
\@task{#1}\item[\pdata@target{task}{\taskin\task@id\wp@id}{\task@label\thewp\thetask@wp}]% \@task{#1}\item[\pdata@target{task}{\taskin\task@id\wp@id}{\task@label\thewp\thetask@wp}]%
\ifx\task@title\@empty\else\textbf\task@title\fi\task@post@title@space% \ifx\task@title\@empty\else\textbf\task@title\fi\task@post@title@space%
\def\@initial{0-0}\ifx\task@wphases\@initial\else% % \end{macrocode}
% now we decode and show the work phases on the task, if they have been specified.
% \begin{macrocode}
\def\@initial{0-0}%
\ifx\task@wphases\@initial\else%
\let\@@sep=\relax\@for\@I:=\task@wphases% \let\@@sep=\relax\@for\@I:=\task@wphases%
\do{\decode@wphase\@I% \do{\decode@wphase\@I%
\@@sep\show@wphase\wphase@start\wphase@end\wphase@force% \@@sep\show@wphase\wphase@start\wphase@end\wphase@force%
\let\@@sep=\sep@wphases}% \let\@@sep=\sep@wphases}%
\fi% initial \fi% initial
% \end{macrocode}
% in non-|submit| mode we give the specified PM for cross-checking
% \begin{macrocode}
\ifsubmit\else\ifx\task@PM\@empty\else\task@PM~\task@legend@PM;\fi\fi% \ifsubmit\else\ifx\task@PM\@empty\else\task@PM~\task@legend@PM;\fi\fi%
% \end{macrocode}
% and we list the partners who contribute if they are specified.
% \begin{macrocode}
\ifx\task@lead\@empty\else\ \task@legend@partners\site\task@lead~(\legend@lead)% \ifx\task@lead\@empty\else\ \task@legend@partners\site\task@lead~(\legend@lead)%
\@for\@I:=\task@partners\do{, \site\@I}\\\fi% \@for\@I:=\task@partners\do{, \site\@I}\\\fi%
% \end{macrocode}
% if there are no partners, then we show the RM/RAM contributions specified (if any)
% \begin{macrocode}
\ifx\task@partners\@empty
\@for\@site:=\prop@gen@sites\do{%
\edef\@@RM{\pdataref@safe{\wp@id @\task@id}\@site{RM}}%
\ifx\@@RM\@empty\else\site{\@site}: \@@RM\if@RAM\ifx\@@RAM\@empty\else/\@@RM\fi\fi, \fi}%
\fi% no partners key
% \end{macrocode}
% finally, we ignore any spaces that may follow the the |task| environment
% \begin{macrocode}
\ignorespaces} \ignorespaces}
{\medskip} {\medskip}
% \end{macrocode} % \end{macrocode}

Binary file not shown.

View File

@ -7,7 +7,7 @@
%% proposal.dtx (with options: `sty') %% proposal.dtx (with options: `sty')
%% %%
\NeedsTeXFormat{LaTeX2e}[1999/12/01] \NeedsTeXFormat{LaTeX2e}[1999/12/01]
\ProvidesPackage{proposal}[2016/11/24 v1.6 Project Proposal] \ProvidesPackage{proposal}[2016/12/15 v1.6 Project Proposal]
\RequirePackage{amssymb} \RequirePackage{amssymb}
\RequirePackage{wasysym} \RequirePackage{wasysym}
\RequirePackage{url} \RequirePackage{url}
@ -93,6 +93,8 @@
\if@sites\else \if@sites\else
\define@key{workpackage}{RM}{\pdata@def{wp}\wp@id{RM}{##1}\@dmp{RM=##1}} \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 \if@RAM\define@key{workpackage}{RAM}{\pdata@def{wp}\wp@id{RAM}{##1}\@dmp{RAM=##1}}\fi
\define@key{task}{RM}{\pdata@def{task}{\wp@id @\task@id}{RM}{##1}\@dmp{RM=##1}}
\if@RAM\define@key{task}{RAM}{\pdata@def{wp}{\wp@id @\task@id}{RAM}{##1}\@dmp{RAM=##1}}\fi
\fi \fi
\newcounter{@PIs} \newcounter{@PIs}
\@ifundefined{prop@gen@PIs}{}{\@for\@I:=\prop@gen@PIs\do{\stepcounter{@PIs}}} \@ifundefined{prop@gen@PIs}{}{\@for\@I:=\prop@gen@PIs\do{\stepcounter{@PIs}}}
@ -316,7 +318,8 @@
{\stepcounter{alltasks}% {\stepcounter{alltasks}%
\@task{#1}\item[\pdata@target{task}{\taskin\task@id\wp@id}{\task@label\thewp\thetask@wp}]% \@task{#1}\item[\pdata@target{task}{\taskin\task@id\wp@id}{\task@label\thewp\thetask@wp}]%
\ifx\task@title\@empty\else\textbf\task@title\fi\task@post@title@space% \ifx\task@title\@empty\else\textbf\task@title\fi\task@post@title@space%
\def\@initial{0-0}\ifx\task@wphases\@initial\else% \def\@initial{0-0}%
\ifx\task@wphases\@initial\else%
\let\@@sep=\relax\@for\@I:=\task@wphases% \let\@@sep=\relax\@for\@I:=\task@wphases%
\do{\decode@wphase\@I% \do{\decode@wphase\@I%
\@@sep\show@wphase\wphase@start\wphase@end\wphase@force% \@@sep\show@wphase\wphase@start\wphase@end\wphase@force%
@ -325,6 +328,11 @@
\ifsubmit\else\ifx\task@PM\@empty\else\task@PM~\task@legend@PM;\fi\fi% \ifsubmit\else\ifx\task@PM\@empty\else\task@PM~\task@legend@PM;\fi\fi%
\ifx\task@lead\@empty\else\ \task@legend@partners\site\task@lead~(\legend@lead)% \ifx\task@lead\@empty\else\ \task@legend@partners\site\task@lead~(\legend@lead)%
\@for\@I:=\task@partners\do{, \site\@I}\\\fi% \@for\@I:=\task@partners\do{, \site\@I}\\\fi%
\ifx\task@partners\@empty
\@for\@site:=\prop@gen@sites\do{%
\edef\@@RM{\pdataref@safe{\wp@id @\task@id}\@site{RM}}%
\ifx\@@RM\@empty\else\site{\@site}: \@@RM\if@RAM\ifx\@@RAM\@empty\else/\@@RM\fi\fi, \fi}%
\fi% no partners key
\ignorespaces} \ignorespaces}
{\medskip} {\medskip}
\newcommand\month@label[1]{M#1} \newcommand\month@label[1]{M#1}

View File

@ -7,7 +7,7 @@
%% proposal.dtx (with options: `reporting') %% proposal.dtx (with options: `reporting')
%% %%
\NeedsTeXFormat{LaTeX2e}[1999/12/01] \NeedsTeXFormat{LaTeX2e}[1999/12/01]
\ProvidesPackage{reporting}[2016/11/24 v1.6 Project Reporting] \ProvidesPackage{reporting}[2016/12/15 v1.6 Project Reporting]
\newif\if@wpsubsection\@wpsubsectionfalse \newif\if@wpsubsection\@wpsubsectionfalse
\newif\ifsubmit\submitfalse \newif\ifsubmit\submitfalse
\newif\ifgrantagreement\grantagreementfalse \newif\ifgrantagreement\grantagreementfalse