texlive[49414] Master/texmf-dist: jslectureplanner (14dec18)
commits+karl at tug.org
commits+karl at tug.org
Fri Dec 14 22:55:40 CET 2018
Revision: 49414
http://tug.org/svn/texlive?view=revision&revision=49414
Author: karl
Date: 2018-12-14 22:55:39 +0100 (Fri, 14 Dec 2018)
Log Message:
-----------
jslectureplanner (14dec18)
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 2018-12-14 21:55:21 UTC (rev 49413)
+++ trunk/Master/texmf-dist/doc/latex/jslectureplanner/jslectureplanner.tex 2018-12-14 21:55:39 UTC (rev 49414)
@@ -25,6 +25,7 @@
\documentclass[english]{article}
+\usepackage{metre}
\usepackage[osf]{libertine}
\usepackage[scaled=0.7]{beramono}
\usepackage[T1]{fontenc}
@@ -35,8 +36,10 @@
\newcommand*\jmacro[1]{\textbf{\texttt{#1}}}
\newcommand*\jcsmacro[1]{\jmacro{\textbackslash{#1}}}
\newcommand*\joption[1]{\textbf{\texttt{#1}}}
+\newcommand*\jfoption[1]{\texttt{#1}}
\newcommand*\jfmacro[1]{\texttt{#1}}
\newcommand*\jfcsmacro[1]{\jfmacro{\textbackslash{#1}}}
+\newcommand*\jparam[1]{\angus #1\angud}
% macros
\newcommand*\jslp{\textsf{jslectureplanner}}
@@ -69,7 +72,7 @@
\author{J\xFCrgen Spitzm\xFCller%
\thanks{Please report issues via \protect\url{https://github.com/jspitz/jslectureplanner}.}}
-\date{Version 1.6, 2018/09/26}
+\date{Version 1.7, 2018/12/14}
\maketitle
@@ -166,7 +169,7 @@
\subsection{Via package options\label{sub:package-options}}
-\jcsmacro{usepackage[<comma-separated options>]\{jslectureplanner\}}
+\jcsmacro{usepackage[\jparam{comma-separated options}]\{jslectureplanner\}}
\subsubsection{Course classification\label{sec:lecture-classification}}
@@ -176,7 +179,7 @@
\emph{SE}) and a form that is used to denote individual sessions (as
in ``the second \emph{session} of this course'').
\begin{description}
-\item [\joption{type=<type>}] defines the course type. Predefined values are:
+\item [\joption{type=\jparam{type}}] defines the course type. Predefined values are:
\begin{itemize}
\item \joption{vl}: A lecture (verbose form: \emph{Vorlesung}, short form:
@@ -200,15 +203,15 @@
\subsubsection{Course title}
\begin{description}
-\item [\joption{title=<title>}] Main title of the course
-\item [\joption{titlesep=<separator>}] Separator between title and subtitle
-\item [\joption{subtitle=<subtitle>}] Subtitle of the course
-\item [\joption{shorttitle=<shorttitle>}] Short title of the course (for headings etc.)
+\item [\joption{title=\jparam{title}}] Main title of the course
+\item [\joption{titlesep=\jparam{separator}}] Separator between title and subtitle
+\item [\joption{subtitle=\jparam{subtitle}}] Subtitle of the course
+\item [\joption{shorttitle=\jparam{shorttitle}}] Short title of the course (for headings etc.)
\end{description}
\subsubsection{Date and place\label{sec:date-and-place}}
\begin{description}
-\item [\joption{semester=<term>,}] where \joption{<term>} is one of
+\item [\joption{semester=\jparam{term}},] where \joption{\jparam{term}} is one of
\begin{itemize}
\item \joption{fs}: Spring term (\emph{Fr\xFChjahrssemester}, short form: \emph{FS})
@@ -219,34 +222,34 @@
Sec.~\ref{sec:customizing-strings} explains how to customize and extend this list.
Also cf. sec.~\ref{sec:styles}.
-\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;
+\item [\joption{year=\jparam{year}}] Year of the term
+\item [\joption{uni=\jparam{university}}] Your university
+\item [\joption{institute=\jparam{institute}}] Your institute/department
+\item [\joption{room=\jparam{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
+\item [\joption{startdate=\jparam{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;
+\item [\joption{interval=\jparam{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;
+\item [\joption{instructor=\jparam{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 course instructor's name (e.\,g., for headings)
-\item [\joption{platform=<data>}] Information of the e-learning platform
+\item [\joption{shortinstructor=\jparam{name}}] Short form of the course instructor's name (e.\,g., for headings)
+\item [\joption{platform=\jparam{data}}] Information of the e-learning platform
(such as the URL)
-\item [\joption{officehours=<data>}] Date of your office hours
-\item [\joption{officenumber=<data>}] Your office (room) number
+\item [\joption{officehours=\jparam{data}}] Date of your office hours
+\item [\joption{officenumber=\jparam{data}}] Your office (room) number
\end{description}
\subsubsection{Other global settings}
\begin{description}
- \item[\joption{sestitlesep=<separator>}] Specifies a default separator between session title and subtitle
+ \item[\joption{sestitlesep=\jparam{separator}}] Specifies a default separator between session title and subtitle
\end{description}
\subsection{Via macros\label{sec:via-macros}}
@@ -255,8 +258,8 @@
\subsubsection{Course classification}
\begin{itemize}
-\item \jcsmacro{LecType\{<course type>\}}: Set course type;
-\joption{<course type>} is one of\footnote{See above sec.~\ref{sec:lecture-classification} for a detailed
+\item \jcsmacro{LecType\{\jparam{course type}\}}: Set course type;
+\joption{\jparam{course type}} is one of\footnote{See above sec.~\ref{sec:lecture-classification} for a detailed
description.}
\begin{itemize}
@@ -271,19 +274,19 @@
\subsubsection{Course title}
\begin{itemize}
-\item \jcsmacro{LecTitle[<package options>]\{<title>\}}: Record course title and options;
-\joption{<package options>} might be any set of package options described
+\item \jcsmacro{LecTitle[\jparam{package options}]\{\jparam{title}\}}: Record course title and options;
+\joption{\jparam{package options}} might be any set of package options described
in sec.~\ref{sub:package-options}, so this macro can actually be used to record
all metadata.
-\item \jcsmacro{LecTitleSep\{<title separator>\}}: Specify a separator between course
+\item \jcsmacro{LecTitleSep\{\jparam{title separator}\}}: Specify a separator between course
title and subtitle (e.\,g., ``. '' or `` -- '')
-\item \jcsmacro{LecSubTitle\{<subtitle>\}}: Record course subtitle
+\item \jcsmacro{LecSubTitle\{\jparam{subtitle}\}}: Record course subtitle
\end{itemize}
\subsubsection{Date and place}
\begin{itemize}
-\item \jcsmacro{LecYear\{<term>\}\{<year>\}}, Record term and
-year of the course; \joption{<term>} is one of\footnote{See above sec.~\ref{sec:date-and-place} for a detailed
+\item \jcsmacro{LecYear\{\jparam{term}\}\{\jparam{year}\}}, Record term and
+year of the course; \joption{\jparam{term}} is one of\footnote{See above sec.~\ref{sec:date-and-place} for a detailed
description.}
\begin{itemize}
@@ -292,34 +295,34 @@
\item \joption{ss}: Summer term (\emph{Sommersemester})
\item \joption{ws}: Winter term (\emph{Wintersemester})
\end{itemize}
-\item \jcsmacro{LecUni\{<university>\}}: Record the name of
+\item \jcsmacro{LecUni\{\jparam{university}\}}: Record the name of
your university
-\item \jcsmacro{LecInstitute\{<institute>\}}: Record your institute's/department's name
-\item \jcsmacro{LecRoom\{<room>\}}: Record the room where the course (generally) takes place
-\item \jcsmacro{LecStartDate\{<startdate>\}}: Set the date of
+\item \jcsmacro{LecInstitute\{\jparam{institute}\}}: Record your institute's/department's name
+\item \jcsmacro{LecRoom\{\jparam{room}\}}: Record the room where the course (generally) takes place
+\item \jcsmacro{LecStartDate\{\jparam{startdate}\}}: Set the date of
the first session (the argument \emph{must} have the form DD/MM/YYYY)
-\item \jcsmacro{LecInterval\{<interval>\}}: Adjust the interval (in days) between two sessions.
+\item \jcsmacro{LecInterval\{\jparam{interval}\}}: Adjust the interval (in days) between two sessions.
The preset interval is 7 (=~weekly courses).
-\item \jcsmacro{SetAutoOffset\{<n>\}\{<days>\}}: Automatically shift all subsequent sessions
- by <days> extra days after every <n>th session. This is useful if you have each week
+\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\}}). <n> must be a positive integer, <days> can
+ \jcsmacro{SetAutoOffset\{2\}\{3\}}). \jparam{n} must be a positive integer, \jparam{days} can
also be a negative integer value.
\end{itemize}
\subsubsection{Additional information}\label{ses-add}
\begin{itemize}
-\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
+\item \jcsmacro{LecInstructor[\jparam{short name}]\{\jparam{name}\}}: Record the (general) instructor's name, including an optional short form for headings etc.
+\item \jcsmacro{SetOfficeHours\{\jparam{office hours}\}}: Record date of your office hours
+\item \jcsmacro{SetOfficeNumber\{\jparam{office number}\}}: Record your office (room) number
+\item \jcsmacro{SetPlatform\{\jparam{platform information}\}}: Record information
(such as URL) of the e-learning platform
\end{itemize}
\subsubsection{Other global settings}\label{ses-global}
\begin{itemize}
-\item \jcsmacro{SessionTitleSep\{<separator>\}}: Specify a default separator between session title and subtitle (e.\,g., ``. '' or `` -- ''). This is used if no specific separator has been specified in the session entry (see sec.~\ref{sec:lecplan}); by default, no separator is defined.
+\item \jcsmacro{SessionTitleSep\{\jparam{separator}\}}: Specify a default separator between session title and subtitle (e.\,g., ``. '' or `` -- ''). This is used if no specific separator has been specified in the session entry (see sec.~\ref{sec:lecplan}); by default, no separator is defined.
\end{itemize}
\section{Setting up a course schedule}\label{sec:lecplan}
@@ -328,30 +331,30 @@
session information in chronological order. This is done via the following
macro:
\begin{itemize}
-\item \jcsmacro{NewSession[<options>]\{Session title\}}
+\item \jcsmacro{NewSession[\jparam{options}]\{Session title\}}
-Valid \joption{<options>} include:
+Valid \joption{\jparam{options}} include:
\begin{itemize}
-\item \joption{draft=<true|false>}: If \joption{true}, a placeholder text (by default: ``Thema <n>'',
+\item \joption{draft=\jparam{true|false}}: If \joption{true}, a placeholder text (by default: ``Thema \jparam{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
+\item \joption{titlesep=\jparam{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
-\item \joption{subtitle=<subtitle>}: Subtitle of the session
-\item \joption{shorttitle=<shorttitle>}: Short title (for
+\item \joption{subtitle=\jparam{subtitle}}: Subtitle of the session
+\item \joption{shorttitle=\jparam{shorttitle}}: Short title (for
headings etc.)
-\item \joption{instructor=<name>}: Specific instructor for this session
+\item \joption{instructor=\jparam{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
+\item \joption{shortinstructor=\jparam{name}}: Short form of the specific instructor for this session
+\item \joption{presstudents=\jparam{names}}: Students presenting in this session
(used for student presentation lists, see below sec.~\ref{sec:preslists})
-\item \joption{room=<room>}: Room for this session (if it differs
+\item \joption{room=\jparam{room}}: Room for this session (if it differs
from the usual course room)
-\item \joption{bibsec=<keyword>}: Session keyword for the bibliography
+\item \joption{bibsec=\jparam{keyword}}: Session keyword for the bibliography
(see below sec.~\ref{sub:bibliographies} for its use)
-\item \joption{cancel=<true|false>}: Marks this session as ``canceled''.
+\item \joption{cancel=\jparam{true|false}}: Marks this session as ``canceled''.
If you specify \joption{cancel=true}, the session will be printed
in the program in bold type and appended by a verbal comment.
For example,
@@ -370,7 +373,7 @@
(see below sec.~\ref{sec:session-specific-info}).
\end{itemize}
-\item \jcsmacro{SetBreak[<span>]\{Break\}}: Add a semester break
+\item \jcsmacro{SetBreak[\jparam{span}]\{Break\}}: Add a semester break
(e.\,g., holidays) that affects one session. The macro increments
the internal counters respectively and expands in the program to
@@ -380,10 +383,10 @@
By means of the optional argument, the real time span of the break
might be given if you want to print it on the program. If you pass
-an optional argument \joption{<span>}, the macro will expand to
+an optional argument \joption{\jparam{span}}, the macro will expand to
\begin{center}
-\textbf{(<span>: Break)}
+\textbf{(\jparam{span}: Break)}
\par\end{center}
So for instance, \jcsmacro{SetBreak[28.05.-{}-3.06.]\{Whitsun holidays\}}
@@ -394,14 +397,14 @@
\textbf{(28.05.--3.06.: Whitsun holidays)}
\par\end{center}
-\item \jcsmacro{SetBreaks[<options>]\{Break\}}: Add
+\item \jcsmacro{SetBreaks[\jparam{options}]\{Break\}}: Add
a semester break that affects more than one session (e.\,g., two-week holidays).
The output in the program is identical to the \jcsmacro{SetBreak} macro,
but the counter incrementation can be adjusted to the needed time span.
-Possible \jmacro{<options>} are:
+Possible \jmacro{\jparam{options}} are:
\begin{itemize}
-\item \joption{units=<n>}: Number of interval units the break takes. One \emph{unit}
+\item \joption{units=\jparam{n}}: Number of interval units the break takes. One \emph{unit}
is the number of days as specified by the \joption{interval} option (one week by
default\footnote{The former option \joption{weeks} is deprecated as of v. 0.9,
since the interval can be adjusted now.}).
@@ -409,18 +412,18 @@
calculate the session dates. If \joption{units} is not specified, the counter is
incremented by one.\footnote{That is: \jcsmacro{SetBreak\{Break\}} =
\jcsmacro{SetBreaks\{Break\}} = \jcsmacro{SetBreaks[units=1]\{Break\}}.}
- <n> must be a positive integer.
-\item \joption{span=<span>}: Real time span (verbally output on the program)
+ \jfoption{\jparam{n}} must be a positive integer.
+\item \joption{span=\jparam{span}}: Real time span (verbally output on the program)
\end{itemize}
-\item \jcsmacro{SetLecOffset\{<n>\}}: Shift the date of all subsequent sessions by <n> days.
- <n> can also be negative.
+\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{SetBeamerHook\{<code>\}}: Add arbitrary LaTeX code to the
+\item \jcsmacro{SetBeamerHook\{\jparam{code}\}}: Add arbitrary LaTeX code to the
beamer program
-\item \jcsmacro{begin\{SessionBlock\}\{<Block title>\}}\\
+\item \jcsmacro{begin\{SessionBlock\}\{\jparam{Block title}\}}\\
\ldots{} \\
\jcsmacro{end\{SessionBlock\}}:\\
Thematic block consisting of several sessions. Respective sessions
@@ -434,7 +437,7 @@
information by means the following macros.
-\subsection{Course data}
+\subsection{Course data}\label{sec:csdata}
The following macros output general course-specific information:
\begin{itemize}
@@ -455,7 +458,7 @@
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>\}})
+\jcsmacro{iftoggle\{uniquelecshorttitle\}\{\jparam{true}\}\{\jparam{false}\}})
\item \jcsmacro{lecsemshort}: Outputs the short version of
the term type (e.\,g., ``WS'')
\item \jcsmacro{lecsemverb}: Outputs the verbose version
@@ -471,7 +474,7 @@
\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>\}})
+\jcsmacro{iftoggle\{uniquelecshortinstructor\}\{\jparam{true}\}\{\jparam{false}\}})
\item \jcsmacro{lecroom}: Outputs the (general) course room
\item \jcsmacro{lecplatform}: Outputs information on the
e-learning platform
@@ -483,50 +486,37 @@
\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{lstlisting}[language={[LaTeX]TeX},basicstyle={\small\ttfamily},
+ frame=single,escapechar=\$]
\begin{labeling}{\lecprogramlistindent}
-\item[<short date>] <session full title>
+\item[$\jparam{short date}$] $\jparam{session full title}$
...
(break)
...
-\item[<short date>] <session full title>
+\item[$\jparam{short date}$]] $\jparam{session full title}$]
\end{labeling}
\end{lstlisting}
-
-
The \jmacro{labeling} environment is defined by the KOMA classes.
The package provides a fallback, however, if a different class is used.
-\item \jcsmacro{makebeamerprogram[<options>]}: Generates
+\item \jcsmacro{makebeamerprogram[\jparam{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<n>,<bfoptions>]{frame}
-\frametitle{<Heading>}
+\begin{lstlisting}[language={[LaTeX]TeX},basicstyle={\small\ttfamily},
+ frame=single,escapechar=\$,moretexcs={[1]{frametitle}}]
+\begin{frame}<overlayarg$\jparam{n}$>[label=beamerprogram$\jparam{n}$,$\jparam{bfoptions}$]
+\frametitle{$\jparam{Heading}$}
\begin{description}[\lecprogramlistindent]
-\item[<short date>] <session full title>
+\item[$\jparam{short date}$] $\jparam{session full title}$
...
(break)
...
-\item[<short date>] <session full title>
+\item[$\jparam{short date}$] $\jparam{session full title}$
\end{description}
\end{frame}
\end{lstlisting}
-
-
-\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\}]}
-\end{itemize}
-
-Note that multiple subsequent frames are generated if the metadata
+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}
@@ -534,8 +524,24 @@
is currently limited to 4. If you need more, you should probably rethink
your program structure.
+\joption{\jparam{options}} include
+\begin{itemize}
+\item \joption{title=\jparam{title}}: Program title (\jparam{Heading})
+\item \joption{blocksonly=\jparam{true|false}}: If \joption{true}, only the session blocks are output,
+ not the sessions.
+\item \joption{uncover=\jparam{true|false}}: If \joption{true}, the program will be uncovered item-wise.
+\item \joption{options=\jparam{bfoptions}}: Beamer frame options. Note that key-value
+ beamer frame options need to be embraced, as in\\
+ \jcsmacro{makebeamerprogram[options=\{shrink=10\}]}
+\item \joption{overlayarg=\jparam{overlay specification}}: Beamer frame overlay specification
+ (to be specified without angle brackets, e.\,g.\ \jfoption{overlayarg=1-3}).\\
+ This option applies to the first program frame only. For subsequent frames,
+ use \joption{overlayarg2}, \joption{overlayarg3} and \joption{overlayarg4},
+ respectively.
\end{itemize}
+\end{itemize}
+
\subsection{Generating bibliographies\label{sub:bibliographies}}
The package provides macros for easy generation of sectioned bibliographies
@@ -544,10 +550,11 @@
\item \jcsmacro{makesessionbib}
\end{itemize}
generates code in the form
-\begin{lstlisting}[basicstyle={\small\ttfamily},frame=single,moretexcs={[1]{printbibliography}}]
-\section{<session full title>}
+\begin{lstlisting}[basicstyle={\small\ttfamily},frame=single,
+ escapechar=\$,moretexcs={[1]{printbibliography}}]
+\section{$\jparam{session full title}$}
\nocite{*}
-\printbibliography[keyword=<session keyword>,heading=none]
+\printbibliography[keyword=$\jparam{session keyword}$,heading=none]
\end{lstlisting}
for each session of the lecture which has been linked to a \textsf{biblatex}
keyword via the \joption{bibsec} option (see above sec.~\ref{sec:lecplan}).
@@ -571,10 +578,11 @@
\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{lstlisting}[language={[LaTeX]TeX},basicstyle={\small\ttfamily},
+ escapechar=\$,frame=single]
\begin{labeling}{\lecprogramlistindent}
-\item[<short date>] <session full title>\par
- <presenting students>
+\item[$\jparam{short date}$] $\jparam{session full title}$\par
+ $\jparam{presenting students}$
...
\end{labeling}
\end{lstlisting}
@@ -601,11 +609,11 @@
do not have any presentations in the first session of the course), you can use
\begin{quote}
-\jcsmacro{setfirstpressession\{<session number>\}}
+\jcsmacro{setfirstpressession\{\jparam{session number}\}}
\end{quote}
to set the first session number to be printed on the list. Likewise,
\begin{quote}
-\jcsmacro{setlastpressession\{<session number>\}}
+\jcsmacro{setlastpressession\{\jparam{session number}\}}
\end{quote}
can be used to determine the last session number to be printed on the list.
@@ -618,8 +626,8 @@
\subsection{Setting the current session}
-Use \jcsmacro{ThisSession\{<n>\}} to tell the package
-which session is current. \joption{<n>} is an integer value, e.\,g.
+Use \jcsmacro{ThisSession\{\jparam{n}\}} to tell the package
+which session is current. \joption{\jparam{n}} is an integer value, e.\,g.
\jcsmacro{ThisSession\{3\}} for the 3rd session of
the lecture.
@@ -636,18 +644,19 @@
\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>\}})
+\jcsmacro{iftoggle\{uniquesesshorttitle\}\{\jparam{true}\}\{\jparam{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{sesblocktitle}: The title of the current session block (if available).
\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>\}})
+\jcsmacro{iftoggle\{uniquesesinstructor\}\{\jparam{true}\}\{\jparam{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>\}})
+\jcsmacro{iftoggle\{uniquesesshortinstructor\}\{\jparam{true}\}\{\jparam{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
@@ -658,56 +667,61 @@
Depending on the value of \jcsmacro{ThisSession}, you can retrieve the following
information for sessions that follow or precede the current session by a specific interval unit via the following macros:
\begin{itemize}
- \item \jcsmacro{AdjSessionTitle[<offset>]}: Outputs the main title
+ \item \jcsmacro{AdjSessionTitle[\jparam{offset}]}: Outputs the main title
of the adjacent session
- \item \jcsmacro{AdjSessionFullTitle[<offset>]}: Outputs the full
+ \item \jcsmacro{AdjSessionFullTitle[\jparam{offset}]}: Outputs the full
title (main title, separator, subtitle) of the adjacent session
- \item \jcsmacro{AdjSessionShortTitle[<offset>]}: Outputs the short
+ \item \jcsmacro{AdjSessionShortTitle[\jparam{offset}]}: Outputs the short
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
+ \item \jcsmacro{AdjSessionBlockTitle[\jparam{offset}]}: Outputs the session block
+ title of the adjacent session (if available)
+ \item \jcsmacro{AdjSessionDate[\jparam{offset}]}: Outputs the date of the adjacent session
+ \item \jcsmacro{AdjSessionShortDate[\jparam{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
+ \item \jcsmacro{AdjSessionInstructor[\jparam{offset}]}: Outputs the name of the instructor of the adjacent session
+ \item \jcsmacro{AdjSessionInstructor*[\jparam{offset}]}: Outputs the name of the instructor of the adjacent session if it differs from the general instructor (\jcsmacro{lecinstructor})
+ \item \jcsmacro{AdjSessionShortInstructor[\jparam{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*[\jparam{offset}]}: Outputs the short name (or normal name, if no short name was specified) of the instructor of the adjacent session
+ \item \jcsmacro{AdjSessionPresStudents[\jparam{offset}]}: Outputs the name of the students presenting in the adjacent session
+ \item \jcsmacro{AdjSessionRoom[\jparam{offset}]}: Outputs the room of the adjacent session
\end{itemize}
-Via the numerical \joption{<offset>} option, you can specify which session, relative to the current one, you want to output. The default is \joption{1}, i.\,e., \jcsmacro{AdjSessionTitle} without argument outputs the title of the \emph{next} session. Negative values are valid: \jcsmacro{AdjSessionTitle[-1]}, thus, outputs the title of the \emph{previous} session.
+Via the numerical \joption{\jparam{offset}} option, you can specify which session, relative to the current one, you want to output. The default is \joption{1}, i.\,e., \jcsmacro{AdjSessionTitle} without argument outputs the title of the \emph{next} session. Negative values are valid: \jcsmacro{AdjSessionTitle[-1]}, thus, outputs the title of the \emph{previous} session.
\subsection{Generating session-specific information for an arbitrary session}
Independent of the value of \jcsmacro{ThisSession},
you can retrieve the following information for arbitrary sessions
-(session number \joption{<n>}) via the following macros:
+(session number \joption{\jparam{n}}) via the following macros:
\begin{itemize}
-\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
+\item \jcsmacro{SessionTitle\{\jparam{n}\}}: Outputs the main title
+of session number \joption{\jparam{n}}
+\item \jcsmacro{SessionFullTitle\{\jparam{n}\}}: Outputs the full
+title (main title, separator, subtitle) of session number \joption{\jparam{n}}
+\item \jcsmacro{SessionShortTitle\{\jparam{n}\}}: Outputs the short
+title of session number \joption{\jparam{n}}; if
no explicit short title is specified, the normal main title is output
-\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>
+\item \jcsmacro{SessionBlockTitle\{\jparam{n}\}}: Outputs the session block title
+of session number \joption{\jparam{n}} (if available)
+\item \jcsmacro{SessionDate\{\jparam{n}\}}: Outputs the date of
+session number \joption{\jparam{n}}
+\item \jcsmacro{SessionShortDate\{\jparam{n}\}}: Outputs the short
+date (no year) of session number \joption{\jparam{n}}
+\item \jcsmacro{SessionInstructor\{\jparam{n}\}}: Outputs the name of the instructor of session
+number \joption{\jparam{n}}
+\item \jcsmacro{SessionInstructor*\{\jparam{n}\}}: Outputs the name of the instructor of session
+number \joption{\jparam{n}} if it differs from the general instructor (\jcsmacro{lecinstructor})
+\item \jcsmacro{SessionShortInstructor\{\jparam{n}\}}: Outputs the short name (or normal name, if no short name was specified) of the instructor of session
+number \joption{\jparam{n}}
+\item \jcsmacro{SessionShortInstructor*\{\jparam{n}\}}: Outputs the short name (or normal name, if no short name was specified) of the instructor of session
+number \joption{\jparam{n}} if it differs from the general instructor (\jcsmacro{lecinstructor})
+\item \jcsmacro{SessionPresStudents\{\jparam{n}\}}: Outputs the name of the students presenting
+in session number \joption{\jparam{n}}
+\item \jcsmacro{SessionRoom\{\jparam{n}\}}: Outputs the room of session number \joption{\jparam{n}}
+\item \jcsmacro{MakeProgramline\{\jparam{n}\}}: Outputs a list
+item line for session number \joption{\jparam{n}} in the form
+\begin{lstlisting}[language={[LaTeX]TeX},basicstyle={\small\ttfamily},
+ escapechar=\$,frame=single]
+\item[{\bfseries $\jparam{short date}$}] $\jparam{session full title}$
\end{lstlisting}
\end{itemize}
@@ -719,7 +733,7 @@
The following macro allows to define new course types and redefine existing ones:
\begin{itemize}
-\item \jcsmacro{DefLecType\{<key>\}\{<short form>\}\{<title>\}\{<session title>\}}
+\item \jcsmacro{DefLecType\{\jparam{key}\}\{\jparam{short form}\}\{\jparam{title}\}\{\jparam{session title}\}}
\end{itemize}
A new type, say summer school, thus, could be defined as follows:
\begin{itemize}
@@ -741,7 +755,7 @@
The available term (semester) types can be changed and extended via the macro:
\begin{itemize}
-\item \jcsmacro{DefSemType\{<key>\}\{<short form>\}\{<verbose form>\}}
+\item \jcsmacro{DefSemType\{\jparam{key}\}\{\jparam{short form}\}\{\jparam{verbose form}\}}
\end{itemize}
Thus, you could add a new term type ``spring term'' via
\begin{itemize}
@@ -784,7 +798,7 @@
\subsection{Misc. customizing}\label{sec:misccust}
-The canceling output is ``Session title -- keine <Session>'' (``keine''
+The canceling output is ``Session title -- keine \jparam{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]
@@ -800,7 +814,7 @@
\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'').
+(see sec.~\ref{sec:lecplan}) is ``Thema \jparam{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]
@@ -811,7 +825,7 @@
\subsection{Using styles}\label{sec:styles}
The most elegant way to do the customizing is to use \emph{lecture planner style} (*.lps) files.
-These files can be loaded via the \joption{style=<style>} package option, where <style>
+These files can be loaded via the \joption{style=\jparam{style}} package option, where \jparam{style}
is the file name without *.lps extension.
Currently, the package ships three styles:
@@ -881,12 +895,12 @@
The package is loaded as usual:
\begin{quote}
-\jcsmacro{usepackage[<options>]\{jsmembertable\}}
+\jcsmacro{usepackage[\jparam{options}]\{jsmembertable\}}
\end{quote}
Currently, the following package options are available:
\begin{itemize}
- \item \joption{datafile=<csv-file>}: Use external student data file (see sec.~\ref{sec:ext-data}).
- \item \joption{datakeys=<keyorder>}: Specify order of items in CSV data file (see sec.~\ref{sec:ext-data}).
+ \item \joption{datafile=\jparam{csv-file}}: Use external student data file (see sec.~\ref{sec:ext-data}).
+ \item \joption{datakeys=\jparam{keyorder}}: Specify order of items in CSV data file (see sec.~\ref{sec:ext-data}).
\end{itemize}
@@ -893,7 +907,7 @@
\subsection{Loading external data}\label{sec:ext-data}
Both course member and presence tables can be filled with external student data. To this end,
-the package option \joption{datafile=<csv-file>} is provided. If it is used, the package tries
+the package option \joption{datafile=\jparam{csv-file}} is provided. If it is used, the package tries
to access a comma-separated data file. Note that the external file must have the extension \emph{.csv},
and the extension must be omitted in the option, so
\begin{quote}
@@ -920,17 +934,17 @@
In order to generate a course member table, simply insert
\begin{quote}
-\jcsmacro{makemembertable\{<number of blank rows>\}}
+\jcsmacro{makemembertable\{\jparam{number of blank rows}\}}
\end{quote}
-If an external data file has been loaded, \joption{<number of blank rows>} can either be empty or a positive
-integer value. If no external data file has been loaded, \joption{<number of blank rows>} \emph{must} be a
+If an external data file has been loaded, \joption{\jparam{number of blank rows}} can either be empty or a positive
+integer value. If no external data file has been loaded, \joption{\jparam{number of blank rows}} \emph{must} be a
positive integer value.
-If no external data file has been loaded, the command generates a table with \joption{<number of blank rows>}
+If no external data file has been loaded, the command generates a table with \joption{\jparam{number of blank rows}}
blank rows, to which your students can fill in their name, student ID and e-mail address.
If an external data file has been loaded, an appropriate number of rows is generated and the
-respective student data is filled in. Additionally, \joption{<number of blank rows>} blank rows are
+respective student data is filled in. Additionally, \joption{\jparam{number of blank rows}} blank rows are
\emph{appended} after the filled-in rows (for the late birds that have not registered themselves yet).
If the command's argument is empty or \joption{0}, no extra rows are appended.
@@ -978,25 +992,25 @@
The first presence table variant (with real session dates) is produced with the following macro:
\begin{quote}
-\jcsmacro{makeprestable\{<number of blank rows>\}}
+\jcsmacro{makeprestable\{\jparam{number of blank rows}\}}
\end{quote}
As with the member table, an appropriate number of rows, pre-filled with student data, is
-generated if an external data file has been loaded. Then, \joption{<number of blank rows>}
-blank rows are \emph{appended} after the filled-in rows (if \joption{<number of blank rows>}
+generated if an external data file has been loaded. Then, \joption{\jparam{number of blank rows}}
+blank rows are \emph{appended} after the filled-in rows (if \joption{\jparam{number of blank rows}}
is not empty or \joption{0}). If no external data file has been loaded, simply a table with
-\joption{<number of blank rows>} blank rows is constructed.
+\joption{\jparam{number of blank rows}} blank rows is constructed.
The number of columns/sessions is automatically calculated from the metadata. If you want a different
number, you can use the optional argument of the command to override this calculation:
\begin{quote}
-\jcsmacro{makeprestable[<number of sessions>]\{<number of blank rows>\}}
+\jcsmacro{makeprestable[\jparam{number of sessions}]\{\jparam{number of blank rows}\}}
\end{quote}
The second kind of presence table (with session numbers instead of session dates) is provided
via the starred version of the command:
\begin{quote}
-\jcsmacro{makeprestable*[<number of sessions>]\{<number of blank rows>\}}
+\jcsmacro{makeprestable*[\jparam{number of sessions}]\{\jparam{number of blank rows}\}}
\end{quote}
Like with the unstarred version, if the \jslp\
metadata is used/available, the number of columns/sessions is calculated from the metadata.
@@ -1066,6 +1080,13 @@
\section{Release History}
\begin{itemize}
+\item 2018/12/14 (v. 1.7):
+ \begin{itemize}
+ \item Allow \joption{options} in \jcsmacro{makebeamerprogram} also with \joption{blocksonly}.
+ \item Add \joption{overlayarg} option to \jcsmacro{makebeamerprogram}. See sec.~\ref{sec:csdata}.
+ \item Add macros to receive session block titles (\jcsmacro{sesblocktitle},\\
+ \jcsmacro{SessionBlockTitle\{\jparam{session no}\}} and \jcsmacro{AdjSessionBlockTitle}).
+ \end{itemize}
\item 2018/09/26 (v. 1.6):
\begin{itemize}
\item Bugfix: Do not output session title-subtitle separator if there is no subtitle.
@@ -1085,7 +1106,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}\clearpage
+ \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 2018-12-14 21:55:21 UTC (rev 49413)
+++ trunk/Master/texmf-dist/tex/latex/jslectureplanner/jslectureplanner.sty 2018-12-14 21:55:39 UTC (rev 49414)
@@ -23,8 +23,8 @@
%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\def\filedate{2018/09/26}
-\def\fileversion{1.6}
+\def\filedate{2018/12/14}
+\def\fileversion{1.7}
\def\filename{jslectureplanner.sty}
\NeedsTeXFormat{LaTeX2e}
@@ -442,6 +442,10 @@
\define at key{beamerprogram}{title}{\csdef{@bptitle}{#1}}
\define at key{beamerprogram}{options}{\csdef{@bpopts}{#1}}
\define at key{beamerprogram}{listoptions}{\csdef{@bplistopts}{#1}}
+\define at key{beamerprogram}{overlayarg}{\csdef{@bpolarg}{#1}}
+\define at key{beamerprogram}{overlayarg2}{\csdef{@bpolargii}{#1}}
+\define at key{beamerprogram}{overlayarg3}{\csdef{@bpolargiii}{#1}}
+\define at key{beamerprogram}{overlayarg4}{\csdef{@bpolargiv}{#1}}
\define at boolkey{beamerprogram}{alerted}[true]{}
\define at boolkey{beamerprogram}{blocksonly}[true]{}
\define at boolkey{beamerprogram}{uncover}[true]{}
@@ -464,7 +468,21 @@
\boolfalse{uncoveredlist}
\fi
\ifKV at beamerprogram@blocksonly
- \begin{frame}[label=beamerprogram1]{\csuse{@bptitle}\btitleapp}
+ \ifcsdef{@bpolarg}{%
+ \ifcsdef{@bpopts}{%
+ \begingroup\edef\tempa{\endgroup\noexpand%
+ \begin{frame}<\csuse{@bpolarg}>[\csuse{@bpopts}]{\csuse{@bptitle}\btitleapp}}\tempa
+ }{%
+ \begin{frame}<\csuse{@bpolarg}>[label=beamerprogram]{\csuse{@bptitle}\btitleapp}
+ }%
+ }{%
+ \ifcsdef{@bpopts}{%
+ \begingroup\edef\tempa{\endgroup\noexpand%
+ \begin{frame}[\csuse{@bpopts}]{\csuse{@bptitle}\btitleapp}}\tempa
+ }{%
+ \begin{frame}[label=beamerprogram]{\csuse{@bptitle}\btitleapp}
+ }%
+ }%
\ifbool{uncoveredlist}{%
\begin{description}[<+->][\lecprogramlistindent]
}{%
@@ -473,15 +491,25 @@
\programblocklistbeamer
\end{description}
\end{frame}
- \else
+ \else% not \ifKV at beamerprogram@blocksonly
+ % All but last slide(s) are generated in what follows
\@ifundefined{programlistbeamerii}{}{%
\def\btitleapp{\ (1/\pframes)}
- \ifcsdef{@bpopts}{%
- \begingroup\edef\tempa{\endgroup\noexpand%
- \begin{frame}[\csuse{@bpopts}]{\csuse{@bptitle}\btitleapp}}\tempa
- }{%
- \begin{frame}[label=beamerprogram1]{\csuse{@bptitle}\btitleapp}
- }
+ \ifcsdef{@bpolarg}{%
+ \ifcsdef{@bpopts}{%
+ \begingroup\edef\tempa{\endgroup\noexpand%
+ \begin{frame}<\csuse{@bpolarg}>[\csuse{@bpopts}]{\csuse{@bptitle}\btitleapp}}\tempa
+ }{%
+ \begin{frame}<\csuse{@bpolarg}>[label=beamerprogram]{\csuse{@bptitle}\btitleapp}
+ }%
+ }{%
+ \ifcsdef{@bpopts}{%
+ \begingroup\edef\tempa{\endgroup\noexpand%
+ \begin{frame}[\csuse{@bpopts}]{\csuse{@bptitle}\btitleapp}}\tempa
+ }{%
+ \begin{frame}[label=beamerprogram]{\csuse{@bptitle}\btitleapp}
+ }%
+ }%
\ifbool{uncoveredlist}{%
\begin{description}[<+(1)->][\lecprogramlistindent]
}{%
@@ -493,12 +521,21 @@
}
\@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}
- }
+ \ifcsdef{@bpolargii}{%
+ \ifcsdef{@bpopts}{%
+ \begingroup\edef\tempa{\endgroup\noexpand%
+ \begin{frame}<\csuse{@bpolargii}>[\csuse{@bpopts}]{\csuse{@bptitle}\btitleapp}}\tempa
+ }{%
+ \begin{frame}<\csuse{@bpolargii}>[label=beamerprogram2]{\csuse{@bptitle}\btitleapp}
+ }%
+ }{%
+ \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]
}{%
@@ -509,13 +546,22 @@
\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}
- }
+ \def\btitleapp{\ (3/\pframes)}
+ \ifcsdef{@bpolargiii}{%
+ \ifcsdef{@bpopts}{%
+ \begingroup\edef\tempa{\endgroup\noexpand%
+ \begin{frame}<\csuse{@bpolargiii}>[\csuse{@bpopts}]{\csuse{@bptitle}\btitleapp}}\tempa
+ }{%
+ \begin{frame}<\csuse{@bpolargiii}>[label=beamerprogram3]{\csuse{@bptitle}\btitleapp}
+ }%
+ }{%
+ \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]
}{%
@@ -525,25 +571,78 @@
\end{description}
\end{frame}
}
+ % The last slide is generated separately:
\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}
- }
- }
- }
- }
+ \@ifundefined{programlistbeamerii}{%
+ \ifcsdef{@bpolarg}{%
+ \ifcsdef{@bpopts}{%
+ \begingroup\edef\tempa{\endgroup\noexpand%
+ \begin{frame}<\csuse{@bpolarg}>[\csuse{@bpopts}]{\csuse{@bptitle}\btitleapp}}\tempa
+ }{%
+ \begin{frame}<\csuse{@bpolarg}>[label=beamerprogram]{\csuse{@bptitle}\btitleapp}
+ }%
+ }{%
+ \ifcsdef{@bpopts}{%
+ \begingroup\edef\tempa{\endgroup\noexpand%
+ \begin{frame}[\csuse{@bpopts}]{\csuse{@bptitle}\btitleapp}}\tempa
+ }{%
+ \begin{frame}[label=beamerprogram]{\csuse{@bptitle}\btitleapp}
+ }%
+ }%
+ }{%
+ \@ifundefined{programlistbeameriii}{%
+ \ifcsdef{@bpolargii}{%
+ \ifcsdef{@bpopts}{%
+ \begingroup\edef\tempa{\endgroup\noexpand%
+ \begin{frame}<\csuse{@bpolargii}>[\csuse{@bpopts}]{\csuse{@bptitle}\btitleapp}}\tempa
+ }{%
+ \begin{frame}<\csuse{@bpolargii}>[label=beamerprogram2]{\csuse{@bptitle}\btitleapp}
+ }%
+ }{%
+ \ifcsdef{@bpopts}{%
+ \begingroup\edef\tempa{\endgroup\noexpand%
+ \begin{frame}[\csuse{@bpopts}]{\csuse{@bptitle}\btitleapp}}\tempa
+ }{%
+ \begin{frame}[label=beamerprogram2]{\csuse{@bptitle}\btitleapp}
+ }%
+ }%
+ }{%
+ \@ifundefined{programlistbeameriv}{%
+ \ifcsdef{@bpolargiii}{%
+ \ifcsdef{@bpopts}{%
+ \begingroup\edef\tempa{\endgroup\noexpand%
+ \begin{frame}<\csuse{@bpolargiii}>[\csuse{@bpopts}]{\csuse{@bptitle}\btitleapp}}\tempa
+ }{%
+ \begin{frame}<\csuse{@bpolargiii}>[label=beamerprogram3]{\csuse{@bptitle}\btitleapp}
+ }%
+ }{%
+ \ifcsdef{@bpopts}{%
+ \begingroup\edef\tempa{\endgroup\noexpand%
+ \begin{frame}[\csuse{@bpopts}]{\csuse{@bptitle}\btitleapp}}\tempa
+ }{%
+ \begin{frame}[label=beamerprogram3]{\csuse{@bptitle}\btitleapp}
+ }%
+ }%
+ }{%
+ \ifcsdef{@bpolargiv}{%
+ \ifcsdef{@bpopts}{%
+ \begingroup\edef\tempa{\endgroup\noexpand%
+ \begin{frame}<\csuse{@bpolargiv}>[\csuse{@bpopts}]{\csuse{@bptitle}\btitleapp}}\tempa
+ }{%
+ \begin{frame}<\csuse{@bpolargiv}>[label=beamerprogram4]{\csuse{@bptitle}\btitleapp}
+ }%
+ }{%
+ \ifcsdef{@bpopts}{%
+ \begingroup\edef\tempa{\endgroup\noexpand%
+ \begin{frame}[\csuse{@bpopts}]{\csuse{@bptitle}\btitleapp}}\tempa
+ }{%
+ \begin{frame}[label=beamerprogram4]{\csuse{@bptitle}\btitleapp}
+ }%
+ }%
+ }%
+ }%
+ }%
+
\ifbool{uncoveredlist}{%
\begin{description}[<+->][\lecprogramlistindent]
}{%
@@ -630,6 +729,7 @@
\protected at csxdef{usesinstructor\thesnum}{\csuse{@usesinstructor}}
\protected at csxdef{usesshortinstructor\thesnum}{\csuse{@usesshortinstructor}}
\protected at csxdef{sespresstudents\thesnum}{\csuse{@sespresstudents}}
+ \protected at csxdef{sesblock\thesnum}{\csuse{@currentblock}}
\ifKV at session@cancel
\stepcounter{cancellations}
\protected at eappto\programlist{\noexpand\item[{\noexpand\bfseries\csuse{sesshortdate\thesnum}}]%
@@ -722,19 +822,21 @@
% 3) Definition of thematic blocks
%
\newcommand*\StartBlock[1]{%
- \stepcounter{blocks}
+ \stepcounter{blocks}%
\protected at eappto\programlist{\noexpand\item[{\noexpand\bfseries\Roman{blocks}}.]%
- \noexpand\bgroup\noexpand\bfseries #1\noexpand\egroup}
- \gappto\programlist{\begin{labeling}{\lecprogramlistindent}}
+ \noexpand\bgroup\noexpand\bfseries #1\noexpand\egroup}%
+ \gappto\programlist{\begin{labeling}{\lecprogramlistindent}}%
\protected at eappto\programlistbeamer{\noexpand\item[{\noexpand\bfseries\Roman{blocks}}.]%
- \noexpand\bgroup\noexpand\bfseries #1\noexpand\egroup}
+ \noexpand\bgroup\noexpand\bfseries #1\noexpand\egroup}%
\gappto\programlistbeamer{\begin{description}[\lecprogramlistindent]}
- \protected at xappto\programblocklistbeamer{\noexpand\item[{\Roman{blocks}}.] #1}
+ \protected at xappto\programblocklistbeamer{\noexpand\item[{\Roman{blocks}}.] #1}%
+ \csxdef{@currentblock}{#1}%
}
\newcommand*\EndBlock{%
\gappto\programlist{\end{labeling}}
\gappto\programlistbeamer{\end{description}}
+ \csxdef{@currentblock}{}%
}
\newcommand*\NewBlock[1]{%
@@ -870,6 +972,7 @@
\gdef\@usesinstructor{\csuse{usesinstructor#1}}%
\gdef\@usesshortinstructor{\csuse{usesshortinstructor#1}}%
\gdef\sespresstudents{\csuse{sespresstudents#1}}%
+ \gdef\sesblocktitle{\csuse{sesblock#1}}%
\if\hfuzz\@usesinstructor\hfuzz%
\global\togglefalse{uniquesesinstructor}%
\else
@@ -903,6 +1006,7 @@
\gdef\@lusesinstructor{\csuse{usesinstructor#1}}%
\gdef\@lusesshortinstructor{\csuse{usesshortinstructor#1}}%
\gdef\lsespresstudents{\csuse{sespresstudents#1}}%
+ \gdef\lsesblock{\csuse{sesblock#1}}%
}
% \ses[short]instructor and \ses[short]instructor*.
@@ -992,6 +1096,12 @@
\lsespresstudents%
}
+% Session block title
+\newcommand*\SessionBlockTitle[1]{%
+ \LocalSession{#1}%
+ \lsesblock%
+}
+
% Program line suitable for
% a description or labeling list
\newcommand*\MakeProgramline[1]{%
@@ -1030,6 +1140,13 @@
\SessionTitle{\theadjsession}%
\fi
}
+% Session block title
+\newcommand*\AdjSessionBlockTitle[1][1]{%
+ \ifnum0<0\sesnr\relax
+ \setcounter{adjsession}{\numexpr\sesnr+#1\relax}%
+ \SessionBlockTitle{\theadjsession}%
+ \fi
+}
% Short date
\newcommand*\AdjSessionShortDate[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 2018-12-14 21:55:21 UTC (rev 49413)
+++ trunk/Master/texmf-dist/tex/latex/jslectureplanner/jsmembertable.sty 2018-12-14 21:55:39 UTC (rev 49414)
@@ -24,8 +24,8 @@
%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\def\filedate{2017/09/26}
-\def\fileversion{1.6}
+\def\filedate{2017/12/14}
+\def\fileversion{1.7}
\def\filename{jsmembertable.sty}
\NeedsTeXFormat{LaTeX2e}
More information about the tex-live-commits
mailing list