texlive[42304] Master/texmf-dist: jslectureplanner (18oct16)
commits+karl at tug.org
commits+karl at tug.org
Wed Oct 19 22:37:14 CEST 2016
Revision: 42304
http://tug.org/svn/texlive?view=revision&revision=42304
Author: karl
Date: 2016-10-19 22:37:14 +0200 (Wed, 19 Oct 2016)
Log Message:
-----------
jslectureplanner (18oct16)
Modified Paths:
--------------
trunk/Master/texmf-dist/doc/latex/jslectureplanner/README
trunk/Master/texmf-dist/doc/latex/jslectureplanner/examples/lecturebib.pdf
trunk/Master/texmf-dist/doc/latex/jslectureplanner/examples/lecturehandout.pdf
trunk/Master/texmf-dist/doc/latex/jslectureplanner/examples/lecturepresentation.pdf
trunk/Master/texmf-dist/doc/latex/jslectureplanner/examples/lectureprogram.pdf
trunk/Master/texmf-dist/doc/latex/jslectureplanner/examples/lecturescript.pdf
trunk/Master/texmf-dist/doc/latex/jslectureplanner/examples/membertable-blank.pdf
trunk/Master/texmf-dist/doc/latex/jslectureplanner/examples/membertable-filled.pdf
trunk/Master/texmf-dist/doc/latex/jslectureplanner/examples/presencetable-blank.pdf
trunk/Master/texmf-dist/doc/latex/jslectureplanner/examples/presencetable-filled.pdf
trunk/Master/texmf-dist/doc/latex/jslectureplanner/examples/presentation-list.pdf
trunk/Master/texmf-dist/doc/latex/jslectureplanner/jslectureplanner.pdf
trunk/Master/texmf-dist/doc/latex/jslectureplanner/jslectureplanner.tex
trunk/Master/texmf-dist/tex/latex/jslectureplanner/jslectureplanner.sty
trunk/Master/texmf-dist/tex/latex/jslectureplanner/jsmembertable.sty
Modified: trunk/Master/texmf-dist/doc/latex/jslectureplanner/README
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/jslectureplanner/examples/lecturebib.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/jslectureplanner/examples/lecturehandout.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/jslectureplanner/examples/lecturepresentation.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/jslectureplanner/examples/lectureprogram.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/jslectureplanner/examples/lecturescript.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/jslectureplanner/examples/membertable-blank.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/jslectureplanner/examples/membertable-filled.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/jslectureplanner/examples/presencetable-blank.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/jslectureplanner/examples/presencetable-filled.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/jslectureplanner/examples/presentation-list.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/jslectureplanner/jslectureplanner.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/jslectureplanner/jslectureplanner.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/jslectureplanner/jslectureplanner.tex 2016-10-19 20:36:58 UTC (rev 42303)
+++ trunk/Master/texmf-dist/doc/latex/jslectureplanner/jslectureplanner.tex 2016-10-19 20:37:14 UTC (rev 42304)
@@ -69,7 +69,7 @@
\author{J\xFCrgen Spitzm\xFCller%
\thanks{Please report issues via \protect\url{https://github.com/jspitz/jslectureplanner}.}}
-\date{Version 1.3, 2016/08/31}
+\date{Version 1.4, 2016/10/19}
\maketitle
@@ -222,21 +222,22 @@
\item [\joption{year=<year>}] Year of the term
\item [\joption{uni=<university>}] Your university
\item [\joption{institute=<institute>}] Your institute/department
-\item [\joption{room=<room>}] The room where the course generally takes place.
- It is possible to specify diverging rooms for individual sessions
- (see sec. \ref{sec:lecplan}).
+\item [\joption{room=<room>}] The room where the course generally takes place;
+ it is possible to specify diverging rooms for individual sessions
+ (see sec. \ref{sec:lecplan})
\item [\joption{startdate=<startdate>}] The date of the first session (the argument
- \emph{must} have the form DD/MM/YYYY). If no startdate is given,
- \jfcsmacro{today} is used.
-\item [\joption{interval=<interval>}] The interval (in days) between two sessions.
- The preset interval is 7 (=~weekly courses).
+ \emph{must} have the form DD/MM/YYYY); if no startdate is given,
+ \jfcsmacro{today} is used
+\item [\joption{interval=<interval>}] The interval (in days) between two sessions;
+ the preset interval is 7 (=~weekly courses)
\end{description}
\subsubsection{Additional information}
\begin{description}
-\item [\joption{instructor=<name>}] (General) course instructor's name.
- It is possible to specify different or specific instructors for individual sessions
- (see sec. \ref{sec:lecplan}).
+\item [\joption{instructor=<name>}] (General) course instructor's name;
+ it is possible to specify different or specific instructors for individual sessions
+ (see sec. \ref{sec:lecplan})
+\item [\joption{shortinstructor=<name>}] Short form of the (general) course instructor's name (e.\,g., for headings)
\item [\joption{platform=<data>}] Information of the e-learning platform
(such as the URL)
\item [\joption{officehours=<data>}] Date of your office hours
@@ -306,7 +307,7 @@
\subsubsection{Additional information}\label{ses-add}
\begin{itemize}
-\item \jcsmacro{LecInstructor\{<name>\}}: Record the (general) instructor's name
+\item \jcsmacro{LecInstructor[<short name>]\{<name>\}}: Record the (general) instructor's name, including an optional short form for headings etc.
\item \jcsmacro{SetOfficeHours\{<office hours>\}}: Record date of your office hours
\item \jcsmacro{SetOfficeNumber\{<office number>\}}: Record your office (room) number
\item \jcsmacro{SetPlatform\{<platform information>\}}: Record information
@@ -331,6 +332,7 @@
headings etc.)
\item \joption{instructor=<name>}: Specific instructor for this session
(if it differs from the usual course instructor)
+\item \joption{shortinstructor=<name>}: Short form of the specific instructor for this session
\item \joption{presstudents=<names>}: Students presenting in this session
(used for student presentation lists, see below sec.~\ref{sec:preslists})
\item \joption{room=<room>}: Specific room for this session (if it differs
@@ -438,7 +440,10 @@
\item \jcsmacro{lecfulltitle}: Outputs the course's full title
(title, separator, subtitle)
\item \jcsmacro{lecshorttitle}: Outputs the short version
-of the course title
+of the course title; if no explicit short title is specified,
+the normal title is output (you can check whether
+there is a unique short title by the test
+\jcsmacro{iftoggle\{uniquelecshorttitle\}\{<true>\}\{<false>\}})
\item \jcsmacro{lecsemshort}: Outputs the short version of
the term type (e.\,g., ``WS'')
\item \jcsmacro{lecsemverb}: Outputs the verbose version
@@ -451,6 +456,10 @@
\item \jcsmacro{lecuniversity}: Outputs the university's name
\item \jcsmacro{lecinstitute}: Outputs the institute's/department's name
\item \jcsmacro{lecinstructor}: Outputs the (general) instructor's name
+\item \jcsmacro{lecshortinstructor}: Outputs short form of the (general) instructor's name;
+if no explicit short name is given, the normal name will be output (you can check whether
+there is a unique short name by the test
+\jcsmacro{iftoggle\{uniquelecshortinstructor\}\{<true>\}\{<false>\}})
\item \jcsmacro{lecroom}: Outputs the (general) course room
\item \jcsmacro{lecplatform}: Outputs information on the
e-learning platform
@@ -615,12 +624,21 @@
\item \jcsmacro{sesshortdate}: Date of the current session,
short form (no year)
\item \jcsmacro{sestitle}: Main title of the current session
+\item \jcsmacro{sesshorttitle}: Short title of the current session; if
+no explicit short title is specified, the normal [main] title is output
+(you can check whether there is a unique short title by the test
+\jcsmacro{iftoggle\{uniquesesshorttitle\}\{<true>\}\{<false>\}})
\item \jcsmacro{sestitlesep}: Title-subtitle separator of
the current session
\item \jcsmacro{sessubtitle}: Subtitle of the current session
\item \jcsmacro{sesfulltitle}: Full title of the current
session (title, separator, subtitle)
-\item \jcsmacro{sesinstructor}: Current session's instructor's name
+\item \jcsmacro{sesinstructor}: Current session's instructor's name; if you want to output this name only if it differs from the general instructor (\jcsmacro{lecinstructor}), use the starred version \jcsmacro{sesinstructor*} (furthermore, you can check whether
+there is a unique session instructor by the test
+\jcsmacro{iftoggle\{uniquesesinstructor\}\{<true>\}\{<false>\}})
+\item \jcsmacro{sesshortinstructor}: Current session's instructor's short name; if you want to output this name only if it differs from the general instructor (\jcsmacro{lecshortinstructor}), use the starred version \jcsmacro{sesshortinstructor*}; if no explicit instructor short name is given, the normal instructor name will be output (you can check whether
+there is a unique short instructor [that differs from the long session instructor name] by the test
+\jcsmacro{iftoggle\{uniquesesshortinstructor\}\{<true>\}\{<false>\}})
\item \jcsmacro{sespresstudents}: Students presenting in this session
\item \jcsmacro{sesnr}: Number of the current session
\item \jcsmacro{sesroom}: Room of the current session
@@ -636,11 +654,14 @@
\item \jcsmacro{AdjSessionFullTitle[<offset>]}: Outputs the full
title (main title, separator, subtitle) of the adjacent session
\item \jcsmacro{AdjSessionShortTitle[<offset>]}: Outputs the short
- title of the adjacent session
+ title of the adjacent session; if no explicit short title is specified, the normal main title is output
\item \jcsmacro{AdjSessionDate[<offset>]}: Outputs the date of the adjacent session
\item \jcsmacro{AdjSessionShortDate[<offset>]}: Outputs the short
date (no year) of the adjacent session
\item \jcsmacro{AdjSessionInstructor[<offset>]}: Outputs the name of the instructor of the adjacent session
+ \item \jcsmacro{AdjSessionInstructor*[<offset>]}: Outputs the name of the instructor of the adjacent session if it differs from the general instructor (\jcsmacro{lecinstructor})
+ \item \jcsmacro{AdjSessionShortInstructor[<offset>]}: Outputs the short name (or normal name, if no short name was specified) of the instructor of the adjacent session if it differs from the general instructor (\jcsmacro{lecshortinstructor})
+ \item \jcsmacro{AdjSessionShortInstructor*[<offset>]}: Outputs the short name (or normal name, if no short name was specified) of the instructor of the adjacent session
\item \jcsmacro{AdjSessionPresStudents[<offset>]}: Outputs the name of the students presenting in the adjacent session
\item \jcsmacro{AdjSessionRoom[<offset>]}: Outputs the room of the adjacent session
\end{itemize}
@@ -657,7 +678,8 @@
\item \jcsmacro{SessionFullTitle\{<nr>\}}: Outputs the full
title (main title, separator, subtitle) of session number \joption{<nr>}
\item \jcsmacro{SessionShortTitle\{<nr>\}}: Outputs the short
-title of session number \joption{<nr>}
+title of session number \joption{<nr>}; if
+no explicit short title is specified, the normal main title is output
\item \jcsmacro{SessionDate\{<nr>\}}: Outputs the date of
session number \joption{<nr>}
\item \jcsmacro{SessionShortDate\{<nr>\}}: Outputs the short
@@ -664,6 +686,12 @@
date (no year) of session number \joption{<nr>}
\item \jcsmacro{SessionInstructor\{<nr>\}}: Outputs the name of the instructor of session
number \joption{<nr>}
+\item \jcsmacro{SessionInstructor*\{<nr>\}}: Outputs the name of the instructor of session
+number \joption{<nr>} if it differs from the general instructor (\jcsmacro{lecinstructor})
+\item \jcsmacro{SessionShortInstructor\{<nr>\}}: Outputs the short name (or normal name, if no short name was specified) of the instructor of session
+number \joption{<nr>}
+\item \jcsmacro{SessionShortInstructor*\{<nr>\}}: Outputs the short name (or normal name, if no short name was specified) of the instructor of session
+number \joption{<nr>} if it differs from the general instructor (\jcsmacro{lecinstructor})
\item \jcsmacro{SessionPresStudents\{<nr>\}}: Outputs the name of the students presenting
in session number \joption{<nr>}
\item \jcsmacro{SessionRoom\{<nr>\}}: Outputs the room of session number \joption{<nr>}
@@ -1021,6 +1049,13 @@
\section{Release History}
\begin{itemize}
+\item 2016/10/19 (v. 1.4):
+ \begin{itemize}
+ \item Add instructor short forms for lecture and session.
+ \item Add starred versions of the \jcsmacro{sesinstructor}, \jcsmacro{SessionInstructor} and \jcsmacro{AdjSessionInstructor} macros that only produce output if the session instructor differs from the general course instructor.
+ \item All short\{instructor|title\} macros now output the long version if no short form was defined.
+ \item Add boolean tests for unique short forms and session instructors.
+ \end{itemize}
\item 2016/08/31 (v. 1.3):
\begin{itemize}
\item \textbf{Backwards-incompatible change!} Use \textsf{datetime2} instead of \textsf{datetime} and \textsf{advdate}.
Modified: trunk/Master/texmf-dist/tex/latex/jslectureplanner/jslectureplanner.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/jslectureplanner/jslectureplanner.sty 2016-10-19 20:36:58 UTC (rev 42303)
+++ trunk/Master/texmf-dist/tex/latex/jslectureplanner/jslectureplanner.sty 2016-10-19 20:37:14 UTC (rev 42304)
@@ -23,8 +23,8 @@
%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\def\filedate{2016/08/31}
-\def\fileversion{1.3}
+\def\filedate{2016/10/19}
+\def\fileversion{1.4}
\def\filename{jslectureplanner.sty}
\NeedsTeXFormat{LaTeX2e}
@@ -62,6 +62,7 @@
\def\lecroom{}
\def\lecstartdate{}
\def\lecinstructor{}
+\def\lecshortinstructor{}
\def\lecplatform{}
\def\officenumber{}
@@ -70,6 +71,7 @@
\def\sesdate{}
\def\sesshortdate{}
\def\sestitle{}
+\def\sesshorttitle{}
\def\sestitlesep{}
\def\sessubtitle{}
\def\sesnr{}
@@ -160,7 +162,17 @@
\newcounter{loopcounter}
\newcounter{adjsession}
+
%
+% Booleans
+%
+\newtoggle{uniquelecshortinstructor}
+\newtoggle{uniquesesinstructor}
+\newtoggle{uniquesesshortinstructor}
+\newtoggle{uniquelecshorttitle}
+\newtoggle{uniquesesshorttitle}
+
+%
% HELPERS
%
@@ -203,10 +215,16 @@
}
\DeclareOptionX{semester}{\setkeys{lec}{lecsem=#1}}
-\define at key{lec}{title}{\def\lectitle{#1}}
+\define at key{lec}{title}{\def\lectitle{#1}%
+ \ifx\lecshorttitle\empty%
+ \def\lecshorttitle{#1}%
+ \global\togglefalse{uniquelecshorttitle}%
+ \fi}
\define at key{lec}{titlesep}{\def\lectitlesep{#1}}
\define at key{lec}{subtitle}{\def\lecsubtitle{#1}}
-\define at key{lec}{shorttitle}{\def\lecshorttitle{#1}}
+\define at key{lec}{shorttitle}{%
+ \def\lecshorttitle{#1}%
+ \global\toggletrue{uniquelecshorttitle}}
\define at key{lec}{year}{\def\lecyear{#1}}
\define at key{lec}{uni}{\def\lecuniversity{#1}}
\define at key{lec}{institute}{\def\lecinstitute{#1}}
@@ -215,7 +233,11 @@
\define at key{lec}{officenumber}{\def\officenumber{#1}}
\define at key{lec}{room}{\def\lecroom{#1}}
\define at key{lec}{startdate}{\def\lecstartdate{#1}}
-\define at key{lec}{instructor}{\def\lecinstructor{#1}}
+\define at key{lec}{instructor}{\def\lecinstructor{#1}%
+ \ifx\lecshortinstructor\empty\def\lecshortinstructor{#1}\fi}
+\define at key{lec}{shortinstructor}{%
+ \def\lecshortinstructor{#1}%
+ \global\toggletrue{uniquelecshortinstructor}}
\define at key{lec}{style}{\AtEndOfPackage{\input{#1.lps}}}
\define at key{lec}{interval}{%
% test if the input is a number
@@ -238,6 +260,7 @@
\DeclareOptionX{institute}{\setkeys{lec}{institute={#1}}}
\DeclareOptionX{startdate}{\setkeys{lec}{startdate=#1}}
\DeclareOptionX{instructor}{\setkeys{lec}{instructor={#1}}}
+\DeclareOptionX{shortinstructor}{\setkeys{lec}{shortinstructor={#1}}}
\DeclareOptionX{platform}{\setkeys{lec}{platform={#1}}}
\DeclareOptionX{officehours}{\setkeys{lec}{officehours={#1}}}
\DeclareOptionX{officenumber}{\setkeys{lec}{officenumber={#1}}}
@@ -257,7 +280,7 @@
%
\newcommand*{\LecType}[1]{\setkeys{lec}{lectype=#1}}
-\newcommand*{\LecTitle}[2][]{\setkeys{lec}{#1,title={#2}}}
+\newcommand*{\LecTitle}[2][]{\setkeys{lec}{shorttitle={#2},#1,title={#2}}}
\newcommand*{\LecTitleSep}[1]{\setkeys{lec}{titlesep={#1}}}
\newcommand*{\LecSubTitle}[1]{\setkeys{lec}{subtitle={#1}}}
\newcommand*{\LecYear}[2]{\setkeys{lec}{lecsem=#1,year=#2}}
@@ -265,7 +288,13 @@
\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*{\LecInstructor}[2][\empty]{%
+ \ifx#1\empty
+ \setkeys{lec}{instructor={#2}}%
+ \else
+ \setkeys{lec}{instructor={#2},shortinstructor={#1}}%
+ \fi
+}
\newcommand*{\LecInterval}[1]{\setkeys{lec}{interval=#1}}
@@ -523,12 +552,17 @@
% 1) Session definition
%
+\newtoggle{shortinstrdef}
\define at key{session}{titlesep}{\csdef{@sestitlesep}{{#1}}}
-\define at key{session}{subtitle}{\csdef{@vasutitle}{{#1}}}
-\define at key{session}{shorttitle}{\csdef{@vashorttitle}{{#1}}}
+\define at key{session}{subtitle}{\csdef{@sessubtitle}{{#1}}}
+\define at key{session}{shorttitle}{\csdef{@sesshorttitle}{{#1}}\csdef{@usesshorttitle}{{#1}}}
\define at key{session}{bibsec}{\csdef{@sesbibsec}{#1}}
\define at key{session}{room}{\csdef{@sesroom}{{#1}}}
-\define at key{session}{instructor}{\csdef{@sesinstructor}{{#1}}}
+\define at key{session}{instructor}{%
+ \csdef{@sesinstructor}{{#1}}\csdef{@usesinstructor}{{#1}}%
+ \iftoggle{shortinstrdef}{}{\csdef{@sesshortinstructor}{{#1}}\csdef{@usesshortinstructor}{{#1}}}}
+\define at key{session}{shortinstructor}{%
+ \csdef{@sesshortinstructor}{{#1}}\csdef{@usesshortinstructor}{{#1}}\toggletrue{shortinstrdef}}
\define at key{session}{presstudents}{\csdef{@sespresstudents}{{#1}}}
\define at boolkey{session}{cancel}[true]{}
%
@@ -543,12 +577,17 @@
\setcounter{dateratio}{(\thesesunit-1)*\thelecinterval+\thesesoffset}
\setcounter{snum}{\thesesunit-\thecancellations}
\protected at csxdef{sesnr\thesnum}{\thesnum}
+ \togglefalse{shortinstrdef}
\csdef{@sestitlesep}{}
- \csdef{@vasutitle}{}
- \csdef{@vashorttitle}{}
+ \csdef{@sessubtitle}{}
+ \csdef{@sesshorttitle}{#2}
+ \csdef{@usesshorttitle}{}
\csdef{@sesbibsec}{}
\csdef{@sesroom}{\lecroom}
\csdef{@sesinstructor}{\lecinstructor}
+ \csdef{@sesshortinstructor}{\lecshortinstructor}
+ \csdef{@usesinstructor}{}
+ \csdef{@usesshortinstructor}{}
\csdef{@sespresstudents}{}
\setkeys{session}{cancel=false}
\setkeys{session}{#1}
@@ -561,27 +600,31 @@
\DTMsetdatestyle{lecshortdate}\DTMdate{\year-\month-\day+\thedateratio}\egroup}
\protected at csxdef{sestitle\thesnum}{\csuse{@sestitle}\ifcsempty{@sestitle}{\strut}{}}
\protected at csxdef{sestitlesep\thesnum}{\csuse{@sestitlesep}}
- \protected at csxdef{sessubtitle\thesnum}{\csuse{@vasutitle}}
- \protected at csxdef{sesshorttitle\thesnum}{\csuse{@vashorttitle}}
+ \protected at csxdef{sessubtitle\thesnum}{\csuse{@sessubtitle}}
+ \protected at csxdef{sesshorttitle\thesnum}{\csuse{@sesshorttitle}}
+ \protected at csxdef{usesshorttitle\thesnum}{\csuse{@usesshorttitle}}
\protected at csxdef{sesbib\thesnum}{\csuse{@sesbibsec}}
\protected at csxdef{sesroom\thesnum}{\csuse{@sesroom}}
\protected at csxdef{sesinstructor\thesnum}{\csuse{@sesinstructor}}
+ \protected at csxdef{sesshortinstructor\thesnum}{\csuse{@sesshortinstructor}}
+ \protected at csxdef{usesinstructor\thesnum}{\csuse{@usesinstructor}}
+ \protected at csxdef{usesshortinstructor\thesnum}{\csuse{@usesshortinstructor}}
\protected at csxdef{sespresstudents\thesnum}{\csuse{@sespresstudents}}
\ifKV at session@cancel
\stepcounter{cancellations}
\protected at eappto\programlist{\noexpand\item[{\noexpand\bfseries\csuse{sesshortdate\thesnum}}]%
- \noexpand\bgroup\noexpand\bfseries\csuse{sestitle\thesnum}\csuse{@sestitlesep}\csuse{@vasutitle}%
+ \noexpand\bgroup\noexpand\bfseries\csuse{sestitle\thesnum}\csuse{@sestitlesep}\csuse{@sessubtitle}%
\noexpand\leccancel\noexpand\egroup}
\protected at eappto\programlistbeamer{\noexpand\item[{\noexpand\bfseries\csuse{sesshortdate\thesnum}}]%
- \noexpand\bgroup\noexpand\bfseries\csuse{sestitle\thesnum}\csuse{@sestitlesep}\csuse{@vasutitle}%
+ \noexpand\bgroup\noexpand\bfseries\csuse{sestitle\thesnum}\csuse{@sestitlesep}\csuse{@sessubtitle}%
\noexpand\leccancel\noexpand\egroup}
\else
\protected at eappto\programlist{\noexpand\item[{\noexpand\bfseries\csuse{sesshortdate\thesnum}}]%
- \csuse{sestitle\thesnum}\csuse{@sestitlesep}\csuse{@vasutitle}}
+ \csuse{sestitle\thesnum}\csuse{@sestitlesep}\csuse{@sessubtitle}}
\protected at eappto\programlistbeamer{\noexpand\item[{\noexpand\bfseries\csuse{sesshortdate\thesnum}}]%
- \csuse{sestitle\thesnum}\csuse{@sestitlesep}\csuse{@vasutitle}}
+ \csuse{sestitle\thesnum}\csuse{@sestitlesep}\csuse{@sessubtitle}}
\ifcsempty{sesbib\thesnum}{}{%
- \xappto\jsbiblist{\noexpand\section{\csuse{sestitle\thesnum}\csuse{@sestitlesep}\csuse{@vasutitle}}%
+ \xappto\jsbiblist{\noexpand\section{\csuse{sestitle\thesnum}\csuse{@sestitlesep}\csuse{@sessubtitle}}%
\noexpand\nocite{*}%
\noexpand\printbibliography[keyword=\csuse{sesbib\thesnum},heading=none]}%
}%
@@ -795,10 +838,29 @@
\gdef\sestitle{\csuse{sestitle#1}}%
\gdef\sestitlesep{\csuse{sestitlesep#1}}%
\gdef\sesshorttitle{\csuse{sesshorttitle#1}}%
+ \gdef\@usesshorttitle{\csuse{usesshorttitle#1}}%
\gdef\sessubtitle{\csuse{sessubtitle#1}}%
\gdef\sesroom{\csuse{sesroom#1}}%
- \gdef\sesinstructor{\csuse{sesinstructor#1}}%
+ \gdef\@sesinstructor{\csuse{sesinstructor#1}}%
+ \gdef\@sesshortinstructor{\csuse{sesshortinstructor#1}}%
+ \gdef\@usesinstructor{\csuse{usesinstructor#1}}%
+ \gdef\@usesshortinstructor{\csuse{usesshortinstructor#1}}%
\gdef\sespresstudents{\csuse{sespresstudents#1}}%
+ \if\hfuzz\@usesinstructor\hfuzz%
+ \global\togglefalse{uniquesesinstructor}%
+ \else
+ \global\toggletrue{uniquesesinstructor}%
+ \fi
+ \if\hfuzz\@usesshortinstructor\hfuzz%
+ \global\togglefalse{uniquesesshortinstructor}%
+ \else
+ \global\toggletrue{uniquesesshortinstructor}%
+ \fi
+ \if\hfuzz\@usesshorttitle\hfuzz%
+ \global\togglefalse{uniquesesshorttitle}%
+ \else
+ \global\toggletrue{uniquesesshorttitle}%
+ \fi
}
% Define a local session
@@ -812,10 +874,22 @@
\gdef\lsesshorttitle{\csuse{sesshorttitle#1}}%
\gdef\lsessubtitle{\csuse{sessubtitle#1}}%
\gdef\lsesroom{\csuse{sesroom#1}}%
- \gdef\lsesinstructor{\csuse{sesinstructor#1}}%
+ \gdef\@lsesinstructor{\csuse{sesinstructor#1}}%
+ \gdef\@lsesshortinstructor{\csuse{sesshortinstructor#1}}%
+ \gdef\@lusesinstructor{\csuse{usesinstructor#1}}%
+ \gdef\@lusesshortinstructor{\csuse{usesshortinstructor#1}}%
\gdef\lsespresstudents{\csuse{sespresstudents#1}}%
}
+% \ses[short]instructor and \ses[short]instructor*.
+% The starred versions only output something if the session
+% instructor differs from the general lecture instructor
+\newcommand\sesinstructor{\@ifstar{\@usesinstructor}{\@sesinstructor}}
+\newcommand\sesshortinstructor{\@ifstar{\@usesshortinstructor}{\@sesshortinstructor}}
+% same for local instructor macros
+\newcommand\lsesinstructor{\@ifstar{\@lusesinstructor}{\@lsesinstructor}}
+\newcommand\lsesshortinstructor{\@ifstar{\@lusesshortinstructor}{\@lsesshortinstructor}}
+
% Get information for a specific (local) session
%
% Full title
@@ -854,12 +928,40 @@
\lsesroom%
}
-% Instructor
-\newcommand*\SessionInstructor[1]{%
+% Instructor relay
+\newcommand*\SessionInstructor{%
+ \@ifstar{\@@SessionInstructor}{\@SessionInstructor}%
+}
+
+% Instructor, unstarred
+\newcommand*\@SessionInstructor[1]{%
\LocalSession{#1}%
\lsesinstructor%
}
+% Instructor, starred
+\newcommand*\@@SessionInstructor[1]{%
+ \LocalSession{#1}%
+ \lsesinstructor*%
+}
+
+% Instructor (Short Form) relay
+\newcommand*\SessionShortInstructor{%
+ \@ifstar{\@@SessionShortInstructor}{\@SessionShortInstructor}%
+}
+
+% Instructor (Short Form), unstarred
+\newcommand*\@SessionShortInstructor[1]{%
+ \LocalSession{#1}%
+ \lsesshortinstructor%
+}
+
+% Instructor (Short Form), starred
+\newcommand*\@@SessionShortInstructor[1]{%
+ \LocalSession{#1}%
+ \lsesshortinstructor*%
+}
+
% Presenting students
\newcommand*\SessionPresStudents[1]{%
\LocalSession{#1}%
@@ -918,13 +1020,42 @@
\SessionRoom{\theadjsession}%
\fi
}
-% Instructor
-\newcommand*\AdjSessionInstructor[1][1]{%
+% Instructor relay
+\newcommand*\AdjSessionInstructor{%
+ \@ifstar{\@@AdjSessionInstructor}{\@AdjSessionInstructor}%
+}
+% Instructor, unstarred
+\newcommand*\@AdjSessionInstructor[1][1]{%
\ifnum0<0\sesnr\relax
\setcounter{adjsession}{\numexpr\sesnr+#1\relax}%
\SessionInstructor{\theadjsession}%
\fi
}
+% Instructor, starred
+\newcommand*\@@AdjSessionInstructor[1][1]{%
+ \ifnum0<0\sesnr\relax
+ \setcounter{adjsession}{\numexpr\sesnr+#1\relax}%
+ \SessionInstructor*{\theadjsession}%
+ \fi
+}
+% Instructor (Short Form) relay
+\newcommand*\AdjSessionShortInstructor{%
+ \@ifstar{\@@AdjSessionShortInstructor}{\@AdjSessionShortInstructor}%
+}
+% Instructor (Short Form), unstarred
+\newcommand*\@AdjSessionShortInstructor[1][1]{%
+ \ifnum0<0\sesnr\relax
+ \setcounter{adjsession}{\numexpr\sesnr+#1\relax}%
+ \SessionShortInstructor{\theadjsession}%
+ \fi
+}
+% Instructor (Short Form), starred
+\newcommand*\@@AdjSessionShortInstructor[1][1]{%
+ \ifnum0<0\sesnr\relax
+ \setcounter{adjsession}{\numexpr\sesnr+#1\relax}%
+ \SessionShortInstructor*{\theadjsession}%
+ \fi
+}
% Presenting students
\newcommand*\AdjSessionPresStudents[1][1]{%
\ifnum0<0\sesnr\relax
Modified: trunk/Master/texmf-dist/tex/latex/jslectureplanner/jsmembertable.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/jslectureplanner/jsmembertable.sty 2016-10-19 20:36:58 UTC (rev 42303)
+++ trunk/Master/texmf-dist/tex/latex/jslectureplanner/jsmembertable.sty 2016-10-19 20:37:14 UTC (rev 42304)
@@ -24,8 +24,8 @@
%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\def\filedate{2016/08/31}
-\def\fileversion{1.3}
+\def\filedate{2016/10/19}
+\def\fileversion{1.4}
\def\filename{jsmembertable.sty}
\NeedsTeXFormat{LaTeX2e}
More information about the tex-live-commits
mailing list