summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/jslectureplanner/jslectureplanner.sty
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/jslectureplanner/jslectureplanner.sty')
-rw-r--r--Master/texmf-dist/tex/latex/jslectureplanner/jslectureplanner.sty80
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