copying over the advances from the OpenDreamKIT proposal effort
This commit is contained in:
parent
4562f340f7
commit
7139425218
@ -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}[2013/02/19 v1.4 Project Data]
|
\ProvidesPackage{pdata}[2015/01/14 v1.5 Project Data]
|
||||||
\RequirePackage{workaddress}[2011/05/03]
|
\RequirePackage{workaddress}[2011/05/03]
|
||||||
\RequirePackage{eurosym}
|
\RequirePackage{eurosym}
|
||||||
\newif\if@sites\@sitesfalse\let\prop@gen@sites=\relax%
|
\newif\if@sites\@sitesfalse\let\prop@gen@sites=\relax%
|
||||||
@ -58,6 +58,7 @@
|
|||||||
\pdata@def{prop}{gen}{fundsuntil}{#1}}
|
\pdata@def{prop}{gen}{fundsuntil}{#1}}
|
||||||
\define@key{prop@gen}{topdownPM}[true]{\def\prop@gen@topdownPM{#1}}
|
\define@key{prop@gen}{topdownPM}[true]{\def\prop@gen@topdownPM{#1}}
|
||||||
\define@key{prop@gen}{botupPM}[true]{\def\prop@gen@botupPM{#1}}
|
\define@key{prop@gen}{botupPM}[true]{\def\prop@gen@botupPM{#1}}
|
||||||
|
\define@key{prop@gen}{keywords}{\def\prop@gen@keywords{#1}}
|
||||||
\newcommand\prop@gen@acro@default{ACRONYM}
|
\newcommand\prop@gen@acro@default{ACRONYM}
|
||||||
\def\prop@gen@acro{\prop@gen@acro@default}
|
\def\prop@gen@acro{\prop@gen@acro@default}
|
||||||
\newcommand\prop@gen@months@default{???months???}
|
\newcommand\prop@gen@months@default{???months???}
|
||||||
|
@ -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}[2013/02/19 v1.4 Project Proposal]
|
\ProvidesClass{proposal}[2015/01/14 v1.5 Project Proposal]
|
||||||
\newif\if@wpsubsection\@wpsubsectionfalse
|
\newif\if@wpsubsection\@wpsubsectionfalse
|
||||||
\newif\ifsubmit\submitfalse
|
\newif\ifsubmit\submitfalse
|
||||||
\newif\ifpublic\publicfalse
|
\newif\ifpublic\publicfalse
|
||||||
@ -32,6 +32,7 @@
|
|||||||
\ProcessOptions
|
\ProcessOptions
|
||||||
\LoadClass[a4paper,twoside]{\proposal@class}
|
\LoadClass[a4paper,twoside]{\proposal@class}
|
||||||
\RequirePackage{amssymb}
|
\RequirePackage{amssymb}
|
||||||
|
\RequirePackage{wasysym}
|
||||||
\RequirePackage{url}
|
\RequirePackage{url}
|
||||||
\RequirePackage{graphicx}
|
\RequirePackage{graphicx}
|
||||||
\RequirePackage{colortbl}
|
\RequirePackage{colortbl}
|
||||||
@ -44,7 +45,7 @@
|
|||||||
\AtBeginDocument{\ifpublic\excludecomment{private}\fi}
|
\AtBeginDocument{\ifpublic\excludecomment{private}\fi}
|
||||||
\RequirePackage{tikz}
|
\RequirePackage{tikz}
|
||||||
\RequirePackage{paralist}
|
\RequirePackage{paralist}
|
||||||
\RequirePackage{a4wide}
|
\RequirePackage[a4paper,margin=18mm]{geometry}
|
||||||
\RequirePackage{boxedminipage}
|
\RequirePackage{boxedminipage}
|
||||||
\renewcommand{\thempfootnote}{\roman{mpfootnote}}
|
\renewcommand{\thempfootnote}{\roman{mpfootnote}}
|
||||||
\renewcommand{\familydefault}{\sfdefault}
|
\renewcommand{\familydefault}{\sfdefault}
|
||||||
@ -393,23 +394,46 @@
|
|||||||
\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{verif}{\mile@verif}%
|
||||||
\pdata@def{mile}\mile@id{title}{#2}%
|
\pdata@def{mile}\mile@id{title}{#2}%
|
||||||
|
\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{#1}{#2}{#3}% presentation
|
\@milestone{\mile@id}{#2}{#3}% presentation
|
||||||
\else\deliv@error\fi}
|
\else\deliv@error\fi}
|
||||||
\newcommand\@milestone[3]{%
|
\newcommand\@milestone[3]{% id, title, description
|
||||||
\pdata@target{mile}\mile@id{\textbf{\milestone@label\themilestone}}&
|
\item \textbf{Milestone \pdataref{mile}{#1}{label} (Month \pdataref{mile}\mile@id{month})
|
||||||
\textbf{#2} &
|
\textbf{#2}} #3}
|
||||||
\prop@milesfor\mile@id &
|
\newenvironment{milestones}%
|
||||||
\pdataref{mile}\mile@id{month} &
|
{\ifdelivs\begin{@milestones}\else\deliv@error\fi}
|
||||||
\pdataref{mile}\mile@id{verif}\\\hline
|
{\ifdelivs\pdata@def{all}{mile}{ids}{\mile@stones}%
|
||||||
\multicolumn{5}{|p{14cm}|}{#3}\\\hline\hline}
|
\pdata@def{all}{mile}{count}{\themilestone}%
|
||||||
\newenvironment{milestones}{\begin{@milestones}}{\end{@milestones}}
|
\end{@milestones}\fi}
|
||||||
\newenvironment{@milestones}
|
\newenvironment{@milestones}{\begin{enumerate}}{\end{enumerate}}
|
||||||
{\ifdelivs\begin{longtable}{|l|p{4cm}|p{5cm}|l|p{2.5cm}|}\hline
|
\newcommand\milestonetable{%
|
||||||
\#&\miles@legend@name&\miles@legend@involved&\miles@legend@month&\miles@legend@verif\\\hline\hline%
|
{\gdef\mst@lines{}%initialize
|
||||||
\else\deliv@error\fi}
|
\let\tabularnewline\relax\let\hline\relax% so they
|
||||||
{\ifdelivs\end{longtable}%
|
\let\textbf\relax\let\emph\relax% do not bother us
|
||||||
\footnotetext\miles@legend@footnote\fi}
|
\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@name{Name}
|
||||||
\newcommand\miles@legend@month{Mo}
|
\newcommand\miles@legend@month{Mo}
|
||||||
\newcommand\miles@legend@verif{Means of Verif.}
|
\newcommand\miles@legend@verif{Means of Verif.}
|
||||||
@ -455,27 +479,31 @@
|
|||||||
\def\task@set#1{\edef\task@id{task\thetask@all}
|
\def\task@set#1{\edef\task@id{task\thetask@all}
|
||||||
\def\task@wphases{0-0}\def\task@partners{}\def\task@lead{}\def\task@PM{}
|
\def\task@wphases{0-0}\def\task@partners{}\def\task@lead{}\def\task@PM{}
|
||||||
\setkeys{task}{#1}}
|
\setkeys{task}{#1}}
|
||||||
\def\task@post@title@space{\quad}
|
\def\task@post@title@space{\;}
|
||||||
\newcounter{alltasks}
|
\newcounter{alltasks}
|
||||||
\def\task@post@title@space{\quad}
|
\def\task@post@title@space{\quad}
|
||||||
\newcommand\task@legend@partners{Sites: }
|
\newcommand\task@legend@partners{Sites: }
|
||||||
\newcommand\task@legend@PM{PM}
|
\newcommand\task@legend@PM{PM}
|
||||||
\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}]%
|
||||||
\@ifundefined{task@title}{}{\textbf\task@title}\task@post@title@space%
|
\@ifundefined{task@title}{}{\textbf\task@title}\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\@@sep\show@wphase\wphase@start\wphase@end\wphase@force\let\@@sep=\sep@wphases}%
|
\do{\decode@wphase\@I%
|
||||||
|
\@@sep\show@wphase\wphase@start\wphase@end\wphase@force%
|
||||||
|
\let\@@sep=\sep@wphases}%
|
||||||
\fi% initial
|
\fi% initial
|
||||||
\hfill%
|
\hfill%
|
||||||
\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)\fi%
|
\ifx\task@lead\@empty\else\ \task@legend@partners\site\task@lead~(\legend@lead)\fi%
|
||||||
\@for\@I:=\task@partners\do{, \site\@I}\\}
|
\@for\@I:=\task@partners\do{, \site\@I}\\%
|
||||||
{\ignorespaces}
|
\ignorespaces}
|
||||||
|
{\medskip}
|
||||||
\newcommand\month@label[1]{M#1}
|
\newcommand\month@label[1]{M#1}
|
||||||
\newcommand\show@wphase[3]{\def\@test{#3}\month@label{#1}-\month@label{#2}%
|
\newcommand\show@wphase[3]{\edef\@test{#3}\def\@one{1}%
|
||||||
\ifx\@test\@empty\@ #3}
|
\month@label{#1}-\month@label{#2}%
|
||||||
|
\ifx\@test\@empty\else\ifx\@test\@one\else @#3\fi\fi}
|
||||||
\newcommand\sep@wphases{; }
|
\newcommand\sep@wphases{; }
|
||||||
\newcommand\legend@partners{Partners}
|
\newcommand\legend@partners{Partners}
|
||||||
\newcommand\legend@lead{lead}
|
\newcommand\legend@lead{lead}
|
||||||
@ -509,7 +537,8 @@
|
|||||||
{\csname wp@#1@lead\endcsname}}
|
{\csname wp@#1@lead\endcsname}}
|
||||||
\definecolorset{gray/rgb/hsb/cmyk}{}{}%
|
\definecolorset{gray/rgb/hsb/cmyk}{}{}%
|
||||||
{leadgray,.90/.90,.90,.90/0,0,.90/0,0,0,.10;%
|
{leadgray,.90/.90,.90,.90/0,0,.90/0,0,0,.10;%
|
||||||
wagray,.70/.70,.70,.70/0,0,.70/0,0,0,.30}
|
wagray,.70/.70,.70,.70/0,0,.70/0,0,0,.30;%
|
||||||
|
ganttgray,.60/.60,.60,.60/0,0,.60/0,0,0,.40}
|
||||||
\newcommand\sum@style[1]{\cellcolor{wagray}{\textbf{#1}}}
|
\newcommand\sum@style[1]{\cellcolor{wagray}{\textbf{#1}}}
|
||||||
\newcommand\wa@style[1]{\cellcolor{wagray}{\textbf{#1}}}
|
\newcommand\wa@style[1]{\cellcolor{wagray}{\textbf{#1}}}
|
||||||
\newcommand\wp@style[1]{#1}
|
\newcommand\wp@style[1]{#1}
|
||||||
@ -528,8 +557,10 @@ wagray,.70/.70,.70,.70/0,0,.70/0,0,0,.30}
|
|||||||
\define@key{wpfig}{length}[true]{\def\wpfig@length{#1}\stepcounter{wpfig@options}}
|
\define@key{wpfig}{length}[true]{\def\wpfig@length{#1}\stepcounter{wpfig@options}}
|
||||||
\def\wpfig@end{false}
|
\def\wpfig@end{false}
|
||||||
\define@key{wpfig}{end}[true]{\def\wpfig@end{#1}\stepcounter{wpfig@options}}
|
\define@key{wpfig}{end}[true]{\def\wpfig@end{#1}\stepcounter{wpfig@options}}
|
||||||
|
\define@key{wpfig}{label}{\def\wpfig@label{#1}}
|
||||||
|
\define@key{wpfig}{caption}{\def\wpfig@caption{#1}}
|
||||||
\def\@sw#1{\begin{sideways}#1\end{sideways}}
|
\def\@sw#1{\begin{sideways}#1\end{sideways}}
|
||||||
\newenvironment{wp@figure}{\begin{figure}[ht]\wpfig@style\begin{center}
|
\newenvironment{wp@figure}{\begin{table}[ht]\wpfig@style\begin{center}
|
||||||
{\let\@sw\relax\let\textbf\relax\let\site\relax\let\pn\relax\let\sys\relax%
|
{\let\@sw\relax\let\textbf\relax\let\site\relax\let\pn\relax\let\sys\relax%
|
||||||
\gdef\wpfig@headline{\wpfig@legend@wap&\wpfig@legend@title%
|
\gdef\wpfig@headline{\wpfig@legend@wap&\wpfig@legend@title%
|
||||||
\ifx\wpfig@type\@true&\wpfig@legend@type\fi%
|
\ifx\wpfig@type\@true&\wpfig@legend@type\fi%
|
||||||
@ -552,8 +583,9 @@ wagray,.70/.70,.70,.70/0,0,.70/0,0,0,.30}
|
|||||||
{\end{tabular}\smallskip\\
|
{\end{tabular}\smallskip\\
|
||||||
\wpfig@legend@RAM@expl
|
\wpfig@legend@RAM@expl
|
||||||
\if@sites; \wpfig@legend@lead@expl\fi
|
\if@sites; \wpfig@legend@lead@expl\fi
|
||||||
\caption{\wpfig@legend@caption}\label{fig:wplist}
|
\@ifundefined{wpfig@label}{\caption{\wpfig@legend@caption}}{\caption{\wpfig@caption}}
|
||||||
\end{center}\end{figure}}
|
\@ifundefined{wpfig@label}{\label{fig:wplist}}{\label{\wpfig@label}}
|
||||||
|
\end{center}\end{table}}
|
||||||
\newcommand\wpfig@legend@wap{\textbf{\ifwork@areas{WA/P}\else{WP}\fi}}
|
\newcommand\wpfig@legend@wap{\textbf{\ifwork@areas{WA/P}\else{WP}\fi}}
|
||||||
\newcommand\wpfig@legend@title{\textbf{Title}}
|
\newcommand\wpfig@legend@title{\textbf{Title}}
|
||||||
\newcommand\wpfig@legend@type{\textbf{type}}
|
\newcommand\wpfig@legend@type{\textbf{type}}
|
||||||
@ -762,15 +794,17 @@ wagray,.70/.70,.70,.70/0,0,.70/0,0,0,.30}
|
|||||||
\newcommand\prop@legend@intendedtotals{\textbf{intended totals}}
|
\newcommand\prop@legend@intendedtotals{\textbf{intended totals}}
|
||||||
\newcommand\prop@legend@requestedtotals{\textbf{requested totals}}
|
\newcommand\prop@legend@requestedtotals{\textbf{requested totals}}
|
||||||
\newif\ifgantt@draft\gantt@draftfalse
|
\newif\ifgantt@draft\gantt@draftfalse
|
||||||
|
\newif\ifgantt@miles\gantt@milesfalse
|
||||||
\define@key{gantt}{xscale}{\def\gantt@xscale{#1}}
|
\define@key{gantt}{xscale}{\def\gantt@xscale{#1}}
|
||||||
\define@key{gantt}{yscale}{\def\gantt@yscale{#1}}
|
\define@key{gantt}{yscale}{\def\gantt@yscale{#1}}
|
||||||
\define@key{gantt}{step}{\def\gantt@step{#1}}
|
\define@key{gantt}{step}{\def\gantt@step{#1}}
|
||||||
\define@key{gantt}{size}{\def\gantt@size{#1}}
|
\define@key{gantt}{size}{\def\gantt@size{#1}}
|
||||||
\define@key{gantt}{draft}[true]{\ifsubmit\else\gantt@drafttrue\fi}
|
\define@key{gantt}{draft}[true]{\ifsubmit\else\gantt@drafttrue\fi}
|
||||||
|
\define@key{gantt}{milestones}[true]{\gantt@milestrue}
|
||||||
\def\gantt@set#1{\gantt@draftfalse\def\gantt@xscale{1}\def\gantt@yscale{.35}\def\gantt@step{3}
|
\def\gantt@set#1{\gantt@draftfalse\def\gantt@xscale{1}\def\gantt@yscale{.35}\def\gantt@step{3}
|
||||||
\setkeys{gantt}{#1}}
|
\setkeys{gantt}{#1}}
|
||||||
\newenvironment{gantt}[2][]
|
\newenvironment{gantt}[2][]
|
||||||
{\gantt@set{#1}
|
{\gantt@set{#1}\gdef\gantt@height{#2}
|
||||||
\def\@test{\prop@gen@months@default}
|
\def\@test{\prop@gen@months@default}
|
||||||
\ifx\@test\prop@gen@months
|
\ifx\@test\prop@gen@months
|
||||||
\ClassError{proposal}{Need overall project months to draw gantt
|
\ClassError{proposal}{Need overall project months to draw gantt
|
||||||
@ -778,20 +812,31 @@ wagray,.70/.70,.70,.70/0,0,.70/0,0,0,.30}
|
|||||||
\protect\begin{proposal}[...,months=??,...] to fix}\fi
|
\protect\begin{proposal}[...,months=??,...] to fix}\fi
|
||||||
\@ifundefined{gantt@size}{}{\csname\gantt@size\endcsname}
|
\@ifundefined{gantt@size}{}{\csname\gantt@size\endcsname}
|
||||||
\newdimen\gantt@ymonths
|
\newdimen\gantt@ymonths
|
||||||
\gantt@ymonths=#2 cm
|
\gantt@ymonths=\gantt@height cm
|
||||||
\advance\gantt@ymonths by .5cm
|
\advance\gantt@ymonths by .8cm
|
||||||
\begin{tikzpicture}[xscale=\gantt@xscale,yscale=\gantt@yscale]
|
\begin{tikzpicture}[xscale=\gantt@xscale,yscale=\gantt@yscale]}
|
||||||
\draw[xstep=\gantt@step,gray,very thin] (0,0) grid (\prop@gen@months,#2);
|
{\draw[xstep=\gantt@step,very thin] (0,0) grid (\prop@gen@months,\gantt@height);
|
||||||
\foreach \x in {0,\gantt@step,...,\prop@gen@months} \node at (\x,\gantt@ymonths) {\x};}
|
\foreach \x in {0,\gantt@step,...,\prop@gen@months} \node at (\x,\gantt@ymonths) {\x};
|
||||||
{\end{tikzpicture}}
|
\ifgantt@miles
|
||||||
|
\newdimen\gantt@ymiles\gantt@ymiles=\gantt@height cm
|
||||||
|
\advance\gantt@ymiles by 2cm
|
||||||
|
\newdimen\gantt@ymiles@top\gantt@ymiles@top=\gantt@height cm
|
||||||
|
\edef\@@miles{\pdataref@safe{all}{mile}{ids}}
|
||||||
|
\@for\@I:=\@@miles\do{%
|
||||||
|
\edef\@@month{\pdataref@safe{mile}{\@I}{month}}
|
||||||
|
\draw[very thick,blue] (\@@month,\gantt@ymiles@top) -- (\@@month,0);
|
||||||
|
\node[blue] at (\@@month,\gantt@ymiles) {\pdataref{mile}{\@I}{label}};}
|
||||||
|
\fi %gantt@miles
|
||||||
|
\end{tikzpicture}}
|
||||||
\newdimen\gantt@ymid\newdimen\gantt@yinc\newdimen\gantt@xend
|
\newdimen\gantt@ymid\newdimen\gantt@yinc\newdimen\gantt@xend
|
||||||
\newcommand{\@action}[5]{%
|
\newcommand{\@action}[6][]{\def\@test{#1}%
|
||||||
\gantt@ymid=#2 cm\gantt@yinc=\gantt@yscale cm
|
\ifx\@test\@empty\def\@@color{ganttgray}\else\def\@@color{#1}\fi
|
||||||
\gantt@xend=#3 cm\advance\gantt@xend by #4 cm
|
\gantt@ymid=#3 cm\gantt@yinc=\gantt@yscale cm
|
||||||
|
\gantt@xend=#4 cm\advance\gantt@xend by #5 cm
|
||||||
\advance\gantt@ymid by \gantt@yinc
|
\advance\gantt@ymid by \gantt@yinc
|
||||||
\fill (#3,#2) rectangle +(#4,#5);
|
\fill[\@@color] (#4,#3) rectangle +(#5,#6);
|
||||||
\node (#1@left) at (#3,\gantt@ymid) {};
|
\node (#2@left) at (#4,\gantt@ymid) {};
|
||||||
\node (#1@right) at (\gantt@xend,\gantt@ymid) {};}
|
\node (#2@right) at (\gantt@xend,\gantt@ymid) {};}
|
||||||
\def\@dependency#1#2{\draw[->,line width=2pt,color=red] (#1@right) -- (#2@left);}
|
\def\@dependency#1#2{\draw[->,line width=2pt,color=red] (#1@right) -- (#2@left);}
|
||||||
\newcommand\gantt@compute@effort[3]{% start, len, force
|
\newcommand\gantt@compute@effort[3]{% start, len, force
|
||||||
\@@e=#1\advance\@@e by #2
|
\@@e=#1\advance\@@e by #2
|
||||||
@ -861,7 +906,7 @@ wagray,.70/.70,.70,.70/0,0,.70/0,0,0,.30}
|
|||||||
\@for\@@ft:=\@@wphases\do{%iterate over the wp-level work phases
|
\@for\@@ft:=\@@wphases\do{%iterate over the wp-level work phases
|
||||||
\decode@wphase\@@ft
|
\decode@wphase\@@ft
|
||||||
\gantt@compute@effort\wphase@start\wphase@len\wphase@force}}}}
|
\gantt@compute@effort\wphase@start\wphase@len\wphase@force}}}}
|
||||||
\fill (\thegantt@month,-5) rectangle +(1,\gantt@effort);
|
\fill[ganttgray] (\thegantt@month,-5) rectangle +(1,\gantt@effort);
|
||||||
\else% ifwork@areas
|
\else% ifwork@areas
|
||||||
\edef\@@wps{\pdataref@safe{all}{wp}{ids}}
|
\edef\@@wps{\pdataref@safe{all}{wp}{ids}}
|
||||||
\@for\@@wp:=\@@wps\do{% iterate over work packages
|
\@for\@@wp:=\@@wps\do{% iterate over work packages
|
||||||
@ -875,26 +920,32 @@ wagray,.70/.70,.70,.70/0,0,.70/0,0,0,.30}
|
|||||||
\@for\@@ft:=\@@wphases\do{%iterate over the wp-level work phases
|
\@for\@@ft:=\@@wphases\do{%iterate over the wp-level work phases
|
||||||
\decode@wphase\@@ft
|
\decode@wphase\@@ft
|
||||||
\gantt@compute@effort\wphase@start\wphase@len\wphase@force}}}
|
\gantt@compute@effort\wphase@start\wphase@len\wphase@force}}}
|
||||||
\fill (\thegantt@month,-5) rectangle +(1,\gantt@effort);
|
\fill[ganttgray] (\thegantt@month,-5) rectangle +(1,\gantt@effort);
|
||||||
\fi% ifwork@areas
|
\fi% ifwork@areas
|
||||||
\stepcounter{gantt@month}}
|
\stepcounter{gantt@month}}
|
||||||
\fi% ifgantt@draft
|
\fi% ifgantt@draft
|
||||||
\end{gantt}
|
\end{gantt}
|
||||||
\caption{\gantt@caption}\label{fig:gantt}
|
\caption{\gantt@caption}\label{fig:gantt}
|
||||||
\end{figure}}
|
\end{figure}\footnotetext\gantt@footnote}
|
||||||
\newcommand\gantt@caption@main{Overview Work Package Activities}
|
\newcommand\gantt@caption@main{Gantt Chart: Overview Work Package Activities}
|
||||||
\newcommand\gantt@caption@lower{lower bar shows the overall effort \if@RAM (RAM only)\fi per month}
|
\newcommand\gantt@caption@lower{lower bar shows the overall effort \if@RAM (RAM only)\fi per month}
|
||||||
\newcommand\gantt@caption{\gantt@caption@main\ifgantt@draft\xspace (\gantt@caption@lower)\fi}
|
\newcommand\gantt@caption{\gantt@caption@main\ifgantt@draft\xspace
|
||||||
\newcommand{\gantttaskchart}[1][]{\begin{figure}[ht]\centering\gantt@set{#1}
|
(\gantt@caption@lower)\fi}
|
||||||
\def\gantt@tasks{\pdataref@num{all}{task}{count}}
|
\newcommand\gantt@footnote{Bars shown at reduced height (e.g. 50\%) indicate reduced
|
||||||
\begin{gantt}[#1]{\gantt@tasks}
|
intensity during that work phase (e.g. to 50\%).}
|
||||||
|
\newcommand{\gantttaskchart}[1][]{\begin{figure}[hbtp]\centering\gantt@set{#1}
|
||||||
|
\newcounter{gantt@all@tasks}%
|
||||||
|
\setcounter{gantt@all@tasks}{\pdataref@num{all}{task}{count}}
|
||||||
|
\addtocounter{gantt@all@tasks}{\pdataref@num{all}{wp}{count}}
|
||||||
|
\begin{gantt}[#1]{\thegantt@all@tasks}
|
||||||
\newcounter{gantt@tasks}\newcount\@@line
|
\newcounter{gantt@tasks}\newcount\@@line
|
||||||
\edef\@@wps{\pdataref@safe{all}{wp}{ids}}
|
\edef\@@wps{\pdataref@safe{all}{wp}{ids}}
|
||||||
\@for\@@wp:=\@@wps\do{% iterate over work packages
|
\@for\@@wp:=\@@wps\do{% iterate over work packages
|
||||||
|
\stepcounter{gantt@tasks}
|
||||||
\edef\@@tasks{\pdataref@safe\@@wp{task}{ids}}
|
\edef\@@tasks{\pdataref@safe\@@wp{task}{ids}}
|
||||||
\@for\@@task:=\@@tasks\do{% iterate over the tasks
|
\@for\@@task:=\@@tasks\do{% iterate over the tasks
|
||||||
\stepcounter{gantt@tasks}
|
\stepcounter{gantt@tasks}
|
||||||
\@@line=\gantt@tasks\advance\@@line by -\thegantt@tasks
|
\@@line=\thegantt@all@tasks\advance\@@line by -\thegantt@tasks
|
||||||
\node at (-.5/\gantt@xscale,\@@line) [above=-2pt] {{\footnotesize\taskreflong\@@wp\@@task}};
|
\node at (-.5/\gantt@xscale,\@@line) [above=-2pt] {{\footnotesize\taskreflong\@@wp\@@task}};
|
||||||
\edef\@@wphases{\pdataref@safe{task}\@@task{wphases}}
|
\edef\@@wphases{\pdataref@safe{task}\@@task{wphases}}
|
||||||
\@for\@@ft:=\@@wphases\do{%iterate over the task-level work phases
|
\@for\@@ft:=\@@wphases\do{%iterate over the task-level work phases
|
||||||
@ -902,40 +953,52 @@ wagray,.70/.70,.70,.70/0,0,.70/0,0,0,.30}
|
|||||||
\@action\@@task\@@line\wphase@start\wphase@len\wphase@force
|
\@action\@@task\@@line\wphase@start\wphase@len\wphase@force
|
||||||
}}}% end all iterations
|
}}}% end all iterations
|
||||||
\end{gantt}
|
\end{gantt}
|
||||||
\caption{\gantt@caption@main}\label{fig:gantt}
|
\caption{\gantt@caption@main{} -- \emph{\gantt@footnote}}\label{fig:gantt}
|
||||||
\end{figure}}
|
\end{figure}}
|
||||||
\newcommand\jpub{\textcolor{\prop@link@color}{\textbf{\large{$\star$}}}}
|
\newcommand\jpub{\textcolor{\prop@link@color}{\textbf{\Large{$\star$}}}}
|
||||||
\newcommand\jpro{\textcolor{\prop@link@color}{\textbf{\large{$\bullet$}}}}
|
\newcommand\jpro{\textcolor{\prop@link@color}{\textbf{\Large{$\bullet$}}}}
|
||||||
\newcommand\jorga{\textcolor{\prop@link@color}{\textbf{\large{$\circ$}}}}
|
\newcommand\jsoft{\textcolor{\prop@link@color}{\textbf{@}}}
|
||||||
|
\newcommand\jorga{\textcolor{\prop@link@color}{\textbf{\Large{$\circ$}}}}
|
||||||
|
\newcommand\jsup{\textcolor{\prop@link@color}{\textbf{\smiley}}}
|
||||||
\newcommand\add@joint[3]{\@ifundefined{coherence@#1@#2}%
|
\newcommand\add@joint[3]{\@ifundefined{coherence@#1@#2}%
|
||||||
{\@namedef{coherence@#1@#2}{#3}}%
|
{\@namedef{coherence@#1@#2}{#3}}%
|
||||||
{\expandafter\g@addto@macro\csname coherence@#1@#2\endcsname{#3}}}
|
{\expandafter\g@addto@macro\csname coherence@#1@#2\endcsname{#3}}}
|
||||||
\newcommand\prop@joint[2]{\@for\@first:=#2\do{%
|
\newcommand\prop@joint[2]{\@for\@first:=#2\do{%
|
||||||
\@for\@second:=#2\do{\ifx\@first\@second\else\add@joint\@first\@second{#1}\fi}}}
|
\@for\@second:=#2\do{\ifx\@first\@second\else\add@joint\@first\@second{#1}\fi}}}
|
||||||
\newcommand\jointproj[1]{\prop@joint\jpro{#1}}
|
\newcommand\jointproj[1]{\prop@joint\jpro{#1}}
|
||||||
\newcommand\jointpub[1]{\prop@joint\jpro{#1}}
|
\newcommand\jointpub[1]{\prop@joint\jpub{#1}}
|
||||||
\newcommand\jointorga[1]{\prop@joint\jorga{#1}}
|
\newcommand\jointorga[1]{\prop@joint\jorga{#1}}
|
||||||
|
\newcommand\jointsoft[1]{\prop@joint\jsoft{#1}}
|
||||||
|
\newcommand\jointsup[1]{\prop@joint\jsup{#1}}
|
||||||
\newcommand{\coherencematrix}{
|
\newcommand{\coherencematrix}{
|
||||||
{\let\tabularnewline\relax\let\hline\relax\let\site\relax% so they do
|
{\let\tabularnewline\relax\let\hline\relax\let\site\relax% so they do
|
||||||
\let\@sw\relax\let\jpub\relax\let\jpro\relax\let\jorga\relax% not bother us
|
\let\@sw\relax\let\jpub\relax\let\jpro\relax\let\jorga\relax% not bother
|
||||||
\gdef\@ct@head{}
|
\let\jsoft\relax\let\jsup\relax\let\cellcolor\relax% us
|
||||||
\@for\@site:=\prop@gen@sites\do{\xdef\@ct@head{\@ct@head &\site{\@site}}}
|
\gdef\@ct@head{}%
|
||||||
|
\@for\@site:=\prop@gen@sites\do{\xdef\@ct@head{\@ct@head%
|
||||||
|
&\ifx\cht@swsites\@true\@sw{\site{\@site}}\else\site{\@site}\fi}}%
|
||||||
\gdef\@ct@lines{\@ct@head\tabularnewline\hline\hline} %initialize with head line
|
\gdef\@ct@lines{\@ct@head\tabularnewline\hline\hline} %initialize with head line
|
||||||
\@for\@site:=\prop@gen@sites\do{\xdef\@ct@line{\site{\@site}}
|
\@for\@site:=\prop@gen@sites\do{\xdef\@ct@line{\site{\@site}}%
|
||||||
\@for\@@site:=\prop@gen@sites\do{
|
\@for\@@site:=\prop@gen@sites\do{%
|
||||||
\xdef\@ct@line{\@ct@line&\ifx\@site\@@site{X}\fi
|
\xdef\@ct@line{\@ct@line&\ifx\@site\@@site{\cellcolor{wagray}{}}\fi%
|
||||||
\@ifundefined{coherence@\@site @\@@site}{}{\@nameuse{coherence@\@site @\@@site}}}}
|
\@ifundefined{coherence@\@site @\@@site}{}{\@nameuse{coherence@\@site @\@@site}}}}%
|
||||||
\xdef\@ct@lines{\@ct@lines\@ct@line\tabularnewline\hline}}}
|
\xdef\@ct@lines{\@ct@lines\@ct@line\tabularnewline\hline}}}%
|
||||||
\begin{tabular}{|l||*{\the@site}{c|}}\hline
|
\begin{tabular}{|l||*{\the@site}{c|}}\hline%
|
||||||
\@ct@lines\hline
|
\@ct@lines\hline%
|
||||||
joint&\multicolumn{\the@site}{l|}{\jpub $\hat=$ publication, \jpro $\hat=$ project,
|
joint&\multicolumn{\the@site}{l|}{\jpub $\hat=$ publication, \jpro $\hat=$ project,
|
||||||
\jorga $\hat=$ organization}\\\hline
|
\jorga $\hat=$ organization, \jsoft $\hat=$ software/resource dev,
|
||||||
|
\jsup $\hat=$ supervision}\\\hline
|
||||||
\end{tabular}}
|
\end{tabular}}
|
||||||
\newcommand\coherencetable{%
|
\define@key{coherencetable}{swsites}[true]{\def\cht@swsites{#1}}
|
||||||
\begin{table}[ht]
|
\define@key{coherencetable}{stretch}{\def\cht@stretch{#1}}
|
||||||
\begin{center}\small\setlength{\tabcolsep}{.5em}
|
\newcommand\coherencetable[1][]{%
|
||||||
\renewcommand{\arraystretch}{.9}\coherencematrix
|
\def\cht@swsites{false}%
|
||||||
\end{center}
|
\def\cht@stretch{1}%
|
||||||
|
\setkeys{coherencetable}{#1}%
|
||||||
|
\begin{table}[ht]\centering%
|
||||||
|
\small\setlength{\tabcolsep}{.5em}%
|
||||||
|
\renewcommand{\arraystretch}{\cht@stretch}%
|
||||||
|
\coherencematrix%
|
||||||
\caption{\coherence@caption}\label{tab:collaboration}
|
\caption{\coherence@caption}\label{tab:collaboration}
|
||||||
\end{table}}
|
\end{table}}
|
||||||
\newcommand\coherence@caption{Previous Collaboration between {\pn} members}
|
\newcommand\coherence@caption{Previous Collaboration between {\pn} members}
|
||||||
|
@ -13,9 +13,9 @@
|
|||||||
%
|
%
|
||||||
% \iffalse
|
% \iffalse
|
||||||
%<cls|pdata|reporting>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
|
%<cls|pdata|reporting>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
|
||||||
%<cls>\ProvidesClass{proposal}[2013/02/19 v1.4 Project Proposal]
|
%<cls>\ProvidesClass{proposal}[2015/01/14 v1.5 Project Proposal]
|
||||||
%<pdata>\ProvidesPackage{pdata}[2013/02/19 v1.4 Project Data]
|
%<pdata>\ProvidesPackage{pdata}[2015/01/14 v1.5 Project Data]
|
||||||
%<reporting>\ProvidesPackage{reporting}[2013/02/19 v1.4 Project Reporting]
|
%<reporting>\ProvidesPackage{reporting}[2015/01/14 v1.5 Project Reporting]
|
||||||
%<*driver>
|
%<*driver>
|
||||||
\documentclass{ltxdoc}
|
\documentclass{ltxdoc}
|
||||||
\DoNotIndex{\def,\long,\edef,\xdef,\gdef,\let,\global}
|
\DoNotIndex{\def,\long,\edef,\xdef,\gdef,\let,\global}
|
||||||
@ -63,6 +63,7 @@
|
|||||||
% \changes{v1.4}{2012/01/18}{various extensions for the Jan 2012 EU proposals}
|
% \changes{v1.4}{2012/01/18}{various extensions for the Jan 2012 EU proposals}
|
||||||
% \changes{v1.4}{2012/01/28}{some localization support}
|
% \changes{v1.4}{2012/01/28}{some localization support}
|
||||||
% \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}
|
||||||
%
|
%
|
||||||
% \GetFileInfo{proposal.cls}
|
% \GetFileInfo{proposal.cls}
|
||||||
%
|
%
|
||||||
@ -469,17 +470,20 @@
|
|||||||
%
|
%
|
||||||
% Many proposals require ways to show coherence between the partners. The |proposal| class
|
% Many proposals require ways to show coherence between the partners. The |proposal| class
|
||||||
% offers the macro \DescribeMacro{\coherencematrix}|\coherencematrix| for this which
|
% offers the macro \DescribeMacro{\coherencematrix}|\coherencematrix| for this which
|
||||||
% generates a matrix of symbols specifying joint publications and joint projects by the
|
% generates a matrix of symbols specifying joint publications, project organization,
|
||||||
% project partners that have been declared by the \DescribeMacro{\jointpub}|\jointpub|,
|
% software/resource development, and supervision of students by the project partners that
|
||||||
% \DescribeMacro{\jointproj}|\jointproj|, and \DescribeMacro{\jointorga}|\jointorga|
|
% have been declared by the \DescribeMacro{\jointpub}|\jointpub|,
|
||||||
% macros before. These macros all take a comma-separated list of site identifiers as an
|
% \DescribeMacro{\jointsub}|\jointproj|, \DescribeMacro{\jointorga}|\jointorga|
|
||||||
|
% \DescribeMacro{\jointsoft}|\jointsoft|, and \DescribeMacro{\jointsup}|\jointsup| macros
|
||||||
|
% before. These macros all take a comma-separated list of site identifiers as an
|
||||||
% argument. Use for instance |\jointproj{a,b,c}| to specify that the sites with the
|
% argument. Use for instance |\jointproj{a,b,c}| to specify that the sites with the
|
||||||
% identifiers |a|, |b| and |c| have a joint
|
% identifiers |a|, |b| and |c| have a joint
|
||||||
% project. \DescribeMacro{\coherencetable}|\coherencetable| is a variant which packages
|
% project. \DescribeMacro{\coherencetable}|\coherencetable| is a variant which packages
|
||||||
% the coherence table in a table figure with label |tab:collaboration|.
|
% the coherence table in a table figure with label |tab:collaboration|.
|
||||||
%
|
%
|
||||||
% The symbols used an be configured by redefining \DescribeMacro{\jpub}|\jpub|,
|
% The symbols used an be configured by redefining \DescribeMacro{\jpub}|\jpub|,
|
||||||
% \DescribeMacro{\jproj}|\jproj|, and \DescribeMacro{\jorga}|\jorga|.
|
% \DescribeMacro{\jproj}|\jproj|, and \DescribeMacro{\jorga}|\jorga|,
|
||||||
|
% \DescribeMacro{\jsoft}|\jsoft|, and \DescribeMacro{\jsup}|\jsup|.
|
||||||
%
|
%
|
||||||
% \subsection{Localization}\label{sec:use:localization}
|
% \subsection{Localization}\label{sec:use:localization}
|
||||||
%
|
%
|
||||||
@ -566,6 +570,7 @@
|
|||||||
% \begin{macrocode}
|
% \begin{macrocode}
|
||||||
\LoadClass[a4paper,twoside]{\proposal@class}
|
\LoadClass[a4paper,twoside]{\proposal@class}
|
||||||
\RequirePackage{amssymb}
|
\RequirePackage{amssymb}
|
||||||
|
\RequirePackage{wasysym}
|
||||||
\RequirePackage{url}
|
\RequirePackage{url}
|
||||||
\RequirePackage{graphicx}
|
\RequirePackage{graphicx}
|
||||||
\RequirePackage{colortbl}
|
\RequirePackage{colortbl}
|
||||||
@ -578,7 +583,7 @@
|
|||||||
\AtBeginDocument{\ifpublic\excludecomment{private}\fi}
|
\AtBeginDocument{\ifpublic\excludecomment{private}\fi}
|
||||||
\RequirePackage{tikz}
|
\RequirePackage{tikz}
|
||||||
\RequirePackage{paralist}
|
\RequirePackage{paralist}
|
||||||
\RequirePackage{a4wide}
|
\RequirePackage[a4paper,margin=18mm]{geometry}
|
||||||
\RequirePackage{boxedminipage}
|
\RequirePackage{boxedminipage}
|
||||||
% so that ednotes in wps do not run out of symbols
|
% so that ednotes in wps do not run out of symbols
|
||||||
\renewcommand{\thempfootnote}{\roman{mpfootnote}}
|
\renewcommand{\thempfootnote}{\roman{mpfootnote}}
|
||||||
@ -722,6 +727,7 @@
|
|||||||
\pdata@def{prop}{gen}{fundsuntil}{#1}}
|
\pdata@def{prop}{gen}{fundsuntil}{#1}}
|
||||||
\define@key{prop@gen}{topdownPM}[true]{\def\prop@gen@topdownPM{#1}}
|
\define@key{prop@gen}{topdownPM}[true]{\def\prop@gen@topdownPM{#1}}
|
||||||
\define@key{prop@gen}{botupPM}[true]{\def\prop@gen@botupPM{#1}}
|
\define@key{prop@gen}{botupPM}[true]{\def\prop@gen@botupPM{#1}}
|
||||||
|
\define@key{prop@gen}{keywords}{\def\prop@gen@keywords{#1}}
|
||||||
% \end{macrocode}
|
% \end{macrocode}
|
||||||
% and the default values, these will be used, if the author does not specify something
|
% and the default values, these will be used, if the author does not specify something
|
||||||
% better.
|
% better.
|
||||||
@ -1391,8 +1397,9 @@
|
|||||||
\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{verif}{\mile@verif}%
|
||||||
\pdata@def{mile}\mile@id{title}{#2}%
|
\pdata@def{mile}\mile@id{title}{#2}%
|
||||||
|
\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{#1}{#2}{#3}% presentation
|
\@milestone{\mile@id}{#2}{#3}% presentation
|
||||||
\else\deliv@error\fi}
|
\else\deliv@error\fi}
|
||||||
% \end{macrocode}
|
% \end{macrocode}
|
||||||
% \end{macro}
|
% \end{macro}
|
||||||
@ -1400,30 +1407,62 @@
|
|||||||
% \begin{macro}{\@milestone}
|
% \begin{macro}{\@milestone}
|
||||||
% the corresponding presentation macro.
|
% the corresponding presentation macro.
|
||||||
% \begin{macrocode}
|
% \begin{macrocode}
|
||||||
\newcommand\@milestone[3]{%
|
\newcommand\@milestone[3]{% id, title, description
|
||||||
\pdata@target{mile}\mile@id{\textbf{\milestone@label\themilestone}}&
|
\item \textbf{Milestone \pdataref{mile}{#1}{label} (Month \pdataref{mile}\mile@id{month})
|
||||||
\textbf{#2} &
|
\textbf{#2}} #3}
|
||||||
\prop@milesfor\mile@id &
|
|
||||||
\pdataref{mile}\mile@id{month} &
|
|
||||||
\pdataref{mile}\mile@id{verif}\\\hline
|
|
||||||
\multicolumn{5}{|p{14cm}|}{#3}\\\hline\hline}
|
|
||||||
% \end{macrocode}
|
% \end{macrocode}
|
||||||
% \end{macro}
|
% \end{macro}
|
||||||
%
|
%
|
||||||
% \begin{environment}{milestones}
|
% \begin{environment}{milestones}
|
||||||
|
% This does the metadata bookkeeping, the layout is delegated to the presentation
|
||||||
|
% environment |@milestones| and the legend macros that can be customized for specific
|
||||||
|
% proposals.
|
||||||
% \begin{macrocode}
|
% \begin{macrocode}
|
||||||
\newenvironment{milestones}{\begin{@milestones}}{\end{@milestones}}
|
\newenvironment{milestones}%
|
||||||
|
{\ifdelivs\begin{@milestones}\else\deliv@error\fi}
|
||||||
|
{\ifdelivs\pdata@def{all}{mile}{ids}{\mile@stones}%
|
||||||
|
\pdata@def{all}{mile}{count}{\themilestone}%
|
||||||
|
\end{@milestones}\fi}
|
||||||
% \end{macrocode}
|
% \end{macrocode}
|
||||||
% \end{environment}
|
% \end{environment}
|
||||||
%
|
%
|
||||||
% \begin{environment}{@milestones}
|
% \begin{environment}{@milestones}
|
||||||
|
% here we do the work.
|
||||||
% \begin{macrocode}
|
% \begin{macrocode}
|
||||||
\newenvironment{@milestones}
|
\newenvironment{@milestones}{\begin{enumerate}}{\end{enumerate}}
|
||||||
{\ifdelivs\begin{longtable}{|l|p{4cm}|p{5cm}|l|p{2.5cm}|}\hline
|
% \end{macrocode}
|
||||||
\#&\miles@legend@name&\miles@legend@involved&\miles@legend@month&\miles@legend@verif\\\hline\hline%
|
% \end{environment}
|
||||||
\else\deliv@error\fi}
|
%
|
||||||
{\ifdelivs\end{longtable}%
|
% \begin{macro}{milestonetable}
|
||||||
\footnotetext\miles@legend@footnote\fi}
|
% 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}
|
% \end{macrocode}
|
||||||
% now the multilinguality support
|
% now the multilinguality support
|
||||||
% \begin{macrocode}
|
% \begin{macrocode}
|
||||||
@ -1433,7 +1472,7 @@
|
|||||||
\newcommand\miles@legend@involved{WPs\footnotemark/Deliverables involved}
|
\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\miles@legend@footnote{The work package number is the first number in the deliverable number.}
|
||||||
% \end{macrocode}
|
% \end{macrocode}
|
||||||
% \end{environment}
|
% \end{macro}
|
||||||
%
|
%
|
||||||
% \begin{macro}{\prop@milesfor}
|
% \begin{macro}{\prop@milesfor}
|
||||||
% the due date is the first argument to facilitate sorting
|
% the due date is the first argument to facilitate sorting
|
||||||
@ -1522,7 +1561,7 @@
|
|||||||
% \begin{macro}{\task@post@title@space}
|
% \begin{macro}{\task@post@title@space}
|
||||||
% make the space after the title tweakable
|
% make the space after the title tweakable
|
||||||
% \begin{macrocode}
|
% \begin{macrocode}
|
||||||
\def\task@post@title@space{\quad}
|
\def\task@post@title@space{\;}
|
||||||
% \end{macrocode}
|
% \end{macrocode}
|
||||||
% \end{macro}
|
% \end{macro}
|
||||||
%
|
%
|
||||||
@ -1533,24 +1572,28 @@
|
|||||||
\newcommand\task@legend@partners{Sites: }
|
\newcommand\task@legend@partners{Sites: }
|
||||||
\newcommand\task@legend@PM{PM}
|
\newcommand\task@legend@PM{PM}
|
||||||
\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}]%
|
||||||
\@ifundefined{task@title}{}{\textbf\task@title}\task@post@title@space%
|
\@ifundefined{task@title}{}{\textbf\task@title}\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\@@sep\show@wphase\wphase@start\wphase@end\wphase@force\let\@@sep=\sep@wphases}%
|
\do{\decode@wphase\@I%
|
||||||
|
\@@sep\show@wphase\wphase@start\wphase@end\wphase@force%
|
||||||
|
\let\@@sep=\sep@wphases}%
|
||||||
\fi% initial
|
\fi% initial
|
||||||
\hfill%
|
\hfill%
|
||||||
\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)\fi%
|
\ifx\task@lead\@empty\else\ \task@legend@partners\site\task@lead~(\legend@lead)\fi%
|
||||||
\@for\@I:=\task@partners\do{, \site\@I}\\}
|
\@for\@I:=\task@partners\do{, \site\@I}\\%
|
||||||
{\ignorespaces}
|
\ignorespaces}
|
||||||
|
{\medskip}
|
||||||
% \end{macrocode}
|
% \end{macrocode}
|
||||||
% now the multilingual support and presentation configuration
|
% now the multilingual support and presentation configuration
|
||||||
% \begin{macrocode}
|
% \begin{macrocode}
|
||||||
\newcommand\month@label[1]{M#1}
|
\newcommand\month@label[1]{M#1}
|
||||||
\newcommand\show@wphase[3]{\def\@test{#3}\month@label{#1}-\month@label{#2}%
|
\newcommand\show@wphase[3]{\edef\@test{#3}\def\@one{1}%
|
||||||
\ifx\@test\@empty\@ #3}
|
\month@label{#1}-\month@label{#2}%
|
||||||
|
\ifx\@test\@empty\else\ifx\@test\@one\else @#3\fi\fi}
|
||||||
\newcommand\sep@wphases{; }
|
\newcommand\sep@wphases{; }
|
||||||
\newcommand\legend@partners{Partners}
|
\newcommand\legend@partners{Partners}
|
||||||
\newcommand\legend@lead{lead}
|
\newcommand\legend@lead{lead}
|
||||||
@ -1737,7 +1780,8 @@
|
|||||||
% \begin{macrocode}
|
% \begin{macrocode}
|
||||||
\definecolorset{gray/rgb/hsb/cmyk}{}{}%
|
\definecolorset{gray/rgb/hsb/cmyk}{}{}%
|
||||||
{leadgray,.90/.90,.90,.90/0,0,.90/0,0,0,.10;%
|
{leadgray,.90/.90,.90,.90/0,0,.90/0,0,0,.10;%
|
||||||
wagray,.70/.70,.70,.70/0,0,.70/0,0,0,.30}
|
wagray,.70/.70,.70,.70/0,0,.70/0,0,0,.30;%
|
||||||
|
ganttgray,.60/.60,.60,.60/0,0,.60/0,0,0,.40}
|
||||||
\newcommand\sum@style[1]{\cellcolor{wagray}{\textbf{#1}}}
|
\newcommand\sum@style[1]{\cellcolor{wagray}{\textbf{#1}}}
|
||||||
\newcommand\wa@style[1]{\cellcolor{wagray}{\textbf{#1}}}
|
\newcommand\wa@style[1]{\cellcolor{wagray}{\textbf{#1}}}
|
||||||
\newcommand\wp@style[1]{#1}
|
\newcommand\wp@style[1]{#1}
|
||||||
@ -1761,8 +1805,10 @@ wagray,.70/.70,.70,.70/0,0,.70/0,0,0,.30}
|
|||||||
\define@key{wpfig}{length}[true]{\def\wpfig@length{#1}\stepcounter{wpfig@options}}
|
\define@key{wpfig}{length}[true]{\def\wpfig@length{#1}\stepcounter{wpfig@options}}
|
||||||
\def\wpfig@end{false}
|
\def\wpfig@end{false}
|
||||||
\define@key{wpfig}{end}[true]{\def\wpfig@end{#1}\stepcounter{wpfig@options}}
|
\define@key{wpfig}{end}[true]{\def\wpfig@end{#1}\stepcounter{wpfig@options}}
|
||||||
|
\define@key{wpfig}{label}{\def\wpfig@label{#1}}
|
||||||
|
\define@key{wpfig}{caption}{\def\wpfig@caption{#1}}
|
||||||
\def\@sw#1{\begin{sideways}#1\end{sideways}}
|
\def\@sw#1{\begin{sideways}#1\end{sideways}}
|
||||||
\newenvironment{wp@figure}{\begin{figure}[ht]\wpfig@style\begin{center}
|
\newenvironment{wp@figure}{\begin{table}[ht]\wpfig@style\begin{center}
|
||||||
{\let\@sw\relax\let\textbf\relax\let\site\relax\let\pn\relax\let\sys\relax%
|
{\let\@sw\relax\let\textbf\relax\let\site\relax\let\pn\relax\let\sys\relax%
|
||||||
\gdef\wpfig@headline{\wpfig@legend@wap&\wpfig@legend@title%
|
\gdef\wpfig@headline{\wpfig@legend@wap&\wpfig@legend@title%
|
||||||
\ifx\wpfig@type\@true&\wpfig@legend@type\fi%
|
\ifx\wpfig@type\@true&\wpfig@legend@type\fi%
|
||||||
@ -1785,8 +1831,9 @@ wagray,.70/.70,.70,.70/0,0,.70/0,0,0,.30}
|
|||||||
{\end{tabular}\smallskip\\
|
{\end{tabular}\smallskip\\
|
||||||
\wpfig@legend@RAM@expl
|
\wpfig@legend@RAM@expl
|
||||||
\if@sites; \wpfig@legend@lead@expl\fi
|
\if@sites; \wpfig@legend@lead@expl\fi
|
||||||
\caption{\wpfig@legend@caption}\label{fig:wplist}
|
\@ifundefined{wpfig@label}{\caption{\wpfig@legend@caption}}{\caption{\wpfig@caption}}
|
||||||
\end{center}\end{figure}}
|
\@ifundefined{wpfig@label}{\label{fig:wplist}}{\label{\wpfig@label}}
|
||||||
|
\end{center}\end{table}}
|
||||||
% \end{macrocode}
|
% \end{macrocode}
|
||||||
% and now multilinguality support
|
% and now multilinguality support
|
||||||
% \begin{macrocode}
|
% \begin{macrocode}
|
||||||
@ -2051,11 +2098,13 @@ wagray,.70/.70,.70,.70/0,0,.70/0,0,0,.30}
|
|||||||
% We define the keys for Gantt tables
|
% We define the keys for Gantt tables
|
||||||
% \begin{macrocode}
|
% \begin{macrocode}
|
||||||
\newif\ifgantt@draft\gantt@draftfalse
|
\newif\ifgantt@draft\gantt@draftfalse
|
||||||
|
\newif\ifgantt@miles\gantt@milesfalse
|
||||||
\define@key{gantt}{xscale}{\def\gantt@xscale{#1}}
|
\define@key{gantt}{xscale}{\def\gantt@xscale{#1}}
|
||||||
\define@key{gantt}{yscale}{\def\gantt@yscale{#1}}
|
\define@key{gantt}{yscale}{\def\gantt@yscale{#1}}
|
||||||
\define@key{gantt}{step}{\def\gantt@step{#1}}
|
\define@key{gantt}{step}{\def\gantt@step{#1}}
|
||||||
\define@key{gantt}{size}{\def\gantt@size{#1}}
|
\define@key{gantt}{size}{\def\gantt@size{#1}}
|
||||||
\define@key{gantt}{draft}[true]{\ifsubmit\else\gantt@drafttrue\fi}
|
\define@key{gantt}{draft}[true]{\ifsubmit\else\gantt@drafttrue\fi}
|
||||||
|
\define@key{gantt}{milestones}[true]{\gantt@milestrue}
|
||||||
% \end{macrocode}
|
% \end{macrocode}
|
||||||
% Then we define an auxiliary function that provides defaults for these keys and sets the
|
% Then we define an auxiliary function that provides defaults for these keys and sets the
|
||||||
% internal macros.
|
% internal macros.
|
||||||
@ -2071,7 +2120,7 @@ wagray,.70/.70,.70,.70/0,0,.70/0,0,0,.30}
|
|||||||
% for a gantt chart. The grid is |\prop@gen@months| wide and \meta{height} high.
|
% for a gantt chart. The grid is |\prop@gen@months| wide and \meta{height} high.
|
||||||
% \begin{macrocode}
|
% \begin{macrocode}
|
||||||
\newenvironment{gantt}[2][]
|
\newenvironment{gantt}[2][]
|
||||||
{\gantt@set{#1}
|
{\gantt@set{#1}\gdef\gantt@height{#2}
|
||||||
\def\@test{\prop@gen@months@default}
|
\def\@test{\prop@gen@months@default}
|
||||||
\ifx\@test\prop@gen@months
|
\ifx\@test\prop@gen@months
|
||||||
\ClassError{proposal}{Need overall project months to draw gantt
|
\ClassError{proposal}{Need overall project months to draw gantt
|
||||||
@ -2079,12 +2128,23 @@ wagray,.70/.70,.70,.70/0,0,.70/0,0,0,.30}
|
|||||||
\protect\begin{proposal}[...,months=??,...] to fix}\fi
|
\protect\begin{proposal}[...,months=??,...] to fix}\fi
|
||||||
\@ifundefined{gantt@size}{}{\csname\gantt@size\endcsname}
|
\@ifundefined{gantt@size}{}{\csname\gantt@size\endcsname}
|
||||||
\newdimen\gantt@ymonths
|
\newdimen\gantt@ymonths
|
||||||
\gantt@ymonths=#2 cm
|
\gantt@ymonths=\gantt@height cm
|
||||||
\advance\gantt@ymonths by .5cm
|
\advance\gantt@ymonths by .8cm
|
||||||
\begin{tikzpicture}[xscale=\gantt@xscale,yscale=\gantt@yscale]
|
\begin{tikzpicture}[xscale=\gantt@xscale,yscale=\gantt@yscale]}
|
||||||
\draw[xstep=\gantt@step,gray,very thin] (0,0) grid (\prop@gen@months,#2);
|
{\draw[xstep=\gantt@step,very thin] (0,0) grid (\prop@gen@months,\gantt@height);
|
||||||
\foreach \x in {0,\gantt@step,...,\prop@gen@months} \node at (\x,\gantt@ymonths) {\x};}
|
\foreach \x in {0,\gantt@step,...,\prop@gen@months} \node at (\x,\gantt@ymonths) {\x};
|
||||||
{\end{tikzpicture}}
|
\ifgantt@miles
|
||||||
|
\newdimen\gantt@ymiles\gantt@ymiles=\gantt@height cm
|
||||||
|
\advance\gantt@ymiles by 2cm
|
||||||
|
\newdimen\gantt@ymiles@top\gantt@ymiles@top=\gantt@height cm
|
||||||
|
%\advance\gantt@ymiles@top by 2cm
|
||||||
|
\edef\@@miles{\pdataref@safe{all}{mile}{ids}}
|
||||||
|
\@for\@I:=\@@miles\do{%
|
||||||
|
\edef\@@month{\pdataref@safe{mile}{\@I}{month}}
|
||||||
|
\draw[very thick,blue] (\@@month,\gantt@ymiles@top) -- (\@@month,0);
|
||||||
|
\node[blue] at (\@@month,\gantt@ymiles) {\pdataref{mile}{\@I}{label}};}
|
||||||
|
\fi %gantt@miles
|
||||||
|
\end{tikzpicture}}
|
||||||
% \end{macrocode}
|
% \end{macrocode}
|
||||||
% \end{environment}
|
% \end{environment}
|
||||||
%
|
%
|
||||||
@ -2095,13 +2155,14 @@ wagray,.70/.70,.70,.70/0,0,.70/0,0,0,.30}
|
|||||||
% \meta{month} with length \meta{len} that is \meta{force} thick.
|
% \meta{month} with length \meta{len} that is \meta{force} thick.
|
||||||
% \begin{macrocode}
|
% \begin{macrocode}
|
||||||
\newdimen\gantt@ymid\newdimen\gantt@yinc\newdimen\gantt@xend
|
\newdimen\gantt@ymid\newdimen\gantt@yinc\newdimen\gantt@xend
|
||||||
\newcommand{\@action}[5]{%
|
\newcommand{\@action}[6][]{\def\@test{#1}%
|
||||||
\gantt@ymid=#2 cm\gantt@yinc=\gantt@yscale cm
|
\ifx\@test\@empty\def\@@color{ganttgray}\else\def\@@color{#1}\fi
|
||||||
\gantt@xend=#3 cm\advance\gantt@xend by #4 cm
|
\gantt@ymid=#3 cm\gantt@yinc=\gantt@yscale cm
|
||||||
|
\gantt@xend=#4 cm\advance\gantt@xend by #5 cm
|
||||||
\advance\gantt@ymid by \gantt@yinc
|
\advance\gantt@ymid by \gantt@yinc
|
||||||
\fill (#3,#2) rectangle +(#4,#5);
|
\fill[\@@color] (#4,#3) rectangle +(#5,#6);
|
||||||
\node (#1@left) at (#3,\gantt@ymid) {};
|
\node (#2@left) at (#4,\gantt@ymid) {};
|
||||||
\node (#1@right) at (\gantt@xend,\gantt@ymid) {};}
|
\node (#2@right) at (\gantt@xend,\gantt@ymid) {};}
|
||||||
% \end{macrocode}
|
% \end{macrocode}
|
||||||
% \end{macro}
|
% \end{macro}
|
||||||
%
|
%
|
||||||
@ -2193,7 +2254,7 @@ wagray,.70/.70,.70,.70/0,0,.70/0,0,0,.30}
|
|||||||
\@for\@@ft:=\@@wphases\do{%iterate over the wp-level work phases
|
\@for\@@ft:=\@@wphases\do{%iterate over the wp-level work phases
|
||||||
\decode@wphase\@@ft
|
\decode@wphase\@@ft
|
||||||
\gantt@compute@effort\wphase@start\wphase@len\wphase@force}}}}
|
\gantt@compute@effort\wphase@start\wphase@len\wphase@force}}}}
|
||||||
\fill (\thegantt@month,-5) rectangle +(1,\gantt@effort);
|
\fill[ganttgray] (\thegantt@month,-5) rectangle +(1,\gantt@effort);
|
||||||
\else% ifwork@areas
|
\else% ifwork@areas
|
||||||
\edef\@@wps{\pdataref@safe{all}{wp}{ids}}
|
\edef\@@wps{\pdataref@safe{all}{wp}{ids}}
|
||||||
\@for\@@wp:=\@@wps\do{% iterate over work packages
|
\@for\@@wp:=\@@wps\do{% iterate over work packages
|
||||||
@ -2207,19 +2268,22 @@ wagray,.70/.70,.70,.70/0,0,.70/0,0,0,.30}
|
|||||||
\@for\@@ft:=\@@wphases\do{%iterate over the wp-level work phases
|
\@for\@@ft:=\@@wphases\do{%iterate over the wp-level work phases
|
||||||
\decode@wphase\@@ft
|
\decode@wphase\@@ft
|
||||||
\gantt@compute@effort\wphase@start\wphase@len\wphase@force}}}
|
\gantt@compute@effort\wphase@start\wphase@len\wphase@force}}}
|
||||||
\fill (\thegantt@month,-5) rectangle +(1,\gantt@effort);
|
\fill[ganttgray] (\thegantt@month,-5) rectangle +(1,\gantt@effort);
|
||||||
\fi% ifwork@areas
|
\fi% ifwork@areas
|
||||||
\stepcounter{gantt@month}}
|
\stepcounter{gantt@month}}
|
||||||
\fi% ifgantt@draft
|
\fi% ifgantt@draft
|
||||||
\end{gantt}
|
\end{gantt}
|
||||||
\caption{\gantt@caption}\label{fig:gantt}
|
\caption{\gantt@caption}\label{fig:gantt}
|
||||||
\end{figure}}
|
\end{figure}\footnotetext\gantt@footnote}
|
||||||
% \end{macrocode}
|
% \end{macrocode}
|
||||||
% now the multilingual support
|
% now the multilingual support
|
||||||
% \begin{macrocode}
|
% \begin{macrocode}
|
||||||
\newcommand\gantt@caption@main{Overview Work Package Activities}
|
\newcommand\gantt@caption@main{Gantt Chart: Overview Work Package Activities}
|
||||||
\newcommand\gantt@caption@lower{lower bar shows the overall effort \if@RAM (RAM only)\fi per month}
|
\newcommand\gantt@caption@lower{lower bar shows the overall effort \if@RAM (RAM only)\fi per month}
|
||||||
\newcommand\gantt@caption{\gantt@caption@main\ifgantt@draft\xspace (\gantt@caption@lower)\fi}
|
\newcommand\gantt@caption{\gantt@caption@main\ifgantt@draft\xspace
|
||||||
|
(\gantt@caption@lower)\fi}
|
||||||
|
\newcommand\gantt@footnote{Bars shown at reduced height (e.g. 50\%) indicate reduced
|
||||||
|
intensity during that work phase (e.g. to 50\%).}
|
||||||
% \end{macrocode}
|
% \end{macrocode}
|
||||||
% \end{macro}
|
% \end{macro}
|
||||||
%
|
%
|
||||||
@ -2228,16 +2292,20 @@ wagray,.70/.70,.70,.70/0,0,.70/0,0,0,.30}
|
|||||||
% useful for EU projects\ednote{this should be incorporated with the gantt chart above,
|
% useful for EU projects\ednote{this should be incorporated with the gantt chart above,
|
||||||
% but I am currently to scared to do it so close to the deadline}
|
% but I am currently to scared to do it so close to the deadline}
|
||||||
% \begin{macrocode}
|
% \begin{macrocode}
|
||||||
\newcommand{\gantttaskchart}[1][]{\begin{figure}[ht]\centering\gantt@set{#1}
|
\newcommand{\gantttaskchart}[1][]{\begin{figure}[hbtp]\centering\gantt@set{#1}
|
||||||
\def\gantt@tasks{\pdataref@num{all}{task}{count}}
|
\newcounter{gantt@all@tasks}%
|
||||||
\begin{gantt}[#1]{\gantt@tasks}
|
\setcounter{gantt@all@tasks}{\pdataref@num{all}{task}{count}}
|
||||||
|
\addtocounter{gantt@all@tasks}{\pdataref@num{all}{wp}{count}}
|
||||||
|
\begin{gantt}[#1]{\thegantt@all@tasks}
|
||||||
\newcounter{gantt@tasks}\newcount\@@line
|
\newcounter{gantt@tasks}\newcount\@@line
|
||||||
\edef\@@wps{\pdataref@safe{all}{wp}{ids}}
|
\edef\@@wps{\pdataref@safe{all}{wp}{ids}}
|
||||||
\@for\@@wp:=\@@wps\do{% iterate over work packages
|
\@for\@@wp:=\@@wps\do{% iterate over work packages
|
||||||
|
\stepcounter{gantt@tasks}
|
||||||
|
% \@action[white]{}\@@line0{48}1
|
||||||
\edef\@@tasks{\pdataref@safe\@@wp{task}{ids}}
|
\edef\@@tasks{\pdataref@safe\@@wp{task}{ids}}
|
||||||
\@for\@@task:=\@@tasks\do{% iterate over the tasks
|
\@for\@@task:=\@@tasks\do{% iterate over the tasks
|
||||||
\stepcounter{gantt@tasks}
|
\stepcounter{gantt@tasks}
|
||||||
\@@line=\gantt@tasks\advance\@@line by -\thegantt@tasks
|
\@@line=\thegantt@all@tasks\advance\@@line by -\thegantt@tasks
|
||||||
\node at (-.5/\gantt@xscale,\@@line) [above=-2pt] {{\footnotesize\taskreflong\@@wp\@@task}};
|
\node at (-.5/\gantt@xscale,\@@line) [above=-2pt] {{\footnotesize\taskreflong\@@wp\@@task}};
|
||||||
\edef\@@wphases{\pdataref@safe{task}\@@task{wphases}}
|
\edef\@@wphases{\pdataref@safe{task}\@@task{wphases}}
|
||||||
\@for\@@ft:=\@@wphases\do{%iterate over the task-level work phases
|
\@for\@@ft:=\@@wphases\do{%iterate over the task-level work phases
|
||||||
@ -2245,7 +2313,7 @@ wagray,.70/.70,.70,.70/0,0,.70/0,0,0,.30}
|
|||||||
\@action\@@task\@@line\wphase@start\wphase@len\wphase@force
|
\@action\@@task\@@line\wphase@start\wphase@len\wphase@force
|
||||||
}}}% end all iterations
|
}}}% end all iterations
|
||||||
\end{gantt}
|
\end{gantt}
|
||||||
\caption{\gantt@caption@main}\label{fig:gantt}
|
\caption{\gantt@caption@main{} -- \emph{\gantt@footnote}}\label{fig:gantt}
|
||||||
\end{figure}}
|
\end{figure}}
|
||||||
% \end{macrocode}
|
% \end{macrocode}
|
||||||
% \end{macro}
|
% \end{macro}
|
||||||
@ -2254,9 +2322,11 @@ wagray,.70/.70,.70,.70/0,0,.70/0,0,0,.30}
|
|||||||
%
|
%
|
||||||
% \begin{macro}{\j*}
|
% \begin{macro}{\j*}
|
||||||
% \begin{macrocode}
|
% \begin{macrocode}
|
||||||
\newcommand\jpub{\textcolor{\prop@link@color}{\textbf{\large{$\star$}}}}
|
\newcommand\jpub{\textcolor{\prop@link@color}{\textbf{\Large{$\star$}}}}
|
||||||
\newcommand\jpro{\textcolor{\prop@link@color}{\textbf{\large{$\bullet$}}}}
|
\newcommand\jpro{\textcolor{\prop@link@color}{\textbf{\Large{$\bullet$}}}}
|
||||||
\newcommand\jorga{\textcolor{\prop@link@color}{\textbf{\large{$\circ$}}}}
|
\newcommand\jsoft{\textcolor{\prop@link@color}{\textbf{@}}}
|
||||||
|
\newcommand\jorga{\textcolor{\prop@link@color}{\textbf{\Large{$\circ$}}}}
|
||||||
|
\newcommand\jsup{\textcolor{\prop@link@color}{\textbf{\smiley}}}
|
||||||
% \end{macrocode}
|
% \end{macrocode}
|
||||||
% \end{macro}
|
% \end{macro}
|
||||||
%
|
%
|
||||||
@ -2283,8 +2353,10 @@ wagray,.70/.70,.70,.70/0,0,.70/0,0,0,.30}
|
|||||||
% Now, some instances that use these.
|
% Now, some instances that use these.
|
||||||
% \begin{macrocode}
|
% \begin{macrocode}
|
||||||
\newcommand\jointproj[1]{\prop@joint\jpro{#1}}
|
\newcommand\jointproj[1]{\prop@joint\jpro{#1}}
|
||||||
\newcommand\jointpub[1]{\prop@joint\jpro{#1}}
|
\newcommand\jointpub[1]{\prop@joint\jpub{#1}}
|
||||||
\newcommand\jointorga[1]{\prop@joint\jorga{#1}}
|
\newcommand\jointorga[1]{\prop@joint\jorga{#1}}
|
||||||
|
\newcommand\jointsoft[1]{\prop@joint\jsoft{#1}}
|
||||||
|
\newcommand\jointsup[1]{\prop@joint\jsup{#1}}
|
||||||
% \end{macrocode}
|
% \end{macrocode}
|
||||||
% \end{macro}
|
% \end{macro}
|
||||||
%
|
%
|
||||||
@ -2292,30 +2364,38 @@ wagray,.70/.70,.70,.70/0,0,.70/0,0,0,.30}
|
|||||||
% \begin{macrocode}
|
% \begin{macrocode}
|
||||||
\newcommand{\coherencematrix}{
|
\newcommand{\coherencematrix}{
|
||||||
{\let\tabularnewline\relax\let\hline\relax\let\site\relax% so they do
|
{\let\tabularnewline\relax\let\hline\relax\let\site\relax% so they do
|
||||||
\let\@sw\relax\let\jpub\relax\let\jpro\relax\let\jorga\relax% not bother us
|
\let\@sw\relax\let\jpub\relax\let\jpro\relax\let\jorga\relax% not bother
|
||||||
\gdef\@ct@head{}
|
\let\jsoft\relax\let\jsup\relax\let\cellcolor\relax% us
|
||||||
\@for\@site:=\prop@gen@sites\do{\xdef\@ct@head{\@ct@head &\site{\@site}}}
|
\gdef\@ct@head{}%
|
||||||
|
\@for\@site:=\prop@gen@sites\do{\xdef\@ct@head{\@ct@head%
|
||||||
|
&\ifx\cht@swsites\@true\@sw{\site{\@site}}\else\site{\@site}\fi}}%
|
||||||
\gdef\@ct@lines{\@ct@head\tabularnewline\hline\hline} %initialize with head line
|
\gdef\@ct@lines{\@ct@head\tabularnewline\hline\hline} %initialize with head line
|
||||||
\@for\@site:=\prop@gen@sites\do{\xdef\@ct@line{\site{\@site}}
|
\@for\@site:=\prop@gen@sites\do{\xdef\@ct@line{\site{\@site}}%
|
||||||
\@for\@@site:=\prop@gen@sites\do{
|
\@for\@@site:=\prop@gen@sites\do{%
|
||||||
\xdef\@ct@line{\@ct@line&\ifx\@site\@@site{X}\fi
|
\xdef\@ct@line{\@ct@line&\ifx\@site\@@site{\cellcolor{wagray}{}}\fi%
|
||||||
\@ifundefined{coherence@\@site @\@@site}{}{\@nameuse{coherence@\@site @\@@site}}}}
|
\@ifundefined{coherence@\@site @\@@site}{}{\@nameuse{coherence@\@site @\@@site}}}}%
|
||||||
\xdef\@ct@lines{\@ct@lines\@ct@line\tabularnewline\hline}}}
|
\xdef\@ct@lines{\@ct@lines\@ct@line\tabularnewline\hline}}}%
|
||||||
\begin{tabular}{|l||*{\the@site}{c|}}\hline
|
\begin{tabular}{|l||*{\the@site}{c|}}\hline%
|
||||||
\@ct@lines\hline
|
\@ct@lines\hline%
|
||||||
joint&\multicolumn{\the@site}{l|}{\jpub $\hat=$ publication, \jpro $\hat=$ project,
|
joint&\multicolumn{\the@site}{l|}{\jpub $\hat=$ publication, \jpro $\hat=$ project,
|
||||||
\jorga $\hat=$ organization}\\\hline
|
\jorga $\hat=$ organization, \jsoft $\hat=$ software/resource dev,
|
||||||
|
\jsup $\hat=$ supervision}\\\hline
|
||||||
\end{tabular}}
|
\end{tabular}}
|
||||||
% \end{macrocode}
|
% \end{macrocode}
|
||||||
% \end{macro}
|
% \end{macro}
|
||||||
%
|
%
|
||||||
% \begin{macro}{\coherencetable}
|
% \begin{macro}{\coherencetable}
|
||||||
% \begin{macrocode}
|
% \begin{macrocode}
|
||||||
\newcommand\coherencetable{%
|
\define@key{coherencetable}{swsites}[true]{\def\cht@swsites{#1}}
|
||||||
\begin{table}[ht]
|
\define@key{coherencetable}{stretch}{\def\cht@stretch{#1}}
|
||||||
\begin{center}\small\setlength{\tabcolsep}{.5em}
|
\newcommand\coherencetable[1][]{%
|
||||||
\renewcommand{\arraystretch}{.9}\coherencematrix
|
\def\cht@swsites{false}%
|
||||||
\end{center}
|
\def\cht@stretch{1}%
|
||||||
|
\setkeys{coherencetable}{#1}%
|
||||||
|
\begin{table}[ht]\centering%
|
||||||
|
\small\setlength{\tabcolsep}{.5em}%
|
||||||
|
\renewcommand{\arraystretch}{\cht@stretch}%
|
||||||
|
\coherencematrix%
|
||||||
\caption{\coherence@caption}\label{tab:collaboration}
|
\caption{\coherence@caption}\label{tab:collaboration}
|
||||||
\end{table}}
|
\end{table}}
|
||||||
% \end{macrocode}
|
% \end{macrocode}
|
||||||
@ -2455,15 +2535,15 @@ joint&\multicolumn{\the@site}{l|}{\jpub $\hat=$ publication, \jpro $\hat=$ proje
|
|||||||
% LocalWords: tasks deps number line Effort target ids count warning at pdata swsites
|
% LocalWords: tasks deps number line Effort target ids count warning at pdata swsites
|
||||||
% LocalWords: for undefined safe zero one two three four five six seven eight swsites
|
% LocalWords: for undefined safe zero one two three four five six seven eight swsites
|
||||||
% LocalWords: nine ten eleven twelve style lines totals Packages xscale yscale wphrases
|
% LocalWords: nine ten eleven twelve style lines totals Packages xscale yscale wphrases
|
||||||
% LocalWords: step set gray very thin grid workphase len force phase length to
|
% LocalWords: step set gray very thin grid workphase len force phase length to endhead
|
||||||
% LocalWords: taskdep from rectangle left right width pt color red above dep
|
% LocalWords: taskdep from rectangle left right width pt color red above dep jointsub
|
||||||
% LocalWords: Overview Activities Signatures Date paralist ymonths ymid yinc
|
% LocalWords: Overview Activities Signatures Date paralist ymonths ymid yinc jointsoft
|
||||||
% LocalWords: xend effort month iffalse eustrep.dtx fileversion maketitle Antr
|
% LocalWords: xend effort month iffalse eustrep.dtx fileversion maketitle Antr jointsoft
|
||||||
% LocalWords: tableofcontents DescribeEnv ifpublic ifpublic compactitem wpfig
|
% LocalWords: tableofcontents DescribeEnv ifpublic ifpublic compactitem wpfig jointsup
|
||||||
% LocalWords: wpfig workplan workplan bookeeping wissenchaftliche tasklist dmp
|
% LocalWords: wpfig workplan workplan bookeeping wissenchaftliche tasklist dmp jointsup
|
||||||
% LocalWords: tasklist taskin taskref taskref tasktref tasktref localtaskref
|
% LocalWords: tasklist taskin taskref taskref tasktref tasktref localtaskref jsoft jsoft
|
||||||
% LocalWords: localtaskref ganttchart biblatex ifx dfgproposal.dtx newpage pn
|
% LocalWords: localtaskref ganttchart biblatex ifx dfgproposal.dtx newpage pn jsup jsup
|
||||||
% LocalWords: bibtex proposal1-blx.aux pdataref WPtref WPtref WAref WAref WAtref
|
% LocalWords: bibtex proposal1-blx.aux pdataref WPtref WPtref WAref WAref WAtref wasysym
|
||||||
% LocalWords: WAtref protectmacro thebibliography bibitem newblock newif inst
|
% LocalWords: WAtref protectmacro thebibliography bibitem newblock newif inst
|
||||||
% LocalWords: ifsubmit submitfalse publicfalse ifkeys keysfalse ifwork RAMtrue
|
% LocalWords: ifsubmit submitfalse publicfalse ifkeys keysfalse ifwork RAMtrue
|
||||||
% LocalWords: submittrue publictrue excludecomment RAMfalse keystrue sfdefault
|
% LocalWords: submittrue publictrue excludecomment RAMfalse keystrue sfdefault
|
||||||
|
Binary file not shown.
@ -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}[2013/02/19 v1.4 Project Reporting]
|
\ProvidesPackage{reporting}[2015/01/14 v1.5 Project Reporting]
|
||||||
\newif\if@wpsubsection\@wpsubsectionfalse
|
\newif\if@wpsubsection\@wpsubsectionfalse
|
||||||
\newif\ifsubmit\submitfalse
|
\newif\ifsubmit\submitfalse
|
||||||
\newif\ifpublic\publicfalse
|
\newif\ifpublic\publicfalse
|
||||||
@ -32,6 +32,7 @@
|
|||||||
\ProcessOptions
|
\ProcessOptions
|
||||||
\LoadClass[a4paper,twoside]{\proposal@class}
|
\LoadClass[a4paper,twoside]{\proposal@class}
|
||||||
\RequirePackage{amssymb}
|
\RequirePackage{amssymb}
|
||||||
|
\RequirePackage{wasysym}
|
||||||
\RequirePackage{url}
|
\RequirePackage{url}
|
||||||
\RequirePackage{graphicx}
|
\RequirePackage{graphicx}
|
||||||
\RequirePackage{colortbl}
|
\RequirePackage{colortbl}
|
||||||
@ -44,7 +45,7 @@
|
|||||||
\AtBeginDocument{\ifpublic\excludecomment{private}\fi}
|
\AtBeginDocument{\ifpublic\excludecomment{private}\fi}
|
||||||
\RequirePackage{tikz}
|
\RequirePackage{tikz}
|
||||||
\RequirePackage{paralist}
|
\RequirePackage{paralist}
|
||||||
\RequirePackage{a4wide}
|
\RequirePackage[a4paper,margin=18mm]{geometry}
|
||||||
\RequirePackage{boxedminipage}
|
\RequirePackage{boxedminipage}
|
||||||
\renewcommand{\thempfootnote}{\roman{mpfootnote}}
|
\renewcommand{\thempfootnote}{\roman{mpfootnote}}
|
||||||
\renewcommand{\familydefault}{\sfdefault}
|
\renewcommand{\familydefault}{\sfdefault}
|
||||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -7,8 +7,9 @@
|
|||||||
%% euproposal.dtx (with options: `pdata')
|
%% euproposal.dtx (with options: `pdata')
|
||||||
%%
|
%%
|
||||||
\NeedsTeXFormat{LaTeX2e}[1999/12/01]
|
\NeedsTeXFormat{LaTeX2e}[1999/12/01]
|
||||||
\ProvidesPackage{eupdata}[2013/01/13 v1.4 EU Project Data]
|
\ProvidesPackage{eupdata}[2015/01/14 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}{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{??}
|
\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}{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}}
|
\define@key{prop@gen}{challengeid}{\def\prop@gen@challengeid{#1}\pdata@def{prop}{gen}{challengeid}{#1}}
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
%% euproposal.dtx (with options: `cls')
|
%% euproposal.dtx (with options: `cls')
|
||||||
%%
|
%%
|
||||||
\NeedsTeXFormat{LaTeX2e}[1999/12/01]
|
\NeedsTeXFormat{LaTeX2e}[1999/12/01]
|
||||||
\ProvidesClass{euproposal}[2013/01/13 v1.4 EU Proposal]
|
\ProvidesClass{euproposal}[2015/01/14 v1.5 EU Proposal]
|
||||||
\newif\ifpartB\partBfalse
|
\newif\ifpartB\partBfalse
|
||||||
\DeclareOption{partB}{\partBtrue}
|
\DeclareOption{partB}{\partBtrue}
|
||||||
\DeclareOption*{\PassOptionsToClass{\CurrentOption}{proposal}}
|
\DeclareOption*{\PassOptionsToClass{\CurrentOption}{proposal}}
|
||||||
@ -17,6 +17,9 @@
|
|||||||
\RequirePackage{eurosym}
|
\RequirePackage{eurosym}
|
||||||
\RequirePackage{wrapfig}
|
\RequirePackage{wrapfig}
|
||||||
\RequirePackage{eupdata}
|
\RequirePackage{eupdata}
|
||||||
|
\RequirePackage{chngcntr}
|
||||||
|
\counterwithin{figure}{subsection}
|
||||||
|
\counterwithin{table}{subsection}
|
||||||
\ifpartB
|
\ifpartB
|
||||||
\def\thepart{\Alph{part}}
|
\def\thepart{\Alph{part}}
|
||||||
\setcounter{part}{2}
|
\setcounter{part}{2}
|
||||||
@ -26,7 +29,8 @@
|
|||||||
\newcommand\prop@sites@table{\def\@@table{}
|
\newcommand\prop@sites@table{\def\@@table{}
|
||||||
{\let\tabularnewline\relax\let\hline\relax
|
{\let\tabularnewline\relax\let\hline\relax
|
||||||
\@for\@I:=\prop@gen@sites\do{\xdef\@@table{\@@table\pdataref{site}\@I{number}}
|
\@for\@I:=\prop@gen@sites\do{\xdef\@@table{\@@table\pdataref{site}\@I{number}}
|
||||||
\xdef\@@table{\@@table&\@nameuse{wa@institution@\@I @name}}
|
\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 @acronym}}
|
||||||
\xdef\@@table{\@@table&\@nameuse{wa@institution@\@I @countryshort}\tabularnewline\hline}}}
|
\xdef\@@table{\@@table&\@nameuse{wa@institution@\@I @countryshort}\tabularnewline\hline}}}
|
||||||
\begin{tabular}{|l|p{8cm}|l|l|}\hline%|
|
\begin{tabular}{|l|p{8cm}|l|l|}\hline%|
|
||||||
@ -36,31 +40,25 @@
|
|||||||
\renewenvironment{prop@proposal}
|
\renewenvironment{prop@proposal}
|
||||||
{\thispagestyle{empty}\begin{center}
|
{\thispagestyle{empty}\begin{center}
|
||||||
{\Large \prop@gen@instrument}\\[.2cm]
|
{\Large \prop@gen@instrument}\\[.2cm]
|
||||||
{\LARGE\textbf\prop@gen@callname}\\[.4cm]
|
{\Large\textbf\prop@gen@callname}\\[.4cm]
|
||||||
{\Large \prop@gen@callid}\\[.4cm]
|
{\LARGE \prop@gen@callid}\\[.8cm]
|
||||||
{\LARGE\textbf\prop@gen@title}\\[.3cm]
|
{\huge\textbf\prop@gen@title}\\[.4cm]
|
||||||
{\LARGE Acronym: {\prop@gen@acronym}}\\[.2cm]
|
{\LARGE Acronym: {\prop@gen@acronym}}\\[2cm]
|
||||||
\end{center}
|
\end{center}
|
||||||
{\large\prop@gen@instrument}\\
|
|
||||||
{\large\textbf{Date of Preparation: \today}}
|
{\large\textbf{Date of Preparation: \today}}
|
||||||
\ifsubmit\else\\
|
\\[1em]
|
||||||
{\large\textbf{Revision}:
|
|
||||||
\if@svninfo\svnInfoRevision\fi\if@gitinfo\gitAbbrevHash\fi
|
|
||||||
of
|
|
||||||
\if@svninfo\svnInfoDate\fi\if@gitinfo\gitAuthorDate\fi}
|
|
||||||
\fi\\[1em]
|
|
||||||
{\large}
|
|
||||||
\begin{large}
|
\begin{large}
|
||||||
\begin{description}
|
\begin{description}
|
||||||
\item[Work program topics addressed by \pn:]
|
% \item[Work program topics addressed by \pn:]
|
||||||
\@ifundefined{prop@gen@topicsaddressed}
|
% \@ifundefined{prop@gen@topicsaddressed}
|
||||||
{\textbf{Challenge \prop@gen@challengeid}: \prop@gen@challenge,
|
% {\textbf{Challenge \prop@gen@challengeid}: \prop@gen@challenge,
|
||||||
\textbf{Objective \prop@gen@objectiveid}: \prop@gen@objective,
|
% \textbf{Objective \prop@gen@objectiveid}: \prop@gen@objective,
|
||||||
\textbf{target outcome \prop@gen@outcomeid}) \prop@gen@outcome.}
|
% \textbf{target outcome \prop@gen@outcomeid}) \prop@gen@outcome.
|
||||||
{\prop@gen@topicsaddressed}\\[1em]
|
% {\prop@gen@topicsaddressed}\\[1em]
|
||||||
\item[Coordinator:] \wa@ref{person}\prop@gen@coordinator{name}
|
\item[Coordinator:] \wa@ref{person}\prop@gen@coordinator{name}
|
||||||
\item[e-mail:] \wa@ref{person}\prop@gen@coordinator{email}
|
\item[e-mail:] \wa@ref{person}\prop@gen@coordinator{email}
|
||||||
\item[tel/fax:] \wa@ref{person}\prop@gen@coordinator{worktelfax}
|
\item[tel/fax:] \wa@ref{person}\prop@gen@coordinator{worktelfax}
|
||||||
|
\@ifundefined{prop@gen@keywords}{}{\item[Keywords:] \prop@gen@keywords}
|
||||||
\end{description}
|
\end{description}
|
||||||
\end{large}
|
\end{large}
|
||||||
\vspace*{1em}
|
\vspace*{1em}
|
||||||
|
@ -13,9 +13,9 @@
|
|||||||
%
|
%
|
||||||
% \iffalse
|
% \iffalse
|
||||||
%<cls|pdata|reporting>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
|
%<cls|pdata|reporting>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
|
||||||
%<cls>\ProvidesClass{euproposal}[2013/01/13 v1.4 EU Proposal]
|
%<cls>\ProvidesClass{euproposal}[2015/01/14 v1.5 EU Proposal]
|
||||||
%<pdata>\ProvidesPackage{eupdata}[2013/01/13 v1.4 EU Project Data]
|
%<pdata>\ProvidesPackage{eupdata}[2015/01/14 v1.5 EU Project Data]
|
||||||
%<reporting>\ProvidesPackage{eureporting}[2013/01/13 v1.4 EU Project Reporting]
|
%<reporting>\ProvidesPackage{eureporting}[2015/01/14 v1.5 EU Project Reporting]
|
||||||
%<*driver>
|
%<*driver>
|
||||||
\documentclass[twoside]{ltxdoc}
|
\documentclass[twoside]{ltxdoc}
|
||||||
\DoNotIndex{\def,\long,\edef,\xdef,\gdef,\let,\global}
|
\DoNotIndex{\def,\long,\edef,\xdef,\gdef,\let,\global}
|
||||||
@ -49,6 +49,7 @@
|
|||||||
% \changes{v0.3a}{2008/01/18}{error corrections and more documentation}
|
% \changes{v0.3a}{2008/01/18}{error corrections and more documentation}
|
||||||
% \changes{v1.3}{2011/05/18}{basing this on proposal.cls}
|
% \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}{2012/01/18}{various tweaks for the Jan 2012 proposal deadline}
|
||||||
|
% \changes{v1.4}{2015/01/14}{lots of tweaks}
|
||||||
%
|
%
|
||||||
% \GetFileInfo{euproposal.cls}
|
% \GetFileInfo{euproposal.cls}
|
||||||
%
|
%
|
||||||
@ -141,6 +142,8 @@
|
|||||||
% \item The \DescribeMacro{coordinator}|coordinator| key gives the identifier of the
|
% \item The \DescribeMacro{coordinator}|coordinator| key gives the identifier of the
|
||||||
% proposal coordinator. The |euproposal| package uses the |workaddress| package for
|
% proposal coordinator. The |euproposal| package uses the |workaddress| package for
|
||||||
% representation of personal metadata, see~\cite{Kohlhase:workaddress:ctan} for details.
|
% 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
|
% \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
|
% |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.
|
% the title page, and specify their heights; |1.5cm| is often a good value.
|
||||||
@ -208,6 +211,12 @@
|
|||||||
\RequirePackage{eurosym}
|
\RequirePackage{eurosym}
|
||||||
\RequirePackage{wrapfig}
|
\RequirePackage{wrapfig}
|
||||||
\RequirePackage{eupdata}
|
\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>
|
%</cls|reporting>
|
||||||
% \end{macrocode}
|
% \end{macrocode}
|
||||||
%
|
%
|
||||||
@ -217,6 +226,7 @@
|
|||||||
% \begin{macrocode}
|
% \begin{macrocode}
|
||||||
%<*pdata>
|
%<*pdata>
|
||||||
\define@key{prop@gen}{coordinator}{\def\prop@gen@coordinator{#1}\pdata@def{prop}{gen}{coordinator}{#1}}
|
\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{??}
|
\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}{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}}
|
\define@key{prop@gen}{challengeid}{\def\prop@gen@challengeid{#1}\pdata@def{prop}{gen}{challengeid}{#1}}
|
||||||
@ -264,7 +274,8 @@
|
|||||||
\newcommand\prop@sites@table{\def\@@table{}
|
\newcommand\prop@sites@table{\def\@@table{}
|
||||||
{\let\tabularnewline\relax\let\hline\relax
|
{\let\tabularnewline\relax\let\hline\relax
|
||||||
\@for\@I:=\prop@gen@sites\do{\xdef\@@table{\@@table\pdataref{site}\@I{number}}
|
\@for\@I:=\prop@gen@sites\do{\xdef\@@table{\@@table\pdataref{site}\@I{number}}
|
||||||
\xdef\@@table{\@@table&\@nameuse{wa@institution@\@I @name}}
|
\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 @acronym}}
|
||||||
\xdef\@@table{\@@table&\@nameuse{wa@institution@\@I @countryshort}\tabularnewline\hline}}}
|
\xdef\@@table{\@@table&\@nameuse{wa@institution@\@I @countryshort}\tabularnewline\hline}}}
|
||||||
\begin{tabular}{|l|p{8cm}|l|l|}\hline%|
|
\begin{tabular}{|l|p{8cm}|l|l|}\hline%|
|
||||||
@ -279,31 +290,32 @@
|
|||||||
\renewenvironment{prop@proposal}
|
\renewenvironment{prop@proposal}
|
||||||
{\thispagestyle{empty}\begin{center}
|
{\thispagestyle{empty}\begin{center}
|
||||||
{\Large \prop@gen@instrument}\\[.2cm]
|
{\Large \prop@gen@instrument}\\[.2cm]
|
||||||
{\LARGE\textbf\prop@gen@callname}\\[.4cm]
|
{\Large\textbf\prop@gen@callname}\\[.4cm]
|
||||||
{\Large \prop@gen@callid}\\[.4cm]
|
{\LARGE \prop@gen@callid}\\[.8cm]
|
||||||
{\LARGE\textbf\prop@gen@title}\\[.3cm]
|
{\huge\textbf\prop@gen@title}\\[.4cm]
|
||||||
{\LARGE Acronym: {\prop@gen@acronym}}\\[.2cm]
|
{\LARGE Acronym: {\prop@gen@acronym}}\\[2cm]
|
||||||
\end{center}
|
\end{center}
|
||||||
{\large\prop@gen@instrument}\\
|
%{\large\prop@gen@instrument}\\
|
||||||
{\large\textbf{Date of Preparation: \today}}
|
{\large\textbf{Date of Preparation: \today}}
|
||||||
\ifsubmit\else\\
|
% \ifsubmit\else\if@svninfo\if@gitinfo\\
|
||||||
{\large\textbf{Revision}:
|
% {\large\textbf{Revision}:
|
||||||
\if@svninfo\svnInfoRevision\fi\if@gitinfo\gitAbbrevHash\fi
|
% \if@svninfo\svnInfoRevision\fi\if@gitinfo\gitAbbrevHash\fi
|
||||||
of
|
% of
|
||||||
\if@svninfo\svnInfoDate\fi\if@gitinfo\gitAuthorDate\fi}
|
% \if@svninfo\svnInfoDate\fi\if@gitinfo\gitAuthorDate\fi}
|
||||||
\fi\\[1em]
|
% \fi\fi\fi
|
||||||
{\large}
|
\\[1em]
|
||||||
\begin{large}
|
\begin{large}
|
||||||
\begin{description}
|
\begin{description}
|
||||||
\item[Work program topics addressed by \pn:]
|
% \item[Work program topics addressed by \pn:]
|
||||||
\@ifundefined{prop@gen@topicsaddressed}
|
% \@ifundefined{prop@gen@topicsaddressed}
|
||||||
{\textbf{Challenge \prop@gen@challengeid}: \prop@gen@challenge,
|
% {\textbf{Challenge \prop@gen@challengeid}: \prop@gen@challenge,
|
||||||
\textbf{Objective \prop@gen@objectiveid}: \prop@gen@objective,
|
% \textbf{Objective \prop@gen@objectiveid}: \prop@gen@objective,
|
||||||
\textbf{target outcome \prop@gen@outcomeid}) \prop@gen@outcome.}
|
% \textbf{target outcome \prop@gen@outcomeid}) \prop@gen@outcome.
|
||||||
{\prop@gen@topicsaddressed}\\[1em]
|
% {\prop@gen@topicsaddressed}\\[1em]
|
||||||
\item[Coordinator:] \wa@ref{person}\prop@gen@coordinator{name}
|
\item[Coordinator:] \wa@ref{person}\prop@gen@coordinator{name}
|
||||||
\item[e-mail:] \wa@ref{person}\prop@gen@coordinator{email}
|
\item[e-mail:] \wa@ref{person}\prop@gen@coordinator{email}
|
||||||
\item[tel/fax:] \wa@ref{person}\prop@gen@coordinator{worktelfax}
|
\item[tel/fax:] \wa@ref{person}\prop@gen@coordinator{worktelfax}
|
||||||
|
\@ifundefined{prop@gen@keywords}{}{\item[Keywords:] \prop@gen@keywords}
|
||||||
\end{description}
|
\end{description}
|
||||||
\end{large}
|
\end{large}
|
||||||
\vspace*{1em}
|
\vspace*{1em}
|
||||||
|
Binary file not shown.
@ -7,7 +7,7 @@
|
|||||||
%% euproposal.dtx (with options: `reporting')
|
%% euproposal.dtx (with options: `reporting')
|
||||||
%%
|
%%
|
||||||
\NeedsTeXFormat{LaTeX2e}[1999/12/01]
|
\NeedsTeXFormat{LaTeX2e}[1999/12/01]
|
||||||
\ProvidesPackage{eureporting}[2013/01/13 v1.4 EU Project Reporting]
|
\ProvidesPackage{eureporting}[2015/01/14 v1.5 EU Project Reporting]
|
||||||
\DeclareOption*{\PassOptionsToClass{\CurrentOption}{reporting}}
|
\DeclareOption*{\PassOptionsToClass{\CurrentOption}{reporting}}
|
||||||
\ProcessOptions
|
\ProcessOptions
|
||||||
\LoadClass[report,noRAM]{reporting}
|
\LoadClass[report,noRAM]{reporting}
|
||||||
@ -15,6 +15,9 @@
|
|||||||
\RequirePackage{eurosym}
|
\RequirePackage{eurosym}
|
||||||
\RequirePackage{wrapfig}
|
\RequirePackage{wrapfig}
|
||||||
\RequirePackage{eupdata}
|
\RequirePackage{eupdata}
|
||||||
|
\RequirePackage{chngcntr}
|
||||||
|
\counterwithin{figure}{subsection}
|
||||||
|
\counterwithin{table}{subsection}
|
||||||
\define@key{prop@gen}{reportperiod}{\def\prop@gen@reportperiod{#1}}
|
\define@key{prop@gen}{reportperiod}{\def\prop@gen@reportperiod{#1}}
|
||||||
\define@key{prop@gen}{key}{\@dmp{key=#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}}}
|
\@ifundefined{prop@gen@keys}{\xdef\prop@gen@keys{#1}}{\xdef\prop@gen@keys{\prop@gen@keys,#1}}}
|
||||||
|
Binary file not shown.
Binary file not shown.
Loading…
Reference in New Issue
Block a user