texlive[53672] Master/texmf-dist: jslectureplanner (4feb20)

commits+karl at tug.org commits+karl at tug.org
Tue Feb 4 23:16:51 CET 2020


Revision: 53672
          http://tug.org/svn/texlive?view=revision&revision=53672
Author:   karl
Date:     2020-02-04 23:16:50 +0100 (Tue, 04 Feb 2020)
Log Message:
-----------
jslectureplanner (4feb20)

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/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	2020-02-04 22:16:32 UTC (rev 53671)
+++ trunk/Master/texmf-dist/doc/latex/jslectureplanner/jslectureplanner.tex	2020-02-04 22:16:50 UTC (rev 53672)
@@ -72,7 +72,7 @@
 \author{J\xFCrgen Spitzm\xFCller%
 \thanks{Please report issues via \protect\url{https://github.com/jspitz/jslectureplanner}.}}
 
-\date{Version 1.8, 2019/02/06}
+\date{Version 1.9, 2020/02/04}
 
 \maketitle
 
@@ -312,12 +312,21 @@
       Default is 90.
 \item \jcsmacro{LecInterval\{\jparam{interval}\}}: Adjust the interval (in days) between two sessions.
       The preset interval is 7 (=~weekly courses).
-\item \jcsmacro{SetAutoOffset\{\jparam{n}\}\{\jparam{days}\}}: Automatically shift all subsequent sessions
-      by \jparam{days} extra  days after every \jparam{n}th session. This is useful if you have each week
-      two regular sessions and then a pause until the next week (for instance, a Tuesday +
-      Thursday course could be defined via \jcsmacro{LecInterval\{2\}} and 
-      \jcsmacro{SetAutoOffset\{2\}\{3\}}). \jparam{n} must be a positive integer, \jparam{days} can 
-      also be a negative integer value.
+\item \jcsmacro{SetAutoOffset[\jparam{first}]\{\jparam{n}\}\{\jparam{days}\}}:
+      Automatically shift all subsequent sessions
+      by \jparam{days} extra days after every \jparam{n}th session,
+      counting the first session as the \jparam{first}th session for
+      this purpose. This is useful if your course meets multiple times
+      a week. For instance, a course meeting Tuesdays and Thursdays
+      could be defined via \jcsmacro{LecInterval\{2\}} and
+      \jcsmacro{SetAutoOffset\{2\}\{3\}}, a course meeting Monday,
+      Wednesday, Friday using \jcsmacro{LecInterval\{2\}} and
+      \jcsmacro{SetAutoOffset\{3\}\{1\}}. \jparam{n} must be a
+      positive integer, \jparam{days} can also be a negative integer
+      value. Use the optional \jparam{first} if the first session in
+      the course is not the first session in a group. For instance, if
+      your course meets Monday/Wednesday/Friday but the first day of
+      term is a Wednesday, use \jcsmacro{SetAutoOffset[2]\{3\}\{1\}}.
 \end{itemize}
 
 \subsubsection{Additional information}\label{ses-add}
@@ -437,10 +446,10 @@
 \end{itemize}
 \item \jcsmacro{SetLecOffset\{\jparam{n}\}}: Shift the date of all subsequent sessions by \jparam{n} days.
     \jparam{n} can also be negative.
-\item \jcsmacro{SetBeamerFrameBreak}: Add a frame break in
-the beamer program at this position (more precisely, start a new frame).
-This also increments the frame counter which is used for subsequent program
-frame titles. Note that you can insert maximally 3 breaks.
+\item \jcsmacro{SetBeamerFrameBreak}: Add a frame break in the beamer program at this position
+    (more precisely, start a new frame; see sec.~\ref{sec:lecprog} for details).
+    This also increments the frame counter which is used for subsequent program
+    frame titles. Note that you can insert maximally 3 breaks.
 \item \jcsmacro{SetBeamerHook\{\jparam{code}\}}: Add arbitrary LaTeX code to the
 beamer program
 \item \jcsmacro{begin\{SessionBlock\}\{\jparam{Block title}\}}\\
@@ -545,14 +554,18 @@
 \end{frame}
 \end{lstlisting}
 
-Note that multiple subsequent frames (not just slides) are generated if the metadata
-file contains \jcsmacro{SetBeamerFrameBreak} macros.
-Also note that you can refer to the frames via the automatically generated
-labels \emph{beamerprogram} (for the first frame), \emph{beamerprogram2}
-for the second, etc. Finally note that the number of program frames
-is currently limited to 4. If you need more, you should probably rethink
-your program structure.
-
+Note that 
+\begin{itemize}
+	\item multiple subsequent frames (not just slides) are generated if the metadata
+	      file contains \jcsmacro{SetBeamerFrameBreak} macros (this is because beamer frame breaks
+	      via \jfoption{allowframebreaks} and \jfcsmacro{framebreak} do not allow for overlays).
+	\item you can refer to the frames via the automatically generated
+	      labels \emph{beamerprogram} (for the first frame), \emph{beamerprogram2}
+	       for the second, etc. 
+	\item the number of program frames is currently limited to 4. If you need more, you should probably rethink
+	      your program structure.
+\end{itemize}
+%
 \joption{\jparam{options}} include
 \begin{itemize}
 \item \joption{title=\jparam{title}}: Program title (\jparam{Heading})
@@ -1164,7 +1177,7 @@
 I could not have written the packages of the \jslp\ bundle without the expertise of the incredible \LaTeX\
 community. The packages heavily rely on functions and features
 provided by other packages (which are listed in sec.~\ref{sec:req-jslp} and \ref{sec:req-jsmt}).
-I am deeply indepted to the authors of those packages.
+I am deeply indebted to the authors of those packages.
 Furthermore, \emph{stackexchange} proved to be a great source of knowledge which
 provided me with solutions for specific tasks:
 \jsmt\ heavily draws on code for dynamic table generation that has been
@@ -1173,7 +1186,9 @@
 a \emph{stackexchange} post by Enrico Gregorio (\url{http://tex.stackexchange.com/a/50131}).
 The time span calculation uses code provided by Christian Hupfer at
 \url{https://tex.stackexchange.com/a/473552/19291}.
-Thank you, Herbert, Enrico and Christian! Finally, Dominik Wa\xDFenhoven tested the package and provided
+Thank you, Herbert, Enrico and Christian!
+Richard Zach provided a fix and enhancement to \jcsmacro{SetAutoOffset}. Many thanks for this.
+Finally, Dominik Wa\xDFenhoven tested the package and provided
 me with multiple suggestions, which effectively manifested in major new features such as
 the \jslp\ style files. Thanks, Dominik.
 
@@ -1180,10 +1195,16 @@
 \section{Release History}
 
 \begin{itemize}
+\item 2020/02/04 (v. 1.9):
+	\begin{itemize}
+		\item Allow \jcsmacro{SetBeamerFrameBreak} within \joption{SessionBlock}.
+		\item Fix \jcsmacro{SetAutoOffset} at first session and add optional argument
+		      to alter first session (fix contributed by Richard Zach).
+	\end{itemize}
 \item 2019/02/06 (v. 1.8):
 	\begin{itemize}
-		\item Add support for displaying the next semester (\jcsmacro{AdjSem} and
-		      \jcsmacro{AdjSemVerb}).
+		\item Add support for displaying the next semester (macros \jcsmacro{adjsemester} and
+		      \jcsmacro{adjsemesterverb}).
 		\item Add support for lecture and session start time, duration and thus also end time
 		      calculation.
 		\item Add unstyled date formats which allow preceding \jfcsmacro{DTMsetdatestyle}

Modified: trunk/Master/texmf-dist/tex/latex/jslectureplanner/jslectureplanner.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/jslectureplanner/jslectureplanner.sty	2020-02-04 22:16:32 UTC (rev 53671)
+++ trunk/Master/texmf-dist/tex/latex/jslectureplanner/jslectureplanner.sty	2020-02-04 22:16:50 UTC (rev 53672)
@@ -23,8 +23,8 @@
 %%
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
-\def\filedate{2019/02/06}
-\def\fileversion{1.8}
+\def\filedate{2020/02/04}
+\def\fileversion{1.9}
 \def\filename{jslectureplanner.sty}
 
 \NeedsTeXFormat{LaTeX2e}
@@ -1039,13 +1039,15 @@
 }
 
 % Automatic Offset after n sessions
-\newcommand*\SetAutoOffset[2]{%
-    \setcounter{autooffsettrigger}{#1}
-    \setcounter{autooffset}{#2}
+\newcommand*{\SetAutoOffset}[3][1]{%
+    \setcounter{autooffsetcounter}{#1}
+    \setcounter{autooffsettrigger}{#2}
+    \setcounter{autooffset}{#3}
 }
 
 % 3) Definition of thematic blocks
 %
+\newtoggle{inblock}
 \newcommand*\StartBlock[1]{%
   \stepcounter{blocks}%
   \protected at eappto\programlist{\noexpand\item[{\noexpand\bfseries\Roman{blocks}}.]%
@@ -1057,6 +1059,7 @@
   \protected at xappto\programblocklistbeamer{\noexpand\item[{\Roman{blocks}}.] #1}%
   \csxdef{@currentblock}{#1}%
   \csxdef{@currentblockno}{\Roman{blocks}}%
+  \global\toggletrue{inblock}%
 }
 
 \newcommand*\EndBlock{%
@@ -1064,6 +1067,7 @@
   \gappto\programlistbeamer{\end{description}}
   \csxdef{@currentblock}{}%
   \csxdef{@currentblockno}{}%
+  \global\togglefalse{inblock}%
 }
 
 \newcommand*\NewBlock[1]{%
@@ -1071,6 +1075,17 @@
   \StartBlock{#1}
 }
 
+\newcommand*\@PauseBlock{%
+  \gappto\programlist{\end{labeling}}
+  \gappto\programlistbeamer{\end{description}}
+}
+
+\newcommand*\@ResumeBlock{%
+  % the \item here is necessary since this is nested immediately into another list
+  \gappto\programlist{\item \begin{labeling}{\lecprogramlistindent}}%
+  \gappto\programlistbeamer{\item \begin{description}[\lecprogramlistindent]}
+}
+
 \newenvironment{SessionBlock}[1]{\StartBlock{#1}}{\EndBlock}
 
 % 4) Beamer-specific features
@@ -1077,17 +1092,19 @@
 %
 % Beamer frame breaks
 \newcommand*\SetBeamerFrameBreak{%
+  \iftoggle{inblock}{\@PauseBlock}{}%
   \stepcounter{fbreaks}
-  \@ifundefined{programlistbeamerii}{%
+  \ifdefined\programlistbeamerii
+     \ifdefined\programlistbeameriii
+        \global\let\programlistbeameriv\programlistbeamer
+     \else
+       \global\let\programlistbeameriii\programlistbeamer
+     \fi
+  \else%
     \global\let\programlistbeamerii\programlistbeamer
-  }{%
-    \@ifundefined{programlistbeameriii}{%
-      \global\let\programlistbeameriii\programlistbeamer
-    }{%
-      \global\let\programlistbeameriv\programlistbeamer
-    }
-  }
+  \fi
   \global\let\programlistbeamer\empty
+  \iftoggle{inblock}{\@ResumeBlock}{}%
 }
 
 % Beamer program hook

Modified: trunk/Master/texmf-dist/tex/latex/jslectureplanner/jsmembertable.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/jslectureplanner/jsmembertable.sty	2020-02-04 22:16:32 UTC (rev 53671)
+++ trunk/Master/texmf-dist/tex/latex/jslectureplanner/jsmembertable.sty	2020-02-04 22:16:50 UTC (rev 53672)
@@ -24,8 +24,8 @@
 %%
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
-\def\filedate{2019/02/06}
-\def\fileversion{1.8}
+\def\filedate{2020/02/04}
+\def\fileversion{1.9}
 \def\filename{jsmembertable.sty}
 
 \NeedsTeXFormat{LaTeX2e}



More information about the tex-live-commits mailing list.