diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/jslectureplanner/jslectureplanner.sty')
-rw-r--r-- | Master/texmf-dist/tex/latex/jslectureplanner/jslectureplanner.sty | 80 |
1 files changed, 69 insertions, 11 deletions
diff --git a/Master/texmf-dist/tex/latex/jslectureplanner/jslectureplanner.sty b/Master/texmf-dist/tex/latex/jslectureplanner/jslectureplanner.sty index 270f9b48cbc..b16a27faecc 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{2024/03/06} -\def\fileversion{1.13} +\def\filedate{2025/01/29} +\def\fileversion{1.14} \def\filename{jslectureplanner.sty} \NeedsTeXFormat{LaTeX2e} @@ -86,8 +86,9 @@ \def\sesnr{} \def\programlist{} +\def\programlist@instr{} \def\programlistexam{} -\def\programlistbeamer{} +\def\programlistbeamer@instr{} \def\programlistbeamerexam{} \def\programblocklistbeamer{} \def\jsbiblist{} @@ -580,13 +581,24 @@ }{} % % Program generation -\newcommand\makeprogram{% +\newcommand*\makeprogram{% + \@ifstar{\@makeinstrprogram}{\@makeprogram}% +} + +\newcommand\@makeprogram{% \raggedright \begin{ProgramList} \programlist \end{ProgramList} } +\newcommand\@makeinstrprogram{% + \raggedright + \begin{ProgramList} + \programlist@instr + \end{ProgramList} +} + % Exam schedule generation \newcommand\makeexamprogram{% \raggedright @@ -674,6 +686,7 @@ \newif\if@jslp@beamerprogram@alerted\@jslp@beamerprogram@alertedfalse \newif\if@jslp@beamerprogram@blocksonly\@jslp@beamerprogram@blocksonlyfalse \newif\if@jslp@beamerprogram@uncover\@jslp@beamerprogram@uncoverfalse +\newif\if@jslp@beamerprogram@instr\@jslp@beamerprogram@instrfalse \DeclareKeys[beamerprogram] { @@ -696,7 +709,9 @@ % blocksonly = <true|false> blocksonly.if = @jslp@beamerprogram@blocksonly, % uncover = <true|false> - uncover.if = @jslp@beamerprogram@uncover + uncover.if = @jslp@beamerprogram@uncover, + % instructors = <true|false> + instructors.if = @jslp@beamerprogram@instr } % Overlay specifications for uncover programs @@ -712,6 +727,7 @@ \SetKeys[beamerprogram]{alerted=false} \SetKeys[beamerprogram]{blocksonly=false} \SetKeys[beamerprogram]{uncover=false} + \SetKeys[beamerprogram]{instructors=false} \SetKeys[beamerprogram]{#1} \def\bpdescbeg{\begin{BeamerProgramList}} \providebool{alerted} @@ -781,7 +797,11 @@ }% \ifbool{uncoveredlist}{\beameruncoverspec}{\beameralertspec} \begin{BeamerProgramList} - \programlistbeamerii + \if@jslp@beamerprogram@instr + \programlistbeamerii@instr + \else + \programlistbeamerii + \fi \end{BeamerProgramList} \end{frame} } @@ -804,7 +824,11 @@ }% \ifbool{uncoveredlist}{\beameruncoverffslidesspec}{\beameralertspec} \begin{BeamerProgramList} - \programlistbeameriii + \if@jslp@beamerprogram@instr + \programlistbeameriii@instr + \else + \programlistbeameriii + \fi \end{BeamerProgramList} \end{frame} } @@ -827,7 +851,11 @@ }% \ifbool{uncoveredlist}{\beameruncoverffslidesspec}{\beameralertspec} \begin{BeamerProgramList} - \programlistbeameriv + \if@jslp@beamerprogram@instr + \programlistbeameriv@instr + \else + \programlistbeameriv + \fi \end{BeamerProgramList} \end{frame} } @@ -904,7 +932,11 @@ }% \ifbool{uncoveredlist}{\beameruncoverffslidesspec}{\beameralertspec} \begin{BeamerProgramList} - \programlistbeamer + \if@jslp@beamerprogram@instr + \programlistbeamer@instr + \else + \programlistbeamer + \fi \end{BeamerProgramList} \end{frame} \fi%\else\if@jslp@beamerprogram@blocksonly @@ -1129,7 +1161,9 @@ \if@jslp@session@cancel \stepcounter{cancellations} \protected@eappto\programlist{\noexpand\ProgramListCancelItem{\csuse{sesshortdate\thesnum}}{\csuse{sestitle\thesnum}}{\csuse{@sestitlesep}}{\csuse{@sessubtitle}}} + \protected@eappto\programlist@instr{\noexpand\ProgramListCancelItem{\csuse{sesshortdate\thesnum}}{\csuse{sestitle\thesnum}}{\csuse{@sestitlesep}}{\csuse{@sessubtitle}}} \protected@eappto\programlistbeamer{\noexpand\BeamerProgramListCancelItem{\csuse{sesshortdate\thesnum}}{\csuse{sestitle\thesnum}}{\csuse{@sestitlesep}}{\csuse{@sessubtitle}}} + \protected@eappto\programlistbeamer@instr{\noexpand\BeamerProgramListCancelItem{\csuse{sesshortdate\thesnum}}{\csuse{sestitle\thesnum}}{\csuse{@sestitlesep}}{\csuse{@sessubtitle}}} \else \if@jslp@session@exam \stepcounter{exams} @@ -1147,7 +1181,11 @@ \ifcsempty{@sestitle}{\protected@csxdef{sestitle\thesnum}{\sestopic}}{} \fi \protected@eappto\programlist{\noexpand\ProgramListItem{\csuse{sesshortdate\thesnum}}{\csuse{sestitle\thesnum}}{\csuse{@sestitlesep}}{\csuse{@sessubtitle}}} + \protected@eappto\programlist@instr{\noexpand\ProgramListItem{\csuse{sesshortdate\thesnum}}{\csuse{sestitle\thesnum}}{\csuse{@sestitlesep}}{\csuse{@sessubtitle}}% + \ifcsempty{usesinstructor\thesnum}{}{\ [\csuse{usesinstructor\thesnum}]}} \protected@eappto\programlistbeamer{\noexpand\BeamerProgramListItem{\csuse{sesshortdate\thesnum}}{\csuse{sestitle\thesnum}}{\csuse{@sestitlesep}}{\csuse{@sessubtitle}}} + \protected@eappto\programlistbeamer@instr{\noexpand\BeamerProgramListItem{\csuse{sesshortdate\thesnum}}{\csuse{sestitle\thesnum}}{\csuse{@sestitlesep}}{\csuse{@sessubtitle}}% + \ifcsempty{usesinstructor\thesnum}{}{\ [\csuse{usesinstructor\thesnum}]}} \ifcsempty{sesbib\thesnum}{}{% \xappto\jsbiblist{\noexpand\section{\csuse{sestitle\thesnum}\csuse{@sestitlesep}\csuse{@sessubtitle}}% \noexpand\nocite{*}% @@ -1172,9 +1210,13 @@ \ifx\empty#1 \protected@eappto\programlist{\noexpand\ProgramListBreak{#2}} \protected@eappto\programlistbeamer{\noexpand\begin{center} (#2) \noexpand\end{center}} + \protected@eappto\programlist@instr{\noexpand\ProgramListBreak{#2}} + \protected@eappto\programlistbeamer@instr{\noexpand\begin{center} (#2) \noexpand\end{center}} \else \protected@eappto\programlist{\noexpand\ProgramListBreak[#1]{#2}} \protected@eappto\programlistbeamer{\noexpand\begin{center} (#1: #2) \noexpand\end{center}} + \protected@eappto\programlist@instr{\noexpand\ProgramListBreak[#1]{#2}} + \protected@eappto\programlistbeamer@instr{\noexpand\begin{center} (#1: #2) \noexpand\end{center}} \fi } @@ -1213,9 +1255,13 @@ \ifcsempty{@breakspan}{% \protected@eappto\programlist{\noexpand\ProgramListBreak{#2}} \protected@eappto\programlistbeamer{\noexpand\begin{center} (#2) \noexpand\end{center}} + \protected@eappto\programlist@instr{\noexpand\ProgramListBreak{#2}} + \protected@eappto\programlistbeamer@instr{\noexpand\begin{center} (#2) \noexpand\end{center}} }{% \protected@eappto\programlist{\noexpand\ProgramListBreak[\csuse{@breakspan}]{#2}} \protected@eappto\programlistbeamer{\noexpand\begin{center} (\csuse{@breakspan}: #2) \noexpand\end{center}} + \protected@eappto\programlist@instr{\noexpand\ProgramListBreak[\csuse{@breakspan}]{#2}} + \protected@eappto\programlistbeamer@instr{\noexpand\begin{center} (\csuse{@breakspan}: #2) \noexpand\end{center}} } } @@ -1239,6 +1285,9 @@ \protected@eappto\programlist{\noexpand\begin{ProgramListBlock}{\Roman{blocks}}{#1}} \protected@eappto\programlistbeamer{\noexpand\BeamerProgramBlockItem{\Roman{blocks}}{#1}}% \gappto\programlistbeamer{\begin{BeamerProgramList}} + \protected@eappto\programlist@instr{\noexpand\begin{ProgramListBlock}{\Roman{blocks}}{#1}} + \protected@eappto\programlistbeamer@instr{\noexpand\BeamerProgramBlockItem{\Roman{blocks}}{#1}}% + \gappto\programlistbeamer@instr{\begin{BeamerProgramList}} \protected@xappto\programblocklistbeamer{\noexpand\BeamerProgramBlockBlocksOnlyItem{\Roman{blocks}}{#1}}% \csxdef{@currentblock}{#1}% \csxdef{@currentblockno}{\Roman{blocks}}% @@ -1248,6 +1297,8 @@ \newcommand*\EndBlock{% \gappto\programlist{\end{ProgramListBlock}} \gappto\programlistbeamer{\end{BeamerProgramList}} + \gappto\programlist@instr{\end{ProgramListBlock}} + \gappto\programlistbeamer@instr{\end{BeamerProgramList}} \csxdef{@currentblock}{}% \csxdef{@currentblockno}{}% \global\togglefalse{inblock}% @@ -1260,11 +1311,13 @@ \newcommand*\@PauseBlock{% \gappto\programlistbeamer{\end{BeamerProgramList}} + \gappto\programlistbeamer@instr{\end{BeamerProgramList}} } \newcommand*\@ResumeBlock{% - % the \item here is necessary since this is nested immediately into another list - \gappto\programlistbeamer{\item \begin{BeamerProgramList}} + % the \item here is necessary since this is nested immediately into an + \gappto\programlistbeamer{\item \begin{BeamerProgramList}}other list + \gappto\programlistbeamer@instr{\item \begin{BeamerProgramList}} } \newenvironment{SessionBlock}[1]{\StartBlock{#1}}{\EndBlock} @@ -1278,19 +1331,24 @@ \ifdefined\programlistbeamerii \ifdefined\programlistbeameriii \global\let\programlistbeameriv\programlistbeamer + \global\let\programlistbeameriv@instr\programlistbeamer@instr \else \global\let\programlistbeameriii\programlistbeamer + \global\let\programlistbeameriii@instr\programlistbeamer@instr \fi \else% \global\let\programlistbeamerii\programlistbeamer + \global\let\programlistbeamerii@instr\programlistbeamer@instr \fi \global\let\programlistbeamer\empty + \global\let\programlistbeamer@instr\empty \iftoggle{inblock}{\@ResumeBlock}{}% } % Beamer program hook \newcommand*\SetBeamerHook[1]{% \protected@eappto\programlistbeamer{\noexpand#1} + \protected@eappto\programlistbeamer@instr{\noexpand#1} } % 5) Infrastructure |