summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/jslectureplanner
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2015-02-27 22:46:08 +0000
committerKarl Berry <karl@freefriends.org>2015-02-27 22:46:08 +0000
commit59ec3703e8068266ab208e8c512cc16a0105a229 (patch)
tree9ff64fa091221652ebb6423b94c49fe2d34350d0 /Master/texmf-dist/tex/latex/jslectureplanner
parent724b5c167d2eea34d93f9d021bf9437aa9c334bc (diff)
jslectureplanner (27feb15)
git-svn-id: svn://tug.org/texlive/trunk@36395 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/jslectureplanner')
-rw-r--r--Master/texmf-dist/tex/latex/jslectureplanner/cologne.lps33
-rw-r--r--Master/texmf-dist/tex/latex/jslectureplanner/german-default.lps20
-rw-r--r--Master/texmf-dist/tex/latex/jslectureplanner/jslectureplanner.sty270
3 files changed, 197 insertions, 126 deletions
diff --git a/Master/texmf-dist/tex/latex/jslectureplanner/cologne.lps b/Master/texmf-dist/tex/latex/jslectureplanner/cologne.lps
new file mode 100644
index 00000000000..729dffa1001
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/jslectureplanner/cologne.lps
@@ -0,0 +1,33 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% File cologne.lps
+%%
+%% University of Cologne style for lecture planning
+%%
+%% This file is part of the jslectureplanner package.
+%%
+%% Author: Juergen Spitzmueller <juergen.spitzmueller@univie.ac.at>
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2003/12/01 or later.
+%%
+%% This work has the LPPL maintenance status "maintained".
+%%
+%% The Current Maintainer of this work is Juergen Spitzmueller.
+%%
+%% Code repository and issue tracker: https://github.com/jspitz/jslectureplanner
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+% Additional lecture types
+\DefLecType{evl}{EVL}{Einf\"uhrungsvorlesung}{Vorlesung}% introductory lecture
+\DefLecType{es}{ES}{Einf\"uhrungsseminar}{Sitzung}% undergraduate seminar
+\DefLecType{as}{AS}{Aufbauseminar}{Sitzung}% seminar
+\DefLecType{hs}{HS}{Hauptseminar}{Sitzung}% postgraduate seminar
+\DefLecType{ak}{AK}{Arbeitskurs}{Sitzung}% practical course
+
+% Finis
diff --git a/Master/texmf-dist/tex/latex/jslectureplanner/german-default.lps b/Master/texmf-dist/tex/latex/jslectureplanner/german-default.lps
index e7318a054fd..7252eae826e 100644
--- a/Master/texmf-dist/tex/latex/jslectureplanner/german-default.lps
+++ b/Master/texmf-dist/tex/latex/jslectureplanner/german-default.lps
@@ -24,18 +24,18 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Lecture types
-\DefTypeVL{VL}{Vorlesung}{Vorlesung}% lecture
-\DefTypePS{PS}{Proseminar}{Sitzung}% undergraduate seminar
-\DefTypeSE{SE}{Seminar}{Sitzung}% seminar
-\DefTypeUE{UE}{\"Ubung}{Sitzung}% practical course
-\DefTypeKO{KO}{Kolloquium}{Sitzung}% colloquium
-\DefTypePV{PV}{Privatissimum}{Sitzung}% research seminar
+\DefLecType{vl}{VL}{Vorlesung}{Vorlesung}% lecture
+\DefLecType{ps}{PS}{Proseminar}{Sitzung}% undergraduate seminar
+\DefLecType{se}{SE}{Seminar}{Sitzung}% seminar
+\DefLecType{ue}{UE}{\"Ubung}{Sitzung}% practical course
+\DefLecType{ko}{KO}{Kolloquium}{Sitzung}% colloquium
+\DefLecType{pv}{PV}{Privatissimum}{Sitzung}% research seminar
% Term types
-\DefTypeFS{FS}{Fr\"ujahrssemester}% spring term
-\DefTypeHS{HS}{Herbstsemester}% fall term
-\DefTypeSS{SoSe}{Sommersemester}% summer term
-\DefTypeWS{WS}{Wintersemester}% winter term
+\DefSemType{fs}{FS}{Fr\"ujahrssemester}% spring term
+\DefSemType{hs}{HS}{Herbstsemester}% fall term
+\DefSemType{ss}{SoSe}{Sommersemester}% summer term
+\DefSemType{ws}{WS}{Wintersemester}% winter term
% Date formats
\renewcommand*\lecdateformat{%
diff --git a/Master/texmf-dist/tex/latex/jslectureplanner/jslectureplanner.sty b/Master/texmf-dist/tex/latex/jslectureplanner/jslectureplanner.sty
index b47a48a00c4..4cc723ca8d4 100644
--- a/Master/texmf-dist/tex/latex/jslectureplanner/jslectureplanner.sty
+++ b/Master/texmf-dist/tex/latex/jslectureplanner/jslectureplanner.sty
@@ -21,8 +21,8 @@
%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\def\filedate{2015/02/08}
-\def\fileversion{0.9}
+\def\filedate{2015/02/27}
+\def\fileversion{1.0.1}
\def\filename{jslectureplanner.sty}
\NeedsTeXFormat{LaTeX2e}
@@ -59,8 +59,10 @@
\def\lecinstitute{}
\def\lecroom{}
\def\lecstartdate{}
+\def\lecinstructor{}
\def\lecplatform{}
+\def\officenumber{}
\def\officehours{}
\def\sesdate{}
@@ -82,49 +84,49 @@
% 1) Course types
%
% vl
-\def\lectypevl{Vorlesung}
-\def\lectypevls{VL}
-\def\lectypevlses{Vorlesung}
+\def\lectypeverb@vl{Vorlesung}
+\def\lectype@vl{VL}
+\def\lectypesession@vl{Vorlesung}
% vo (redundant and undocumented;
% just kept for historical reasons)
-\def\lectypevo{Vorlesung}
-\def\lectypevos{VO}
-\def\lectypevoses{Vorlesung}
+\def\lectypeverb@vo{Vorlesung}
+\def\lectype@vo{VO}
+\def\lectypesession@vo{Vorlesung}
% ps
-\def\lectypeps{Proseminar}
-\def\lectypepss{PS}
-\def\lectypepsses{Sitzung}
+\def\lectypeverb@ps{Proseminar}
+\def\lectype@ps{PS}
+\def\lectypesession@ps{Sitzung}
% se
-\def\lectypese{Seminar}
-\def\lectypeses{SE}
-\def\lectypeseses{Sitzung}
+\def\lectypeverb@se{Seminar}
+\def\lectype@se{SE}
+\def\lectypesession@se{Sitzung}
% ue
-\def\lectypeue{\"Ubung}
-\def\lectypeues{UE}
-\def\lectypeueses{Sitzung}
+\def\lectypeverb@ue{\"Ubung}
+\def\lectype@ue{UE}
+\def\lectypesession@ue{Sitzung}
% ko
-\def\lectypeko{Kolloquium}
-\def\lectypekos{KO}
-\def\lectypekoses{Sitzung}
+\def\lectypeverb@ko{Kolloquium}
+\def\lectype@ko{KO}
+\def\lectypesession@ko{Sitzung}
% pv
-\def\lectypepv{Privatissimum}
-\def\lectypepvs{PV}
-\def\lectypepvses{Sitzung}
+\def\lectypeverb@pv{Privatissimum}
+\def\lectype@pv{PV}
+\def\lectypesession@pv{Sitzung}
% 2.) Term types
%
% fs
-\def\lectermfs{Fr\"uhjahrssemester}
-\def\lectermfss{FS}
+\def\lecsemverb@fs{Fr\"uhjahrssemester}
+\def\lecsemshort@fs{FS}
% hs
-\def\lectermhs{Herbstsemester}
-\def\lectermhss{HS}
+\def\lecsemverb@hs{Herbstsemester}
+\def\lecsemshort@hs{HS}
% ss
-\def\lectermss{Sommersemester}
-\def\lectermsss{SoSe}
+\def\lecsemverb@ss{Sommersemester}
+\def\lecsemshort@ss{SoSe}
% ws
-\def\lectermws{Wintersemester}
-\def\lectermwss{WS}
+\def\lecsemverb@ws{Wintersemester}
+\def\lecsemshort@ws{WS}
% 3.) misc.
%
@@ -149,62 +151,38 @@
\newcounter{lecinterval}
\setcounter{lecinterval}{7}
\newcounter{sesoffset}
+\newcounter{autooffset}
+\newcounter{autooffsettrigger}
+\newcounter{autooffsetcounter}
+\newcounter{breakunits}
+\newcounter{loopcounter}
%
% PACKAGE OPTIONS
%
-\define@choicekey*+{lec}{lectype}[\val\nr]{vl,vo,ps,se,ue,ko,pv}{%
- \ifcase\nr\relax% vl
- \def\lectype{\lectypevls}
- \def\lectypeverb{\lectypevl}
- \def\lectypesession{\lectypevlses}
- \or% vo (redundant and undocumented; just kept for historical reasons)
- \def\lectype{\lectypevos}
- \def\lectypeverb{\lectypevo}
- \def\lectypesession{\lectypevoses}
- \or% ps
- \def\lectype{\lectypepss}
- \def\lectypeverb{\lectypeps}
- \def\lectypesession{\lectypepsses}
- \or% se
- \def\lectype{\lectypeses}
- \def\lectypeverb{\lectypese}
- \def\lectypesession{\lectypeseses}
- \or% ue
- \def\lectype{\lectypeues}
- \def\lectypeverb{\lectypeue}
- \def\lectypesession{\lectypeueses}
- \or% ko
- \def\lectype{\lectypekos}
- \def\lectypeverb{\lectypeko}
- \def\lectypesession{\lectypekoses}
- \or% pv
- \def\lectype{\lectypepvs}
- \def\lectypeverb{\lectypepv}
- \def\lectypesession{\lectypepvses}
- \fi
-}{%
- \PackageWarning{jslectureplanner}{unknown type value '#1'}%
+\define@key{lec}{lectype}{%
+ \AtEndPreamble{%
+ \ifcsundef{lectype@#1}{%
+ \PackageError{jslectureplanner}{Lecture type '#1' is not defined!}{%
+ Please consult the package manual for instructions how to define it}
+ }{}
+ \def\lectype{\csuse{lectype@#1}}%
+ \def\lectypeverb{\csuse{lectypeverb@#1}}%
+ \def\lectypesession{\csuse{lectypesession@#1}}%
+ }%
}
\DeclareOptionX{type}{\setkeys{lec}{lectype=#1}}
-\define@choicekey*+{lec}{lecsem}[\val\nr]{fs,hs,ss,ws}{%
- \ifcase\nr\relax% fs
- \def\lecsemshort{\lectermfss}
- \def\lecsemverb{\lectermfs}
- \or% hs
- \def\lecsemshort{\lectermhss}
- \def\lecsemverb{\lectermhs}
- \or% ss
- \def\lecsemshort{\lectermsss}
- \def\lecsemverb{\lectermss}
- \or% ws
- \def\lecsemshort{\lectermwss}
- \def\lecsemverb{\lectermws}
- \fi
-}{%
- \PackageWarning{jslectureplanner}{unknown semester value '#1'}%
+\define@key{lec}{lecsem}{%
+ \AtEndPreamble{%
+ \ifcsundef{lecsemshort@#1}{%
+ \PackageError{jslectureplanner}{Semester type '#1' is not defined!}{%
+ Please consult the package manual for instructions how to define it}
+ }{}
+ \def\lecsemshort{\csuse{lecsemshort@#1}}%
+ \def\lecsemverb{\csuse{lecsemverb@#1}}%
+ }%
}
\DeclareOptionX{semester}{\setkeys{lec}{lecsem=#1}}
@@ -217,8 +195,10 @@
\define@key{lec}{institute}{\def\lecinstitute{#1}}
\define@key{lec}{platform}{\def\lecplatform{#1}}
\define@key{lec}{officehours}{\def\officehours{#1}}
+\define@key{lec}{officenumber}{\def\officenumber{#1}}
\define@key{lec}{room}{\def\lecroom{#1}}
\define@key{lec}{startdate}{\def\lecstartdate{#1}}
+\define@key{lec}{instructor}{\def\lecinstructor{#1}}
\define@key{lec}{style}{\AtEndOfPackage{\input{#1.lps}}}
\define@key{lec}{interval}{%
% test if the input is a number
@@ -240,8 +220,10 @@
\DeclareOptionX{uni}{\setkeys{lec}{uni=#1}}
\DeclareOptionX{institute}{\setkeys{lec}{institute=#1}}
\DeclareOptionX{startdate}{\setkeys{lec}{startdate=#1}}
+\DeclareOptionX{instructor}{\setkeys{lec}{instructor=#1}}
\DeclareOptionX{platform}{\setkeys{lec}{platform=#1}}
\DeclareOptionX{officehours}{\setkeys{lec}{officehours=#1}}
+\DeclareOptionX{officenumber}{\setkeys{lec}{officenumber=#1}}
\DeclareOptionX{room}{\setkeys{lec}{room=#1}}
\DeclareOptionX{style}{\setkeys{lec}{style=#1}}
\DeclareOptionX{interval}{\setkeys{lec}{interval=#1}}
@@ -266,6 +248,7 @@
\newcommand*{\LecInstitute}[1]{\setkeys{lec}{institute=#1}}
\newcommand*{\LecRoom}[1]{\setkeys{lec}{room=#1}}
\newcommand*{\LecStartDate}[1]{\setkeys{lec}{startdate=#1}}
+\newcommand*{\LecInstructor}[1]{\setkeys{lec}{instructor=#1}}
\newcommand*{\LecInterval}[1]{\setkeys{lec}{interval=#1}}
@@ -293,71 +276,66 @@
% 1) Course types
%
+\newcommand*\DefLecType[4]{%
+ \csdef{lectype@#1}{#2}
+ \csdef{lectypeverb@#1}{#3}
+ \csdef{lectypesession@#1}{#4}
+}
+%
+% Kept for backwards compatibility
% vl
\newcommand*\DefTypeVL[3]{%
- \def\lectypevl{#2}
- \def\lectypevls{#1}
- \def\lectypevlses{#2}
+ \DefLecType{vl}{#1}{#2}{#3}
}
% vo (redundant and undocumented;
% just kept for historical reasons)
\newcommand*\DefTypeVO[3]{%
- \def\lectypevo{#2}
- \def\lectypevos{#1}
- \def\lectypevoses{#3}
+ \DefLecType{vo}{#1}{#2}{#3}
}
% ps
\newcommand*\DefTypePS[3]{%
- \def\lectypeps{#2}
- \def\lectypepss{#1}
- \def\lectypepsses{#3}
+ \DefLecType{ps}{#1}{#2}{#3}
}
% se
\newcommand*\DefTypeSE[3]{%
- \def\lectypese{#2}
- \def\lectypeses{#1}
- \def\lectypeseses{#3}
+ \DefLecType{se}{#1}{#2}{#3}
}
% ue
\newcommand*\DefTypeUE[3]{%
- \def\lectypeue{#2}
- \def\lectypeues{#1}
- \def\lectypeueses{#3}
+ \DefLecType{ue}{#1}{#2}{#3}
}
% ko
\newcommand*\DefTypeKO[3]{%
- \def\lectypeko{#2}
- \def\lectypekos{#1}
- \def\lectypekoses{#3}
+ \DefLecType{ko}{#1}{#2}{#3}
}
% pv
\newcommand*\DefTypePV[3]{%
- \def\lectypepv{#2}
- \def\lectypepvs{#1}
- \def\lectypepvses{#3}
+ \DefLecType{pv}{#1}{#2}{#3}
}
% 2.) Term types
%
+\newcommand*\DefSemType[3]{%
+ \csdef{lecsemshort@#1}{#2}
+ \csdef{lecsemverb@#1}{#3}
+}
+%
+% Kept for backwards compatibility
% fs
\newcommand*\DefTypeFS[2]{%
- \def\lectermfss{#1}
- \def\lectermfs{#2}
+ \DefSemType{fs}{#1}{#2}
}
% hs
\newcommand*\DefTypeHS[2]{%
- \def\lectermhss{#1}
- \def\lectermhs{#2}
+ \DefSemType{hs}{#1}{#2}
}
% ss
\newcommand*\DefTypeSS[2]{%
- \def\lectermsss{#1}
- \def\lectermss{#2}
+ \DefSemType{ss}{#1}{#2}
}
% ws
\newcommand*\DefTypeWS[2]{%
- \def\lectermwss{#1}
- \def\lectermws{#2}
+ \DefSemType{ws}{#1}{#2}
}
@@ -416,7 +394,8 @@
\@ifundefined{programlistbeamerii}{}{%
\def\btitleapp{\ (1/\pframes)}
\ifcsdef{@bpopts}{%
- \begin{frame}[\csuse{@bpopts}]{\csuse{@bptitle}\btitleapp}
+ \begingroup\edef\tempa{\endgroup\noexpand%
+ \begin{frame}[\csuse{@bpopts}]{\csuse{@bptitle}\btitleapp}}\tempa
}{%
\begin{frame}[label=beamerprogram1]{\csuse{@bptitle}\btitleapp}
}
@@ -434,7 +413,8 @@
\@ifundefined{programlistbeameriii}{}{%
\def\btitleapp{\ (2/\pframes)}
\ifcsdef{@bpopts}{%
- \begin{frame}[\csuse{@bpopts}]{\csuse{@bptitle}\btitleapp}
+ \begingroup\edef\tempa{\endgroup\noexpand%
+ \begin{frame}[\csuse{@bpopts}]{\csuse{@bptitle}\btitleapp}}\tempa
}{%
\begin{frame}[label=beamerprogram2]{\csuse{@bptitle}\btitleapp}
}
@@ -452,7 +432,8 @@
\@ifundefined{programlistbeameriv}{}{%
\def\btitleapp{\ (2/\pframes)}
\ifcsdef{@bpopts}{%
- \begin{frame}[\csuse{@bpopts}]{\csuse{@bptitle}\btitleapp}
+ \begingroup\edef\tempa{\endgroup\noexpand%
+ \begin{frame}[\csuse{@bpopts}]{\csuse{@bptitle}\btitleapp}}\tempa
}{%
\begin{frame}[label=beamerprogram3]{\csuse{@bptitle}\btitleapp}
}
@@ -469,7 +450,8 @@
}
\ifnumgreater{\thefbreaks}{0}{\def\btitleapp{\ (\pframes/\pframes)}}{}
\ifcsdef{@bpopts}{%
- \begin{frame}[\csuse{@bpopts}]{\csuse{@bptitle}\btitleapp}
+ \begingroup\edef\tempa{\endgroup\noexpand%
+ \begin{frame}[\csuse{@bpopts}]{\csuse{@bptitle}\btitleapp}}\tempa
}{%
\@ifundefined{programlistbeamerii}{%
\begin{frame}[label=beamerprogram]{\csuse{@bptitle}\btitleapp}
@@ -516,10 +498,18 @@
\define@key{session}{shorttitle}{\csdef{@vashorttitle}{#1}}
\define@key{session}{bibsec}{\csdef{@sesbibsec}{#1}}
\define@key{session}{room}{\csdef{@sesroom}{#1}}
+\define@key{session}{instructor}{\csdef{@sesinstructor}{#1}}
+\define@key{session}{presstudents}{\csdef{@sespresstudents}{#1}}
\define@boolkey{session}{cancel}[true]{}
%
\newcommand*\NewSession[2][]{%
\stepcounter{sesunit}
+ \ifnumcomp{\value{autooffsettrigger}}{>}{0}{%
+ \ifnumcomp{\value{autooffsettrigger}}{=}{\value{autooffsetcounter}}{%
+ \addtocounter{sesoffset}{\theautooffset}%
+ \setcounter{autooffsetcounter}{1}%
+ }{\stepcounter{autooffsetcounter}}
+ }{}
\setcounter{dateratio}{(\thesesunit-1)*\thelecinterval+\thesesoffset}
\setcounter{snum}{\thesesunit-\thecancellations}
\protected@csxdef{sesnr\thesnum}{\thesnum}
@@ -528,6 +518,8 @@
\csdef{@vashorttitle}{}
\csdef{@sesbibsec}{}
\csdef{@sesroom}{\lecroom}
+ \csdef{@sesinstructor}{\lecinstructor}
+ \csdef{@sespresstudents}{}
\setkeys{session}{cancel=false}
\setkeys{session}{#1}
\csdef{@sestitle}{#2}
@@ -543,14 +535,16 @@
\protected@csxdef{sesshorttitle\thesnum}{\csuse{@vashorttitle}}
\protected@csxdef{sesbib\thesnum}{\csuse{@sesbibsec}}
\protected@csxdef{sesroom\thesnum}{\csuse{@sesroom}}
+ \protected@csxdef{sesinstructor\thesnum}{\csuse{@sesinstructor}}
+ \protected@csxdef{sespresstudents\thesnum}{\csuse{@sespresstudents}}
\ifKV@session@cancel
\stepcounter{cancellations}
\protected@eappto\programlist{\noexpand\item[{\noexpand\bfseries\csuse{sesshortdate\thesnum}}]%
\noexpand\bgroup\noexpand\bfseries\csuse{sestitle\thesnum}\csuse{@sestitlesep}\csuse{@vasutitle}%
- \leccancel\noexpand\egroup}
+ \noexpand\leccancel\noexpand\egroup}
\protected@eappto\programlistbeamer{\noexpand\item[{\noexpand\bfseries\csuse{sesshortdate\thesnum}}]%
\noexpand\bgroup\noexpand\bfseries\csuse{sestitle\thesnum}\csuse{@sestitlesep}\csuse{@vasutitle}%
- \leccancel\noexpand\egroup}
+ \noexpand\leccancel\noexpand\egroup}
\else
\protected@eappto\programlist{\noexpand\item[{\noexpand\bfseries\csuse{sesshortdate\thesnum}}]%
\csuse{sestitle\thesnum}\csuse{@sestitlesep}\csuse{@vasutitle}}
@@ -570,6 +564,12 @@
\newcommand*\SetBreak[2][\empty]{%
\stepcounter{sesunit}
\stepcounter{cancellations}
+ \ifnumcomp{\value{autooffsettrigger}}{>}{0}{%
+ \ifnumcomp{\value{autooffsettrigger}}{=}{\value{autooffsetcounter}}{%
+ \addtocounter{sesoffset}{\theautooffset}%
+ \setcounter{autooffsetcounter}{1}%
+ }{\stepcounter{autooffsetcounter}}
+ }{}
\ifx\empty#1
\protected@eappto\programlist{\noexpand\begin{center} (#2) \noexpand\end{center}}
\protected@eappto\programlistbeamer{\noexpand\begin{center} (#2) \noexpand\end{center}}
@@ -590,8 +590,19 @@
\csdef{@breakunits}{\empty}
\csdef{@breakspan}{\empty}
\setkeys{break}{#1}
- \setcounter{sesunit}{\thesesunit+\csuse{@breakunits}}
- \setcounter{cancellations}{\thecancellations+\csuse{@breakunits}}
+ \setcounter{breakunits}{\csuse{@breakunits}}
+ \setcounter{sesunit}{\thesesunit+\thebreakunits}
+ \setcounter{cancellations}{\thecancellations+\thebreakunits}
+ \setcounter{loopcounter}{0}
+ \loop\ifnum\theloopcounter<\thebreakunits\relax
+ \ifnumcomp{\value{autooffsettrigger}}{>}{0}{%
+ \ifnumcomp{\value{autooffsettrigger}}{=}{\value{autooffsetcounter}}{%
+ \addtocounter{sesoffset}{\theautooffset}%
+ \setcounter{autooffsetcounter}{1}%
+ }{\stepcounter{autooffsetcounter}}
+ }{}
+ \stepcounter{loopcounter}
+ \repeat
\ifx\empty\csuse{@breakspan}
\protected@eappto\programlist{\noexpand\begin{center} (#2) \noexpand\end{center}}
\protected@eappto\programlistbeamer{\noexpand\begin{center} (#2) \noexpand\end{center}}
@@ -606,6 +617,12 @@
\addtocounter{sesoffset}{#1}
}
+% Automatic Offset after n sessions
+\newcommand*\SetAutoOffset[2]{%
+ \setcounter{autooffsettrigger}{#1}
+ \setcounter{autooffset}{#2}
+}
+
% 3) Definition of thematic blocks
%
\newcommand*\StartBlock[1]{%
@@ -659,6 +676,11 @@
\def\officehours{#1}%
}
+% Office number
+\newcommand\SetOfficeNumber[1]{%
+ \def\officenumber{#1}%
+}
+
% (E-learning) platform
\newcommand\SetPlatform[1]{%
\def\lecplatform{#1}%
@@ -679,6 +701,8 @@
\gdef\sesshorttitle{\csuse{sesshorttitle#1}}%
\gdef\sessubtitle{\csuse{sessubtitle#1}}%
\gdef\sesroom{\csuse{sesroom#1}}%
+ \gdef\sesinstructor{\csuse{sesinstructor#1}}%
+ \gdef\sespresstudents{\csuse{sespresstudents#1}}%
}
% Define a local session
@@ -692,6 +716,8 @@
\gdef\lsesshorttitle{\csuse{sesshorttitle#1}}%
\gdef\lsessubtitle{\csuse{sessubtitle#1}}%
\gdef\lsesroom{\csuse{sesroom#1}}%
+ \gdef\lsesinstructor{\csuse{sesinstructor#1}}%
+ \gdef\lsespresstudents{\csuse{sespresstudents#1}}%
}
% Get information for a specific (local) session
@@ -732,6 +758,18 @@
\lsesroom%
}
+% Instructor
+\newcommand*\SessionInstructor[1]{%
+ \LocalSession{#1}%
+ \lsesinstructor%
+}
+
+% Presenting students
+\newcommand*\SessionPresStudents[1]{%
+ \LocalSession{#1}%
+ \lsespresstudents%
+}
+
% Program line suitable for
% a description or labeling list
\newcommand*\MakeProgramline[1]{%