diff --git a/base/pdata.sty b/base/pdata.sty index 4453646..e591f59 100644 --- a/base/pdata.sty +++ b/base/pdata.sty @@ -8,7 +8,7 @@ %% \NeedsTeXFormat{LaTeX2e}[1999/12/01] \ProvidesPackage{pdata}[2016/04/15 v1.5 Project Data] -\RequirePackage{workaddress}[2011/05/03] +\RequirePackage{workaddress}[2016/07/06] \RequirePackage{eurosym} \newif\if@sites\@sitesfalse\let\prop@gen@sites=\relax% \newcounter{@site}% @@ -21,8 +21,8 @@ \define@key{workpackage}{#1RAM}{\pdata@def\wp@id{#1}{RAM}{##1}} \define@key{prop@gen}{#1employed}{{\let\tabularnewline\relax\let\hline\relax\let\wa@ref\relax% \@ifundefined{prop@gen@employed@lines}% -{\xdef\prop@gen@employed@lines{\wa@ref{institution}{#1}{shortname} & ##1\tabularnewline\hline}}% -{\xdef\prop@gen@employed@lines{\prop@gen@employed@lines \wa@ref{institution}{#1}{shortname} & ##1\tabularnewline\hline}}}}} +{\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}}}}} \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} @@ -121,7 +121,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@ref{person}\@p{personaltitle}~\wa@ref{person}\@p{name}\hfill}} +\wa@ref3{person}\@p{personaltitle}~\wa@ref3{person}\@p{name}\hfill}} \def\@dmp#1{\ifkeys\marginpar{#1}\fi} \renewcommand\euro{\officialeuro\xspace} \endinput diff --git a/base/proposal.cls b/base/proposal.cls index 44c6e01..b37b0e0 100644 --- a/base/proposal.cls +++ b/base/proposal.cls @@ -100,8 +100,8 @@ {\LARGE Acronym: {\prop@gen@acronym}}\\[.2cm] {\large\today}\\[1em] \begin{tabular}{c*{\the@PIs}{c}} - \prop@tl\prop@gen@PIs{\wa@ref{person}\tl@ext{name}}\\ - \prop@tl\prop@gen@PIs{\wa@ref{institution}{\wa@ref{person}\tl@ext{affiliation}}{name}} + \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}} \end{tabular}\\[2cm] \end{center} \setcounter{tocdepth}{2}\tableofcontents\newpage\setcounter{page}{1}} @@ -109,7 +109,7 @@ \begin{itemize} \@for\@I:=\prop@gen@PIs\do{% \item Curriculum Vitae and list of publications for - \wa@ref{person}\@I{personaltitle} \wa@ref{person}\@I{name}} + \wa@ref3{person}\@I{personaltitle} \wa@ref3{person}\@I{name}} \end{itemize}\newpage \printbibliography[heading=warnpubs]} \newenvironment{proposal}[1][]{\readpdata\jobname @@ -128,8 +128,8 @@ {\end{prop@proposal} \pdata@def{prop}{page}{last}{\thepage}\ofpagefalse \pdata@close} -\newcommand\site[1]{\hyperlink{site@#1@target}{\wa@ref{institution}{#1}{acronym}}} -\newcommand\sitename[1]{\hyperlink{site@#1@target}{\wa@ref{institution}{#1}{name}}} +\newcommand\site[1]{\hyperlink{site@#1@target}{\wa@ref3{institution}{#1}{acronym}}} +\newcommand\sitename[1]{\hyperlink{site@#1@target}{\wa@ref3{institution}{#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}\@dmp{title=#1}} diff --git a/base/proposal.dtx b/base/proposal.dtx index 1b5494e..fdae372 100644 --- a/base/proposal.dtx +++ b/base/proposal.dtx @@ -685,7 +685,7 @@ % |workaddress| package from sTeX and supplies the Euro symbol. % \begin{macrocode} %<*pdata> -\RequirePackage{workaddress}[2011/05/03] +\RequirePackage{workaddress}[2016/07/06] \RequirePackage{eurosym} % \end{macrocode} % We define the keys for metadata declarations in the |proposal| environment, they park @@ -706,8 +706,8 @@ \define@key{workpackage}{#1RAM}{\pdata@def\wp@id{#1}{RAM}{##1}} \define@key{prop@gen}{#1employed}{{\let\tabularnewline\relax\let\hline\relax\let\wa@ref\relax% \@ifundefined{prop@gen@employed@lines}% -{\xdef\prop@gen@employed@lines{\wa@ref{institution}{#1}{shortname} & ##1\tabularnewline\hline}}% -{\xdef\prop@gen@employed@lines{\prop@gen@employed@lines \wa@ref{institution}{#1}{shortname} & ##1\tabularnewline\hline}}}}} +{\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}}}}} % \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 @@ -818,8 +818,8 @@ {\LARGE Acronym: {\prop@gen@acronym}}\\[.2cm] {\large\today}\\[1em] \begin{tabular}{c*{\the@PIs}{c}} - \prop@tl\prop@gen@PIs{\wa@ref{person}\tl@ext{name}}\\ - \prop@tl\prop@gen@PIs{\wa@ref{institution}{\wa@ref{person}\tl@ext{affiliation}}{name}} + \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}} \end{tabular}\\[2cm] \end{center} \setcounter{tocdepth}{2}\tableofcontents\newpage\setcounter{page}{1}} @@ -830,7 +830,7 @@ \begin{itemize} \@for\@I:=\prop@gen@PIs\do{% \item Curriculum Vitae and list of publications for - \wa@ref{person}\@I{personaltitle} \wa@ref{person}\@I{name}} + \wa@ref3{person}\@I{personaltitle} \wa@ref3{person}\@I{name}} \end{itemize}\newpage \printbibliography[heading=warnpubs]} % \end{macrocode} @@ -899,8 +899,8 @@ {\LARGE Acronym: {\prop@gen@acronym}}\\[.2cm] {\large\today}\\[1em] \begin{tabular}{c*{\the@PIs}{c}} - \prop@tl\prop@gen@PIs{\wa@ref{person}\tl@ext{name}}\\ - \prop@tl\prop@gen@PIs{\wa@ref{institution}{\wa@ref{person}\tl@ext{affiliation}}{name}} + \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}} \end{tabular}\\[2cm] \end{center} \setcounter{tocdepth}{2}\tableofcontents\newpage\setcounter{page}{1}} @@ -912,8 +912,8 @@ % \begin{macro}{\site*} % \begin{macrocode} %<*cls> -\newcommand\site[1]{\hyperlink{site@#1@target}{\wa@ref{institution}{#1}{acronym}}} -\newcommand\sitename[1]{\hyperlink{site@#1@target}{\wa@ref{institution}{#1}{name}}} +\newcommand\site[1]{\hyperlink{site@#1@target}{\wa@ref3{institution}{#1}{acronym}}} +\newcommand\sitename[1]{\hyperlink{site@#1@target}{\wa@ref3{institution}{#1}{name}}} % \end{macrocode} % \end{macro} % @@ -2485,7 +2485,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@ref{person}\@p{personaltitle}~\wa@ref{person}\@p{name}\hfill}} +\wa@ref3{person}\@p{personaltitle}~\wa@ref3{person}\@p{name}\hfill}} % \end{macrocode} % \end{macro} % diff --git a/base/proposal.pdf b/base/proposal.pdf index 8c703ba..3a22b01 100644 Binary files a/base/proposal.pdf and b/base/proposal.pdf differ diff --git a/base/reporting.cls b/base/reporting.cls index 68eae29..77c5e59 100644 --- a/base/reporting.cls +++ b/base/reporting.cls @@ -111,8 +111,8 @@ {\LARGE Acronym: {\prop@gen@acronym}}\\[.2cm] {\large\today}\\[1em] \begin{tabular}{c*{\the@PIs}{c}} - \prop@tl\prop@gen@PIs{\wa@ref{person}\tl@ext{name}}\\ - \prop@tl\prop@gen@PIs{\wa@ref{institution}{\wa@ref{person}\tl@ext{affiliation}}{name}} + \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}} \end{tabular}\\[2cm] \end{center} \setcounter{tocdepth}{2}\tableofcontents\newpage\setcounter{page}{1}} diff --git a/dfg/dfgpdata.sty b/dfg/dfgpdata.sty index 4dd09dc..0acfff2 100644 --- a/dfg/dfgpdata.sty +++ b/dfg/dfgpdata.sty @@ -16,18 +16,18 @@ \newcommand\prop@gen@thema{??? Thema ???} \newcommand\deu[1]{#1} \newcommand\dfg@applicants@lines{% -\prop@tl\prop@gen@PIs{\wa@ref{person}\tl@ext{personaltitle} \wa@ref{person}\tl@ext{name}}\\ -\prop@tl\prop@gen@PIs{\wa@ref{person}\tl@ext{academictitle}}\\ -\prop@tl\prop@gen@PIs{\wa@ref{person}\tl@ext{birthdate}}\\} +\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@ref{institution}{\wa@ref{person}\tl@ext{affiliation}}{shortname}}\\ -\prop@tl\prop@gen@PIs{\wa@ref{person}\tl@ext{workaddress}}\\ -\prop@tl\prop@gen@PIs{Tel: \wa@ref{person}\tl@ext{worktel}}\\ -\prop@tl\prop@gen@PIs{Fax: \wa@ref{person}\tl@ext{workfax}}\\ -\prop@tl\prop@gen@PIs{\wa@ref{person}\tl@ext{email}}\\} +\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@ref{person}\tl@ext{privaddress}}\\ -\prop@tl\prop@gen@PIs{Tel: \wa@ref{person}\tl@ext{privtel}}\\} +\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)}}% diff --git a/dfg/dfgproposal.cls b/dfg/dfgproposal.cls index a4abe62..1a07d7a 100644 --- a/dfg/dfgproposal.cls +++ b/dfg/dfgproposal.cls @@ -19,8 +19,8 @@ \ifdeutsch\RequirePackage[ngerman]{babel} \else\RequirePackage[ngerman,USenglish]{babel}\fi \newenvironment{sitedescription}[2][]% -{\def\@test{#1}\def\@@title{\ifx\@test\@empty\wa@ref{institution}{#2}{acronym}\else #1\fi: -\textsc{\wa@ref{institution}{#2}{name}}} +{\def\@test{#1}\def\@@title{\ifx\@test\@empty\wa@ref3{institution}{#2}{acronym}\else #1\fi: +\textsc{\wa@ref3{institution}{#2}{name}}} \@for\@I:=#2\do{\pdata@target{site}\@I{}}\subsubsection\@@title} {} \newlength\applicants@table@columnwidth diff --git a/dfg/dfgproposal.dtx b/dfg/dfgproposal.dtx index 4d0be88..f070fad 100644 --- a/dfg/dfgproposal.dtx +++ b/dfg/dfgproposal.dtx @@ -250,18 +250,18 @@ % second argument (where |\tl@ext| is the current PI). % \begin{macrocode} \newcommand\dfg@applicants@lines{% -\prop@tl\prop@gen@PIs{\wa@ref{person}\tl@ext{personaltitle} \wa@ref{person}\tl@ext{name}}\\ -\prop@tl\prop@gen@PIs{\wa@ref{person}\tl@ext{academictitle}}\\ -\prop@tl\prop@gen@PIs{\wa@ref{person}\tl@ext{birthdate}}\\} +\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@ref{institution}{\wa@ref{person}\tl@ext{affiliation}}{shortname}}\\ -\prop@tl\prop@gen@PIs{\wa@ref{person}\tl@ext{workaddress}}\\ -\prop@tl\prop@gen@PIs{Tel: \wa@ref{person}\tl@ext{worktel}}\\ -\prop@tl\prop@gen@PIs{Fax: \wa@ref{person}\tl@ext{workfax}}\\ -\prop@tl\prop@gen@PIs{\wa@ref{person}\tl@ext{email}}\\} +\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@ref{person}\tl@ext{privaddress}}\\ -\prop@tl\prop@gen@PIs{Tel: \wa@ref{person}\tl@ext{privtel}}\\} +\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} % @@ -294,8 +294,8 @@ 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@ref{institution}{#2}{acronym}\else #1\fi: -\textsc{\wa@ref{institution}{#2}{name}}} +{\def\@test{#1}\def\@@title{\ifx\@test\@empty\wa@ref3{institution}{#2}{acronym}\else #1\fi: +\textsc{\wa@ref3{institution}{#2}{name}}} \@for\@I:=#2\do{\pdata@target{site}\@I{}}\subsubsection\@@title} {} % \end{macrocode} @@ -445,8 +445,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@ref{person}\tl@ext{name}}\\ - \prop@tl\prop@gen@PIs{\wa@ref{institution}{\wa@ref{person}\tl@ext{affiliation}}{name}} + \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}} \end{tabular}\\[2cm] \end{center} \setcounter{tocdepth}{1}\tableofcontents\newpage\setcounter{page}{1} diff --git a/dfg/dfgproposal.pdf b/dfg/dfgproposal.pdf index 4e90742..ce653f3 100644 Binary files a/dfg/dfgproposal.pdf and b/dfg/dfgproposal.pdf differ diff --git a/dfg/dfgreporting.cls b/dfg/dfgreporting.cls index 9165baf..ebeeee7 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@ref{person}\tl@ext{name}}\\ - \prop@tl\prop@gen@PIs{\wa@ref{institution}{\wa@ref{person}\tl@ext{affiliation}}{name}} + \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}} \end{tabular}\\[2cm] \end{center} \setcounter{tocdepth}{1}\tableofcontents\newpage\setcounter{page}{1} diff --git a/dfg/examples/proposal/proposal.pdf b/dfg/examples/proposal/proposal.pdf index 5fd8953..2612497 100644 Binary files a/dfg/examples/proposal/proposal.pdf and b/dfg/examples/proposal/proposal.pdf differ diff --git a/dfg/examples/report/finalreport.pdf b/dfg/examples/report/finalreport.pdf index c62e77e..e3aa58f 100644 Binary files a/dfg/examples/report/finalreport.pdf and b/dfg/examples/report/finalreport.pdf differ diff --git a/dfg/examples/report/finalreport.tex b/dfg/examples/report/finalreport.tex index e09637e..6635655 100644 --- a/dfg/examples/report/finalreport.tex +++ b/dfg/examples/report/finalreport.tex @@ -9,8 +9,11 @@ % use \texorpdfstring so that it can be used in section headings as well % tell the class that this is the proposal acronym \input{WApersons} +% temporary fix due to http://tex.stackexchange.com/questions/311426/bibliography-error-use-of-blxbblverbaddi-doesnt-match-its-definition-ve + \begin{document} \providecommand\ifprefchar[2]{}% fix biblatex +\makeatletter\def\blx@maxline{77}\makeatother \begin{center}\color{red}\huge This mock proposal is just an example for \texttt{dfgreporting.cls} it reflects the diff --git a/dfg/examples/simple-proposal/proposal.pdf b/dfg/examples/simple-proposal/proposal.pdf index e967c83..468ca7b 100644 Binary files a/dfg/examples/simple-proposal/proposal.pdf and b/dfg/examples/simple-proposal/proposal.pdf differ diff --git a/etc/workaddress.sty b/etc/workaddress.sty index 8a6525d..413419d 100644 --- a/etc/workaddress.sty +++ b/etc/workaddress.sty @@ -7,130 +7,164 @@ %% workaddress.dtx (with options: `package') %% \NeedsTeXFormat{LaTeX2e}[1999/12/01] -\ProvidesPackage{workaddress}[2012/01/18 v0.4 WorkAddress] -\DeclareOption{showmeta}{\PassOptionsToPackage{\CurrentOption}{metakeys}} +\ProvidesPackage{workaddress}[2016/07/06 v0.5 WorkAddress] +\DeclareOption*{\PassOptionsToPackage{\CurrentOption}{sref}} \ProcessOptions \RequirePackage{sref} -\RequirePackage{pgf} -\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} +\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!}} -{}} -\def\wa@ref#1#2#3{\wa@ref@test{#1}{#2}{#3}\csname wa@#1@#2@#3\endcsname} +\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} +\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}} +\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@ref{person}\@I{name}} - \xdef\@@dept{\wa@ref{person}\@I{department}} - \xdef\@shortname{\csname wa@institution@\@@dept @shortname\endcsname} - \xdef\@dept{\ifx\@shortname\@empty\wa@ref{institution}\@@dept{name}\else\@shortname\fi} - \xdef\@depts{\@depts&\@dept} - \xdef\@@aff{\wa@ref{person}\@I{affiliation}} - \xdef\@shortname{\csname wa@institution@\@@aff @shortname\endcsname} - \xdef\@aff{\ifx\@shortname\@empty\wa@ref{institution}\@@aff{name}\else\@shortname\fi} - \xdef\@affs{\@affs&\@aff} - \xdef\@urls{\@urls&\wa@ref{person}\@I{url}}} - \message{\theauthors authors: \@authors}} + \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@ref{person}{#1}{name}} -\newcommand\waptname[1]{\wa@ref{person}{#1}{personaltitle} \wa@ref{person}{#1}{name}} + \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][]{% -\pgfdeclareimage[#1]{logo}{\wa@ref{institution}{#2}{logo}} -\IfFileExists{\wa@ref{institution}{#2}{logo}}% -{\pgfuseimage{logo}} -{\fbox{#2 logo}\message{still need logo for #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/euproposal.cls b/eu/euproposal.cls index 9b3107c..197bdff 100644 --- a/eu/euproposal.cls +++ b/eu/euproposal.cls @@ -57,9 +57,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@ref{person}\prop@gen@coordinator{name} - \item[e-mail:] \wa@ref{person}\prop@gen@coordinator{email} - \item[tel/fax:] \wa@ref{person}\prop@gen@coordinator{worktelfax} + \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} \@ifundefined{prop@gen@keywords}{}{\item[Keywords:] \prop@gen@keywords} \end{description} \end{large} @@ -96,14 +96,14 @@ \ifx\@site@desc@logo\@true% if we want a logo \wa@institution@logo[height=\site@desc@width]{#2}\\[1ex]% \fi% end logo -\textbf{\wa@ref{institution}{#2}{type}.\hfill \wa@ref{institution}{#2}{country}}\\% -\small\wa@ref{institution}{#2}{streetaddress}, \wa@ref{institution}{#2}{townzip}\\\hline% +\textbf{\wa@ref3{institution}{#2}{type}.\hfill \wa@ref3{institution}{#2}{country}}\\% +\small\wa@ref3{institution}{#2}{streetaddress}, \wa@ref3{institution}{#2}{townzip}\\\hline% \end{tabular}\vspace{-2.5ex}% \end{wrapfigure}% \fi% end box \pdata@target{site}{#2}% -{\subsubsection{\wa@ref{institution}{#2}{acronym}: % space here -{\textsc{\wa@ref{institution}{#2}{name}} (\wa@ref{institution}{#2}{countryshort})}}}% +{\subsubsection{\wa@ref3{institution}{#2}{acronym}: % space here +{\textsc{\wa@ref3{institution}{#2}{name}} (\wa@ref3{institution}{#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 e01ab00..ecc86c4 100644 --- a/eu/euproposal.dtx +++ b/eu/euproposal.dtx @@ -350,9 +350,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@ref{person}\prop@gen@coordinator{name} - \item[e-mail:] \wa@ref{person}\prop@gen@coordinator{email} - \item[tel/fax:] \wa@ref{person}\prop@gen@coordinator{worktelfax} + \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} \@ifundefined{prop@gen@keywords}{}{\item[Keywords:] \prop@gen@keywords} \end{description} \end{large} @@ -406,14 +406,14 @@ \ifx\@site@desc@logo\@true% if we want a logo \wa@institution@logo[height=\site@desc@width]{#2}\\[1ex]% \fi% end logo -\textbf{\wa@ref{institution}{#2}{type}.\hfill \wa@ref{institution}{#2}{country}}\\% -\small\wa@ref{institution}{#2}{streetaddress}, \wa@ref{institution}{#2}{townzip}\\\hline% +\textbf{\wa@ref3{institution}{#2}{type}.\hfill \wa@ref3{institution}{#2}{country}}\\% +\small\wa@ref3{institution}{#2}{streetaddress}, \wa@ref3{institution}{#2}{townzip}\\\hline% \end{tabular}\vspace{-2.5ex}% \end{wrapfigure}% \fi% end box \pdata@target{site}{#2}% -{\subsubsection{\wa@ref{institution}{#2}{acronym}: % space here -{\textsc{\wa@ref{institution}{#2}{name}} (\wa@ref{institution}{#2}{countryshort})}}}% +{\subsubsection{\wa@ref3{institution}{#2}{acronym}: % space here +{\textsc{\wa@ref3{institution}{#2}{name}} (\wa@ref3{institution}{#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 8ea95b4..ee9c05d 100644 Binary files a/eu/euproposal.pdf and b/eu/euproposal.pdf differ diff --git a/eu/examples/strep/propB.pdf b/eu/examples/strep/propB.pdf index 71a218d..8611d97 100644 Binary files a/eu/examples/strep/propB.pdf and b/eu/examples/strep/propB.pdf differ