diff --git a/base/pdata.sty b/base/pdata.sty index 1ace7a9..a080a0d 100644 --- a/base/pdata.sty +++ b/base/pdata.sty @@ -8,12 +8,20 @@ %% \NeedsTeXFormat{LaTeX2e}[1999/12/01] \ProvidesPackage{pdata}[2019/03/21 v1.6 Project Data] -\RequirePackage{workaddress}[2016/07/06] \RequirePackage{eurosym} \newif\if@sites\@sitesfalse\let\prop@gen@sites=\relax% \newcounter{@site}% \define@key{prop@gen}{site}{\@sitestrue\@dmp{site=#1}% \stepcounter{@site}\pdata@def{site}{#1}{number}{\the@site}% +\define@key{prop@gen}{#1name}{\pdata@def{site}{#1}{name}{##1}} +\define@key{prop@gen}{#1acronym}{\pdata@def{site}{#1}{acronym}{##1}} +\define@key{prop@gen}{#1country}{\pdata@def{site}{#1}{country}{##1}} +\define@key{prop@gen}{#1countryshort}{\pdata@def{site}{#1}{countryshort}{##1}} +\define@key{prop@gen}{#1streetaddress}{\pdata@def{site}{#1}{streetaddress}{##1}} +\define@key{prop@gen}{#1townzip}{\pdata@def{site}{#1}{townzip}{##1}} +\define@key{prop@gen}{#1url}{\pdata@def{site}{#1}{url}{##1}} +\define@key{prop@gen}{#1logo}{\pdata@def{site}{#1}{logo}{##1}} +\define@key{prop@gen}{#1type}{\pdata@def{site}{#1}{type}{##1}} \@ifundefined{prop@gen@sites}{\xdef\prop@gen@sites{#1}}{\xdef\prop@gen@sites{\prop@gen@sites,#1}}% \define@key{prop@gen}{#1RM}{\pdata@def{site}{#1}{intendedRM}{##1}}% \if@RAM\define@key{prop@gen}{#1RAM}{\pdata@def{site}{#1}{intendedRAM}{##1}}\fi @@ -21,10 +29,11 @@ \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}{#1shortname}{\pdata@def{site}{#1}{shortname}{##1}} +\define@key{prop@gen}{#1employed}{{\let\tabularnewline\relax\let\hline\relax\let% \@ifundefined{prop@gen@employed@lines}% -{\xdef\prop@gen@employed@lines{\wa@ref3{institution}{#1}{shortname} & ##1\tabularnewline\hline}}% -{\xdef\prop@gen@employed@lines{\prop@gen@employed@lines \wa@ref3{institution}{#1}{shortname} & ##1\tabularnewline\hline}}}}} +{\xdef\prop@gen@employed@lines{\pdataref{site}{#1}{shortname} & ##1\tabularnewline\hline}}% +{\xdef\prop@gen@employed@lines{\prop@gen@employed@lines\ \pdataref{site}{#1}{shortname} & ##1\tabularnewline\hline}}}}} \define@key{prop@gen}{RM}{\@dmp{RM=#1}\if@sites% \PackageWarning{Do not use the RM key in the presence of sites}\else% \pdata@def{all}{intended}{RM}{#1}\fi} @@ -32,6 +41,10 @@ \PackageWarning{Do not use the RAM key in the presence of sites}\else% \pdata@def{all}{intended}{RAM}{#1}\fi} \define@key{prop@gen}{PI}{\@dmp{PI=#1}% +\define@key{prop@gen}{#1name}{\pdata@def{PI}{#1}{name}{##1}}% +\define@key{prop@gen}{#1title}{\pdata@def{PI}{#1}{title}{##1}}% +\define@key{prop@gen}{#1affiliation}{\pdata@def{PI}{#1}{affiliation}{##1}}% +\define@key{prop@gen}{#1dept}{\pdata@def{PI}{#1}{dept}{##1}}% \@ifundefined{prop@gen@PIs}{\xdef\prop@gen@PIs{#1}}{\xdef\prop@gen@PIs{\prop@gen@PIs,#1}}} \define@key{prop@gen}{pubspage}{\@ifundefined{prop@gen@pubspages}% {\xdef\prop@gen@pubspages{#1}}{\xdef\prop@gen@pubspages{\prop@gen@pubspages,#1}}} @@ -123,7 +136,7 @@ \newcommand{\signatures}[1]{\section{#1} \qquad\number\day. \number\month. \number\year\\[6ex] \strut\qquad Date\hfill\@for\@p:=\prop@gen@PIs\do{% -\wa@ref3{person}\@p{personaltitle}~\wa@ref3{person}\@p{name}\hfill}} +\pdataref{PI}\@p{title}~\pdataref{PI}\@p{name}\hfill}} \def\@dmp#1{\ifkeys\marginpar{\small #1}\fi} \renewcommand\euro{\officialeuro\xspace} diff --git a/base/proposal.dtx b/base/proposal.dtx index 44f984d..f5170ef 100644 --- a/base/proposal.dtx +++ b/base/proposal.dtx @@ -213,14 +213,12 @@ % \item \DescribeMacro{discipline}|discipline| for the academic discipline and |areas| for % the research areas in that discipline. % \item \DescribeMacro{PI}|PI| to declare the principal investigator. For collaborative -% proposals we can use the |PI| key multiple times. The |proposal| package uses the -% |workaddress| package for representation of personal metadata, -% see~\cite{Kohlhase:workaddress:ctan} or the file |proposal.tex| for details. +% proposals we can use the |PI| key multiple times. \ednote{document the generated keys} % \item Many collaborative proposals are shared between two institutions, which we can % declare with the \DescribeMacro{site}|site| key. As this changes the interface this % should not be used for single-institution proposals. We will describe the setup for a % single-site proposal below and point out the differences. The example |proposal.tex| -% is a two-site proposal. +% is a two-site proposal. \ednote{document the generated keys} % \item Sometimes it makes sense to document the proposal number in the metadata, e.g. to % use the generated metadata file \meta{main}|.pdata| for project reports. The % |proposalnumber| can be used for that. @@ -753,11 +751,9 @@ % \subsection{Proposal Metadata}\label{sec:impl:metadata} % % Most of the metadata functionality is encapsulated into the \DescribeMacro{pdata}|pdata| -% package, which is shared by the proposal and report classes. |pdata.sty| first loads the -% |workaddress| package from sTeX and supplies the Euro symbol. +% package, which is shared by the proposal and report classes. |pdata.sty| first supplies the Euro symbol. % \begin{macrocode} %<*pdata> -\RequirePackage{workaddress}[2016/07/06] \RequirePackage{eurosym} % \end{macrocode} % We define the keys for metadata declarations in the |proposal| environment, they park @@ -771,6 +767,15 @@ \newcounter{@site}% \define@key{prop@gen}{site}{\@sitestrue\@dmp{site=#1}% \stepcounter{@site}\pdata@def{site}{#1}{number}{\the@site}% +\define@key{prop@gen}{#1name}{\pdata@def{site}{#1}{name}{##1}} +\define@key{prop@gen}{#1acronym}{\pdata@def{site}{#1}{acronym}{##1}} +\define@key{prop@gen}{#1country}{\pdata@def{site}{#1}{country}{##1}} +\define@key{prop@gen}{#1countryshort}{\pdata@def{site}{#1}{countryshort}{##1}} +\define@key{prop@gen}{#1streetaddress}{\pdata@def{site}{#1}{streetaddress}{##1}} +\define@key{prop@gen}{#1townzip}{\pdata@def{site}{#1}{townzip}{##1}} +\define@key{prop@gen}{#1url}{\pdata@def{site}{#1}{url}{##1}} +\define@key{prop@gen}{#1logo}{\pdata@def{site}{#1}{logo}{##1}} +\define@key{prop@gen}{#1type}{\pdata@def{site}{#1}{type}{##1}} \@ifundefined{prop@gen@sites}{\xdef\prop@gen@sites{#1}}{\xdef\prop@gen@sites{\prop@gen@sites,#1}}% \define@key{prop@gen}{#1RM}{\pdata@def{site}{#1}{intendedRM}{##1}}% \if@RAM\define@key{prop@gen}{#1RAM}{\pdata@def{site}{#1}{intendedRAM}{##1}}\fi @@ -778,10 +783,11 @@ \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}{#1shortname}{\pdata@def{site}{#1}{shortname}{##1}} +\define@key{prop@gen}{#1employed}{{\let\tabularnewline\relax\let\hline\relax\let% \@ifundefined{prop@gen@employed@lines}% -{\xdef\prop@gen@employed@lines{\wa@ref3{institution}{#1}{shortname} & ##1\tabularnewline\hline}}% -{\xdef\prop@gen@employed@lines{\prop@gen@employed@lines \wa@ref3{institution}{#1}{shortname} & ##1\tabularnewline\hline}}}}} +{\xdef\prop@gen@employed@lines{\pdataref{site}{#1}{shortname} & ##1\tabularnewline\hline}}% +{\xdef\prop@gen@employed@lines{\prop@gen@employed@lines\ \pdataref{site}{#1}{shortname} & ##1\tabularnewline\hline}}}}} % \end{macrocode} % If there are no sites, then we have to define keys |RM| and |RAM| that store the % intended research (assistant months). Unfortunately, we cannot just include this in the @@ -797,6 +803,10 @@ % similarly, the |PI| keys are registered in |\prop@gen@PIs|. % \begin{macrocode} \define@key{prop@gen}{PI}{\@dmp{PI=#1}% +\define@key{prop@gen}{#1name}{\pdata@def{PI}{#1}{name}{##1}}% +\define@key{prop@gen}{#1title}{\pdata@def{PI}{#1}{title}{##1}}% +\define@key{prop@gen}{#1affiliation}{\pdata@def{PI}{#1}{affiliation}{##1}}% +\define@key{prop@gen}{#1dept}{\pdata@def{PI}{#1}{dept}{##1}}% \@ifundefined{prop@gen@PIs}{\xdef\prop@gen@PIs{#1}}{\xdef\prop@gen@PIs{\prop@gen@PIs,#1}}} % \end{macrocode} % and the |pubspage| keys in |\prop@gen@pubspages|. @@ -892,8 +902,9 @@ \ifx\prop@gen@acronym\@empty\else{\LARGE Acronym: {\prop@gen@acronym}}\\[.2cm]\fi {\large\today}\\[1em] \begin{tabular}{c*{\the@PIs}{c}} - \prop@tl\prop@gen@PIs{\wa@ref3{person}\tl@ext{name}}\\ - \prop@tl\prop@gen@PIs{\wa@ref3{institution}{\wa@ref3{person}\tl@ext{affiliation}}{name}} + \prop@tl\prop@gen@PIs{\pdataref{PI}\tl@ext{name}}\\ + \prop@tl\prop@gen@PIs{\pdataref{PI}\tl@ext{affiliation}}\\ + \prop@tl\prop@gen@PIs{\pdataref{PI}\tl@ext{dept}}\\ \end{tabular}\\[2cm] \end{center} \setcounter{tocdepth}{2}\tableofcontents\newpage\setcounter{page}{1}} @@ -904,7 +915,7 @@ \begin{itemize} \@for\@I:=\prop@gen@PIs\do{% \item Curriculum Vitae and list of publications for - \wa@ref3{person}\@I{personaltitle} \wa@ref3{person}\@I{name}} + \pdataref{PI\@I}{title} \pdataref{PI}\@I{name}} \end{itemize}\newpage \printbibliography[heading=warnpubs]} % \end{macrocode} @@ -977,8 +988,9 @@ \ifx\prop@gen@acronym\@empty\else{\LARGE Acronym: {\prop@gen@acronym}}\\[.2cm]\fi {\large\today}\\[1em] \begin{tabular}{c*{\the@PIs}{c}} - \prop@tl\prop@gen@PIs{\wa@ref3{person}\tl@ext{name}}\\ - \prop@tl\prop@gen@PIs{\wa@ref3{institution}{\wa@ref3{person}\tl@ext{affiliation}}{name}} + \prop@tl\prop@gen@PIs{\pdataref{PI}\tl@ext{name}}\\ + \prop@tl\prop@gen@PIs{\pdataref{PI}\tl@ext{affiliation}}\\ + \prop@tl\prop@gen@PIs{\pdataref{PI}\tl@ext{dept}}\\ \end{tabular}\\[2cm] \end{center} \setcounter{tocdepth}{2}\tableofcontents\newpage\setcounter{page}{1}} @@ -990,8 +1002,8 @@ % \begin{macro}{\site*} % \begin{macrocode} %<*sty> -\newcommand\site[1]{\hyperlink{site@#1@target}{\textbf{\wa@ref3{institution}{#1}{acronym}}}} -\newcommand\sitename[1]{\hyperlink{site@#1@target}{\textbf{\wa@ref3{institution}{#1}{name}}}} +\newcommand\site[1]{\hyperlink{site@#1@target}{\textbf{\pdataref{site}{#1}{acronym}}}} +\newcommand\sitename[1]{\hyperlink{site@#1@target}{\textbf{\pdataref{site}{#1}{name}}}} % \end{macrocode} % \end{macro} % @@ -2684,7 +2696,7 @@ joint&\multicolumn{\the@site}{l|}{\jpub $\hat=$ publication, \jpro $\hat=$ proje \newcommand{\signatures}[1]{\section{#1} \qquad\number\day. \number\month. \number\year\\[6ex] \strut\qquad Date\hfill\@for\@p:=\prop@gen@PIs\do{% -\wa@ref3{person}\@p{personaltitle}~\wa@ref3{person}\@p{name}\hfill}} +\pdataref{PI}\@p{title}~\pdataref{PI}\@p{name}\hfill}} % \end{macrocode} % \end{macro} % diff --git a/base/proposal.pdf b/base/proposal.pdf index a53728f..68ea30a 100644 Binary files a/base/proposal.pdf and b/base/proposal.pdf differ diff --git a/base/proposal.sty b/base/proposal.sty index 5c069f3..3ee8583 100644 --- a/base/proposal.sty +++ b/base/proposal.sty @@ -81,8 +81,9 @@ \ifx\prop@gen@acronym\@empty\else{\LARGE Acronym: {\prop@gen@acronym}}\\[.2cm]\fi {\large\today}\\[1em] \begin{tabular}{c*{\the@PIs}{c}} - \prop@tl\prop@gen@PIs{\wa@ref3{person}\tl@ext{name}}\\ - \prop@tl\prop@gen@PIs{\wa@ref3{institution}{\wa@ref3{person}\tl@ext{affiliation}}{name}} + \prop@tl\prop@gen@PIs{\pdataref{PI}\tl@ext{name}}\\ + \prop@tl\prop@gen@PIs{\pdataref{PI}\tl@ext{affiliation}}\\ + \prop@tl\prop@gen@PIs{\pdataref{PI}\tl@ext{dept}}\\ \end{tabular}\\[2cm] \end{center} \setcounter{tocdepth}{2}\tableofcontents\newpage\setcounter{page}{1}} @@ -90,7 +91,7 @@ \begin{itemize} \@for\@I:=\prop@gen@PIs\do{% \item Curriculum Vitae and list of publications for - \wa@ref3{person}\@I{personaltitle} \wa@ref3{person}\@I{name}} + \pdataref{PI\@I}{title} \pdataref{PI}\@I{name}} \end{itemize}\newpage \printbibliography[heading=warnpubs]} \newenvironment{proposal}[1][]{\readpdata\jobname @@ -113,8 +114,8 @@ {\end{prop@proposal} \pdata@def{prop}{page}{last}{\thepage}\ofpagefalse% \pdata@close} -\newcommand\site[1]{\hyperlink{site@#1@target}{\textbf{\wa@ref3{institution}{#1}{acronym}}}} -\newcommand\sitename[1]{\hyperlink{site@#1@target}{\textbf{\wa@ref3{institution}{#1}{name}}}} +\newcommand\site[1]{\hyperlink{site@#1@target}{\textbf{\pdataref{site}{#1}{acronym}}}} +\newcommand\sitename[1]{\hyperlink{site@#1@target}{\textbf{\pdataref{site}{#1}{name}}}} \newcommand\objective@label[1]{O#1} \define@key{obj}{id}{\def\obj@id{#1}\@dmp{id=#1}} \define@key{obj}{title}{\def\obj@title{#1}} diff --git a/base/reporting.cls b/base/reporting.cls index d56f89d..e29a5fa 100644 --- a/base/reporting.cls +++ b/base/reporting.cls @@ -58,8 +58,9 @@ \ifx\prop@gen@acronym\@empty\else{\LARGE Acronym: {\prop@gen@acronym}}\\[.2cm]\fi {\large\today}\\[1em] \begin{tabular}{c*{\the@PIs}{c}} - \prop@tl\prop@gen@PIs{\wa@ref3{person}\tl@ext{name}}\\ - \prop@tl\prop@gen@PIs{\wa@ref3{institution}{\wa@ref3{person}\tl@ext{affiliation}}{name}} + \prop@tl\prop@gen@PIs{\pdataref{PI}\tl@ext{name}}\\ + \prop@tl\prop@gen@PIs{\pdataref{PI}\tl@ext{affiliation}}\\ + \prop@tl\prop@gen@PIs{\pdataref{PI}\tl@ext{dept}}\\ \end{tabular}\\[2cm] \end{center} \setcounter{tocdepth}{2}\tableofcontents\newpage\setcounter{page}{1}} diff --git a/dfg/dfgpdata.sty b/dfg/dfgpdata.sty index 6e6c3cf..60b89b8 100644 --- a/dfg/dfgpdata.sty +++ b/dfg/dfgpdata.sty @@ -13,27 +13,11 @@ \ProcessOptions \define@key{prop@gen}{thema}{\def\prop@gen@thema{#1}\pdata@def{prop}{gen}{thema}{#1}} \def\prop@gen@Dkeywords{kommt noch} +\def\prop@gen@keywords{to be added} \define@key{prop@gen}{Dkeywords}{\def\prop@gen@Dkeywords{#1}} \renewcommand\prop@gen@instrument{Neuantrag auf Sachbeihilfe} \newcommand\prop@gen@thema{??? Thema ???} \newcommand\deu[1]{#1} -\newcommand\dfg@applicants@lines{% -\prop@tl\prop@gen@PIs{\wa@ref3{person}\tl@ext{personaltitle} \wa@ref3{person}\tl@ext{name}}\\ -\prop@tl\prop@gen@PIs{\wa@ref3{person}\tl@ext{academictitle}}\\ -\prop@tl\prop@gen@PIs{\wa@ref3{person}\tl@ext{birthdate}}\\} -\newcommand\dfg@applicants@institute@lines{% -\prop@tl\prop@gen@PIs{\wa@ref3{institution}{\wa@ref3{person}\tl@ext{affiliation}}{shortname}}\\ -\prop@tl\prop@gen@PIs{\wa@ref3{person}\tl@ext{workaddress}}\\ -\prop@tl\prop@gen@PIs{Tel: \wa@ref3{person}\tl@ext{worktel}}\\ -\prop@tl\prop@gen@PIs{Fax: \wa@ref3{person}\tl@ext{workfax}}\\ -\prop@tl\prop@gen@PIs{\wa@ref3{person}\tl@ext{email}}\\} -\newcommand\dfg@applicants@private@lines{% -\prop@tl\prop@gen@PIs{\wa@ref3{person}\tl@ext{privaddress}}\\ -\prop@tl\prop@gen@PIs{Tel: \wa@ref3{person}\tl@ext{privtel}}\\} -\newcommand\dfg@applicants{% -\subsection{\if@sites\ifnum\the@sites>1 Joint Proposal; \fi\fi% -Applicant\if@sites\ifnum\the@PIs>1{s}\fi\fi\ \deu{(Antragsteller)}}% -\dfg@applicants@table} \newcommand\dfg@topic{\subsection{\ifdeutsch Thema\else Topic \deu{(Thema)}\fi}\prop@gen@thema} \newcommand\dfg@area@field{% \ifdeutsch\subsection{Fachgebiet und Arbeitsrichtung}\else diff --git a/dfg/dfgproposal.cls b/dfg/dfgproposal.cls index e535836..178171e 100644 --- a/dfg/dfgproposal.cls +++ b/dfg/dfgproposal.cls @@ -19,24 +19,10 @@ \ifdeutsch\RequirePackage[ngerman]{babel} \else\RequirePackage[ngerman,english]{babel}\fi \newenvironment{sitedescription}[2][]% -{\def\@test{#1}\def\@@title{\ifx\@test\@empty\wa@ref3{institution}{#2}{acronym}\else #1\fi: -\textsc{\wa@ref3{institution}{#2}{name}}} +{\def\@test{#1}\def\@@title{\ifx\@test\@empty\pdataref{site}{#2}{acronym}\else #1\fi: +\textsc{\pdataref{site}{#2}{name}}} \@for\@I:=#2\do{\pdata@target{site}\@I{}}\subsubsection\@@title} {} -\newlength\applicants@table@columnwidth -\newcommand\dfg@applicants@table% -{\setlength\applicants@table@columnwidth\textwidth -\advance\applicants@table@columnwidth by -6em -\divide\applicants@table@columnwidth by \the@PIs -\ifnum\the@PIs>2\begin{tabular}{|l|*{\the@PIs}{p{\applicants@table@columnwidth}|}} -\else\begin{tabular}{|l|*{\the@PIs}{l|}}\fi -\hline -\dfg@applicants@lines\hline -&\multicolumn{\the@PIs}{|l|}{\textbf{Work Address\deu{ (Dienstanschrift)}:}}\\\hline -\dfg@applicants@institute@lines\hline -&\multicolumn{\the@PIs}{|l|}{\textbf{Private Address\deu{ (Privatanschrift)}:}}\\\hline -\dfg@applicants@private@lines\hline -\end{tabular}} \renewenvironment{prop@proposal} {\ifsubmit\setcounter{page}{1}\else\thispagestyle{empty}\fi \begin{center} @@ -44,7 +30,11 @@ {\LARGE\textbf{\prop@gen@title}}\\[.3cm] \ifx\prop@gen@acronym\@empty\else{\LARGE Acronym: {\prop@gen@acronym}}\\[.2cm]\fi {\large\today}\\[1em] -\WAauthorblock[aff]\prop@gen@PIs\\[2cm] +\begin{tabular}{c*{\the@PIs}{c}} +\prop@tl\prop@gen@PIs{\pdataref{PI}\tl@ext{name}}\\ +\prop@tl\prop@gen@PIs{\pdataref{PI}\tl@ext{affiliation}}\\ +\prop@tl\prop@gen@PIs{\pdataref{PI}\tl@ext{dept}}\\ +\end{tabular}\\[2cm] \end{center} \ifgeneral \ifsubmit\else @@ -55,7 +45,6 @@ \newpage\thispagestyle{empty} \ifdeutsch\section{Allgemeine Angaben (nur f\"ur ELAN)}\else \section{General Information (for the ELAN system only)}\fi -\dfg@applicants \dfg@topic \dfg@area@field \ifdeutsch\subsection{Voraussichtliche Gesamtdauer}\else diff --git a/dfg/dfgproposal.dtx b/dfg/dfgproposal.dtx index 0ffb6e7..e56dfd0 100644 --- a/dfg/dfgproposal.dtx +++ b/dfg/dfgproposal.dtx @@ -231,6 +231,7 @@ %<*pdata> \define@key{prop@gen}{thema}{\def\prop@gen@thema{#1}\pdata@def{prop}{gen}{thema}{#1}} \def\prop@gen@Dkeywords{kommt noch} +\def\prop@gen@keywords{to be added} \define@key{prop@gen}{Dkeywords}{\def\prop@gen@Dkeywords{#1}} % % \end{macrocode} @@ -257,41 +258,7 @@ \newcommand\deu[1]{#1} % \end{macrocode} % -% Now, we can build the title page and general information, we first start with the -% applicants table. The following macros build up the lines to be used in the table -% eventually. -% \begin{macro}{\dfg@applicants@*} -% the macros use the |\prop@tl| macro from the base |proposal| package which iterates -% over the first argument (the PIs here) building up lines with the material from the -% second argument (where |\tl@ext| is the current PI). -% \begin{macrocode} -\newcommand\dfg@applicants@lines{% -\prop@tl\prop@gen@PIs{\wa@ref3{person}\tl@ext{personaltitle} \wa@ref3{person}\tl@ext{name}}\\ -\prop@tl\prop@gen@PIs{\wa@ref3{person}\tl@ext{academictitle}}\\ -\prop@tl\prop@gen@PIs{\wa@ref3{person}\tl@ext{birthdate}}\\} -\newcommand\dfg@applicants@institute@lines{% -\prop@tl\prop@gen@PIs{\wa@ref3{institution}{\wa@ref3{person}\tl@ext{affiliation}}{shortname}}\\ -\prop@tl\prop@gen@PIs{\wa@ref3{person}\tl@ext{workaddress}}\\ -\prop@tl\prop@gen@PIs{Tel: \wa@ref3{person}\tl@ext{worktel}}\\ -\prop@tl\prop@gen@PIs{Fax: \wa@ref3{person}\tl@ext{workfax}}\\ -\prop@tl\prop@gen@PIs{\wa@ref3{person}\tl@ext{email}}\\} -\newcommand\dfg@applicants@private@lines{% -\prop@tl\prop@gen@PIs{\wa@ref3{person}\tl@ext{privaddress}}\\ -\prop@tl\prop@gen@PIs{Tel: \wa@ref3{person}\tl@ext{privtel}}\\} -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\dfg@applicants} -% We automatically make it plurals if there is more than one PI and we indicate a joint -% proposal if there is more than one site. -% \begin{macrocode} -\newcommand\dfg@applicants{% -\subsection{\if@sites\ifnum\the@sites>1 Joint Proposal; \fi\fi% -Applicant\if@sites\ifnum\the@PIs>1{s}\fi\fi\ \deu{(Antragsteller)}}% -\dfg@applicants@table} -% \end{macrocode} -% \end{macro} -% +% Now, we can build the title page and general information. % \begin{macrocode} \newcommand\dfg@topic{\subsection{\ifdeutsch Thema\else Topic \deu{(Thema)}\fi}\prop@gen@thema} % \end{macrocode} @@ -310,38 +277,14 @@ Applicant\if@sites\ifnum\the@PIs>1{s}\fi\fi\ \deu{(Antragsteller)}}% % \begin{macrocode} %<*cls> \newenvironment{sitedescription}[2][]% -{\def\@test{#1}\def\@@title{\ifx\@test\@empty\wa@ref3{institution}{#2}{acronym}\else #1\fi: -\textsc{\wa@ref3{institution}{#2}{name}}} +{\def\@test{#1}\def\@@title{\ifx\@test\@empty\pdataref{site}{#2}{acronym}\else #1\fi: +\textsc{\pdataref{site}{#2}{name}}} \@for\@I:=#2\do{\pdata@target{site}\@I{}}\subsubsection\@@title} {} % \end{macrocode} % \end{environment} % % \subsection{Proposal Title Page}\label{sec:impl:proptitlepage} -% -% \begin{macro}{\dfg@applicants@table} -% Now, we can build the title page and general information, we first start with the -% applicants table: We first compute the width of the columns for the case where we have -% more than two PIs. Then we add the lines we compute with the auxiliary macros -% |\dfg@applicants@lines|, |\dfg@applicants@institute@lines| and -% |\dfg@applicants@private@lines| -% \begin{macrocode} -\newlength\applicants@table@columnwidth -\newcommand\dfg@applicants@table% -{\setlength\applicants@table@columnwidth\textwidth -\advance\applicants@table@columnwidth by -6em -\divide\applicants@table@columnwidth by \the@PIs -\ifnum\the@PIs>2\begin{tabular}{|l|*{\the@PIs}{p{\applicants@table@columnwidth}|}} -\else\begin{tabular}{|l|*{\the@PIs}{l|}}\fi -\hline -\dfg@applicants@lines\hline -&\multicolumn{\the@PIs}{|l|}{\textbf{Work Address\deu{ (Dienstanschrift)}:}}\\\hline -\dfg@applicants@institute@lines\hline -&\multicolumn{\the@PIs}{|l|}{\textbf{Private Address\deu{ (Privatanschrift)}:}}\\\hline -\dfg@applicants@private@lines\hline -\end{tabular}} -% \end{macrocode} -% \end{macro} % % \begin{environment}{prop@proposal} % This internal environment is called in the |proposal| environment from the |proposal| @@ -354,7 +297,11 @@ Applicant\if@sites\ifnum\the@PIs>1{s}\fi\fi\ \deu{(Antragsteller)}}% {\LARGE\textbf{\prop@gen@title}}\\[.3cm] \ifx\prop@gen@acronym\@empty\else{\LARGE Acronym: {\prop@gen@acronym}}\\[.2cm]\fi {\large\today}\\[1em] -\WAauthorblock[aff]\prop@gen@PIs\\[2cm] +\begin{tabular}{c*{\the@PIs}{c}} +\prop@tl\prop@gen@PIs{\pdataref{PI}\tl@ext{name}}\\ +\prop@tl\prop@gen@PIs{\pdataref{PI}\tl@ext{affiliation}}\\ +\prop@tl\prop@gen@PIs{\pdataref{PI}\tl@ext{dept}}\\ +\end{tabular}\\[2cm] \end{center} \ifgeneral \ifsubmit\else @@ -365,7 +312,6 @@ Applicant\if@sites\ifnum\the@PIs>1{s}\fi\fi\ \deu{(Antragsteller)}}% \newpage\thispagestyle{empty} \ifdeutsch\section{Allgemeine Angaben (nur f\"ur ELAN)}\else \section{General Information (for the ELAN system only)}\fi -\dfg@applicants \dfg@topic \dfg@area@field \ifdeutsch\subsection{Voraussichtliche Gesamtdauer}\else @@ -466,8 +412,8 @@ Applicant\if@sites\ifnum\the@PIs>1{s}\fi\fi\ \deu{(Antragsteller)}}% {\large Reference number(s): \show@prop@gen@keys}\\[.2cm] {\large\today}\\[1em] \begin{tabular}{c*{\the@PIs}{c}} - \prop@tl\prop@gen@PIs{\wa@ref3{person}\tl@ext{name}}\\ - \prop@tl\prop@gen@PIs{\wa@ref3{institution}{\wa@ref3{person}\tl@ext{affiliation}}{name}} + \prop@tl\prop@gen@PIs{\pdataref{PI}\tl@ext{name}}\\ + \prop@tl\prop@gen@PIs{\pdataref{PI}\tl@ext{affiliation}} \end{tabular}\\[2cm] \end{center} \setcounter{tocdepth}{1}\tableofcontents\newpage\setcounter{page}{1} @@ -585,7 +531,7 @@ Applicant\if@sites\ifnum\the@PIs>1{s}\fi\fi\ \deu{(Antragsteller)}}% % LocalWords: hyperref LaTeX workpackage PIs thema acrolong anzungsantrag im generaltrue % LocalWords: Einzelverfahren tabline Allgemeine Angaben Antragsteller worktel Deutscher % LocalWords: bitabline personaltitle academictitle birthdate Dienstanschrift Antrag gen -% LocalWords: workaddress atabline workfax Privatanschrift privaddress privtel prop@gen +% LocalWords: atabline workfax Privatanschrift privaddress privtel prop@gen % LocalWords: dt Kennwort Fachgebiet und Arbeitsrichtung Voraussichtliche wa deutschtrue % LocalWords: Gesamtdauer Antragszeitraum Zusammenfassung workarea wp wps num Neuantrag % LocalWords: refundefinedtrue lightgray gantt xstep Unterschriften Id areas auf deu nur @@ -626,7 +572,7 @@ Applicant\if@sites\ifnum\the@PIs>1{s}\fi\fi\ \deu{(Antragsteller)}}% % LocalWords: whilenum hfill marginpar texteuro officialeuro texttt newpage cb grau wprm % LocalWords: min-crossrefs pdata xdef newcommand hline aff NeedsTeXFormat dfgreporting % LocalWords: renewenvironment nameuse paperlist applareas applareas dfgpdata kursiv -% LocalWords: Gesch aftszeichen projpapers shortname sitedescription ednote generalfalse +% LocalWords: Gesch aftszeichen projpapers sitedescription ednote generalfalse % LocalWords: textsc newlength setlength textwidth WAauthorblock assoc tmpop markiert % LocalWords: tmpop tmpop deutschfalse Sachbeihilfe Arbeitsgebiet Fortsetungsantrag % LocalWords: Publikationen Publikatinsverzeichnis Wissenschaftler Verwertungsfelder diff --git a/dfg/dfgproposal.pdf b/dfg/dfgproposal.pdf index c9c56a8..a540207 100644 Binary files a/dfg/dfgproposal.pdf and b/dfg/dfgproposal.pdf differ diff --git a/dfg/dfgreporting.cls b/dfg/dfgreporting.cls index ea20abf..a4db70e 100644 --- a/dfg/dfgreporting.cls +++ b/dfg/dfgreporting.cls @@ -45,8 +45,8 @@ {\large Reference number(s): \show@prop@gen@keys}\\[.2cm] {\large\today}\\[1em] \begin{tabular}{c*{\the@PIs}{c}} - \prop@tl\prop@gen@PIs{\wa@ref3{person}\tl@ext{name}}\\ - \prop@tl\prop@gen@PIs{\wa@ref3{institution}{\wa@ref3{person}\tl@ext{affiliation}}{name}} + \prop@tl\prop@gen@PIs{\pdataref{PI}\tl@ext{name}}\\ + \prop@tl\prop@gen@PIs{\pdataref{PI}\tl@ext{affiliation}} \end{tabular}\\[2cm] \end{center} \setcounter{tocdepth}{1}\tableofcontents\newpage\setcounter{page}{1} diff --git a/etc/metakeys.sty b/etc/metakeys.sty deleted file mode 100644 index ddcaec0..0000000 --- a/etc/metakeys.sty +++ /dev/null @@ -1,63 +0,0 @@ -%% -%% This is file `metakeys.sty', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% metakeys.dtx (with options: `package') -%% -\NeedsTeXFormat{LaTeX2e}[1999/12/01] -\ProvidesPackage{metakeys}[2011/07/03 v0.9 Framework for Metadata Keys] -\newif\ifmetakeys@showmeta\metakeys@showmetafalse -\DeclareOption{showmeta}{\metakeys@showmetatrue} -\ProcessOptions -\RequirePackage{keyval}[1997/11/10] -\newcommand\addmetakey{\@ifstar\addmetakey@star\addmetakey@nostar} -\newcommand\addmetakey@star[3][]% -{\@ifnextchar[{\addmetakey@star@aux[#1]{#2}{#3}}{\addmetakey@star@aux[#1]{#2}{#3}[]}} -\def\addmetakey@star@aux[#1]#2#3[#4]{\metakeys@ext@clear@keys{#2}{#3}{#1}% -\metakeys@initialize@showkeys{#2}% -\define@key{#2}{#3}[#4]{\expandafter\gdef\csname #2@#3\endcsname{##1}}} -\newcommand\addmetakey@nostar[3][]% -{\metakeys@ext@showkeys{#2}{#3}\addmetakey@star[#1]{#2}{#3}} -\newcommand\metasetkeys[2]{\@nameuse{clear@#1@keys}\setkeys{#1}{#2}% -\ifmetakeys@showmeta% -\edef\@@keys{\@nameuse{#1@showkeys}}% -\metakeys@show@keys{#1}{\@for\@I:=\@@keys\do{\metakeys@show@keyval{#1}{\@I}}}% -\fi} -\newcommand\metakeys@ext@clear@keys[3]{\@metakeys@ext@clear@keys{#1}{#1@#2}{#3}} -\newcommand\@metakeys@ext@clear@keys[3]{\@ifundefined{clear@#1@keys}% -{\expandafter\gdef\csname clear@#1@keys\endcsname% -{\expandafter\gdef\csname #2\endcsname{#3}}}% -{\expandafter\g@addto@macro\csname clear@#1@keys\endcsname% -{\expandafter\gdef\csname #2\endcsname{#3}}}} -\newcommand\addmetalistkey{\@ifstar\addmetalistkey@star\addmetalistkey@nostar} -\newcommand\addmetalistkey@star[3][]{\metakeys@ext@clear@keys{#2}{#3}{#1}% -\metakeys@initialize@showkeys{#2}% -\expandafter\gdef\csname #2@#3s\endcsname{} -\define@key{#2}{#3}[#1]{% -\expandafter\ifx\csname #2@#3s\endcsname\@empty\expandafter\gdef\csname #2@#3s\endcsname{##1}% -\else\expandafter\xdef\csname #2@#3s\endcsname{\csname #2@#3s\endcsname,##1}% -\fi}} -\newcommand\addmetalistkey@nostar[3][]% -{\metakeys@ext@showkeys{#2}{#3}\addmetalistkey@star[#1]{#2}{#3}} -\newcommand\metakeys@initialize@showkeys[1]% -{\@ifundefined{#1@showkeys}{\expandafter\def\csname #1@showkeys\endcsname{}}{}}% -\newcommand\metakeys@ext@showkeys[2]{\@ifundefined{#1@showkeys}% -{\expandafter\def\csname #1@showkeys\endcsname{#2}}% -{\expandafter\edef\csname #1@showkeys\endcsname{\csname #1@showkeys\endcsname,#2}}} -\newcommand\@metakeys@show@key[2]{\metakeys@show@key{#2}{#1}} -\newcommand\metakeys@show@key[2]{\edef\@test{#2}\ifx\@test\@empty\else #1:#2\quad\fi} -\newcommand\metakeys@show@keys[2]{\marginpar{{\scriptsize #2}}} -\newcommand\metakeys@show@keyval[2]% -{\expandafter\@metakeys@show@key\csname #1@#2\endcsname{#2}} -\newcommand\showmetakeys{\metakeys@showmetatrue} -\newcommand\hidemetakeys{\metakeys@showmetafalse} -\newcommand\addmetakeynew[3][]{\metakeys@ext@clear@keys{#2}{#3}{#1}% -\define@key{#2}{#3}{\expandafter\gdef\csname #2@#3\endcsname{##1}}} -\newcommand\metakeys@unspecified{an metakeys-defined key left unspecified} -\newcommand\metakeysifus[4]{\message{testing #1@#2=\csname#1@#2\endcsname}% -\expandafter\ifx\csname #1@#2\endcsname\metakeys@unspecified{#3}\else{#4}\fi} -\endinput -%% -%% End of file `metakeys.sty'. diff --git a/etc/sref.sty b/etc/sref.sty deleted file mode 100644 index 914660c..0000000 --- a/etc/sref.sty +++ /dev/null @@ -1,244 +0,0 @@ -%% -%% This is file `sref.sty', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% sref.dtx (with options: `package') -%% -\NeedsTeXFormat{LaTeX2e}[1999/12/01] -\ProvidesPackage{sref}[2016/04/07 v1.2 Semantic Cross-References] -\newif\ifextrefs\extrefsfalse -\DeclareOption{extrefs}{\extrefstrue} -\ProcessOptions -\RequirePackage{metakeys} -\RequirePackage{xspace} -\RequirePackage{etoolbox} -\addmetakey{sref}{linktext} -\addmetakey{sref}{fallback} -\addmetakey{sref}{pre} -\addmetakey{sref}{post} -\newcommand\sref[2][]{% - \metasetkeys{sref}{#1}% - \ifcsundef{sref@part}{% - \sref@hlink[\sref@linktext]{#2}{\sref@fallback}{\sref@pre}{\sref@post}% - }{% - \sref@hlink[\sref@linktext]{\sref@part @#2}{\sref@fallback}{\sref@pre}{\sref@post}% - }% - \xspace% -}% -\newcommand\srefs[3][]{% - \def\@test{#1}% - \ifx\@test\@empty% - \sref{#2} and \sref{#3}% - \else% - #1% - \fi% -}% -\newcommand\srefl[3][]{% - \def\@test{#1}% - \ifx\@test\@empty% - \sref{#2} to \sref{#3}% - \else% - #1% - \fi% -}% -\newcommand\spageref[1]{% - \ifcsundef{sref@part}{% - \sref@pageref{#1}% - }{% - \sref@pageref{\sref@part @#1}% - }% -}% -\newif\ifhref\hreffalse% -\AtBeginDocument{% - \@ifpackageloaded{hyperref}{% - \hreftrue% - }{% - \hreffalse% - }% -}% -\newcommand\sref@href@ifh[2]{% - \ifhref% - \href{#1}{#2}% - \else% - #2% - \fi% -}% -\newcommand\sref@hlink@ifh[2]{% - \ifhref% - \hyperlink{#1}{#2}% - \else% - #2% - \fi% -}% -\newcommand\sref@target@ifh[2]{% - \ifhref% - \hypertarget{#1}{#2}% - \else% - #2% - \fi% -}% -\def\sref@target{% - \ifx\sref@id\@empty% - \relax% - \else% - \edef\@target{sref@\ifcsundef{sref@part}{}{\sref@part @}\sref@id @target}% - \sref@target@ifh\@target{}% - \fi% -}% -\newcommand\@sref@def[3]{\csgdef{sref@#1@#2}{#3}} -\ifextrefs% - \newwrite\refs@file% -\else% - \def\refs@file{\@auxout}% -\fi% -\newcommand\sref@def[3]{% - %\@sref@def{#1}{#2}{#3}% - \protected@write\refs@file{}{\string\@sref@def{#1}{#2}{#3}}% -}% -\addmetakey{srefaddidkey}{prefix} -\newcommand\srefaddidkey[2][]{% - \metasetkeys{srefaddidkey}{#1}% - \@metakeys@ext@clear@keys{#2}{sref@id}{}% id cannot have a default - \metakeys@ext@clear@keys{#2}{id}{}% - \metakeys@ext@showkeys{#2}{id}% - \define@key{#2}{id}{% - \edef\sref@id{\srefaddidkey@prefix ##1}% - %\expandafter\edef\csname #2@id\endcsname{\srefaddidkey@prefix ##1}% - \csedef{#2@id}{\srefaddidkey@prefix ##1}% - }% -}% -\newcommand\makeextrefs[1]{% - \gdef\sref@part{#1}% - \makeatletter% - \IfFileExists{\jobname.refs}{\input{\jobname.refs}}{}% - \immediate\openout\refs@file=\jobname.refs - \makeatother% -}% -\newcommand\sref@label[2]{% - \sref@def{\ifcsundef{sref@part}{}{\sref@part @}#2}{page}{\thepage}% - \sref@def{\ifcsundef{sref@part}{}{\sref@part @}#2}{label}{#1}% -}% -\newcommand\sreflabel[2]{\sref@label{#1 \@currentlabel}{#2}} -\newcommand\sref@label@id[1]{% - \ifx\sref@id\@empty% - \relax% - \else% - \sref@label{#1}{\sref@id}% - \fi% -}% -\newcommand\sref@label@id@arg[2]{% - \def\@@id{#2} - \ifx\@@id\@empty% - \relax% - \else% - \sref@label{#1}{\@@id}% - \fi% -}% -\newcommand\sref@hlink[5][]{% - \edef\@linktext{#1}% - \edef\@fallback{#3}% - \ifcsundef{sref@#2@label}{% - \ifx\@fallback\@empty% warn about undefined links and show a substitute - \protect\G@refundefinedtrue\@latex@warning{reference #2 undefined}% - \ifx\@linktext\@empty% - ?#2?% - \else% - \@linktext% - \fi% - \else% - \protect\G@refundefinedtrue\@latex@warning{using fallback for undefined reference #2}% - \@fallback% - \fi - }{% - \edef\@link{#4\@nameuse{sref@#2@label}#5}% retrieve the reference label and prepost it - \ifx\@linktext\@empty% - \sref@hlink@ifh{sref@#2@target}{\@link}% - \else% - \sref@hlink@ifh{sref@#2@target}{\@linktext}% - \fi% - }% -}% -\newcommand\sref@page@label[1]{p.~{#1}} -\newcommand\sref@pageref[1]{% - \ifcsundef{sref@#1@page}{% - \protect\G@refundefinedtrue\@latex@warning{reference #1 undefined}\sref@page@label{??}% - }{% - \sref@hlink@ifh{sref@#1@target}{\sref@page@label{\@nameuse{sref@#1@page}}}% - }% -}% -\newcommand\sref@href[3][]{% - \edef\@linktext{#1}% - \ifcsundef{sref@#2@label}{% - \protect\G@refundefinedtrue\@latex@warning{reference #2 undefined}??% - }{% - \ifcsundef{sref@#3@URI}{% - \protect\G@refundefinedtrue\@latex@warning{external refs of type #3 undefined}??% - }{% - \edef\@uri{\@nameuse{sref@#3@URI}.pdf\#sref@#2@target}% - \edef\@label{\ifx\@linktext\@empty\@nameuse{sref@#2@label}\else\@linktext\fi}% - \sref@href@ifh\@uri\@label% - }% - }% -}% -\ifextrefs% - \newcommand\extref[3][]{% - \def\theextref{\sref@href[#1]{#2@#3}{#2}}% - \csname doextref@#2\endcsname% - }% -\else% - \newcommand\extref[3][]{\sref[#1]{#3}}% -\fi% -\ifextrefs% - \newcommand\extpageref[3][]{% - \def\theextref{\sref@pageref{#2@#3}}% - \csname doextpageref@#2\endcsname% - }% -\else% - \newcommand\extpageref[3][]{\spageref{#3}}% -\fi% -\newcommand\extrefstyle[2]{\csgdef{doextref@#1}{#2}}% -\newcommand\extpagerefstyle[2]{\csgdef{doextpageref@#1}{#2}}% -\newcommand\inputrefs[2]{% - %\@namedef{sref@#1@URI}{#2}% - \csdef{sref@#1@URI}{#2}% - \extrefstyle{#1}{\theextref}\extpagerefstyle{#1}{\theextref}% - \makeatletter% - \IfFileExists{#2.refs}{% - \message{Reading external references: #2.refs}\input{#2.refs}% - }{% - \PackageError{sref}{Reference file #2.refs does not exist}% - {Maybe you have to run LaTeX on #2.tex first}}% - \makeatother% -}% -\srefaddidkey{sequation}% -\def\sref@sequation@heading{equation}% -\newenvironment{sequation}[1][]{% - \metasetkeys{sequation}{#1}% - \ifx\sref@id\@empty% - \begin{displaymath}% - \else% no id, using equation* - \begin{equation}% - \sref@target\sref@label@id{\sref@sequation@heading~(\theequation)}% - \fi% -}{% - \ifx\sref@id\@empty% - \end{displaymath}% - \else% - \end{equation}% - \fi% -}% -\newenvironment{seqnarray}[1][]{% - \metasetkeys{sequation}{#1}% - \begin{eqnarray*}% - \sref@target% - \sref@label@id{\sref@sequation@heading~(\theequation)}% -}{% - \end{eqnarray*}% -}% -\newcommand\withcite[2]{#2~\cite{#1}}% -\newenvironment{withcitation}[1]{\def\citeit{\cite{#1}}}{}% -\endinput -%% -%% End of file `sref.sty'. diff --git a/etc/workaddress.sty b/etc/workaddress.sty deleted file mode 100644 index 31ebb50..0000000 --- a/etc/workaddress.sty +++ /dev/null @@ -1,177 +0,0 @@ -%% -%% This is file `workaddress.sty', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% workaddress.dtx (with options: `package') -%% -\NeedsTeXFormat{LaTeX2e}[1999/12/01] -\ProvidesPackage{workaddress}[2016/07/06 v0.5 WorkAddress] -\DeclareOption*{\PassOptionsToPackage{\CurrentOption}{sref}} -\ProcessOptions -\RequirePackage{sref} -\addmetakey*{wa@person}{id} -\addmetakey*{wa@person}{birthdate} -\addmetakey*{wa@person}{email} -\addmetakey*{wa@person}{url} -\addmetakey*{wa@person}{affiliation} -\addmetakey*{wa@person}{personaltitle} -\addmetakey*{wa@person}{academictitle} -\addmetakey*{wa@person}{department} -\addmetakey*{wa@person}{workaddress} -\addmetakey*{wa@person}{privaddress} -\addmetakey*{wa@person}{worktel} -\addmetakey*{wa@person}{privtel} -\addmetakey*{wa@person}{workfax} -\addmetakey*{wa@person}{privfax} -\addmetakey*{wa@person}{worktelfax} -\addmetakey*{wa@person}{privtelfax} -\def\wa@def#1#2#3#4{\expandafter\xdef\csname wa@#1@#2@#3\endcsname{#4}} -\def\wa@ref@test#1#2#3{% - \@ifundefined{wa@#1@#2@#3}{% - \PackageError{workaddress}{reference to undefined #3 of #1 #2}% - {you must define a #1 with #2=#3\MessageBreak% - via the macro \protect\WA#1, before you can use it!} - }{}% -}% -\newcommand\wa@ref[4]{% - \@ifundefined{wa@#2@#3@#4}{% - \ifcase#1 {}\or% - \PackageWarning{workaddress}{reference to undefined #4 of #2 #3\MessageBreak% - you must define a #2 with #3=#4\MessageBreak% - via the macro \protect\WA#2, before you can use it!}% - \or - \PackageWarning{workaddress}{reference to undefined #4 of #2 #3\MessageBreak% - you must define a #2 with #3=#4\MessageBreak% - via the macro \protect\WA#2, before you can use it!}% - ?#2?#3?#4? - \or - \PackageError{workaddress}{reference to undefined #4 of #2 #3}% - {you must define a #2 with #3=#4\MessageBreak% - via the macro \protect\WA#2, before you can use it!} - \else\PackageError{workaddress}{\protect\wa@ref#1 not defined} - \fi - }{\csname wa@#2@#3@#4\endcsname}}% -\let\wa@persons=\relax -\newcommand\WAperson[2][]{% - \metasetkeys{wa@person}{#1}% - \ifx\wa@person@id\@empty% - \@latex@warning{key 'id' undefined in WAperson}% - \else% - \wa@def{person}\wa@person@id{id}{\wa@person@id}% redundant, but useful for checking - \wa@def{person}\wa@person@id{name}{#2} - \wa@def{person}\wa@person@id{email}{\wa@person@email} - \wa@def{person}\wa@person@id{birthdate}{\wa@person@birthdate} - \wa@def{person}\wa@person@id{url}{\wa@person@url} - \wa@def{person}\wa@person@id{affiliation}{\wa@person@affiliation} - \wa@def{person}\wa@person@id{workaddress}{\wa@person@workaddress} - \wa@def{person}\wa@person@id{privaddress}{\wa@person@privaddress} - \wa@def{person}\wa@person@id{personaltitle}{\wa@person@personaltitle} - \wa@def{person}\wa@person@id{academictitle}{\wa@person@academictitle} - \wa@def{person}\wa@person@id{department}{\wa@person@department} - \wa@def{person}\wa@person@id{workaddress}{\wa@person@workaddress} - \wa@def{person}\wa@person@id{privaddress}{\wa@person@privaddress} - \wa@def{person}\wa@person@id{worktel}{\wa@person@worktel} - \wa@def{person}\wa@person@id{privtel}{\wa@person@privtel} - \wa@def{person}\wa@person@id{workfax}{\wa@person@workfax} - \wa@def{person}\wa@person@id{privfax}{\wa@person@privfax} - \wa@def{person}\wa@person@id{worktelfax}{\wa@person@worktelfax} - \wa@def{person}\wa@person@id{privtelfax}{\wa@person@privtelfax} - \@ifundefined{wa@persons}{% - \xdef\wa@persons{\wa@person@id}% - }{% - \xdef\wa@persons{\wa@persons,\wa@person@id}% - }% - \fi% -}% -\newcommand\DCMperson[2][]{% - \WAperson[#1]{#2}% - \PackageWarning{workaddress}{\protect\DCMperson\space is deprecated, use \protect\WAperson\space instead} -}% -\addmetakey*{wa@institution}{id} -\addmetakey*{wa@institution}{shortname} -\addmetakey*{wa@institution}{acronym} -\addmetakey*{wa@institution}{url} -\addmetakey*{wa@institution}{partof} -\addmetakey*{wa@institution}{countryshort} -\addmetakey*{wa@institution}{logo} -\addmetakey*{wa@institution}{streetaddress} -\addmetakey*{wa@institution}{townzip} -\addmetakey*{wa@institution}{type} -\addmetakey*{wa@institution}{country} -\let\wa@institutions=\relax -\newcommand\WAinstitution[2][]{% - \metasetkeys{wa@institution}{#1}% - \ifx\wa@institution@id\@empty% - \@latex@warning{key 'id' undefined in WAinstitution}% - \else% - \wa@def{institution}\wa@institution@id{id}{\wa@institution@id}% redundant, but useful for checking - \wa@def{institution}\wa@institution@id{name}{#2} - \wa@def{institution}\wa@institution@id{shortname}{\wa@institution@shortname} - \wa@def{institution}\wa@institution@id{acronym}{\wa@institution@acronym} - \wa@def{institution}\wa@institution@id{url}{\wa@institution@url} - \wa@def{institution}\wa@institution@id{partof}{\wa@institution@partof} - \wa@def{institution}\wa@institution@id{countryshort}{\wa@institution@countryshort} - \wa@def{institution}\wa@institution@id{logo}{\wa@institution@logo} - \wa@def{institution}\wa@institution@id{townzip}{\wa@institution@townzip} - \wa@def{institution}\wa@institution@id{streetaddress}{\wa@institution@streetaddress} - \wa@def{institution}\wa@institution@id{country}{\wa@institution@country} - \wa@def{institution}\wa@institution@id{type}{\wa@institution@type} - \@ifundefined{wa@institutions}{% - \xdef\wa@institutions{\wa@institution@id}% - }{% - \xdef\wa@institutions{\wa@institutions,\wa@institution@id}% - }% - \fi% -}% -\newcommand\DCMinstitution[2][]{% - \WAinstitution[#1]{#2}% - \PackageWarning{workaddress}{\protect\DCMinstitution\space is deprecated, use \protect\WAinstitution\space instead}% -}% -\addmetakey[false]{WAauthorblock}{dept}[true] -\addmetakey[false]{WAauthorblock}{aff}[true] -\addmetakey[false]{WAauthorblock}{url}[true] -\def\@true{true} -\newcounter{authors} -\newcommand\WAauthorblock[2][]{% - \metasetkeys{WAauthorblock}{#1} - {\let\tabularnewline\relax - \@for\@I:=#2\do{\stepcounter{authors}} - \def\@authors{}% - \def\@affs{}% - \def\@depts{}% - \def\@urls{}% - \@for\@I:=#2\do{% - \xdef\@authors{\@authors&\wa@ref2{person}\@I{name}} - \xdef\@@dept{\wa@ref1{person}\@I{department}} - \xdef\@shortname{\csname wa@institution@\@@dept @shortname\endcsname} - \xdef\@dept{\ifx\@shortname\@empty\wa@ref0{institution}\@@dept{name}\else\@shortname\fi} - \xdef\@depts{\@depts&\@dept} - \xdef\@@aff{\wa@ref0{person}\@I{affiliation}} - \xdef\@shortname{\csname wa@institution@\@@aff @shortname\endcsname} - \xdef\@aff{\ifx\@shortname\@empty\wa@ref0{institution}\@@aff{name}\else\@shortname\fi} - \xdef\@affs{\@affs&\@aff} - \xdef\@urls{\@urls&\wa@ref0{person}\@I{url}} - }% - \message{\theauthors authors: \@authors}% - }% - \begin{tabular}[t]{l*{\theauthors}{c}} - \@authors\\ - \ifx\WAauthorblock@dept\@true\@depts\\\fi - \ifx\WAauthorblock@aff\@true\@affs\\\fi - \ifx\WAauthorblock@url\@true\@urls\\\fi - \end{tabular} -}% -\newcommand\wapname[1]{\wa@ref3{person}{#1}{name}} -\newcommand\waptname[1]{\wa@ref3{person}{#1}{personaltitle} \wa@ref3{person}{#1}{name}} -\newcommand\wa@institution@logo[2][]{% - \IfFileExists{\wa@ref2{institution}{#2}{logo}}{% - \includegraphics{\wa@ref2{institution}{#2}{logo}}% - }{% - \fbox{#2 logo}\message{still need logo for #2}% - }% -}% -\endinput -%% -%% End of file `workaddress.sty'. diff --git a/eu/eupdata.sty b/eu/eupdata.sty index 5dc297f..0363896 100644 --- a/eu/eupdata.sty +++ b/eu/eupdata.sty @@ -9,7 +9,9 @@ \NeedsTeXFormat{LaTeX2e}[1999/12/01] \ProvidesPackage{eupdata}[2019/03/21 v1.5 EU Project Data] \define@key{prop@gen}{coordinator}{\def\prop@gen@coordinator{#1}\pdata@def{prop}{gen}{coordinator}{#1}} -\define@key{prop@gen}{coordinatorsite}{\def\prop@gen@coordinatorsite{#1}\pdata@def{prop}{gen}{coordinator}{#1}} +\define@key{prop@gen}{Csite}{\def\prop@gen@Csite{#1}\pdata@def{prop}{gen}{Csite}{#1}} +\define@key{prop@gen}{Cemail}{\def\prop@gen@Cemail{#1}\pdata@def{prop}{gen}{Cemail}{#1}} +\define@key{prop@gen}{Ctelfax}{\def\prop@gen@Ctelfax{#1}\pdata@def{prop}{gen}{Ctelfax}{#1}} \def\prop@gen@challenge{??}\def\prop@gen@challengeid{??} \define@key{prop@gen}{challenge}{\def\prop@gen@challenge{#1}\pdata@def{prop}{gen}{challenge}{#1}} \define@key{prop@gen}{challengeid}{\def\prop@gen@challengeid{#1}\pdata@def{prop}{gen}{challengeid}{#1}} diff --git a/eu/euproposal.cls b/eu/euproposal.cls index 785b20f..64311c2 100644 --- a/eu/euproposal.cls +++ b/eu/euproposal.cls @@ -33,10 +33,9 @@ \newcommand\prop@sites@table{\def\@@table{} {\let\tabularnewline\relax\let\hline\relax \@for\@I:=\prop@gen@sites\do{\xdef\@@table{\@@table\pdataref{site}\@I{number}} -\xdef\@@table{\@@table&\@nameuse{wa@institution@\@I @name} -\ifx\@I\prop@gen@coordinatorsite (coordinator)\fi} -\xdef\@@table{\@@table&\@nameuse{wa@institution@\@I @acronym}} -\xdef\@@table{\@@table&\@nameuse{wa@institution@\@I @countryshort}\tabularnewline\hline}}} +\xdef\@@table{\@@table&\pdataref{site}\@I{shortname}\ifx\@I\prop@gen@coordinatorsite (coordinator)\fi} +\xdef\@@table{\@@table&\pdataref{site}\@I{acronym}} +\xdef\@@table{\@@table&\pdataref{site}\@I{countryshort}\tabularnewline\hline}}} \begin{tabular}{|l|p{8cm}|l|l|}\hline%| \# & Participant organisation name & Short name & Country\\\hline\hline \@@table @@ -60,9 +59,9 @@ % \textbf{Objective \prop@gen@objectiveid}: \prop@gen@objective, % \textbf{target outcome \prop@gen@outcomeid}) \prop@gen@outcome. % {\prop@gen@topicsaddressed}\\[1em] - \item[Coordinator:] \wa@ref3{person}\prop@gen@coordinator{name} - \item[e-mail:] \wa@ref3{person}\prop@gen@coordinator{email} - \item[tel/fax:] \wa@ref3{person}\prop@gen@coordinator{worktelfax} + \item[Coordinator:] \prop@gen@coordinator + \item[e-mail:] \prop@gen@Cemail + \item[tel/fax:] \prop@gen@Ctelfax \@ifundefined{prop@gen@keywords}{}{\item[Keywords:] \prop@gen@keywords} \end{description} \end{large} @@ -70,7 +69,7 @@ \begin{center} \prop@sites@table\vfill \@ifundefined{prop@gen@iconrowheight}{} -{\@for\@site:=\prop@gen@sites\do{\wa@institution@logo[height=\prop@gen@iconrowheight]\@site\qquad}} +{\@for\@site:=\prop@gen@sites\do{\includegraphics[height=\prop@gen@iconrowheight]{\pdataref{site}\@site{logo}}\qquad}} \end{center} \newpage \fi% ifgrantagreement @@ -103,16 +102,16 @@ \begin{wrapfigure}{r}{\site@desc@width}\vspace{-2.5ex}% \begin{tabular}{|p{\site@desc@width}|}\hline\vspace{1mm}% \ifx\@site@desc@logo\@true% if we want a logo -\wa@institution@logo[height=\site@desc@width]{#2}\\[1ex]% +\includegraphics[height=\site@desc@width]{#2}\\[1ex]% \fi% end logo -\textbf{\wa@ref3{institution}{#2}{type}.\hfill \wa@ref3{institution}{#2}{country}}\\% -\small\wa@ref3{institution}{#2}{streetaddress}, \wa@ref3{institution}{#2}{townzip}\\\hline% +\textbf{\pdataref{site}{#2}{type}.\hfill \pdataref{site}{#2}{country}}\\% +\small\pdataref{site}{#2}{streetaddress}, \pdataref{site}{#2}{townzip}\\\hline% \end{tabular}\vspace{-2.5ex}% \end{wrapfigure}% \fi% end box \pdata@target{site}{#2}% -{\subsubsection{\wa@ref3{institution}{#2}{acronym}: % space here -{\textsc{\wa@ref3{institution}{#2}{name}} (\wa@ref3{institution}{#2}{countryshort})}}}% +{\subsubsection{\pdataref{site}{#2}{acronym}: % space here +{\textsc{\pdataref{site}{#2}{shortname}} (\pdataref{site}{#2}{countryshort})}}}% \small% \renewcommand\paragraph{\@startsection{paragraph}{4}{\z@}% {0.25ex \@plus1ex \@minus.2ex}% diff --git a/eu/euproposal.dtx b/eu/euproposal.dtx index ffdb9e2..0609363 100644 --- a/eu/euproposal.dtx +++ b/eu/euproposal.dtx @@ -142,11 +142,12 @@ % metakeys support.} % \item \DescribeMacro{topicsaddressed}|topicsaddressed| allows to enter free-form text % instead of specifying the |challenge*|, |objective*|, and |outcome*| keys. -% \item The \DescribeMacro{coordinator}|coordinator| key gives the identifier of the -% proposal coordinator. The |euproposal| package uses the |workaddress| package for +% \item The \DescribeMacro{coordinator}|coordinator| key full name of the proposal +% coordinator. The |euproposal| package uses the |workaddress| package for % representation of personal metadata, see~\cite{Kohlhase:workaddress:ctan} for details. -% \item The \DescribeMacro{coordinatorsite}|coordinatorsite| key gives the identifier of -% the coordinating site (for the table). +% \item The \DescribeMacro{Csite}|Csite|, \DescribeMacro{Cemail}|Cemail|, and +% \DescribeMacro{Ctelfax}|Ctelfax| keys give further metadata of the coordinator (for +% the table). % \item If given, the \DescribeMacro{iconrowheight}|iconrowheight| key instructs the % |euproposal| class to make a line with the logos of the participants at the bottom of % the title page, and specify their heights; |1.5cm| is often a good value. @@ -293,7 +294,9 @@ % \begin{macrocode} %<*pdata> \define@key{prop@gen}{coordinator}{\def\prop@gen@coordinator{#1}\pdata@def{prop}{gen}{coordinator}{#1}} -\define@key{prop@gen}{coordinatorsite}{\def\prop@gen@coordinatorsite{#1}\pdata@def{prop}{gen}{coordinator}{#1}} +\define@key{prop@gen}{Csite}{\def\prop@gen@Csite{#1}\pdata@def{prop}{gen}{Csite}{#1}} +\define@key{prop@gen}{Cemail}{\def\prop@gen@Cemail{#1}\pdata@def{prop}{gen}{Cemail}{#1}} +\define@key{prop@gen}{Ctelfax}{\def\prop@gen@Ctelfax{#1}\pdata@def{prop}{gen}{Ctelfax}{#1}} \def\prop@gen@challenge{??}\def\prop@gen@challengeid{??} \define@key{prop@gen}{challenge}{\def\prop@gen@challenge{#1}\pdata@def{prop}{gen}{challenge}{#1}} \define@key{prop@gen}{challengeid}{\def\prop@gen@challengeid{#1}\pdata@def{prop}{gen}{challengeid}{#1}} @@ -341,10 +344,9 @@ \newcommand\prop@sites@table{\def\@@table{} {\let\tabularnewline\relax\let\hline\relax \@for\@I:=\prop@gen@sites\do{\xdef\@@table{\@@table\pdataref{site}\@I{number}} -\xdef\@@table{\@@table&\@nameuse{wa@institution@\@I @name} -\ifx\@I\prop@gen@coordinatorsite (coordinator)\fi} -\xdef\@@table{\@@table&\@nameuse{wa@institution@\@I @acronym}} -\xdef\@@table{\@@table&\@nameuse{wa@institution@\@I @countryshort}\tabularnewline\hline}}} +\xdef\@@table{\@@table&\pdataref{site}\@I{shortname}\ifx\@I\prop@gen@coordinatorsite (coordinator)\fi} +\xdef\@@table{\@@table&\pdataref{site}\@I{acronym}} +\xdef\@@table{\@@table&\pdataref{site}\@I{countryshort}\tabularnewline\hline}}} \begin{tabular}{|l|p{8cm}|l|l|}\hline%| \# & Participant organisation name & Short name & Country\\\hline\hline \@@table @@ -380,9 +382,9 @@ % \textbf{Objective \prop@gen@objectiveid}: \prop@gen@objective, % \textbf{target outcome \prop@gen@outcomeid}) \prop@gen@outcome. % {\prop@gen@topicsaddressed}\\[1em] - \item[Coordinator:] \wa@ref3{person}\prop@gen@coordinator{name} - \item[e-mail:] \wa@ref3{person}\prop@gen@coordinator{email} - \item[tel/fax:] \wa@ref3{person}\prop@gen@coordinator{worktelfax} + \item[Coordinator:] \prop@gen@coordinator + \item[e-mail:] \prop@gen@Cemail + \item[tel/fax:] \prop@gen@Ctelfax \@ifundefined{prop@gen@keywords}{}{\item[Keywords:] \prop@gen@keywords} \end{description} \end{large} @@ -390,7 +392,7 @@ \begin{center} \prop@sites@table\vfill \@ifundefined{prop@gen@iconrowheight}{} -{\@for\@site:=\prop@gen@sites\do{\wa@institution@logo[height=\prop@gen@iconrowheight]\@site\qquad}} +{\@for\@site:=\prop@gen@sites\do{\includegraphics[height=\prop@gen@iconrowheight]{\pdataref{site}\@site{logo}}\qquad}} \end{center} \newpage \fi% ifgrantagreement @@ -414,8 +416,7 @@ % % \begin{environment}{sitedescription} % \ednote{document this above} |\begin{sitedescritpion}[|\meta{opt}|]{\meta{site}}| -% marks up the description for the site \meta{site}. It looks up the relevant metadata -% from the respective |\WAinstitution| declarations. The options argument \meta{opt} +% marks up the description for the site \meta{site}. The options argument \meta{opt} % is a key-value list for the keys \DescribeMacro{logo}|logo| (add the logo from % |\WAinstitution| to the site description), \DescribeMacro{width}|width|, % \DescribeMacro{height}|height| (intended dimensions of the logo), \ednote{more?}. @@ -440,16 +441,16 @@ \begin{wrapfigure}{r}{\site@desc@width}\vspace{-2.5ex}% \begin{tabular}{|p{\site@desc@width}|}\hline\vspace{1mm}% \ifx\@site@desc@logo\@true% if we want a logo -\wa@institution@logo[height=\site@desc@width]{#2}\\[1ex]% +\includegraphics[height=\site@desc@width]{#2}\\[1ex]% \fi% end logo -\textbf{\wa@ref3{institution}{#2}{type}.\hfill \wa@ref3{institution}{#2}{country}}\\% -\small\wa@ref3{institution}{#2}{streetaddress}, \wa@ref3{institution}{#2}{townzip}\\\hline% +\textbf{\pdataref{site}{#2}{type}.\hfill \pdataref{site}{#2}{country}}\\% +\small\pdataref{site}{#2}{streetaddress}, \pdataref{site}{#2}{townzip}\\\hline% \end{tabular}\vspace{-2.5ex}% \end{wrapfigure}% \fi% end box \pdata@target{site}{#2}% -{\subsubsection{\wa@ref3{institution}{#2}{acronym}: % space here -{\textsc{\wa@ref3{institution}{#2}{name}} (\wa@ref3{institution}{#2}{countryshort})}}}% +{\subsubsection{\pdataref{site}{#2}{acronym}: % space here +{\textsc{\pdataref{site}{#2}{shortname}} (\pdataref{site}{#2}{countryshort})}}}% \small% \renewcommand\paragraph{\@startsection{paragraph}{4}{\z@}% {0.25ex \@plus1ex \@minus.2ex}% diff --git a/eu/euproposal.pdf b/eu/euproposal.pdf index b803f44..6b7e621 100644 Binary files a/eu/euproposal.pdf and b/eu/euproposal.pdf differ diff --git a/examples/dfg/lib/WApersons.tex b/examples/dfg/lib/WApersons.tex deleted file mode 100644 index c0d2482..0000000 --- a/examples/dfg/lib/WApersons.tex +++ /dev/null @@ -1,71 +0,0 @@ -\WAperson[id=miko, - personaltitle=Prof. Dr., - birthdate=13. September 1964, - academictitle=Professor f\"ur Wissensrepr\"asentation und -verarbeitung, - affiliation=fau, - department=fauinf, - privaddress=None of your business, - privtel=that neither, - email=michael.kohlhase@fau.de, - workaddress={Martenstr. 3, 91058 Erlangen}, - worktel=+49 9131-85-64052, - worktelfax=+49 9131-85-64052/55, - workfax=+49 9131-85-64055] - {Michael Kohlhase} - -\WAperson[id=gc, - personaltitle=Dr., - academictitle=Senior Researcher, - birthdate=14. April 1972, - affiliation=pcg, - department=pcsa, - privaddress=None of your business, - privtel=that neither, - workaddress={PCG Way 7, Hooville}, - worktel=+49 421 0815 4711, - workfax=+49 421 0815 4712, - email=gc@pcg.phony] - {Great Communicator} - -\WAinstitution[id=fau, - acronym=FAU, - url=http://fau.de, - streetaddress={Schlossplatz 1}, - townzip={91058 Erlangen}, - countryshort=D, - country=Germany, - type=University, - logo=fau-logo.png, - shortname=FAU Erlangen-N\"urnberg] - {FAU Erlangen-N\"urnberg} - -\WAinstitution[id=fauinf,acronym=INF, - url=http://cs.fau.de, - streetaddress={Martenstr. 3}, - townzip={91058 Erlangen}, - countryshort=D, - country=Germany, - shortname=Informatik] - {Informatik} - -\WAinstitution[id=pcg,acronym=PCG, - url=http://pcg.phony, - countryshort=D, - streetaddress={Seefahrtstrasse 5}, - townzip={23555 Hamburg}, - shortname=Power Consulting] - {Power Consulting GmbH} - -\WAinstitution[id=pcsa, - url=http://pcg.phony/sa, - partof=pcg, - shortname=Science Affairs] - {Science Affairs} - - -%%% Local Variables: -%%% mode: latex -%%% End: - -% LocalWords: WAperson miko personaltitle academictitle privaddress privtel -% LocalWords: workaddress worktel workfax gc worktelfax pcg diff --git a/examples/dfg/proposal/proposal.tex b/examples/dfg/proposal/proposal.tex index 9e91ab3..8c9507f 100644 --- a/examples/dfg/proposal/proposal.tex +++ b/examples/dfg/proposal/proposal.tex @@ -2,13 +2,17 @@ % Variants with different class options are % - submit.tex (no draft stuff, no ednotes, no revision information) % - public.tex (like submit.tex, but no financials either) -\providecommand{\classoptions}{,keys,general} % to be overwritten in variants -\documentclass[RAM,gitinfo\classoptions]{dfgproposal} +\providecommand{\classoptions}{,keys} % to be overwritten in variants +\documentclass[ % the options control the appearance, see the documentation + gitinfo, % show GIT information + RAM, % also manage research assistant (HiWi) months + general, % make a title page, etc. + \classoptions] % the other class options from above, they can be overwritten e.g. in submit/final,tex + {dfgproposal} \addbibresource{../lib/dummy.bib} \renewcommand{\familydefault}{\sfdefault} \usepackage[scaled=.90]{helvet} \usepackage[utf8]{inputenc} -\input{WApersons} \begin{document} @@ -19,21 +23,35 @@ % \urldef{\gcpubs}\url{http://www.pcg.phony/~gc/pubs.html} % \urldef{\mikopubs}\url{http://kwarc.info/kohlhase/publications.html} -\begin{proposal}[%PI=miko,PI=gc,site=fau,site=pcg, - PI=ad,PI=miko,site=jf,site=tf, +\begin{proposal}[ + PI=miko, + mikoname=Michael Kohlhase, + mikoaffiliation=FAU Erlangen N\"urnberg, + mikodept=Computer Science, + mikotitle=Prof. Dr., + PI=gc, + gcname=Michael Kohlhase, + gcaffiliation=Power Consulting GmbH, + gcdept=Science Affairs, + gctitle=Dr., + site=fau, + fauacronym=FAU, + faushortname=FAU Erlangen N\"urnberg, + site=pcg, + pcgacronym=PCG, + pcgshortname=Power Consulting GmbH, thema=Intelligentes Schreiben von Antr\"agen, acronym={iPoWr}, acrolong={\underline{I}ntelligent} {\underline{P}r\underline{o}posal} {\underline{Wr}iting}, title=\pn: \protect\pnlong, totalduration=3 years, - since=1. Feb 2009, start=1. Feb. 2010, months=24, % pcgRM=36, pcgRAM=36, fauRM=36, fauRAM=36, - jfRM=36, tfRAM=36, jfRM=36, tfRAM=36, discipline=Computer Science, areas=Knowledge Management, - keywords={LaTeX Active Documents}] + keywords={LaTeX Active Documents} + ] % It is often good to separate the top-level sections into separate files. % Especially in collaborative proposals. We do this here. diff --git a/examples/dfg/simple-proposal/proposal.tex b/examples/dfg/simple-proposal/proposal.tex index ae7a27f..56d95ad 100644 --- a/examples/dfg/simple-proposal/proposal.tex +++ b/examples/dfg/simple-proposal/proposal.tex @@ -13,7 +13,7 @@ \addbibresource{../lib/dummy.bib} \renewcommand{\familydefault}{\sfdefault} \usepackage[scaled=.90]{helvet} -\input{../lib/WApersons} +\usepackage[utf8]{inputenc} \begin{document} @@ -22,22 +22,27 @@ current DFG template valid from October 2011. \end{center} -\urldef{\mikopubs}\url{http://kwarc.info/kohlhase/publications.html} -\begin{proposal}[PI=miko, +%\urldef{\mikopubs}\url{http://kwarc.info/kohlhase/publications.html} +\begin{proposal}[ + PI=miko, + mikoname=Michael Kohlhase, + mikoaffiliation=FAU Erlangen N\"urnberg, + mikodept=Computer Science, + mikotitle=Prof. Dr., pubspage=mikopubs, thema=Intelligentes Schreiben von Antr\"agen, acronym={iPoWr}, acrolong={\underline{I}ntelligent} {\underline{P}r\underline{o}posal} {\underline{Wr}iting}, title=\pn: \protect\pnlong, totalduration=3 years, - since=1. Feb 2009, start=1. Feb. 2010, months=24, RM=36,RAM=36, discipline=Computer Science, - areas=Knowledge Management] + areas=Knowledge Management, + keywords={LaTeX Active Documents}] -% It is often good to separate the top-level sections into separate files. + % It is often good to separate the top-level sections into separate files. % Especially in collaborative proposals. We do this here. And this allows us to share the % state of the art of another proposal. \input{../proposal/zusammenfassung} diff --git a/examples/eu/lib/WApersons.tex b/examples/eu/lib/WApersons.tex deleted file mode 100644 index d2c58eb..0000000 --- a/examples/eu/lib/WApersons.tex +++ /dev/null @@ -1,98 +0,0 @@ -\WAperson[id=miko, - personaltitle=Prof. Dr., - birthdate=13. September 1964, - academictitle=Professor of Computer Science, - affiliation=jacu, - department=case, - privaddress=None of your business, - privtel=that neither, - email=m.kohlhase@jacobs-university.de, - workaddress={Campus Ring 1, 28757 Bremen}, - worktel=+49 421 200 3140, - worktelfax=+49 421 200 3140/493140, - workfax=+49 421 200 493140] - {Michael Kohlhase} -\WAperson[id=gc, - personaltitle=Dr., - academictitle=Senior Researcher, - birthdate=14. April 1972, - affiliation=pcg, - department=pcsa, - privaddress=None of your business, - privtel=that neither, - workaddress= , - worktel=+49 421 0815 4711, - workfax=+49 421 0815 4712, - email=gc@pcg.phony] - {Great Communicator} - -\WAinstitution[id=case,acronym=CASE,shortname=CASE, - url=http://jacobs-university.de/ses/case, - partof=jacu] - {Center for Advanced Systems Engineering} -\WAinstitution[id=jacu, - url=http://jacobs-university.de, - streetaddress={Campus Ring 1}, - townzip={28759 Bremen}, - countryshort=D, - country=Germany, - type=University, - logo=jacobs-logo.png, - acronym=JACU, - shortname=Jacobs University] - {Jacobs University Bremen} - -\WAinstitution[id=pcsa, - url=http://pcg.phony/sa, - partof=pcg] - {Science Affairs} -\WAinstitution[id=pcg, - url=http://pcg.phony, - acronym=PCG, - shortname=Power Consulting, - countryshort=D, - streetaddress={Seefahrtstrasse 5}, - townzip={23555 Hamburg}] - {Power Consulting GmbH} - -\WAinstitution[id=efo, - url=http://efo.eu, - countryshort=NL, - townzip={Utrecht, 3kd89}, - streetaddress={Kruislann 777}, - country={The Netherlands}, - type=NGO, - acronym=EFO, - shortname=European Future Office] - {European Future Office} - -\WAinstitution[id=bar, - url=http://bar.fr, - countryshort=F, - country={France}, - streetaddress={Rue de Montparnasse} - townzip={Paris}, - type=University, - acronym=BAR, - shortname=Universit\'e de BAR] - {Universit\'e de BAR} - -\WAinstitution[id=baz, - url=http://baz.co.uk, - countryshort=UK, - streetaddress={4711 Silicon Glen Drive}, - townzip={Westerfield U3F2B}, - type=SME, - shortname=BAZ International, - acronym=BAZ] - {BAZ International Ltd} - -%%% Local Variables: -%%% mode: latex -%%% End: - -% LocalWords: WAperson miko personaltitle academictitle privaddress privtel -% LocalWords: workaddress worktel workfax gc worktelfax pcg pcsa WAinstitution -% LocalWords: shortname partof streetaddress townzip countryshort efo 3kd89 -% LocalWords: jacobs-logo.png Seefahrtstrasse Kruislann Montparnasse Universit -% LocalWords: baz Westerfield diff --git a/examples/eu/strep/Makefile b/examples/eu/strep/Makefile index 3f09e2a..13ee600 100644 --- a/examples/eu/strep/Makefile +++ b/examples/eu/strep/Makefile @@ -20,16 +20,14 @@ PDATA = $(PROPOSAL:%.tex=%.pdata) # the proposal project data SRC = $(filter-out $(TARGET),$(shell ls *.tex)) # included files PDFLATEX = pdflatex -interaction batchmode -file-line-error PROPCLS.dir = $(PROP.dir)/base -PROPETC.dir = $(PROP.dir)/etc EUPROPCLS.dir = $(PROP.dir)/eu -TEXINPUTS := $(PROPCLS.dir)//:$(EUPROPCLS.dir)//:$(PROPETC.dir)//: +TEXINPUTS := $(PROPCLS.dir)//:$(EUPROPCLS.dir)//: BIBINPUTS := ../lib:$(BIBINPUTS) export TEXINPUTS export BIBINPUTS PROPCLS.clssty = proposal.cls pdata.sty -PROPETC.sty = workaddress.sty metakeys.sty sref.sty EUPROPCLS.clssty = euproposal.cls -PROPCLS = $(PROPCLS.clssty:%=$(PROPCLS.dir)/%) $(EUPROPCLS.clssty:%=$(EUPROPCLS.dir)/%) $(PROPETC.sty:%=$(PROPETC.dir)/%) +PROPCLS = $(PROPCLS.clssty:%=$(PROPCLS.dir)/%) $(EUPROPCLS.clssty:%=$(EUPROPCLS.dir)/%) all: $(TBIB.pdf) $(TSIMP.pdf) diff --git a/examples/eu/strep/implementation.tex b/examples/eu/strep/implementation.tex index d6906db..e540099 100644 --- a/examples/eu/strep/implementation.tex +++ b/examples/eu/strep/implementation.tex @@ -34,10 +34,10 @@ The project partners of the \pn project have a long history of successful collab Figure~\ref{tab:collaboration} gives an overview over joint projects (including proposals) and joint publications (only international, peer reviewed ones). -\jointorga{jacu,efo,baz} -\jointpub{efo,baz,jacu} +\jointorga{fau,efo,baz} +\jointpub{efo,baz,fau} \jointproj{efo,bar} -\jointsup{jacu,bar} +\jointsup{fau,bar} \jointsoft{baz,efo} \coherencetable @@ -83,5 +83,5 @@ are consistent with these. %%% TeX-master: "propB" %%% End: -% LocalWords: pn newpage site-jacu site-efo site-baz jointpub efo baz +% LocalWords: pn newpage site-fau site-efo site-baz jointpub efo baz % LocalWords: jointproj coherencetable assoc-partner diff --git a/examples/eu/strep/members.tex b/examples/eu/strep/members.tex index 6fe5137..b5d57c1 100644 --- a/examples/eu/strep/members.tex +++ b/examples/eu/strep/members.tex @@ -10,7 +10,7 @@ legal entity (for example an EEIG1), is one page per member, provided that the m roles within the proposal. \end{todo} \newpage -\input{site-jacu}\newpage +\input{site-fau}\newpage \input{site-efo}\newpage \input{site-bar}\newpage \input{site-baz}\newpage diff --git a/examples/eu/strep/propB.pdf b/examples/eu/strep/propB.pdf index f245776..c587faa 100644 Binary files a/examples/eu/strep/propB.pdf and b/examples/eu/strep/propB.pdf differ diff --git a/examples/eu/strep/propB.tex b/examples/eu/strep/propB.tex index 29c7c3b..8280c20 100644 --- a/examples/eu/strep/propB.tex +++ b/examples/eu/strep/propB.tex @@ -6,18 +6,59 @@ \documentclass[noworkareas,deliverables,gitinfo,report\classoptions]{euproposal} \usepackage{nimbusserif} \addbibresource{../lib/dummy.bib} -\input{../lib/WApersons}% Some sections of the included files depend on this. \begin{document} \begin{center}\color{red}\huge This mock proposal is just an example for \texttt{euproposal.cls} it reflects the ICT template of January 2012 \end{center} -\begin{proposal}[site=jacu,jacuRM=36, - site=efo,efoRM=36, - site=bar,barRM=36, - site=baz,bazRM=36, - coordinator=miko, +\begin{proposal}[ + % Site 1 + site=fau, + fauurl=http://fau.de, + faustreetaddress={Martenstr. 3}, + fautownzip={91058 Erlangen}, + faucountryshort=D, + faucountry=Germany, + fautype=University, + faulogo=jacobs-logo.png, + fauacronym=FAU, + faushortname=FAU Erlangen N\"urnberg, + fauRM=36, + % Site 2 + site=efo, + efoshortname=European Future Office, + efourl=http://efo.eu, + efocountryshort=NL, + efocountry={The Netherlands}, + efotownzip={Utrecht, 3kd89}, + efostreetaddress={Kruislann 777}, + efotype=NGO, + efoacronym=EFO, + efoRM=36, + % Site 3 + site=bar, + barurl=http://bar.fr, + barcountryshort=F, + barcountry={France}, + barstreetaddress={Rue de Montparnasse} + bartownzip={Paris}, + bartype=University, + baracronym=BAR, + barshortname=Universit\'e de BAR, + barRM=36, + % Site 4 + site=baz, + bazurl=http://baz.co.uk, + bazcountryshort=UK, + bazcountry=United Kingdom, + bazstreetaddress={4711 Silicon Glen Drive}, + baztownzip={Westerfield U3F2B}, + baztype=SME, + bazshortname=BAZ International, + bazacronym=BAZ, + bazRM=36, + % Proposal metadata acronym={iPoWr}, acrolong={\underline{I}ntelligent} {\underline{P}r\underline{o}sal} {\underline{Wr}iting}, title=\pn: \protect\pnlong, @@ -30,8 +71,11 @@ objective = Technology-enhanced Documents, outcomeid = b1, outcome = {More time for Research, not Proposal writing}, - coordinator=miko, - months=24, + months=24, + % Coordinator + coordinator=Prof. Dr. Michael Kohlhase, + Cemail=michael.kohlhase@fau.de, + Ctelfax=(49) 9131-85-64052/55, compactht] \begin{abstract} Writing grant proposals is a collaborative effort that requires the integration of diff --git a/examples/eu/strep/site-fau.tex b/examples/eu/strep/site-fau.tex new file mode 100644 index 0000000..d85325b --- /dev/null +++ b/examples/eu/strep/site-fau.tex @@ -0,0 +1,59 @@ +\begin{sitedescription}{fau} + + \paragraph{Organization} + \site{fau} is \ednote{continue} + +The KWARC (KnoWledge Adaptation and Reasoning for +Content\footnote{\url{http://kwarc.info}}) Group headed by {\emph{Prof.\ Dr.\ Michael + Kohlhase}} specializes in building knowledge management systems for e-science +applications, in particular for the natural and mathematical sciences. Formal logic, +natural language semantics, and semantic web technology provide the foundations for the +research of the group. + +Since doing research and developing systems is much more fun than writing proposals, they +try go do that as efficiently as possible, hence this meta-proposal. + +\paragraph{Main tasks} + +\begin{itemize} +\item creating {\LaTeX} class files +\end{itemize} + +\paragraph{Relevant previous experience} + +The KWARC group is the main center and lead implementor of the OMDoc (Open Mathematical +Document) format for representing mathematical knowledge. The group has developed +added-value services powered by such semantically rich representations, different paths to +obtaining them, as well as platforms that integrate both aspects. Services include the +adaptive context-sensitive presentation framework JOMDoc and the semantic search engine +MathWebSearch. For obtaining rich mathematical content, the group has been pursuing the +two alternatives of assisting manual editing (with the sTeXIDE editing environment) and +automatic annotation using natural language processing techniques. The latter is work in +progress but builds on the arXMLiv system, which is currently capable of converting 70\% +out of the 600,000 scientific publications in the arXiv from {\LaTeX} to XHTML+MathML +without errors. Finally, the KWARC group has been developing the Planetary integrated +environment. + +\paragraph{Specific expertise} + +\begin{itemize} +\item writing intelligent proposals +\end{itemize} + +\paragraph{Staff members involved} + +\textbf{Prof.\ Dr.\ Michael Kohlhase} is head of the KWARC research group. He is the head +developer of the OMDoc mathematical markup language. He was a member of the Math Working +Group at W3C, which finished its work with the publication of the MathML 3 recommendation. +He is president of the OpenMath society and trustee of the MKM interest group. + +\keypubs{KohDavGin:psewads11,Kohlhase:pdpl10,Kohlhase:omdoc1.2,CarlisleEd:MathML10,StaKoh:tlcspx10} +\end{sitedescription} + +%%% Local Variables: +%%% mode: LaTeX +%%% TeX-master: "propB" +%%% End: + +% LocalWords: site-jacu.tex sitedescription emph textbf keypubs KohDavGin +% LocalWords: psewads11 pdpl10 StaKoh tlcspx10 KohDavGin:psewads11,Kohlhase:pdpl10 diff --git a/examples/eu/strep/site-jacu.tex b/examples/eu/strep/site-jacu.tex deleted file mode 100644 index 40b42c1..0000000 --- a/examples/eu/strep/site-jacu.tex +++ /dev/null @@ -1,53 +0,0 @@ -\begin{sitedescription}{jacu} - -\paragraph{Organization} Jacobs University Bremen is a private research university patterned -after the Anglo-Saxon university system. The university opened in -2001 and has an international student body ($1,245$ students from 102 -nations as of 2011, admitted in a highly selective process). - -The KWARC (KnoWledge Adaptation and Reasoning for -Content\footnote{\url{http://kwarc.info}}) Group headed by -{\emph{Prof.\ Dr.\ Michael Kohlhase}} specializes in building -knowledge management systems for e-science applications, in particular -for the natural and mathematical sciences. Formal logic, natural -language semantics, and semantic web technology provide the -foundations for the research of the group. - - Since doing research and developing systems is much more fun than writing proposals, - they try go do that as efficiently as possible, hence this meta-proposal. - -\paragraph{Main tasks} - -\begin{itemize} -\item creating {\LaTeX} class files -\end{itemize} - -\paragraph{Relevant previous experience} - -The KWARC group is the main center and lead implementor of the OMDoc -(Open Mathematical Document) format for representing mathematical -knowledge. The group has developed added-value services powered by such semantically rich representations, different paths to obtaining them, as well as platforms that integrate both aspects. Services include the adaptive context-sensitive presentation framework JOMDoc and the semantic search engine MathWebSearch. For obtaining rich mathematical content, the group has been pursuing the two alternatives of assisting manual editing (with the sTeXIDE editing environment) and automatic annotation using natural language processing techniques. The latter is work in progress but builds on the arXMLiv system, which is currently capable of converting 70\% out of the 600,000 scientific publications in the arXiv from {\LaTeX} to XHTML+MathML without errors. Finally, the KWARC group has been developing the Planetary integrated environment. - -\paragraph{Specific expertise} - -\begin{itemize} -\item writing intelligent proposals -\end{itemize} - -\paragraph{Staff members involved} - -\textbf{Prof.\ Dr.\ Michael Kohlhase} is head of the KWARC research -group. He is the head developer of the OMDoc mathematical markup -language. He was a member of the Math Working Group at W3C, which finished its work with the publication of the MathML 3 recommendation. He is president of the OpenMath society and trustee of the MKM -interest group. - -\keypubs{KohDavGin:psewads11,Kohlhase:pdpl10,Kohlhase:omdoc1.2,CarlisleEd:MathML10,StaKoh:tlcspx10} -\end{sitedescription} - -%%% Local Variables: -%%% mode: LaTeX -%%% TeX-master: "propB" -%%% End: - -% LocalWords: site-jacu.tex sitedescription emph textbf keypubs KohDavGin -% LocalWords: psewads11 pdpl10 StaKoh tlcspx10 KohDavGin:psewads11,Kohlhase:pdpl10 diff --git a/examples/eu/strep/wp-class.tex b/examples/eu/strep/wp-class.tex index c0c4519..4684b0d 100644 --- a/examples/eu/strep/wp-class.tex +++ b/examples/eu/strep/wp-class.tex @@ -1,7 +1,7 @@ -\begin{workpackage}[id=class,type=RTD,lead=jacu, +\begin{workpackage}[id=class,type=RTD,lead=fau, wphases=3-9!1, title=A {\LaTeX} class for EU Proposals,short=Class, - jacuRM=12,barRM=12] + fauRM=12,barRM=12] We can state the state of the art and similar things before the summary in the boxes here. \wpheadertable diff --git a/examples/eu/strep/wp-dissem.tex b/examples/eu/strep/wp-dissem.tex index 7ad3fa9..33b1aba 100644 --- a/examples/eu/strep/wp-dissem.tex +++ b/examples/eu/strep/wp-dissem.tex @@ -2,7 +2,7 @@ [id=dissem,type=RTD,lead=efo, wphases=10-24!1, title=Dissemination and Exploitation,short=Dissemination, - efoRM=8,jacuRM=2,barRM=2,bazRM=2] + efoRM=8,fauRM=2,barRM=2,bazRM=2] We can state the state of the art and similar things before the summary in the boxes here. \wpheadertable diff --git a/examples/eu/strep/wp-management.tex b/examples/eu/strep/wp-management.tex index aff2bcf..b639d31 100644 --- a/examples/eu/strep/wp-management.tex +++ b/examples/eu/strep/wp-management.tex @@ -1,6 +1,6 @@ \begin{workpackage}[id=management,type=MGT,wphases=0-24!.2, title=Project Management,short=Management, - jacuRM=2,barRM=2,efoRM=2,bazRM=2,lead=jacu,status=canceled] + fauRM=2,barRM=2,efoRM=2,bazRM=2,lead=fau,status=canceled] We can state the state of the art and similar things before the summary in the boxes here. \wpheadertable @@ -42,13 +42,13 @@ here. \begin{wpdelivs} - \begin{wpdeliv}[due=1,id=mailing,nature=O,dissem=PP,miles=kickoff,lead=jacu] + \begin{wpdeliv}[due=1,id=mailing,nature=O,dissem=PP,miles=kickoff,lead=fau] {Project-internal mailing lists} \end{wpdeliv} - \begin{wpdeliv}[due=3,id=handbook,nature=R,dissem=PU,miles=consensus,lead=jacu] + \begin{wpdeliv}[due=3,id=handbook,nature=R,dissem=PU,miles=consensus,lead=fau] {Project management handbook} \end{wpdeliv} - \begin{wpdeliv}[due=44,id=worldpeace,nature=R,dissem=PU,status=canceled,lead=jacu] + \begin{wpdeliv}[due=44,id=worldpeace,nature=R,dissem=PU,status=canceled,lead=fau] {Plan to save the world} \end{wpdeliv} \begin{wpdeliv}[due={6,12,18,24,30,36,42,48},id=report2,nature=R,dissem=public,miles={consensus,final}] @@ -58,13 +58,13 @@ here. Commission. Financial reporting is mainly done in months 18 and 36.\Ednote{how about these numbers?} \end{wpdeliv} - \begin{wpdeliv}[due=6,id=helpdesk,dissem=PU,nature=O,miles=kickoff,lead=jacu] + \begin{wpdeliv}[due=6,id=helpdesk,dissem=PU,nature=O,miles=kickoff,lead=fau] {{\pn} Helpdesk} \end{wpdeliv} - \begin{wpdeliv}[due=36,id=report6,nature=R,dissem=PU,miles=final,lead=jacu] + \begin{wpdeliv}[due=36,id=report6,nature=R,dissem=PU,miles=final,lead=fau] {Final plan for using and disseminating the knowledge} \end{wpdeliv} - \begin{wpdeliv}[due=48,id=report7,nature=R,dissem=PU,miles=final,lead=jacu] + \begin{wpdeliv}[due=48,id=report7,nature=R,dissem=PU,miles=final,lead=fau] {Final management report} \end{wpdeliv} \end{wpdelivs} diff --git a/lib/Makefile.dfgproposal b/lib/Makefile.dfgproposal index 7f9d078..a7b3286 100644 --- a/lib/Makefile.dfgproposal +++ b/lib/Makefile.dfgproposal @@ -22,15 +22,13 @@ PDATA = $(PROPOSAL:%.tex=%.pdata) # the proposal project data SRC = $(filter-out $(TARGET),$(shell ls *.tex)) # included files BBL = $(PROPOSAL:%.tex=%.bbl) PROPCLS.dir = $(PROP.dir)/base -PROPETC.dir = $(PROP.dir)/etc DFGPROPCLS.dir = $(PROP.dir)/dfg -TEXINPUTS := $(PROPCLS.dir)//:$(DFGPROPCLS.dir)//:$(PROPETC.dir)//: +TEXINPUTS := $(PROPCLS.dir)//:$(DFGPROPCLS.dir)//: BIBINPUTS := $(BIB):$(BIBINPUTS) BIBS := $(shell ls *.bib) $(shell ls $(BIB)/*.bib) PROPCLS.clssty = proposal.cls pdata.sty reporting.cls -PROPETC.sty = workaddress.sty metakeys.sty sref.sty DFGPROPCLS.clssty = dfgproposal.cls dfgpdata.sty dfgreporting.cls -PROPCLS = $(PROPCLS.clssty:%=$(PROPCLS.dir)/%) $(DFGPROPCLS.clssty:%=$(DFGPROPCLS.dir)/%) $(PROPETC.sty:%=$(PROPETC.dir)/%) +PROPCLS = $(PROPCLS.clssty:%=$(PROPCLS.dir)/%) $(DFGPROPCLS.clssty:%=$(DFGPROPCLS.dir)/%) all: $(TARGET.pdf)