From 6a45e1ed4207f5f056d0d7e95fc392df26fdbd62 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Fri, 14 Dec 2018 21:55:39 +0000 Subject: jslectureplanner (14dec18) git-svn-id: svn://tug.org/texlive/trunk@49414 c570f23f-e606-0410-a88d-b1316a301751 --- .../latex/jslectureplanner/jslectureplanner.sty | 209 ++++++++++++++++----- .../tex/latex/jslectureplanner/jsmembertable.sty | 4 +- 2 files changed, 165 insertions(+), 48 deletions(-) (limited to 'Master/texmf-dist/tex/latex/jslectureplanner') diff --git a/Master/texmf-dist/tex/latex/jslectureplanner/jslectureplanner.sty b/Master/texmf-dist/tex/latex/jslectureplanner/jslectureplanner.sty index 18a2191bca2..c8e34c2344d 100644 --- a/Master/texmf-dist/tex/latex/jslectureplanner/jslectureplanner.sty +++ b/Master/texmf-dist/tex/latex/jslectureplanner/jslectureplanner.sty @@ -23,8 +23,8 @@ %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\def\filedate{2018/09/26} -\def\fileversion{1.6} +\def\filedate{2018/12/14} +\def\fileversion{1.7} \def\filename{jslectureplanner.sty} \NeedsTeXFormat{LaTeX2e} @@ -442,6 +442,10 @@ \define@key{beamerprogram}{title}{\csdef{@bptitle}{#1}} \define@key{beamerprogram}{options}{\csdef{@bpopts}{#1}} \define@key{beamerprogram}{listoptions}{\csdef{@bplistopts}{#1}} +\define@key{beamerprogram}{overlayarg}{\csdef{@bpolarg}{#1}} +\define@key{beamerprogram}{overlayarg2}{\csdef{@bpolargii}{#1}} +\define@key{beamerprogram}{overlayarg3}{\csdef{@bpolargiii}{#1}} +\define@key{beamerprogram}{overlayarg4}{\csdef{@bpolargiv}{#1}} \define@boolkey{beamerprogram}{alerted}[true]{} \define@boolkey{beamerprogram}{blocksonly}[true]{} \define@boolkey{beamerprogram}{uncover}[true]{} @@ -464,7 +468,21 @@ \boolfalse{uncoveredlist} \fi \ifKV@beamerprogram@blocksonly - \begin{frame}[label=beamerprogram1]{\csuse{@bptitle}\btitleapp} + \ifcsdef{@bpolarg}{% + \ifcsdef{@bpopts}{% + \begingroup\edef\tempa{\endgroup\noexpand% + \begin{frame}<\csuse{@bpolarg}>[\csuse{@bpopts}]{\csuse{@bptitle}\btitleapp}}\tempa + }{% + \begin{frame}<\csuse{@bpolarg}>[label=beamerprogram]{\csuse{@bptitle}\btitleapp} + }% + }{% + \ifcsdef{@bpopts}{% + \begingroup\edef\tempa{\endgroup\noexpand% + \begin{frame}[\csuse{@bpopts}]{\csuse{@bptitle}\btitleapp}}\tempa + }{% + \begin{frame}[label=beamerprogram]{\csuse{@bptitle}\btitleapp} + }% + }% \ifbool{uncoveredlist}{% \begin{description}[<+->][\lecprogramlistindent] }{% @@ -473,15 +491,25 @@ \programblocklistbeamer \end{description} \end{frame} - \else + \else% not \ifKV@beamerprogram@blocksonly + % All but last slide(s) are generated in what follows \@ifundefined{programlistbeamerii}{}{% \def\btitleapp{\ (1/\pframes)} - \ifcsdef{@bpopts}{% - \begingroup\edef\tempa{\endgroup\noexpand% - \begin{frame}[\csuse{@bpopts}]{\csuse{@bptitle}\btitleapp}}\tempa - }{% - \begin{frame}[label=beamerprogram1]{\csuse{@bptitle}\btitleapp} - } + \ifcsdef{@bpolarg}{% + \ifcsdef{@bpopts}{% + \begingroup\edef\tempa{\endgroup\noexpand% + \begin{frame}<\csuse{@bpolarg}>[\csuse{@bpopts}]{\csuse{@bptitle}\btitleapp}}\tempa + }{% + \begin{frame}<\csuse{@bpolarg}>[label=beamerprogram]{\csuse{@bptitle}\btitleapp} + }% + }{% + \ifcsdef{@bpopts}{% + \begingroup\edef\tempa{\endgroup\noexpand% + \begin{frame}[\csuse{@bpopts}]{\csuse{@bptitle}\btitleapp}}\tempa + }{% + \begin{frame}[label=beamerprogram]{\csuse{@bptitle}\btitleapp} + }% + }% \ifbool{uncoveredlist}{% \begin{description}[<+(1)->][\lecprogramlistindent] }{% @@ -493,12 +521,21 @@ } \@ifundefined{programlistbeameriii}{}{% \def\btitleapp{\ (2/\pframes)} - \ifcsdef{@bpopts}{% - \begingroup\edef\tempa{\endgroup\noexpand% - \begin{frame}[\csuse{@bpopts}]{\csuse{@bptitle}\btitleapp}}\tempa - }{% - \begin{frame}[label=beamerprogram2]{\csuse{@bptitle}\btitleapp} - } + \ifcsdef{@bpolargii}{% + \ifcsdef{@bpopts}{% + \begingroup\edef\tempa{\endgroup\noexpand% + \begin{frame}<\csuse{@bpolargii}>[\csuse{@bpopts}]{\csuse{@bptitle}\btitleapp}}\tempa + }{% + \begin{frame}<\csuse{@bpolargii}>[label=beamerprogram2]{\csuse{@bptitle}\btitleapp} + }% + }{% + \ifcsdef{@bpopts}{% + \begingroup\edef\tempa{\endgroup\noexpand% + \begin{frame}[\csuse{@bpopts}]{\csuse{@bptitle}\btitleapp}}\tempa + }{% + \begin{frame}[label=beamerprogram2]{\csuse{@bptitle}\btitleapp} + }% + }% \ifbool{uncoveredlist}{% \begin{description}[<+->][\lecprogramlistindent] }{% @@ -509,13 +546,22 @@ \end{frame} } \@ifundefined{programlistbeameriv}{}{% - \def\btitleapp{\ (2/\pframes)} - \ifcsdef{@bpopts}{% - \begingroup\edef\tempa{\endgroup\noexpand% - \begin{frame}[\csuse{@bpopts}]{\csuse{@bptitle}\btitleapp}}\tempa - }{% - \begin{frame}[label=beamerprogram3]{\csuse{@bptitle}\btitleapp} - } + \def\btitleapp{\ (3/\pframes)} + \ifcsdef{@bpolargiii}{% + \ifcsdef{@bpopts}{% + \begingroup\edef\tempa{\endgroup\noexpand% + \begin{frame}<\csuse{@bpolargiii}>[\csuse{@bpopts}]{\csuse{@bptitle}\btitleapp}}\tempa + }{% + \begin{frame}<\csuse{@bpolargiii}>[label=beamerprogram3]{\csuse{@bptitle}\btitleapp} + }% + }{% + \ifcsdef{@bpopts}{% + \begingroup\edef\tempa{\endgroup\noexpand% + \begin{frame}[\csuse{@bpopts}]{\csuse{@bptitle}\btitleapp}}\tempa + }{% + \begin{frame}[label=beamerprogram3]{\csuse{@bptitle}\btitleapp} + }% + }% \ifbool{uncoveredlist}{% \begin{description}[+(1)->][\lecprogramlistindent] }{% @@ -525,25 +571,78 @@ \end{description} \end{frame} } + % The last slide is generated separately: \ifnumgreater{\thefbreaks}{0}{\def\btitleapp{\ (\pframes/\pframes)}}{} - \ifcsdef{@bpopts}{% - \begingroup\edef\tempa{\endgroup\noexpand% - \begin{frame}[\csuse{@bpopts}]{\csuse{@bptitle}\btitleapp}}\tempa - }{% - \@ifundefined{programlistbeamerii}{% - \begin{frame}[label=beamerprogram]{\csuse{@bptitle}\btitleapp} - }{% - \@ifundefined{programlistbeameriii}{% - \begin{frame}[label=beamerprogram2]{\csuse{@bptitle}\btitleapp} - }{% - \@ifundefined{programlistbeameriv}{% - \begin{frame}[label=beamerprogram3]{\csuse{@bptitle}\btitleapp} - }{% - \begin{frame}[label=beamerprogram4]{\csuse{@bptitle}\btitleapp} - } - } - } - } + \@ifundefined{programlistbeamerii}{% + \ifcsdef{@bpolarg}{% + \ifcsdef{@bpopts}{% + \begingroup\edef\tempa{\endgroup\noexpand% + \begin{frame}<\csuse{@bpolarg}>[\csuse{@bpopts}]{\csuse{@bptitle}\btitleapp}}\tempa + }{% + \begin{frame}<\csuse{@bpolarg}>[label=beamerprogram]{\csuse{@bptitle}\btitleapp} + }% + }{% + \ifcsdef{@bpopts}{% + \begingroup\edef\tempa{\endgroup\noexpand% + \begin{frame}[\csuse{@bpopts}]{\csuse{@bptitle}\btitleapp}}\tempa + }{% + \begin{frame}[label=beamerprogram]{\csuse{@bptitle}\btitleapp} + }% + }% + }{% + \@ifundefined{programlistbeameriii}{% + \ifcsdef{@bpolargii}{% + \ifcsdef{@bpopts}{% + \begingroup\edef\tempa{\endgroup\noexpand% + \begin{frame}<\csuse{@bpolargii}>[\csuse{@bpopts}]{\csuse{@bptitle}\btitleapp}}\tempa + }{% + \begin{frame}<\csuse{@bpolargii}>[label=beamerprogram2]{\csuse{@bptitle}\btitleapp} + }% + }{% + \ifcsdef{@bpopts}{% + \begingroup\edef\tempa{\endgroup\noexpand% + \begin{frame}[\csuse{@bpopts}]{\csuse{@bptitle}\btitleapp}}\tempa + }{% + \begin{frame}[label=beamerprogram2]{\csuse{@bptitle}\btitleapp} + }% + }% + }{% + \@ifundefined{programlistbeameriv}{% + \ifcsdef{@bpolargiii}{% + \ifcsdef{@bpopts}{% + \begingroup\edef\tempa{\endgroup\noexpand% + \begin{frame}<\csuse{@bpolargiii}>[\csuse{@bpopts}]{\csuse{@bptitle}\btitleapp}}\tempa + }{% + \begin{frame}<\csuse{@bpolargiii}>[label=beamerprogram3]{\csuse{@bptitle}\btitleapp} + }% + }{% + \ifcsdef{@bpopts}{% + \begingroup\edef\tempa{\endgroup\noexpand% + \begin{frame}[\csuse{@bpopts}]{\csuse{@bptitle}\btitleapp}}\tempa + }{% + \begin{frame}[label=beamerprogram3]{\csuse{@bptitle}\btitleapp} + }% + }% + }{% + \ifcsdef{@bpolargiv}{% + \ifcsdef{@bpopts}{% + \begingroup\edef\tempa{\endgroup\noexpand% + \begin{frame}<\csuse{@bpolargiv}>[\csuse{@bpopts}]{\csuse{@bptitle}\btitleapp}}\tempa + }{% + \begin{frame}<\csuse{@bpolargiv}>[label=beamerprogram4]{\csuse{@bptitle}\btitleapp} + }% + }{% + \ifcsdef{@bpopts}{% + \begingroup\edef\tempa{\endgroup\noexpand% + \begin{frame}[\csuse{@bpopts}]{\csuse{@bptitle}\btitleapp}}\tempa + }{% + \begin{frame}[label=beamerprogram4]{\csuse{@bptitle}\btitleapp} + }% + }% + }% + }% + }% + \ifbool{uncoveredlist}{% \begin{description}[<+->][\lecprogramlistindent] }{% @@ -630,6 +729,7 @@ \protected@csxdef{usesinstructor\thesnum}{\csuse{@usesinstructor}} \protected@csxdef{usesshortinstructor\thesnum}{\csuse{@usesshortinstructor}} \protected@csxdef{sespresstudents\thesnum}{\csuse{@sespresstudents}} + \protected@csxdef{sesblock\thesnum}{\csuse{@currentblock}} \ifKV@session@cancel \stepcounter{cancellations} \protected@eappto\programlist{\noexpand\item[{\noexpand\bfseries\csuse{sesshortdate\thesnum}}]% @@ -722,19 +822,21 @@ % 3) Definition of thematic blocks % \newcommand*\StartBlock[1]{% - \stepcounter{blocks} + \stepcounter{blocks}% \protected@eappto\programlist{\noexpand\item[{\noexpand\bfseries\Roman{blocks}}.]% - \noexpand\bgroup\noexpand\bfseries #1\noexpand\egroup} - \gappto\programlist{\begin{labeling}{\lecprogramlistindent}} + \noexpand\bgroup\noexpand\bfseries #1\noexpand\egroup}% + \gappto\programlist{\begin{labeling}{\lecprogramlistindent}}% \protected@eappto\programlistbeamer{\noexpand\item[{\noexpand\bfseries\Roman{blocks}}.]% - \noexpand\bgroup\noexpand\bfseries #1\noexpand\egroup} + \noexpand\bgroup\noexpand\bfseries #1\noexpand\egroup}% \gappto\programlistbeamer{\begin{description}[\lecprogramlistindent]} - \protected@xappto\programblocklistbeamer{\noexpand\item[{\Roman{blocks}}.] #1} + \protected@xappto\programblocklistbeamer{\noexpand\item[{\Roman{blocks}}.] #1}% + \csxdef{@currentblock}{#1}% } \newcommand*\EndBlock{% \gappto\programlist{\end{labeling}} \gappto\programlistbeamer{\end{description}} + \csxdef{@currentblock}{}% } \newcommand*\NewBlock[1]{% @@ -870,6 +972,7 @@ \gdef\@usesinstructor{\csuse{usesinstructor#1}}% \gdef\@usesshortinstructor{\csuse{usesshortinstructor#1}}% \gdef\sespresstudents{\csuse{sespresstudents#1}}% + \gdef\sesblocktitle{\csuse{sesblock#1}}% \if\hfuzz\@usesinstructor\hfuzz% \global\togglefalse{uniquesesinstructor}% \else @@ -903,6 +1006,7 @@ \gdef\@lusesinstructor{\csuse{usesinstructor#1}}% \gdef\@lusesshortinstructor{\csuse{usesshortinstructor#1}}% \gdef\lsespresstudents{\csuse{sespresstudents#1}}% + \gdef\lsesblock{\csuse{sesblock#1}}% } % \ses[short]instructor and \ses[short]instructor*. @@ -992,6 +1096,12 @@ \lsespresstudents% } +% Session block title +\newcommand*\SessionBlockTitle[1]{% + \LocalSession{#1}% + \lsesblock% +} + % Program line suitable for % a description or labeling list \newcommand*\MakeProgramline[1]{% @@ -1030,6 +1140,13 @@ \SessionTitle{\theadjsession}% \fi } +% Session block title +\newcommand*\AdjSessionBlockTitle[1][1]{% + \ifnum0<0\sesnr\relax + \setcounter{adjsession}{\numexpr\sesnr+#1\relax}% + \SessionBlockTitle{\theadjsession}% + \fi +} % Short date \newcommand*\AdjSessionShortDate[1][1]{% \ifnum0<0\sesnr\relax diff --git a/Master/texmf-dist/tex/latex/jslectureplanner/jsmembertable.sty b/Master/texmf-dist/tex/latex/jslectureplanner/jsmembertable.sty index a5e8d6d0e6b..7a33c328913 100644 --- a/Master/texmf-dist/tex/latex/jslectureplanner/jsmembertable.sty +++ b/Master/texmf-dist/tex/latex/jslectureplanner/jsmembertable.sty @@ -24,8 +24,8 @@ %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\def\filedate{2017/09/26} -\def\fileversion{1.6} +\def\filedate{2017/12/14} +\def\fileversion{1.7} \def\filename{jsmembertable.sty} \NeedsTeXFormat{LaTeX2e} -- cgit v1.2.3