diff options
Diffstat (limited to 'macros/latex/contrib/jslectureplanner/jsmembertable.sty')
-rw-r--r-- | macros/latex/contrib/jslectureplanner/jsmembertable.sty | 47 |
1 files changed, 26 insertions, 21 deletions
diff --git a/macros/latex/contrib/jslectureplanner/jsmembertable.sty b/macros/latex/contrib/jslectureplanner/jsmembertable.sty index a371a492a5..0c8c1ee2bb 100644 --- a/macros/latex/contrib/jslectureplanner/jsmembertable.sty +++ b/macros/latex/contrib/jslectureplanner/jsmembertable.sty @@ -24,8 +24,8 @@ %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\def\filedate{2020/12/08} -\def\fileversion{1.12} +\def\filedate{2024/03/06} +\def\fileversion{1.13} \def\filename{jsmembertable.sty} \NeedsTeXFormat{LaTeX2e} @@ -41,32 +41,35 @@ \RequirePackage{array} \RequirePackage{longtable} \RequirePackage{hhline} -\RequirePackage{xkeyval} % % PACKAGE OPTIONS % -\newif\if@datatool\@datatoolfalse -\def\jsmt@datafile{} -\define@key{mem}{datafile}{% - \def\jsmt@datafile{#1.csv} - \@datatooltrue -} -\DeclareOptionX{datafile}{\setkeys{mem}{datafile=#1}} +\newif\if@jsmt@datatool\@jsmt@datatoolfalse \def\jsmt@datakeys{pname,sname,mid,email} -\define@key{mem}{datakeys}{% - \def\jsmt@datakeys{#1} + +\DeclareKeys[jsmt] +{ + % datafile=filename + datafile.code = { + \def\jsmt@datafile{#1.csv} + \@jsmt@datatooltrue + }, + datafile.usage = load, + % datakeys={<keyorder>} + datakeys.store = \jsmt@datakeys, + datakeys.usage = load } -\DeclareOptionX{datakeys}{\setkeys{mem}{datakeys={#1}}} -\ProcessOptionsX + +\ProcessKeyOptions[jsmt] % % OPT-IN PACKAGES % % Load datatool if necessary -\if@datatool +\if@jsmt@datatool \RequirePackage{datatool} \DTLloadrawdb[noheader,keys={\jsmt@datakeys}]{data}{\jsmt@datafile} \dtlsort{sname,pname}{data}{\dtlicompare} @@ -197,7 +200,7 @@ & \jsemailheader\tabularnewline \hhline{-===} \endhead - \if@datatool + \if@jsmt@datatool \DTLforeach*{data}{% \jsmt@firstname=pname,\jsmt@surname=sname,\jsmt@mid=mid,\jsmt@email=email}{% \DTLiffirstrow{}{\tabularnewline\hline}% @@ -649,11 +652,12 @@ \hline \hline \endhead - \if@datatool% + \strut + \if@jsmt@datatool% \DTLforeach*{data}{% \jsmt@firstname=pname,\jsmt@surname=sname}{% \DTLiffirstrow{}{\tabularnewline\hline}% - \bodyrowone{\jsmt@surname, \jsmt@firstname}% + \bodyrowone{\jsmt@surname, \jsmt@firstname}\strut% }% \tabularnewline\hline \fi% @@ -677,18 +681,19 @@ \resettabtoks \loop\ifnum\thetabrow<\themembers\relax \stepcounter{tabrow} - \addtabtoks{\bodyrowtwo{}\tabularnewline\hline}% + \addtabtoks{\bodyrowtwo{}\tabularnewline\hline}\strut% \repeat \ltstarttwo \headerptwo \hline \hline \endhead - \if@datatool + \strut + \if@jsmt@datatool \DTLforeach*{data}{% \jsmt@firstname=pname,\jsmt@surname=sname}{% \DTLiffirstrow{}{\tabularnewline\hline}% - \bodyrowtwo{\jsmt@surname, \jsmt@firstname}% + \bodyrowtwo{\jsmt@surname, \jsmt@firstname}\strut% }% \tabularnewline\hline \fi% |