diff options
author | Karl Berry <karl@freefriends.org> | 2020-02-04 22:16:50 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2020-02-04 22:16:50 +0000 |
commit | ae7de6a5194241c4f284dcb79422e325b2f3e8ca (patch) | |
tree | b38351d8c036d99f6353f1dffb9e950c1121ffb0 | |
parent | 73fd5ef1839d5ca833d7435186eea8bce28c4e25 (diff) |
jslectureplanner (4feb20)
git-svn-id: svn://tug.org/texlive/trunk@53672 c570f23f-e606-0410-a88d-b1316a301751
25 files changed, 82 insertions, 40 deletions
diff --git a/Master/texmf-dist/doc/latex/jslectureplanner/README b/Master/texmf-dist/doc/latex/jslectureplanner/README index 88d33a14ce8..f43cc469892 100644 --- a/Master/texmf-dist/doc/latex/jslectureplanner/README +++ b/Master/texmf-dist/doc/latex/jslectureplanner/README @@ -68,6 +68,10 @@ instructions; also have a look at the example files. == CHANGES == +* V. 1.9 (2020-02-04): - Allow \SetBeamerFrameBreak within SessionBlock. + - Fix \SetAutoOffset at first session and add optional argument + to alter first session (fix contributed by Richard Zach). + * V. 1.8 (2019-02-06): - Add extradate option to \NewSession to support fix dates. - Add possibility to enter exam dates that are not added to the standard program (option exam of \NewSession). @@ -83,8 +87,8 @@ instructions; also have a look at the example files. (the short and long date formats would override such settings). - Add support for lecture and session start time, duration and thus also end time calculation. - - Add support for displaying the next semester (\AdjSem and - \AdjSemVerb). + - Add support for displaying the next semester (\adjsemester and + \adjsemesterverb). * V. 1.7 (2018-12-14): - Allow options in \makebeamerprogram also with blocksonly. - Add overlayarg option to \makebeamerprogram. diff --git a/Master/texmf-dist/doc/latex/jslectureplanner/examples/English/lecturebib-english.pdf b/Master/texmf-dist/doc/latex/jslectureplanner/examples/English/lecturebib-english.pdf Binary files differindex 1338fe5fe1f..1d8eaeed7a5 100644 --- a/Master/texmf-dist/doc/latex/jslectureplanner/examples/English/lecturebib-english.pdf +++ b/Master/texmf-dist/doc/latex/jslectureplanner/examples/English/lecturebib-english.pdf diff --git a/Master/texmf-dist/doc/latex/jslectureplanner/examples/English/lecturehandout-english.pdf b/Master/texmf-dist/doc/latex/jslectureplanner/examples/English/lecturehandout-english.pdf Binary files differindex b1aef78500a..61c1ab39781 100644 --- a/Master/texmf-dist/doc/latex/jslectureplanner/examples/English/lecturehandout-english.pdf +++ b/Master/texmf-dist/doc/latex/jslectureplanner/examples/English/lecturehandout-english.pdf diff --git a/Master/texmf-dist/doc/latex/jslectureplanner/examples/English/lecturepresentation-english.pdf b/Master/texmf-dist/doc/latex/jslectureplanner/examples/English/lecturepresentation-english.pdf Binary files differindex f32220a5d53..1c78b890ff5 100644 --- a/Master/texmf-dist/doc/latex/jslectureplanner/examples/English/lecturepresentation-english.pdf +++ b/Master/texmf-dist/doc/latex/jslectureplanner/examples/English/lecturepresentation-english.pdf diff --git a/Master/texmf-dist/doc/latex/jslectureplanner/examples/English/lectureprogram-english.pdf b/Master/texmf-dist/doc/latex/jslectureplanner/examples/English/lectureprogram-english.pdf Binary files differindex c6f61798c53..eaf6da63b45 100644 --- a/Master/texmf-dist/doc/latex/jslectureplanner/examples/English/lectureprogram-english.pdf +++ b/Master/texmf-dist/doc/latex/jslectureplanner/examples/English/lectureprogram-english.pdf diff --git a/Master/texmf-dist/doc/latex/jslectureplanner/examples/English/lecturescript-english.pdf b/Master/texmf-dist/doc/latex/jslectureplanner/examples/English/lecturescript-english.pdf Binary files differindex c9ca9c570f1..30538ff4fd7 100644 --- a/Master/texmf-dist/doc/latex/jslectureplanner/examples/English/lecturescript-english.pdf +++ b/Master/texmf-dist/doc/latex/jslectureplanner/examples/English/lecturescript-english.pdf diff --git a/Master/texmf-dist/doc/latex/jslectureplanner/examples/English/membertable-blank-english.pdf b/Master/texmf-dist/doc/latex/jslectureplanner/examples/English/membertable-blank-english.pdf Binary files differindex 6da6d70bc7b..609f107b66f 100644 --- a/Master/texmf-dist/doc/latex/jslectureplanner/examples/English/membertable-blank-english.pdf +++ b/Master/texmf-dist/doc/latex/jslectureplanner/examples/English/membertable-blank-english.pdf diff --git a/Master/texmf-dist/doc/latex/jslectureplanner/examples/English/membertable-filled-english.pdf b/Master/texmf-dist/doc/latex/jslectureplanner/examples/English/membertable-filled-english.pdf Binary files differindex 6bdc53cec1b..6c9c7e5b767 100644 --- a/Master/texmf-dist/doc/latex/jslectureplanner/examples/English/membertable-filled-english.pdf +++ b/Master/texmf-dist/doc/latex/jslectureplanner/examples/English/membertable-filled-english.pdf diff --git a/Master/texmf-dist/doc/latex/jslectureplanner/examples/English/presencetable-blank-english.pdf b/Master/texmf-dist/doc/latex/jslectureplanner/examples/English/presencetable-blank-english.pdf Binary files differindex 3a303b31745..23a07d88636 100644 --- a/Master/texmf-dist/doc/latex/jslectureplanner/examples/English/presencetable-blank-english.pdf +++ b/Master/texmf-dist/doc/latex/jslectureplanner/examples/English/presencetable-blank-english.pdf diff --git a/Master/texmf-dist/doc/latex/jslectureplanner/examples/English/presencetable-filled-english.pdf b/Master/texmf-dist/doc/latex/jslectureplanner/examples/English/presencetable-filled-english.pdf Binary files differindex 616bf8d0798..bdd8dbaa5e0 100644 --- a/Master/texmf-dist/doc/latex/jslectureplanner/examples/English/presencetable-filled-english.pdf +++ b/Master/texmf-dist/doc/latex/jslectureplanner/examples/English/presencetable-filled-english.pdf diff --git a/Master/texmf-dist/doc/latex/jslectureplanner/examples/English/presentation-list-english.pdf b/Master/texmf-dist/doc/latex/jslectureplanner/examples/English/presentation-list-english.pdf Binary files differindex 269c122781d..0eb46a1e780 100644 --- a/Master/texmf-dist/doc/latex/jslectureplanner/examples/English/presentation-list-english.pdf +++ b/Master/texmf-dist/doc/latex/jslectureplanner/examples/English/presentation-list-english.pdf diff --git a/Master/texmf-dist/doc/latex/jslectureplanner/examples/German/lecturebib.pdf b/Master/texmf-dist/doc/latex/jslectureplanner/examples/German/lecturebib.pdf Binary files differindex 515ad5bcd03..607a2cd7f9b 100644 --- a/Master/texmf-dist/doc/latex/jslectureplanner/examples/German/lecturebib.pdf +++ b/Master/texmf-dist/doc/latex/jslectureplanner/examples/German/lecturebib.pdf diff --git a/Master/texmf-dist/doc/latex/jslectureplanner/examples/German/lecturehandout.pdf b/Master/texmf-dist/doc/latex/jslectureplanner/examples/German/lecturehandout.pdf Binary files differindex 1e4760c6983..2182f4979b3 100644 --- a/Master/texmf-dist/doc/latex/jslectureplanner/examples/German/lecturehandout.pdf +++ b/Master/texmf-dist/doc/latex/jslectureplanner/examples/German/lecturehandout.pdf diff --git a/Master/texmf-dist/doc/latex/jslectureplanner/examples/German/lecturepresentation.pdf b/Master/texmf-dist/doc/latex/jslectureplanner/examples/German/lecturepresentation.pdf Binary files differindex 9a53bced3f7..596a55e08ef 100644 --- a/Master/texmf-dist/doc/latex/jslectureplanner/examples/German/lecturepresentation.pdf +++ b/Master/texmf-dist/doc/latex/jslectureplanner/examples/German/lecturepresentation.pdf diff --git a/Master/texmf-dist/doc/latex/jslectureplanner/examples/German/lectureprogram.pdf b/Master/texmf-dist/doc/latex/jslectureplanner/examples/German/lectureprogram.pdf Binary files differindex 8be601a0be4..e16e7512279 100644 --- a/Master/texmf-dist/doc/latex/jslectureplanner/examples/German/lectureprogram.pdf +++ b/Master/texmf-dist/doc/latex/jslectureplanner/examples/German/lectureprogram.pdf diff --git a/Master/texmf-dist/doc/latex/jslectureplanner/examples/German/lecturescript.pdf b/Master/texmf-dist/doc/latex/jslectureplanner/examples/German/lecturescript.pdf Binary files differindex 732f3a538ec..19499e9c1b1 100644 --- a/Master/texmf-dist/doc/latex/jslectureplanner/examples/German/lecturescript.pdf +++ b/Master/texmf-dist/doc/latex/jslectureplanner/examples/German/lecturescript.pdf diff --git a/Master/texmf-dist/doc/latex/jslectureplanner/examples/German/membertable-blank.pdf b/Master/texmf-dist/doc/latex/jslectureplanner/examples/German/membertable-blank.pdf Binary files differindex 258b8f8e801..dd34a9f2bee 100644 --- a/Master/texmf-dist/doc/latex/jslectureplanner/examples/German/membertable-blank.pdf +++ b/Master/texmf-dist/doc/latex/jslectureplanner/examples/German/membertable-blank.pdf diff --git a/Master/texmf-dist/doc/latex/jslectureplanner/examples/German/membertable-filled.pdf b/Master/texmf-dist/doc/latex/jslectureplanner/examples/German/membertable-filled.pdf Binary files differindex 6af984e2696..4b270733dd0 100644 --- a/Master/texmf-dist/doc/latex/jslectureplanner/examples/German/membertable-filled.pdf +++ b/Master/texmf-dist/doc/latex/jslectureplanner/examples/German/membertable-filled.pdf diff --git a/Master/texmf-dist/doc/latex/jslectureplanner/examples/German/presencetable-blank.pdf b/Master/texmf-dist/doc/latex/jslectureplanner/examples/German/presencetable-blank.pdf Binary files differindex fdf98a7fe6a..5358bf3ccf0 100644 --- a/Master/texmf-dist/doc/latex/jslectureplanner/examples/German/presencetable-blank.pdf +++ b/Master/texmf-dist/doc/latex/jslectureplanner/examples/German/presencetable-blank.pdf diff --git a/Master/texmf-dist/doc/latex/jslectureplanner/examples/German/presencetable-filled.pdf b/Master/texmf-dist/doc/latex/jslectureplanner/examples/German/presencetable-filled.pdf Binary files differindex 529cb3e848e..41c7b8dc250 100644 --- a/Master/texmf-dist/doc/latex/jslectureplanner/examples/German/presencetable-filled.pdf +++ b/Master/texmf-dist/doc/latex/jslectureplanner/examples/German/presencetable-filled.pdf diff --git a/Master/texmf-dist/doc/latex/jslectureplanner/examples/German/presentation-list.pdf b/Master/texmf-dist/doc/latex/jslectureplanner/examples/German/presentation-list.pdf Binary files differindex c1daf8e1571..d35b6105fe2 100644 --- a/Master/texmf-dist/doc/latex/jslectureplanner/examples/German/presentation-list.pdf +++ b/Master/texmf-dist/doc/latex/jslectureplanner/examples/German/presentation-list.pdf diff --git a/Master/texmf-dist/doc/latex/jslectureplanner/jslectureplanner.pdf b/Master/texmf-dist/doc/latex/jslectureplanner/jslectureplanner.pdf Binary files differindex b5f16be3237..b3889d88df2 100644 --- a/Master/texmf-dist/doc/latex/jslectureplanner/jslectureplanner.pdf +++ b/Master/texmf-dist/doc/latex/jslectureplanner/jslectureplanner.pdf diff --git a/Master/texmf-dist/doc/latex/jslectureplanner/jslectureplanner.tex b/Master/texmf-dist/doc/latex/jslectureplanner/jslectureplanner.tex index 5d86eee9f57..315435eb6a5 100644 --- a/Master/texmf-dist/doc/latex/jslectureplanner/jslectureplanner.tex +++ b/Master/texmf-dist/doc/latex/jslectureplanner/jslectureplanner.tex @@ -72,7 +72,7 @@ \author{Jürgen Spitzmüller% \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 @@ your university 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 @@ Possible \jmacro{\jparam{options}} are: \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 @@ a beamer-suited lecture program from the metadata in the form \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 @@ linked to \jslp's \jcsmacro{lectypesession} value if 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,17 +1186,25 @@ use code to test for \jfcsmacro{romannumeral} arguments which has been taken fro 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ßenhoven 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ßenhoven tested the package and provided me with multiple suggestions, which effectively manifested in major new features such as the \jslp\ style files. Thanks, Dominik. \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} diff --git a/Master/texmf-dist/tex/latex/jslectureplanner/jslectureplanner.sty b/Master/texmf-dist/tex/latex/jslectureplanner/jslectureplanner.sty index dcbe0ce6049..3f589c15dc4 100644 --- a/Master/texmf-dist/tex/latex/jslectureplanner/jslectureplanner.sty +++ b/Master/texmf-dist/tex/latex/jslectureplanner/jslectureplanner.sty @@ -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@eappto\programlist{\noexpand\item[{\noexpand\bfseries\Roman{blocks}}.]% @@ -1057,6 +1059,7 @@ \protected@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,23 +1075,36 @@ \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 % % 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 diff --git a/Master/texmf-dist/tex/latex/jslectureplanner/jsmembertable.sty b/Master/texmf-dist/tex/latex/jslectureplanner/jsmembertable.sty index 51f2b2f524f..27d4be77795 100644 --- a/Master/texmf-dist/tex/latex/jslectureplanner/jsmembertable.sty +++ b/Master/texmf-dist/tex/latex/jslectureplanner/jsmembertable.sty @@ -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} |