From 59ec3703e8068266ab208e8c512cc16a0105a229 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Fri, 27 Feb 2015 22:46:08 +0000 Subject: jslectureplanner (27feb15) git-svn-id: svn://tug.org/texlive/trunk@36395 c570f23f-e606-0410-a88d-b1316a301751 --- .../tex/latex/jslectureplanner/cologne.lps | 33 +++ .../tex/latex/jslectureplanner/german-default.lps | 20 +- .../latex/jslectureplanner/jslectureplanner.sty | 270 ++++++++++++--------- 3 files changed, 197 insertions(+), 126 deletions(-) create mode 100644 Master/texmf-dist/tex/latex/jslectureplanner/cologne.lps (limited to 'Master/texmf-dist/tex/latex/jslectureplanner') 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 +%% +%% 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]{% -- cgit v1.2.3