texlive[48766] Master/texmf-dist: jslectureplanner (26sep18)

commits+karl at tug.org commits+karl at tug.org
Wed Sep 26 22:47:27 CEST 2018


Revision: 48766
          http://tug.org/svn/texlive?view=revision&revision=48766
Author:   karl
Date:     2018-09-26 22:47:27 +0200 (Wed, 26 Sep 2018)
Log Message:
-----------
jslectureplanner (26sep18)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/jslectureplanner/README
    trunk/Master/texmf-dist/doc/latex/jslectureplanner/examples/English/lecturebib-english.pdf
    trunk/Master/texmf-dist/doc/latex/jslectureplanner/examples/English/lecturehandout-english.pdf
    trunk/Master/texmf-dist/doc/latex/jslectureplanner/examples/English/lecturepresentation-english.pdf
    trunk/Master/texmf-dist/doc/latex/jslectureplanner/examples/English/lectureprogram-english.pdf
    trunk/Master/texmf-dist/doc/latex/jslectureplanner/examples/English/lecturescript-english.pdf
    trunk/Master/texmf-dist/doc/latex/jslectureplanner/examples/English/membertable-blank-english.pdf
    trunk/Master/texmf-dist/doc/latex/jslectureplanner/examples/English/membertable-filled-english.pdf
    trunk/Master/texmf-dist/doc/latex/jslectureplanner/examples/English/presencetable-blank-english.pdf
    trunk/Master/texmf-dist/doc/latex/jslectureplanner/examples/English/presencetable-filled-english.pdf
    trunk/Master/texmf-dist/doc/latex/jslectureplanner/examples/English/presentation-list-english.pdf
    trunk/Master/texmf-dist/doc/latex/jslectureplanner/examples/German/lecturebib.pdf
    trunk/Master/texmf-dist/doc/latex/jslectureplanner/examples/German/lecturehandout.pdf
    trunk/Master/texmf-dist/doc/latex/jslectureplanner/examples/German/lecturepresentation.pdf
    trunk/Master/texmf-dist/doc/latex/jslectureplanner/examples/German/lectureprogram.pdf
    trunk/Master/texmf-dist/doc/latex/jslectureplanner/examples/German/lecturescript.pdf
    trunk/Master/texmf-dist/doc/latex/jslectureplanner/examples/German/membertable-blank.pdf
    trunk/Master/texmf-dist/doc/latex/jslectureplanner/examples/German/membertable-filled.pdf
    trunk/Master/texmf-dist/doc/latex/jslectureplanner/examples/German/presencetable-blank.pdf
    trunk/Master/texmf-dist/doc/latex/jslectureplanner/examples/German/presencetable-filled.pdf
    trunk/Master/texmf-dist/doc/latex/jslectureplanner/examples/German/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/english.lps
    trunk/Master/texmf-dist/tex/latex/jslectureplanner/german-default.lps
    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/English/lecturebib-english.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/jslectureplanner/examples/English/lecturehandout-english.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/jslectureplanner/examples/English/lecturepresentation-english.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/jslectureplanner/examples/English/lectureprogram-english.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/jslectureplanner/examples/English/lecturescript-english.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/jslectureplanner/examples/English/membertable-blank-english.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/jslectureplanner/examples/English/membertable-filled-english.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/jslectureplanner/examples/English/presencetable-blank-english.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/jslectureplanner/examples/English/presencetable-filled-english.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/jslectureplanner/examples/English/presentation-list-english.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/jslectureplanner/examples/German/lecturebib.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/jslectureplanner/examples/German/lecturehandout.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/jslectureplanner/examples/German/lecturepresentation.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/jslectureplanner/examples/German/lectureprogram.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/jslectureplanner/examples/German/lecturescript.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/jslectureplanner/examples/German/membertable-blank.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/jslectureplanner/examples/German/membertable-filled.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/jslectureplanner/examples/German/presencetable-blank.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/jslectureplanner/examples/German/presencetable-filled.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/jslectureplanner/examples/German/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	2018-09-26 00:24:08 UTC (rev 48765)
+++ trunk/Master/texmf-dist/doc/latex/jslectureplanner/jslectureplanner.tex	2018-09-26 20:47:27 UTC (rev 48766)
@@ -69,7 +69,7 @@
 \author{J\xFCrgen Spitzm\xFCller%
 \thanks{Please report issues via \protect\url{https://github.com/jspitz/jslectureplanner}.}}
 
-\date{Version 1.5, 2017/03/12}
+\date{Version 1.6, 2018/09/26}
 
 \maketitle
 
@@ -333,6 +333,9 @@
 
 Valid \joption{<options>} include:
 \begin{itemize}
+\item \joption{draft=<true|false>}: If \joption{true}, a placeholder text (by default: ``Thema <n>'',
+    see sec.~\ref{sec:misccust}) will be output if no session title is defined.
+    This might be handy for planning the schedule.
 \item \joption{titlesep=<separator>}: Separator between session title and
     subtitle (e.\,g., \verb|titlesep={.\ }|); this overrides any global separator set via \joption{sestitlesep} option
     or \jcsmacro{SessionTitleSep} macro for the current session
@@ -480,8 +483,6 @@
 \label{sec:lecprog}
 \begin{itemize}
 \item \jcsmacro{makeprogram}: Generates a course program in the form:
-
-
 \begin{lstlisting}[language={[LaTeX]TeX},basicstyle={\small\ttfamily},frame=single]
 \begin{labeling}{\lecprogramlistindent}
 \item[<short date>] <session full title>
@@ -499,10 +500,8 @@
 
 \item \jcsmacro{makebeamerprogram[<options>]}: Generates
 a beamer-suited lecture program from the metadata in the form
-
-
 \begin{lstlisting}[language={[LaTeX]TeX},basicstyle={\small\ttfamily},frame=single]
-\begin[label=beamerprogram<nr>,<bfoptions>]{frame}
+\begin[label=beamerprogram<n>,<bfoptions>]{frame}
 \frametitle{<Heading>}
 \begin{description}[\lecprogramlistindent]
 \item[<short date>] <session full title>
@@ -516,9 +515,12 @@
 
 
 
-\joption{<options>} can be one of
+\joption{<options>} include
 \begin{itemize}
 \item \joption{title=<title>}: Program title (<Heading>)
+\item \joption{blocksonly=<true|false>}: If \joption{true}, only the session blocks are output,
+      not the sessions.
+\item \joption{uncover=<true|false>}: If \joption{true}, the program will be uncovered item-wise.
 \item \joption{options=<bfoptions>}: Beamer frame options. Note that key-value
     beamer frame options need to be embraced, as in\\
     \jcsmacro{makebeamerprogram[options=\{shrink=10\}]}
@@ -542,7 +544,6 @@
 \item \jcsmacro{makesessionbib}
 \end{itemize}
 generates code in the form
-
 \begin{lstlisting}[basicstyle={\small\ttfamily},frame=single,moretexcs={[1]{printbibliography}}]
 \section{<session full title>}
 \nocite{*}
@@ -570,7 +571,6 @@
 \end{quote}
 outputs a list that consists of the session dates and titles as well as the names of the
 presenting students, i.\,e., it expands to code in the form:
-
 \begin{lstlisting}[language={[LaTeX]TeX},basicstyle={\small\ttfamily},frame=single]
 \begin{labeling}{\lecprogramlistindent}
 \item[<short date>] <session full title>\par
@@ -618,8 +618,8 @@
 
 \subsection{Setting the current session}
 
-Use \jcsmacro{ThisSession\{<nr>\}} to tell the package
-which session is current. \joption{<nr>} is an integer value, e.\,g.
+Use \jcsmacro{ThisSession\{<n>\}} to tell the package
+which session is current. \joption{<n>} is an integer value, e.\,g.
 \jcsmacro{ThisSession\{3\}} for the 3rd session of
 the lecture.
 
@@ -680,33 +680,32 @@
 
 Independent of the value of \jcsmacro{ThisSession},
 you can retrieve the following information for arbitrary sessions
-(session number \joption{<nr>}) via the following macros:
+(session number \joption{<n>}) via the following macros:
 \begin{itemize}
-\item \jcsmacro{SessionTitle\{<nr>\}}: Outputs the main title
-of session number \joption{<nr>}
-\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>}; if
+\item \jcsmacro{SessionTitle\{<n>\}}: Outputs the main title
+of session number \joption{<n>}
+\item \jcsmacro{SessionFullTitle\{<n>\}}: Outputs the full
+title (main title, separator, subtitle) of session number \joption{<n>}
+\item \jcsmacro{SessionShortTitle\{<n>\}}: Outputs the short
+title of session number \joption{<n>}; 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
-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>}
-\item \jcsmacro{MakeProgramline\{<nr>\}}: Outputs a list
-item line for session number \joption{<nr>} in the form
-
+\item \jcsmacro{SessionDate\{<n>\}}: Outputs the date of
+session number \joption{<n>}
+\item \jcsmacro{SessionShortDate\{<n>\}}: Outputs the short
+date (no year) of session number \joption{<n>}
+\item \jcsmacro{SessionInstructor\{<n>\}}: Outputs the name of the instructor of session
+number \joption{<n>}
+\item \jcsmacro{SessionInstructor*\{<n>\}}: Outputs the name of the instructor of session
+number \joption{<n>} if it differs from the general instructor (\jcsmacro{lecinstructor})
+\item \jcsmacro{SessionShortInstructor\{<n>\}}: Outputs the short name (or normal name, if no short name was specified) of the instructor of session
+number \joption{<n>}
+\item \jcsmacro{SessionShortInstructor*\{<n>\}}: Outputs the short name  (or normal name, if no short name was specified) of the instructor of session
+number \joption{<n>} if it differs from the general instructor (\jcsmacro{lecinstructor})
+\item \jcsmacro{SessionPresStudents\{<n>\}}: Outputs the name of the students presenting
+in session number \joption{<n>}
+\item \jcsmacro{SessionRoom\{<n>\}}: Outputs the room of session number \joption{<n>}
+\item \jcsmacro{MakeProgramline\{<n>\}}: Outputs a list
+item line for session number \joption{<n>} in the form
 \begin{lstlisting}[language={[LaTeX]TeX},basicstyle={\small\ttfamily},frame=single]
 \item[{\bfseries <short date>}] <session full title>
 \end{lstlisting}
@@ -755,7 +754,6 @@
 (for the long format) and \textsf{lecshortdate} (for the short format),
 using the syntax provided by the \textsf{datetime2}
 package. By default, the two formats are defined as follows:
-
 \begin{lstlisting}[language={[LaTeX]TeX},basicstyle={\small\ttfamily},frame=single,moretexcs={[1]{DTMnewdatestyle}}]
 \DTMnewdatestyle{lecdate}{% long date: DD.\,MM.~YYYY
 \renewcommand*{\DTMdisplaydate}[4]{\DTMtwodigits{##3}.\,\DTMtwodigits{##2}.~##1}%
@@ -770,7 +768,6 @@
 \jfcsmacro{DTMtwodigits\{\#\#3\}} represents the day of the month (producing always two digits, i.\,e., \emph{01} not \emph{1}), \jfcsmacro{DTMtwodigits\{\#\#2\}} represents the month (also in two-digit form) and \jfmacro{\#\#1} represents the year. Please refer to the \textsf{datetime2} manual for details. 
 
 If you want to redefine the styles, use \jfcsmacro{DTMrenewdatestyle} and change the definition accordingly. For instance, to get the typical American English date formats \emph{MM/DD/YYYY} and \emph{Month, DD}, redefine the formats as follows:
-
 \begin{lstlisting}[language={[LaTeX]TeX},basicstyle={\small\ttfamily},frame=single,moretexcs={[1]{DTMrenewdatestyle}}]
 \DTMrenewdatestyle{lecdate}{% long date: MM/DD/YYYY
 \renewcommand*{\DTMdisplaydate}[4]{\DTMtwodigits{##2}/\DTMtwodigits{##3}/##1}%
@@ -785,29 +782,32 @@
 Note, finally, that the date redefinition syntax used up to \jslp\ 1.2 is no longer supported, since it relied on the \textsf{datetime} package, which is deprecated (and superseded by \textsf{datetime2}). The \jslp\ package will issue a warning if you try to use the old syntax.
 
 
-\subsection{Misc. customizing}
+\subsection{Misc. customizing}\label{sec:misccust}
 
 The canceling output is ``Session title -- keine <Session>'' (``keine''
 is German for ``no''). To modify or translate this, redefine the
 following macro
-
 \begin{lstlisting}[language={[LaTeX]TeX},basicstyle={\small\ttfamily},frame=single]
 \newcommand*\leccancel{\ -- keine \lectypesession}
 \end{lstlisting}
 The default program string used in beamer frames can be changed by
 redefining
-
 \begin{lstlisting}[language={[LaTeX]TeX},basicstyle={\small\ttfamily},frame=single]
 \newcommand*\lecprogram{Programm}
 \end{lstlisting}
 The indentation used in program lists can be changed by redefining
-
 \begin{lstlisting}[language={[LaTeX]TeX},basicstyle={\small\ttfamily},frame=single]
 \newcommand*\lecprogramlistindent{\textbf{88.\,88.}}
 \end{lstlisting}
+The placeholder text for session without title with \joption{draft=true}
+(see sec.~\ref{sec:lecplan}) is ``Thema <n>'' (``Thema'' is German for ``topic'').
+It can be changed by redefinition of this macro (\lstinline|\thesestopic| outputs
+the value of the internal topic counter).
+\begin{lstlisting}[language={[LaTeX]TeX},basicstyle={\small\ttfamily},frame=single]
+\newcommand*\sestopic{Thema~\thesestopic}
+\end{lstlisting}
 Use \jfcsmacro{renewcommand{*}} for the redefinitions.
 
-
 \subsection{Using styles}\label{sec:styles}
 
 The most elegant way to do the customizing is to use \emph{lecture planner style} (*.lps) files.
@@ -902,7 +902,6 @@
 loads the file \texttt{mystudents.csv}.
 
 It is assumed that the external CSV file conforms to the following structure:
-
 \begin{lstlisting}[language={},basicstyle={\small\ttfamily},frame=single]
 Prename1, Surname1, StudentID1, Email1
 Prename2, Surname2, StudentID2, Email2
@@ -941,7 +940,6 @@
 \jcsmacro{makemembertable} command.
 The header strings, though, can easily be changed by redefining the following three
 macros (using \jfcsmacro{renewcommand*}), for instance like this:
-
 \begin{lstlisting}[language={[LaTeX]TeX},basicstyle={\small\ttfamily},frame=single]
 % Student Name
 \renewcommand*\jsmnameheader{\textbf{Student name}}
@@ -1017,7 +1015,6 @@
 
 The header strings of the presence tables can be adjusted by redefining the following
 macros (using \jfcsmacro{renewcommand*}), for instance like this:
-
 \begin{lstlisting}[language={[LaTeX]TeX},basicstyle={\small\ttfamily},frame=single]
 % Student Name
 \renewcommand*\jsmnameheader{\textbf{Student name}}
@@ -1069,6 +1066,12 @@
 \section{Release History}
 
 \begin{itemize}
+\item 2018/09/26 (v. 1.6):
+	\begin{itemize}
+	    \item Bugfix: Do not output session title-subtitle separator if there is no	subtitle.
+	    \item Add \joption{blocksonly} and \joption{uncover} options to \jcsmacro{makebeamerprogram}.
+	    \item Add \joption{draft} option to \jcsmacro{NewSession}.
+    \end{itemize}
 \item 2017/03/12 (v. 1.5):
 	\begin{itemize}
 		\item Add \joption{english} style file (proof of concept).
@@ -1082,7 +1085,7 @@
 		\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}
+	\end{itemize}\clearpage
 \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/english.lps
===================================================================
--- trunk/Master/texmf-dist/tex/latex/jslectureplanner/english.lps	2018-09-26 00:24:08 UTC (rev 48765)
+++ trunk/Master/texmf-dist/tex/latex/jslectureplanner/english.lps	2018-09-26 20:47:27 UTC (rev 48766)
@@ -64,6 +64,9 @@
 % Indentation of program list
 \renewcommand*\lecprogramlistindent{\textbf{88/88}}
 
+% Session topic placeholder
+\renewcommand*\sestopic{Topic~\thesestopic}
+
 %
 % Strings used by the jsmembertable package
 % NOTE that these have to be defined via \newcommand

Modified: trunk/Master/texmf-dist/tex/latex/jslectureplanner/german-default.lps
===================================================================
--- trunk/Master/texmf-dist/tex/latex/jslectureplanner/german-default.lps	2018-09-26 00:24:08 UTC (rev 48765)
+++ trunk/Master/texmf-dist/tex/latex/jslectureplanner/german-default.lps	2018-09-26 20:47:27 UTC (rev 48766)
@@ -64,6 +64,9 @@
 % Indentation of program list
 \renewcommand*\lecprogramlistindent{\textbf{88.\,88.}}
 
+% Session topic placeholder
+\renewcommand*\sestopic{Thema~\thesestopic}
+
 %
 % Strings used by the jsmembertable package
 % NOTE that these have to be defined via \newcommand

Modified: trunk/Master/texmf-dist/tex/latex/jslectureplanner/jslectureplanner.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/jslectureplanner/jslectureplanner.sty	2018-09-26 00:24:08 UTC (rev 48765)
+++ trunk/Master/texmf-dist/tex/latex/jslectureplanner/jslectureplanner.sty	2018-09-26 20:47:27 UTC (rev 48766)
@@ -23,8 +23,8 @@
 %%
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
-\def\filedate{2017/03/12}
-\def\fileversion{1.5}
+\def\filedate{2018/09/26}
+\def\fileversion{1.6}
 \def\filename{jslectureplanner.sty}
 
 \NeedsTeXFormat{LaTeX2e}
@@ -78,10 +78,33 @@
 
 \def\programlist{}
 \def\programlistbeamer{}
+\def\programblocklistbeamer{\item}
 \def\jsbiblist{}
 
 
 %
+% COUNTERS
+%
+\newcounter{sesunit}
+\newcounter{dateratio}
+\setcounter{dateratio}{1}
+\newcounter{cancellations}
+\newcounter{snum}
+\newcounter{blocks}
+\newcounter{fbreaks}
+\newcounter{lecinterval}
+\setcounter{lecinterval}{7}
+\newcounter{sesoffset}
+\newcounter{autooffset}
+\newcounter{autooffsettrigger}
+\newcounter{autooffsetcounter}
+\newcounter{breakunits}
+\newcounter{loopcounter}
+\newcounter{adjsession}
+\newcounter{sestopic}
+
+
+%
 % STRINGS
 %
 
@@ -140,30 +163,11 @@
 \newcommand*\lecprogram{Programm}
 % Program list indentation
 \newcommand*\lecprogramlistindent{\textbf{88.\,88.}}
+% Session topic placeholder
+\newcommand*\sestopic{Thema~\thesestopic}
 
 
 %
-% COUNTERS
-%
-\newcounter{sesunit}
-\newcounter{dateratio}
-\setcounter{dateratio}{1}
-\newcounter{cancellations}
-\newcounter{snum}
-\newcounter{blocks}
-\newcounter{fbreaks}
-\newcounter{lecinterval}
-\setcounter{lecinterval}{7}
-\newcounter{sesoffset}
-\newcounter{autooffset}
-\newcounter{autooffsettrigger}
-\newcounter{autooffsetcounter}
-\newcounter{breakunits}
-\newcounter{loopcounter}
-\newcounter{adjsession}
-
-
-%
 % Booleans
 %
 \newtoggle{uniquelecshortinstructor}
@@ -439,6 +443,8 @@
 \define at key{beamerprogram}{options}{\csdef{@bpopts}{#1}}
 \define at key{beamerprogram}{listoptions}{\csdef{@bplistopts}{#1}}
 \define at boolkey{beamerprogram}{alerted}[true]{}
+\define at boolkey{beamerprogram}{blocksonly}[true]{}
+\define at boolkey{beamerprogram}{uncover}[true]{}
 
 \newcommand*\makebeamerprogram[1][]{%
   \csdef{@bptitle}{\lecprogram}
@@ -445,100 +451,108 @@
   \def\btitleapp{}
   \numdef\pframes{\thefbreaks + 1}
   \setkeys{beamerprogram}{alerted=false}
+  \setkeys{beamerprogram}{blocksonly=false}
+  \setkeys{beamerprogram}{uncover=false}
   \setkeys{beamerprogram}{#1}
   \def\bpdescbeg{\begin{description}[\lecprogramlistindent]}
-  \providebool{alertedlist}
   \ifKV at beamerprogram@alerted
-     \booltrue{alertedlist}
+  \fi
+  \providebool{uncoveredlist}
+  \ifKV at beamerprogram@uncover
+     \booltrue{uncoveredlist}
   \else
-     \boolfalse{alertedlist}
+     \boolfalse{uncoveredlist}
   \fi
-  \@ifundefined{programlistbeamerii}{}{%
-  \def\btitleapp{\ (1/\pframes)}
-  \ifcsdef{@bpopts}{%
-     \begingroup\edef\tempa{\endgroup\noexpand%
-       \begin{frame}[\csuse{@bpopts}]{\csuse{@bptitle}\btitleapp}}\tempa
-  }{%
+  \ifKV at beamerprogram@blocksonly
      \begin{frame}[label=beamerprogram1]{\csuse{@bptitle}\btitleapp}
-  }
-  \ifbool{alertedlist}{%
-    \begin{description}[<alert at +(1)>][\lecprogramlistindent]
-    \programlistbeamerii
-    \end{description}
-  }{%
-    \begin{description}[\lecprogramlistindent]
-    \programlistbeamerii
-    \end{description}
-  }
-  \end{frame}
-  }
-  \@ifundefined{programlistbeameriii}{}{%
-  \def\btitleapp{\ (2/\pframes)}
-  \ifcsdef{@bpopts}{%
-     \begingroup\edef\tempa{\endgroup\noexpand%
-        \begin{frame}[\csuse{@bpopts}]{\csuse{@bptitle}\btitleapp}}\tempa
-  }{%
-     \begin{frame}[label=beamerprogram2]{\csuse{@bptitle}\btitleapp}
-  }
-  \ifbool{alertedlist}{%
-    \begin{description}[<alert at +(1)>][\lecprogramlistindent]
-    \programlistbeameriii
-    \end{description}
-  }{%
-    \begin{description}[\lecprogramlistindent]
-    \programlistbeameriii
-    \end{description}
-  }
-  \end{frame}
-  }
-  \@ifundefined{programlistbeameriv}{}{%
-  \def\btitleapp{\ (2/\pframes)}
-  \ifcsdef{@bpopts}{%
-     \begingroup\edef\tempa{\endgroup\noexpand%
-       \begin{frame}[\csuse{@bpopts}]{\csuse{@bptitle}\btitleapp}}\tempa
-  }{%
-     \begin{frame}[label=beamerprogram3]{\csuse{@bptitle}\btitleapp}
-  }
-  \ifbool{alertedlist}{%
-    \begin{description}[<alert at +(1)>][\lecprogramlistindent]
-    \programlistbeameriv
-    \end{description}
-  }{%
-    \begin{description}[\lecprogramlistindent]
-    \programlistbeameriv
-    \end{description}
-  }
-  \end{frame}
-  }
-  \ifnumgreater{\thefbreaks}{0}{\def\btitleapp{\ (\pframes/\pframes)}}{}
-  \ifcsdef{@bpopts}{%
-      \begingroup\edef\tempa{\endgroup\noexpand%
-        \begin{frame}[\csuse{@bpopts}]{\csuse{@bptitle}\btitleapp}}\tempa
+       \ifbool{uncoveredlist}{%
+         \begin{description}[<+->][\lecprogramlistindent]
+       }{%
+         \begin{description}[\lecprogramlistindent]
+       }
+         \programblocklistbeamer
+       \end{description}
+     \end{frame}
+  \else
+    \@ifundefined{programlistbeamerii}{}{%
+    \def\btitleapp{\ (1/\pframes)}
+    \ifcsdef{@bpopts}{%
+       \begingroup\edef\tempa{\endgroup\noexpand%
+         \begin{frame}[\csuse{@bpopts}]{\csuse{@bptitle}\btitleapp}}\tempa
     }{%
-        \@ifundefined{programlistbeamerii}{%
-            \begin{frame}[label=beamerprogram]{\csuse{@bptitle}\btitleapp}
-          }{%
-             \@ifundefined{programlistbeameriii}{%
-                \begin{frame}[label=beamerprogram2]{\csuse{@bptitle}\btitleapp}
-               }{%
-                 \@ifundefined{programlistbeameriv}{%
-                     \begin{frame}[label=beamerprogram3]{\csuse{@bptitle}\btitleapp}
-                   }{%
-                      \begin{frame}[label=beamerprogram4]{\csuse{@bptitle}\btitleapp}
-                    }
-                }
-           }
-     }
-  \ifbool{alertedlist}{%
-    \begin{description}[<alert at +(1)>][\lecprogramlistindent]
-    \programlistbeamer
-    \end{description}
-  }{%
-    \begin{description}[\lecprogramlistindent]
-    \programlistbeamer
-    \end{description}
-  }
-  \end{frame}
+       \begin{frame}[label=beamerprogram1]{\csuse{@bptitle}\btitleapp}
+    }
+    \ifbool{uncoveredlist}{%
+      \begin{description}[<+(1)->][\lecprogramlistindent]
+    }{%
+      \begin{description}[\lecprogramlistindent]
+    }
+      \programlistbeamerii
+      \end{description}
+    \end{frame}
+    }
+    \@ifundefined{programlistbeameriii}{}{%
+    \def\btitleapp{\ (2/\pframes)}
+    \ifcsdef{@bpopts}{%
+       \begingroup\edef\tempa{\endgroup\noexpand%
+          \begin{frame}[\csuse{@bpopts}]{\csuse{@bptitle}\btitleapp}}\tempa
+    }{%
+       \begin{frame}[label=beamerprogram2]{\csuse{@bptitle}\btitleapp}
+    }
+    \ifbool{uncoveredlist}{%
+      \begin{description}[<+->][\lecprogramlistindent]
+    }{%
+      \begin{description}[\lecprogramlistindent]
+    }
+      \programlistbeameriii
+      \end{description}
+    \end{frame}
+    }
+    \@ifundefined{programlistbeameriv}{}{%
+    \def\btitleapp{\ (2/\pframes)}
+    \ifcsdef{@bpopts}{%
+       \begingroup\edef\tempa{\endgroup\noexpand%
+         \begin{frame}[\csuse{@bpopts}]{\csuse{@bptitle}\btitleapp}}\tempa
+    }{%
+       \begin{frame}[label=beamerprogram3]{\csuse{@bptitle}\btitleapp}
+    }
+    \ifbool{uncoveredlist}{%
+      \begin{description}[+(1)->][\lecprogramlistindent]
+    }{%
+      \begin{description}[\lecprogramlistindent]
+    }
+      \programlistbeameriv
+      \end{description}
+    \end{frame}
+    }
+    \ifnumgreater{\thefbreaks}{0}{\def\btitleapp{\ (\pframes/\pframes)}}{}
+    \ifcsdef{@bpopts}{%
+        \begingroup\edef\tempa{\endgroup\noexpand%
+          \begin{frame}[\csuse{@bpopts}]{\csuse{@bptitle}\btitleapp}}\tempa
+      }{%
+          \@ifundefined{programlistbeamerii}{%
+              \begin{frame}[label=beamerprogram]{\csuse{@bptitle}\btitleapp}
+            }{%
+               \@ifundefined{programlistbeameriii}{%
+                  \begin{frame}[label=beamerprogram2]{\csuse{@bptitle}\btitleapp}
+                 }{%
+                   \@ifundefined{programlistbeameriv}{%
+                       \begin{frame}[label=beamerprogram3]{\csuse{@bptitle}\btitleapp}
+                     }{%
+                        \begin{frame}[label=beamerprogram4]{\csuse{@bptitle}\btitleapp}
+                      }
+                  }
+             }
+       }
+    \ifbool{uncoveredlist}{%
+      \begin{description}[<+->][\lecprogramlistindent]
+    }{%
+      \begin{description}[\lecprogramlistindent]
+    }
+      \programlistbeamer
+      \end{description}
+    \end{frame}
+  \fi%\else\ifKV at beamerprogram@blocksonly
 }
 
 
@@ -568,9 +582,11 @@
     \csdef{@sesshortinstructor}{{#1}}\csdef{@usesshortinstructor}{{#1}}\toggletrue{shortinstrdef}}
 \define at key{session}{presstudents}{\csdef{@sespresstudents}{{#1}}}
 \define at boolkey{session}{cancel}[true]{}
+\define at boolkey{session}{draft}[true]{}
 %
 \newcommand*\NewSession[2][]{%
   \stepcounter{sesunit}
+  \stepcounter{sestopic}
   \ifnumcomp{\value{autooffsettrigger}}{>}{0}{%
      \ifnumcomp{\value{autooffsettrigger}}{=}{\value{autooffsetcounter}}{%
         \addtocounter{sesoffset}{\theautooffset}%
@@ -581,7 +597,7 @@
   \setcounter{snum}{\thesesunit-\thecancellations}
   \protected at csxdef{sesnr\thesnum}{\thesnum}
   \togglefalse{shortinstrdef}
-  \csdef{@sestitlesep}{\sestitlesep}
+  \csdef{@sestitlesep}{\ifcsempty{@sessubtitle}{}{\sestitlesep}}
   \csdef{@sessubtitle}{}
   \csdef{@sesshorttitle}{#2}
   \csdef{@usesshorttitle}{}
@@ -593,6 +609,7 @@
   \csdef{@usesshortinstructor}{}
   \csdef{@sespresstudents}{}
   \setkeys{session}{cancel=false}
+  \setkeys{session}{draft=false}
   \setkeys{session}{#1}
   \csdef{@sestitle}{#2}
   \protected at csxdef{sesdate\thesnum}{%
@@ -622,6 +639,9 @@
       \noexpand\bgroup\noexpand\bfseries\csuse{sestitle\thesnum}\csuse{@sestitlesep}\csuse{@sessubtitle}%
         \noexpand\leccancel\noexpand\egroup}
   \else
+    \ifKV at session@draft
+        \ifcsempty{@sestitle}{\protected at csxdef{sestitle\thesnum}{\sestopic}}{}
+    \fi
     \protected at eappto\programlist{\noexpand\item[{\noexpand\bfseries\csuse{sesshortdate\thesnum}}]%
       \csuse{sestitle\thesnum}\csuse{@sestitlesep}\csuse{@sessubtitle}}
     \protected at eappto\programlistbeamer{\noexpand\item[{\noexpand\bfseries\csuse{sesshortdate\thesnum}}]%
@@ -709,6 +729,7 @@
   \protected at eappto\programlistbeamer{\noexpand\item[{\noexpand\bfseries\Roman{blocks}}.]%
     \noexpand\bgroup\noexpand\bfseries #1\noexpand\egroup}
   \gappto\programlistbeamer{\begin{description}[\lecprogramlistindent]}
+  \protected at xappto\programblocklistbeamer{\noexpand\item[{\Roman{blocks}}.] #1}
 }
 
 \newcommand*\EndBlock{%

Modified: trunk/Master/texmf-dist/tex/latex/jslectureplanner/jsmembertable.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/jslectureplanner/jsmembertable.sty	2018-09-26 00:24:08 UTC (rev 48765)
+++ trunk/Master/texmf-dist/tex/latex/jslectureplanner/jsmembertable.sty	2018-09-26 20:47:27 UTC (rev 48766)
@@ -24,8 +24,8 @@
 %%
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
-\def\filedate{2017/03/12}
-\def\fileversion{1.5}
+\def\filedate{2017/09/26}
+\def\fileversion{1.6}
 \def\filename{jsmembertable.sty}
 
 \NeedsTeXFormat{LaTeX2e}



More information about the tex-live-commits mailing list