summaryrefslogtreecommitdiff
path: root/Master
diff options
context:
space:
mode:
Diffstat (limited to 'Master')
-rw-r--r--Master/texmf-dist/doc/latex/jslectureplanner/README3
-rw-r--r--Master/texmf-dist/doc/latex/jslectureplanner/examples/English/lecturebib-english.pdfbin85104 -> 85104 bytes
-rw-r--r--Master/texmf-dist/doc/latex/jslectureplanner/examples/English/lecturehandout-english.pdfbin57923 -> 57923 bytes
-rw-r--r--Master/texmf-dist/doc/latex/jslectureplanner/examples/English/lecturepresentation-english.pdfbin84606 -> 84606 bytes
-rw-r--r--Master/texmf-dist/doc/latex/jslectureplanner/examples/English/lectureprogram-english.pdfbin56905 -> 56905 bytes
-rw-r--r--Master/texmf-dist/doc/latex/jslectureplanner/examples/English/lecturescript-english.pdfbin34575 -> 34575 bytes
-rw-r--r--Master/texmf-dist/doc/latex/jslectureplanner/examples/English/membertable-blank-english.pdfbin28442 -> 28442 bytes
-rw-r--r--Master/texmf-dist/doc/latex/jslectureplanner/examples/English/membertable-filled-english.pdfbin28450 -> 28450 bytes
-rw-r--r--Master/texmf-dist/doc/latex/jslectureplanner/examples/English/presencetable-blank-english.pdfbin27974 -> 27974 bytes
-rw-r--r--Master/texmf-dist/doc/latex/jslectureplanner/examples/English/presencetable-filled-english.pdfbin26752 -> 26752 bytes
-rw-r--r--Master/texmf-dist/doc/latex/jslectureplanner/examples/English/presentation-list-english.pdfbin25688 -> 25688 bytes
-rw-r--r--Master/texmf-dist/doc/latex/jslectureplanner/examples/German/lecturebib.pdfbin85488 -> 85488 bytes
-rw-r--r--Master/texmf-dist/doc/latex/jslectureplanner/examples/German/lecturehandout.pdfbin59148 -> 59148 bytes
-rw-r--r--Master/texmf-dist/doc/latex/jslectureplanner/examples/German/lecturepresentation.pdfbin84992 -> 84992 bytes
-rw-r--r--Master/texmf-dist/doc/latex/jslectureplanner/examples/German/lectureprogram.pdfbin57899 -> 57899 bytes
-rw-r--r--Master/texmf-dist/doc/latex/jslectureplanner/examples/German/lecturescript.pdfbin34772 -> 34772 bytes
-rw-r--r--Master/texmf-dist/doc/latex/jslectureplanner/examples/German/membertable-blank.pdfbin28387 -> 28387 bytes
-rw-r--r--Master/texmf-dist/doc/latex/jslectureplanner/examples/German/membertable-filled.pdfbin28509 -> 28509 bytes
-rw-r--r--Master/texmf-dist/doc/latex/jslectureplanner/examples/German/presencetable-blank.pdfbin27896 -> 27896 bytes
-rw-r--r--Master/texmf-dist/doc/latex/jslectureplanner/examples/German/presencetable-filled.pdfbin26784 -> 26784 bytes
-rw-r--r--Master/texmf-dist/doc/latex/jslectureplanner/examples/German/presentation-list.pdfbin26864 -> 26864 bytes
-rw-r--r--Master/texmf-dist/doc/latex/jslectureplanner/jslectureplanner.pdfbin457635 -> 478838 bytes
-rw-r--r--Master/texmf-dist/doc/latex/jslectureplanner/jslectureplanner.tex266
-rw-r--r--Master/texmf-dist/tex/latex/jslectureplanner/jslectureplanner.sty284
-rw-r--r--Master/texmf-dist/tex/latex/jslectureplanner/jsmembertable.sty4
25 files changed, 429 insertions, 128 deletions
diff --git a/Master/texmf-dist/doc/latex/jslectureplanner/README b/Master/texmf-dist/doc/latex/jslectureplanner/README
index 9d1d09cea49..5f9da681e12 100644
--- a/Master/texmf-dist/doc/latex/jslectureplanner/README
+++ b/Master/texmf-dist/doc/latex/jslectureplanner/README
@@ -68,6 +68,9 @@ instructions; also have a look at the example files.
== CHANGES ==
+* V. 1.11 (2020-05-11): - Allow for customization of program and presentation lists.
+ - Correctly set first session in presentation list.
+
* V. 1.10 (2020-04-30): - Do not increment session topic counter for cancelled sessions
and breaks.
- Add session option topicnumber to reset topic number in draft mode.
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
index 8ee99de4cde..ae0607b469c 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
Binary files differ
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
index 174d1d40bbd..54a3fe25290 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
Binary files differ
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
index 1b8c27038b1..1d90d42f0c7 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
Binary files differ
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
index 4be1c094ff2..ac529f1a972 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
Binary files differ
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
index 9183f3c466c..f949f346aab 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
Binary files differ
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
index 25e1e676aa2..8618c4a994b 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
Binary files differ
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
index 52869faee25..619c62ce976 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
Binary files differ
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
index 0d7916a4179..826431e8b17 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
Binary files differ
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
index 3374c33a779..a51da79d67d 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
Binary files differ
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
index 77bdc57f1ff..3effb912173 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
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/jslectureplanner/examples/German/lecturebib.pdf b/Master/texmf-dist/doc/latex/jslectureplanner/examples/German/lecturebib.pdf
index adfe94072a7..a30a8d7d730 100644
--- a/Master/texmf-dist/doc/latex/jslectureplanner/examples/German/lecturebib.pdf
+++ b/Master/texmf-dist/doc/latex/jslectureplanner/examples/German/lecturebib.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/jslectureplanner/examples/German/lecturehandout.pdf b/Master/texmf-dist/doc/latex/jslectureplanner/examples/German/lecturehandout.pdf
index 39957602713..4df08079509 100644
--- a/Master/texmf-dist/doc/latex/jslectureplanner/examples/German/lecturehandout.pdf
+++ b/Master/texmf-dist/doc/latex/jslectureplanner/examples/German/lecturehandout.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/jslectureplanner/examples/German/lecturepresentation.pdf b/Master/texmf-dist/doc/latex/jslectureplanner/examples/German/lecturepresentation.pdf
index f34eddf6645..7494a82a679 100644
--- a/Master/texmf-dist/doc/latex/jslectureplanner/examples/German/lecturepresentation.pdf
+++ b/Master/texmf-dist/doc/latex/jslectureplanner/examples/German/lecturepresentation.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/jslectureplanner/examples/German/lectureprogram.pdf b/Master/texmf-dist/doc/latex/jslectureplanner/examples/German/lectureprogram.pdf
index a45658c81f8..326beb4f684 100644
--- a/Master/texmf-dist/doc/latex/jslectureplanner/examples/German/lectureprogram.pdf
+++ b/Master/texmf-dist/doc/latex/jslectureplanner/examples/German/lectureprogram.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/jslectureplanner/examples/German/lecturescript.pdf b/Master/texmf-dist/doc/latex/jslectureplanner/examples/German/lecturescript.pdf
index 4b40e63e826..d3539369039 100644
--- a/Master/texmf-dist/doc/latex/jslectureplanner/examples/German/lecturescript.pdf
+++ b/Master/texmf-dist/doc/latex/jslectureplanner/examples/German/lecturescript.pdf
Binary files differ
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
index da80a5f6384..3ecc09846a7 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
Binary files differ
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
index f4185515edc..303b1dae404 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
Binary files differ
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
index cd749eb1e08..464a6c7f3bd 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
Binary files differ
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
index fd02425a5fa..d09b39386e9 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
Binary files differ
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
index 8c0539e5968..0050ea70455 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
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/jslectureplanner/jslectureplanner.pdf b/Master/texmf-dist/doc/latex/jslectureplanner/jslectureplanner.pdf
index bedf7f4281c..7a0c3571509 100644
--- a/Master/texmf-dist/doc/latex/jslectureplanner/jslectureplanner.pdf
+++ b/Master/texmf-dist/doc/latex/jslectureplanner/jslectureplanner.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/jslectureplanner/jslectureplanner.tex b/Master/texmf-dist/doc/latex/jslectureplanner/jslectureplanner.tex
index a5aff8fa2a9..4792ba03bbd 100644
--- a/Master/texmf-dist/doc/latex/jslectureplanner/jslectureplanner.tex
+++ b/Master/texmf-dist/doc/latex/jslectureplanner/jslectureplanner.tex
@@ -1,3 +1,4 @@
+% !TeX spellcheck = en_US
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% File jslectureplanner.tex
%%
@@ -54,6 +55,20 @@
\vfuzz \hfuzz
\raggedbottom
+\usepackage[bookmarks=true,
+bookmarksnumbered=false,
+bookmarksopen=false,
+breaklinks=false,
+pdfborder={0 0 0},
+backref=false,
+colorlinks=false
+]{hyperref}
+\hypersetup{%
+ pdftitle={The jslectureplanner manual},
+ pdfauthor={Jürgen Spitzmüller},
+ pdfkeywords={latex,course planning}
+}
+
\usepackage{microtype}
\usepackage{babel}
@@ -72,7 +87,7 @@
\author{Jürgen Spitzmüller%
\thanks{Please report issues via \protect\url{https://github.com/jspitz/jslectureplanner}.}}
-\date{Version 1.10, 2020/04/30}
+\date{Version 1.11, 2020/05/11}
\maketitle
@@ -343,6 +358,8 @@ your university
\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}
+\clearpage
+
\section{Setting up a course schedule}\label{sec:lecplan}
In the metadata file, you can set up a schedule for the course by entering
@@ -355,7 +372,7 @@ macro:
Valid \joption{\jparam{options}} include:
\begin{itemize}
\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.
+ see sec.~\ref{sec:listcust}) will be output if no session title is defined.
This might be handy for planning the schedule.
\item \joption{topicnumber=\jparam{n}}: In draft mode, reset the current topic number of this session to \jparam{n}.
All subsequent topics will be calculated from this unless reset again. This might be useful if only part of
@@ -523,10 +540,11 @@ e-learning platform
\item \jcsmacro{officenumber}: Outputs the office (room) number
\end{itemize}
-\subsection{Generating course programs}
+\subsection{Generating course programs}\label{subsec:genprog}
\label{sec:lecprog}
\begin{itemize}
-\item \jcsmacro{makeprogram}: Generates a course program in the form:
+\item \jcsmacro{makeprogram}: Generates a course program that, by default,
+expands to the form:
\begin{lstlisting}[language={[LaTeX]TeX},basicstyle={\small\ttfamily},
frame=single,escapechar=\$]
\begin{labeling}{\lecprogramlistindent}
@@ -540,6 +558,7 @@ e-learning platform
The \jmacro{labeling} environment is defined by the KOMA classes.
The package provides a fallback, however, if a different class is used.
+The list type can also be customized. See sec.~\ref{sec:listcust} for details.
\item \jcsmacro{makebeamerprogram[\jparam{options}]}: Generates
a beamer-suited lecture program from the metadata in the form
@@ -557,6 +576,8 @@ a beamer-suited lecture program from the metadata in the form
\end{frame}
\end{lstlisting}
+Again, see sec.~\ref{sec:listcust} for customization possibilities.
+
Note that
\begin{itemize}
\item multiple subsequent frames (not just slides) are generated if the metadata
@@ -644,6 +665,7 @@ presenting students, i.\,e., it expands to code in the form:
\end{lstlisting}
If no presenting students have been assigned to a given session,
an em-dash (---) is output instead.
+This all can be customized (please refer to sec.~\ref{sec:listcust} for details).
A starred version of the macro outputs a ``blank'' presentation list that just consists of
the session dates and titles with enough space to fill in student names manually.
@@ -910,31 +932,237 @@ As for the time span, this is defined in the macro \jcsmacro{jstimeslot}, which
\end{lstlisting}
The time format itself can be customized by the means of \textsf{datetime2} (timestyle). Please refer to the package's manual for details.
-\subsection{Misc. customizing}\label{sec:misccust}
-The canceling output is ``Session title -- keine \jparam{Session}'' (``keine''
+\subsection{Customizing program and presentation list appearance}\label{sec:listcust}
+
+\subsubsection{List layout}
+The course program generated by \jcsmacro{makeprogram} is typeset using
+a \textit{labeling} list, i.\,e., a description list
+with a customizable indentation (see sec.~\ref{subsec:genprog}).
+Since \jslp\ uses customizable environments, this can be easily changed.
+Simply redefine the following environment (\jcsmacro{lecprogramlistindent}
+holds a string that represents the indentation width; see below):
+
+\begin{lstlisting}[language={[LaTeX]TeX},basicstyle={\small\ttfamily},
+frame=single,moretexcs={[1]{lecprogramlistindent}}]
+\newenvironment{ProgramList}{\begin{labeling}{\lecprogramlistindent}}{\end{labeling}}
+\end{lstlisting}
+%
+This will also change the list of the exam sessions generated by \jcsmacro{makeexamprogram}
+and the student presentation lists generated by \jcsmacro{makepreslist}.
+If you want these lists to look different from the normal program list, redefine:
+
+\begin{lstlisting}[language={[LaTeX]TeX},basicstyle={\small\ttfamily},frame=single]
+\newenvironment{ProgramListExam}{\begin{ProgramList}}{\end{ProgramList}}
+\end{lstlisting}
+%
+\begin{lstlisting}[language={[LaTeX]TeX},basicstyle={\small\ttfamily},frame=single]
+\newenvironment{PresList}{\begin{ProgramList}}{\end{ProgramList}}
+\end{lstlisting}
+%
+For beamer programs, exam and presentation lists, a description environment is used instead,
+and the respective commands are
+\begin{lstlisting}[language={[LaTeX]TeX},basicstyle={\small\ttfamily},
+frame=single,moretexcs={[1]{lecprogramlistindent}}]
+\newenvironment{BeamerProgramList}{\begin{description}[\lecprogramlistindent]}%
+ {\end{description}}
+\end{lstlisting}
+%
+\begin{lstlisting}[language={[LaTeX]TeX},basicstyle={\small\ttfamily},
+frame=single,moretexcs={[1]{lecprogramlistindent}}]
+\newenvironment{BeamerPresList}{\begin{BeamerProgramList}}{\end{BeamerProgramList}}
+\end{lstlisting}
+%
+\begin{lstlisting}[language={[LaTeX]TeX},basicstyle={\small\ttfamily},
+frame=single,moretexcs={[1]{lecprogramlistindent}}]
+\newenvironment{BeamerProgramListExam}{\begin{BeamerProgramList}}{\end{BeamerProgramList}}
+\end{lstlisting}
+%
+The individual lines of the program are defined in the following macro that can be redefined
+(\texttt{\#1} represents the date, \texttt{\#2} the session title, \texttt{\#3} the session title--subtitle separator,
+and \texttt{\#4} the session subtitle; for the used text formatting macros, see sec.~\ref{subsec:textform}):
+\begin{lstlisting}[language={[LaTeX]TeX},basicstyle={\small\ttfamily},
+frame=single,moretexcs={[3]{ProgramListItem,programdateformat,sestitleformat}}]
+\newcommand*{\ProgramListItem}[4]{\item[\programdateformat{#1}] \sestitleformat{#2#3#4}}
+\end{lstlisting}
+%
+This also redefines the presentation list items.
+If you want these lists to look different from the normal program list, redefine:
+\begin{lstlisting}[language={[LaTeX]TeX},basicstyle={\small\ttfamily},
+frame=single,moretexcs={[2]{PresListItem,ProgramListItem}}]
+\newcommand*\PresListItem[4]{%
+ \ProgramListItem{#1}{#2}{#3}{#4}%
+}
+\end{lstlisting}
+%
+Analogous macros for canceled session items, exam items and presentation list items are:
+\begin{lstlisting}[language={[LaTeX]TeX},basicstyle={\small\ttfamily},
+frame=single,moretexcs={[3]{ProgramListCancelItem,programdateformat,cansestitleformat}}]
+\newcommand*{\ProgramListCancelItem}[4]{\item[\programdateformat{#1}]
+ \cansestitleformat{#2#3#4 \leccancel}}
+\end{lstlisting}
+\begin{lstlisting}[language={[LaTeX]TeX},basicstyle={\small\ttfamily},
+frame=single,moretexcs={[3]{ProgramListExamItem,programdateformat,exsestitleformat}}]
+\newcommand*{\ProgramListExamItem}[4]{\item[\programdateformat{#1}]
+ \exsestitleformat{#2#3#4}}
+\end{lstlisting}
+%
+For the beamer program, the respective macros are:
+\begin{lstlisting}[language={[LaTeX]TeX},basicstyle={\small\ttfamily},
+frame=single,moretexcs={[3]{BeamerProgramListItem,programdateformat,sestitleformat}}]
+\newcommand*{\BeamerProgramListItem}[4]{\item[\programdateformat{#1}]
+ \sestitleformat{#2#3#4}}
+\end{lstlisting}
+\begin{lstlisting}[language={[LaTeX]TeX},basicstyle={\small\ttfamily},
+frame=single,moretexcs={[2]{BeamerPresListItem,BeamerProgramListItem}}]
+\newcommand*\BeamerPresListItem[4]{%
+ \BeamerProgramListItem{#1}{#2}{#3}{#4}%
+}
+\end{lstlisting}
+\begin{lstlisting}[language={[LaTeX]TeX},basicstyle={\small\ttfamily},
+frame=single,moretexcs={[3]{BeamerProgramListCancelItem,programdateformat,cansestitleformat}}]
+\newcommand*{\BeamerProgramListCancelItem}[4]{\item[\programdateformat{#1}]
+ \cansestitleformat{#2#3#4\leccancel}}
+\end{lstlisting}
+\begin{lstlisting}[language={[LaTeX]TeX},basicstyle={\small\ttfamily},
+frame=single,moretexcs={[3]{BeamerProgramListExamItem,programdateformat,exsestitleformat}}]
+\newcommand*{\BeamerProgramListExamItem}[4]{\item[\programdateformat{#1}]
+ \exsestitleformat{#2#3#4}}
+\end{lstlisting}
+%
+The program block titles are set in the embedding list via the following macro:
+\begin{lstlisting}[language={[LaTeX]TeX},basicstyle={\small\ttfamily},
+frame=single,moretexcs={[3]{ProgramBlockItem,blocknumberformat,blocktitleformat}}]
+\newcommand*{\ProgramBlockItem}[2]{\item[\blocknumberformat{#1}.] \blocktitleformat{#2}}
+\end{lstlisting}
+%
+For beamer, the following is used with \joption{blocksonly=false}:
+\begin{lstlisting}[language={[LaTeX]TeX},basicstyle={\small\ttfamily},
+frame=single,moretexcs={[3]{BeamerProgramBlockItem,blocknumberformat,blocktitleformat}}]
+\newcommand*{\BeamerProgramBlockItem}[2]{\item[\blocknumberformat{#1}.]
+ \blocktitleformat{#2}}
+\end{lstlisting}
+%
+and the following is used with \joption{blocksonly=true}:
+\begin{lstlisting}[language={[LaTeX]TeX},basicstyle={\small\ttfamily},
+frame=single,moretexcs={[1]{BeamerProgramBlockBlocksOnlyItem}}]
+\newcommand*{\BeamerProgramBlockBlocksOnlyItem}[2]{\item[#1.] #2}
+\end{lstlisting}
+%
+The indentation used in program lists can be changed by redefining
+\begin{lstlisting}[language={[LaTeX]TeX},basicstyle={\small\ttfamily},frame=single,
+moretexcs={[2]{lecprogramlistindent,programdateformat}}]
+\newcommand*\lecprogramlistindent{\programdateformat{88.\,88.}}
+\end{lstlisting}
+%
+The vertical space that separates lines in blank presentation lists can be changed
+by redefining
+\begin{lstlisting}[language={[LaTeX]TeX},basicstyle={\small\ttfamily},frame=single,
+moretexcs={[2]{blankpreslistvspace,setlength}}]
+\setlength\blankpreslistvspace{2\baselineskip}
+\end{lstlisting}
+%
+The separator between session title and presenting students in presentation lists
+can be adjusted by changing
+\begin{lstlisting}[language={[LaTeX]TeX},basicstyle={\small\ttfamily},frame=single,
+moretexcs={[1]{presseparator}}]
+\newcommand*\presseparator{\par}
+\end{lstlisting}
+%
+For beamer presentation lists, the adaptation can be done by changing
+\begin{lstlisting}[language={[LaTeX]TeX},basicstyle={\small\ttfamily},frame=single,
+moretexcs={[1]{beamerpresseparator}}]
+\newcommand*\beamerpresseparator{:\ }
+\end{lstlisting}
+
+
+\subsubsection{Text formatting}\label{subsec:textform}
+
+If you only want to change the formatting of lines, you do not need to redefine the whole macros
+describe above. You can simply adjust the respective markup macros, as described in what follows.
+
+The dates in the program are bold by default. You can change this globally by redefining
+\begin{lstlisting}[language={[LaTeX]TeX},basicstyle={\small\ttfamily},frame=single,
+moretexcs={[1]{programdateformat}}]
+\newcommand*\programdateformat[1]{\textbf{#1}}
+\end{lstlisting}
+%
+Cancelled session titles in the program are bold by default as well. You can change this globally by redefining
+\begin{lstlisting}[language={[LaTeX]TeX},basicstyle={\small\ttfamily},frame=single,
+frame=single,moretexcs={[1]{cansestitleformat}}]
+\newcommand*\cansestitleformat[1]{\textbf{#1}}
+\end{lstlisting}
+%
+Normal session titles, on the other hand, are by default not emphasized at all. You can also change this
+globally by redefining
+\begin{lstlisting}[language={[LaTeX]TeX},basicstyle={\small\ttfamily},frame=single,
+frame=single,moretexcs={[1]{sestitleformat}}]
+\newcommand*\sestitleformat[1]{#1}
+\end{lstlisting}
+%
+Exam session titles are copies of the above. You can also change this
+globally by redefining
+\begin{lstlisting}[language={[LaTeX]TeX},basicstyle={\small\ttfamily},frame=single,
+frame=single,moretexcs={[2]{exsestitleformat,sestitleformat}}]
+\newcommand*\exsestitleformat[1]{\sestitleformat{#1}}
+\end{lstlisting}
+%
+Session block titles and session block numbers can be redefined by changing
+\begin{lstlisting}[language={[LaTeX]TeX},basicstyle={\small\ttfamily},frame=single,
+frame=single,moretexcs={[1]{blocktitleformat}}]
+\newcommand*\blocktitleformat[1]{\textbf{#1}}
+\end{lstlisting}
+\begin{lstlisting}[language={[LaTeX]TeX},basicstyle={\small\ttfamily},frame=single,
+frame=single,moretexcs={[1]{blocknumberformat}}]
+\newcommand*\blocknumberformat[1]{\textbf{#1}}
+\end{lstlisting}
+%
+If you want to change the line in which semester breaks are output, redefine
+\begin{lstlisting}[language={[LaTeX]TeX},basicstyle={\small\ttfamily},frame=single,
+frame=single,moretexcs={[1]{breakevent}}]
+\newcommand*{\ProgramListBreak}[2][\empty]%
+{%
+ \begin{center}
+ (\breakevent{#1}{: }{#2})
+ \end{center}%
+}
+\end{lstlisting}
+%
+\jcsmacro{breakevent} thereby checks whether a date range has been given (\texttt{\#1}),
+and if so, it is output followed by the separator given as second argument and the break
+title (\texttt{\#2}). If not, only the break title (\texttt{\#2}) is output.
+
+\subsubsection{Strings}
+
+For canceled sessions, the program outputs
+``\jparam{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]
+\begin{lstlisting}[language={[LaTeX]TeX},basicstyle={\small\ttfamily},frame=single,
+ moretexcs={[2]{leccancel,lectypesession}}]
\newcommand*\leccancel{\ -- keine \lectypesession}
\end{lstlisting}
The default program string used in beamer frames can be changed by
redefining
-\begin{lstlisting}[language={[LaTeX]TeX},basicstyle={\small\ttfamily},frame=single]
+\begin{lstlisting}[language={[LaTeX]TeX},basicstyle={\small\ttfamily},frame=single,
+ moretexcs={[1]{lecprogram}}]
\newcommand*\lecprogram{Programm}
\end{lstlisting}
-The indentation used in program lists can be changed by redefining
-\begin{lstlisting}[language={[LaTeX]TeX},basicstyle={\small\ttfamily},frame=single]
-\newcommand*\lecprogramlistindent{\textbf{88.\,88.}}
-\end{lstlisting}
The placeholder text for session without title with \joption{draft=true}
(see sec.~\ref{sec:lecplan}) is ``Thema \jparam{n}'' (``Thema'' is German for ``topic'').
-It can be changed by redefinition of this macro (\lstinline|\thesestopic| outputs
+It can be changed by redefinition of this macro (\jcsmacro{thesestopic} outputs
the value of the internal topic counter).
-\begin{lstlisting}[language={[LaTeX]TeX},basicstyle={\small\ttfamily},frame=single]
+\begin{lstlisting}[language={[LaTeX]TeX},basicstyle={\small\ttfamily},frame=single,
+ moretexcs={[2]{sestopic,thesestopic}}]
\newcommand*\sestopic{Thema~\thesestopic}
\end{lstlisting}
-Use \jfcsmacro{renewcommand{*}} for the redefinitions.
+%
+The placeholder for presentation sessions with no students assigned (by default
+an em-dash), can be redefined by changing
+\begin{lstlisting}[language={[LaTeX]TeX},basicstyle={\small\ttfamily},frame=single,
+moretexcs={[1]{emptypressession}}]
+\newcommand*\emptypressession{---}
+\end{lstlisting}
\subsection{Using styles}\label{sec:styles}
@@ -1190,7 +1418,8 @@ a \emph{stackexchange} post by Enrico Gregorio (\url{http://tex.stackexchange.co
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!
-Richard Zach provided a fix and enhancement to \jcsmacro{SetAutoOffset}. Many thanks for this.
+Richard Zach provided a fix and enhancement to \jcsmacro{SetAutoOffset} and code to customize
+the program list. 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.
@@ -1198,6 +1427,11 @@ the \jslp\ style files. Thanks, Dominik.
\section{Release History}
\begin{itemize}
+\item 2020/05/11 (v. 1.11):
+ \begin{itemize}
+ \item Allow for customization of program and presentation lists (see sec.~\ref{sec:listcust}).
+ \item Correctly set first session in presentation list.
+ \end{itemize}
\item 2020/04/30 (v. 1.10):
\begin{itemize}
\item Do not increment session topic counter for cancelled sessions and breaks.
diff --git a/Master/texmf-dist/tex/latex/jslectureplanner/jslectureplanner.sty b/Master/texmf-dist/tex/latex/jslectureplanner/jslectureplanner.sty
index 975be52a0d0..72c62b27fa7 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{2020/04/30}
-\def\fileversion{1.10}
+\def\filedate{2020/05/11}
+\def\fileversion{1.11}
\def\filename{jslectureplanner.sty}
\NeedsTeXFormat{LaTeX2e}
@@ -88,7 +88,7 @@
\def\programlistexam{}
\def\programlistbeamer{}
\def\programlistbeamerexam{}
-\def\programblocklistbeamer{\item}
+\def\programblocklistbeamer{}
\def\jsbiblist{}
@@ -182,7 +182,7 @@
% Beamer program heading
\newcommand*\lecprogram{Programm}
% Program list indentation
-\newcommand*\lecprogramlistindent{\textbf{88.\,88.}}
+\newcommand*\lecprogramlistindent{\programdateformat{88.\,88.}}
% Session topic placeholder
\newcommand*\sestopic{Thema~\thesestopic}
% Time slot
@@ -540,19 +540,93 @@
% Program generation
\newcommand\makeprogram{%
\raggedright
- \begin{labeling}{\lecprogramlistindent}
+ \begin{ProgramList}
\programlist
- \end{labeling}
+ \end{ProgramList}
}
% Exam schedule generation
\newcommand\makeexamprogram{%
\raggedright
- \begin{labeling}{\lecprogramlistindent}
+ \begin{ProgramListExam}
\programlistexam
- \end{labeling}
+ \end{ProgramListExam}
}
+% Customizable environments for formatting the lists
+
+% ProgramList is the list used in programs
+\newenvironment{ProgramList}{\begin{labeling}{\lecprogramlistindent}}{\end{labeling}}
+
+% BeamerProgramList is the list used in programs
+\newenvironment{BeamerProgramList}{\begin{description}[\lecprogramlistindent]}{\end{description}}
+
+% ProgramListExam is the list used in exam schedules. By default identical to ProgramList
+\newenvironment{ProgramListExam}{\begin{ProgramList}}{\end{ProgramList}}
+
+% PresList is the list of presenting students
+\newenvironment{PresList}{\begin{ProgramList}}{\end{ProgramList}}
+
+% Same for beamer
+\newenvironment{BeamerPresList}{\begin{BeamerProgramList}}{\end{BeamerProgramList}}
+\newenvironment{BeamerProgramListExam}{\begin{BeamerProgramList}}{\end{BeamerProgramList}}
+
+% Text format of program date
+\newcommand*\programdateformat[1]{\textbf{#1}}
+% Text format of program title
+\newcommand*\sestitleformat[1]{#1}
+% Text format of program title
+\newcommand*\exsestitleformat[1]{\sestitleformat{#1}}
+% Text format of canceled session titles
+\newcommand*\cansestitleformat[1]{\textbf{#1}}
+% Text format of block titles
+\newcommand*\blocktitleformat[1]{\textbf{#1}}
+% Text format of block numbers
+\newcommand*\blocknumberformat[1]{\textbf{#1}}
+
+% ProgramListItem, ProgramListExamItem and ProgramListCancelItem typeset a single
+% session. Arguments: #1 date, #2 title, #3 title separator, #4 subtitle
+\newcommand*{\ProgramListItem}[4]{\item[\programdateformat{#1}] \sestitleformat{#2#3#4}}
+\newcommand*{\ProgramListCancelItem}[4]{\item[\programdateformat{#1}] \cansestitleformat{#2#3#4\leccancel}}
+\newcommand*{\ProgramListExamItem}[4]{\item[\programdateformat{#1}] \exsestitleformat{#2#3#4}}
+
+% Same for beamer program
+\newcommand*{\BeamerProgramListItem}[4]{\item[\programdateformat{#1}] \sestitleformat{#2#3#4}}
+\newcommand*{\BeamerProgramListCancelItem}[4]{\item[\programdateformat{#1}] \cansestitleformat{#2#3#4\leccancel}}
+\newcommand*{\BeamerProgramListExamItem}[4]{\item[\programdateformat{#1}] \exsestitleformat{#2#3#4}}
+
+% PresListItem: Program line for student presentation lists
+\newcommand*\PresListItem[4]{%
+ \ProgramListItem{#1}{#2}{#3}{#4}%
+}
+
+\newcommand*\BeamerPresListItem[4]{%
+ \BeamerProgramListItem{#1}{#2}{#3}{#4}%
+}
+
+% Format break event
+\newcommand*\breakevent[3]{\ifx\empty#1 #2\else#1#2#3\fi}
+% ProgramListBreak typesets a break.
+% Optional argument is date range, #2 is name of break
+\newcommand*{\ProgramListBreak}[2][\empty]%
+{%
+ \begin{center}
+ (\breakevent{#1}{: }{#2})
+ \end{center}%
+}
+
+% ProgramListBlock
+\newenvironment{ProgramListBlock}[2]%
+ {%
+ \ProgramBlockItem{#1}{#2}
+ \begin{ProgramList}%
+ }%
+ {\end{ProgramList}}
+
+\newcommand*{\ProgramBlockItem}[2]{\item[\blocknumberformat{#1}.] \blocktitleformat{#2}}
+\newcommand*{\BeamerProgramBlockItem}[2]{\item[\blocknumberformat{#1}.] \blocktitleformat{#2}}
+\newcommand*{\BeamerProgramBlockBlocksOnlyItem}[2]{\item[#1.] #2}
+
%
% Beamer program generation
\define@key{beamerprogram}{title}{\csdef{@bptitle}{#1}}
@@ -566,6 +640,11 @@
\define@boolkey{beamerprogram}{blocksonly}[true]{}
\define@boolkey{beamerprogram}{uncover}[true]{}
+% Overlay specifications for uncover programs
+\newcommand*\beameruncoverspec{\beamerdefaultoverlayspecification{<+(1)->}}
+\newcommand*\beameruncoverffslidesspec{\beamerdefaultoverlayspecification{<+(-1)->}}
+\newcommand*\beameruncoverblocksonlyspec{\beamerdefaultoverlayspecification{<+->}}
+
\newcommand*\makebeamerprogram[1][]{%
\csdef{@bptitle}{\lecprogram}
\def\btitleapp{}
@@ -574,7 +653,7 @@
\setkeys{beamerprogram}{blocksonly=false}
\setkeys{beamerprogram}{uncover=false}
\setkeys{beamerprogram}{#1}
- \def\bpdescbeg{\begin{description}[\lecprogramlistindent]}
+ \def\bpdescbeg{\begin{BeamerProgramList}}
\ifKV@beamerprogram@alerted
\fi
\providebool{uncoveredlist}
@@ -599,13 +678,10 @@
\begin{frame}[label=beamerprogram]{\csuse{@bptitle}\btitleapp}
}%
}%
- \ifbool{uncoveredlist}{%
- \begin{description}[<+->][\lecprogramlistindent]
- }{%
- \begin{description}[\lecprogramlistindent]
- }
- \programblocklistbeamer
- \end{description}
+ \ifbool{uncoveredlist}{\beameruncoverblocksonlyspec}{}
+ \begin{BeamerProgramList}
+ \ifcsempty{programblocklistbeamer}{\BeamerProgramBlockBlocksOnlyItem{}{}}{\programblocklistbeamer}
+ \end{BeamerProgramList}
\end{frame}
\else% not \ifKV@beamerprogram@blocksonly
% All but last slide(s) are generated in what follows
@@ -626,13 +702,10 @@
\begin{frame}[label=beamerprogram]{\csuse{@bptitle}\btitleapp}
}%
}%
- \ifbool{uncoveredlist}{%
- \begin{description}[<+(1)->][\lecprogramlistindent]
- }{%
- \begin{description}[\lecprogramlistindent]
- }
+ \ifbool{uncoveredlist}{\beameruncoverspec}{}
+ \begin{BeamerProgramList}
\programlistbeamerii
- \end{description}
+ \end{BeamerProgramList}
\end{frame}
}
\@ifundefined{programlistbeameriii}{}{%
@@ -652,13 +725,10 @@
\begin{frame}[label=beamerprogram2]{\csuse{@bptitle}\btitleapp}
}%
}%
- \ifbool{uncoveredlist}{%
- \begin{description}[<+->][\lecprogramlistindent]
- }{%
- \begin{description}[\lecprogramlistindent]
- }
+ \ifbool{uncoveredlist}{\beameruncoverffslidesspec}{}
+ \begin{BeamerProgramList}
\programlistbeameriii
- \end{description}
+ \end{BeamerProgramList}
\end{frame}
}
\@ifundefined{programlistbeameriv}{}{%
@@ -678,13 +748,10 @@
\begin{frame}[label=beamerprogram3]{\csuse{@bptitle}\btitleapp}
}%
}%
- \ifbool{uncoveredlist}{%
- \begin{description}[+(1)->][\lecprogramlistindent]
- }{%
- \begin{description}[\lecprogramlistindent]
- }
+ \ifbool{uncoveredlist}{\beameruncoverffslidesspec}{}
+ \begin{BeamerProgramList}
\programlistbeameriv
- \end{description}
+ \end{BeamerProgramList}
\end{frame}
}
% The last slide is generated separately:
@@ -758,14 +825,10 @@
}%
}%
}%
-
- \ifbool{uncoveredlist}{%
- \begin{description}[<+->][\lecprogramlistindent]
- }{%
- \begin{description}[\lecprogramlistindent]
- }
+ \ifbool{uncoveredlist}{\beameruncoverffslidesspec}{}
+ \begin{BeamerProgramList}
\programlistbeamer
- \end{description}
+ \end{BeamerProgramList}
\end{frame}
\fi%\else\ifKV@beamerprogram@blocksonly
}
@@ -780,7 +843,7 @@
\setkeys{beamerprogram}{blocksonly=false}
\setkeys{beamerprogram}{uncover=false}
\setkeys{beamerprogram}{#1}
- \def\bpdescbeg{\begin{description}[\lecprogramlistindent]}
+ \def\bpdescbeg{\begin{BeamerProgramList}}
\ifKV@beamerprogram@alerted
\fi
\providebool{uncoveredlist}
@@ -792,33 +855,30 @@
\ifKV@beamerprogram@blocksonly
\else% not \ifKV@beamerprogram@blocksonly
% All but last slide(s) are generated in what follows
- \@ifundefined{programlistbeamerexam}{}{%
- \def\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]
- }{%
- \begin{description}[\lecprogramlistindent]
- }
- \programlistbeamerexam
- \end{description}
- \end{frame}
+ \ifcsempty{programlistbeamerexam}{}{%
+ \def\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}{\beameruncoverspec}{}
+ \begin{BeamerProgramListExam}
+ \programlistbeamerexam
+ \end{BeamerProgramListExam}
+ \end{frame}
+ }%
\fi%\else\ifKV@beamerprogram@blocksonly
- }%
}
@@ -943,20 +1003,14 @@
\protected@csxdef{sesblockno\thesnum}{\csuse{@currentblockno}}
\ifKV@session@cancel
\stepcounter{cancellations}
- \protected@eappto\programlist{\noexpand\item[{\noexpand\bfseries\csuse{sesshortdate\thesnum}}]%
- \noexpand\bgroup\noexpand\bfseries\csuse{sestitle\thesnum}\csuse{@sestitlesep}\csuse{@sessubtitle}%
- \noexpand\leccancel\noexpand\egroup}
- \protected@eappto\programlistbeamer{\noexpand\item[{\noexpand\bfseries\csuse{sesshortdate\thesnum}}]%
- \noexpand\bgroup\noexpand\bfseries\csuse{sestitle\thesnum}\csuse{@sestitlesep}\csuse{@sessubtitle}%
- \noexpand\leccancel\noexpand\egroup}
+ \protected@eappto\programlist{\noexpand\ProgramListCancelItem{\csuse{sesshortdate\thesnum}}{\csuse{sestitle\thesnum}}{\csuse{@sestitlesep}}{\csuse{@sessubtitle}}}
+ \protected@eappto\programlistbeamer{\noexpand\BeamerProgramListCancelItem{\csuse{sesshortdate\thesnum}}{\csuse{sestitle\thesnum}}{\csuse{@sestitlesep}}{\csuse{@sessubtitle}}}
\else
\ifKV@session@exam
\stepcounter{exams}
\protected@csxdef{examsesno\theexams}{\thesnum}
- \protected@eappto\programlistexam{\noexpand\item[{\noexpand\bfseries\csuse{sesshortdate\thesnum}}]%
- \csuse{sestitle\thesnum}\csuse{@sestitlesep}\csuse{@sessubtitle}}
- \protected@eappto\programlistbeamerexam{\noexpand\item[{\noexpand\bfseries\csuse{sesshortdate\thesnum}}]%
- \csuse{sestitle\thesnum}\csuse{@sestitlesep}\csuse{@sessubtitle}}
+ \protected@eappto\programlistexam{\noexpand\ProgramListExamItem{\csuse{sesshortdate\thesnum}}{\csuse{sestitle\thesnum}}{\csuse{@sestitlesep}}{\csuse{@sessubtitle}}}
+ \protected@eappto\programlistbeamerexam{\noexpand\BeamerProgramListExamItem{\csuse{sesshortdate\thesnum}}{\csuse{sestitle\thesnum}}{\csuse{@sestitlesep}}{\csuse{@sessubtitle}}}
\ifcsempty{sesbib\thesnum}{}{%
\xappto\jsbiblist{\noexpand\section{\csuse{sestitle\thesnum}\csuse{@sestitlesep}\csuse{@sessubtitle}}%
\noexpand\nocite{*}%
@@ -967,10 +1021,8 @@
\ifKV@session@draft
\ifcsempty{@sestitle}{\protected@csxdef{sestitle\thesnum}{\sestopic}}{}
\fi
- \protected@eappto\programlist{\noexpand\item[{\noexpand\bfseries\csuse{sesshortdate\thesnum}}]%
- \csuse{sestitle\thesnum}\csuse{@sestitlesep}\csuse{@sessubtitle}}
- \protected@eappto\programlistbeamer{\noexpand\item[{\noexpand\bfseries\csuse{sesshortdate\thesnum}}]%
- \csuse{sestitle\thesnum}\csuse{@sestitlesep}\csuse{@sessubtitle}}
+ \protected@eappto\programlist{\noexpand\ProgramListItem{\csuse{sesshortdate\thesnum}}{\csuse{sestitle\thesnum}}{\csuse{@sestitlesep}}{\csuse{@sessubtitle}}}
+ \protected@eappto\programlistbeamer{\noexpand\BeamerProgramListItem{\csuse{sesshortdate\thesnum}}{\csuse{sestitle\thesnum}}{\csuse{@sestitlesep}}{\csuse{@sessubtitle}}}
\ifcsempty{sesbib\thesnum}{}{%
\xappto\jsbiblist{\noexpand\section{\csuse{sestitle\thesnum}\csuse{@sestitlesep}\csuse{@sessubtitle}}%
\noexpand\nocite{*}%
@@ -993,10 +1045,10 @@
}{\stepcounter{autooffsetcounter}}
}{}
\ifx\empty#1
- \protected@eappto\programlist{\noexpand\begin{center} (#2) \noexpand\end{center}}
+ \protected@eappto\programlist{\noexpand\ProgramListBreak{#2}}
\protected@eappto\programlistbeamer{\noexpand\begin{center} (#2) \noexpand\end{center}}
\else
- \protected@eappto\programlist{\noexpand\begin{center} (#1: #2) \noexpand\end{center}}
+ \protected@eappto\programlist{\noexpand\ProgramListBreak[#1]{#2}}
\protected@eappto\programlistbeamer{\noexpand\begin{center} (#1: #2) \noexpand\end{center}}
\fi
}
@@ -1026,10 +1078,10 @@
\stepcounter{loopcounter}
\repeat
\ifcsempty{@breakspan}{%
- \protected@eappto\programlist{\noexpand\begin{center} (#2) \noexpand\end{center}}
+ \protected@eappto\programlist{\noexpand\ProgramListBreak{#2}}
\protected@eappto\programlistbeamer{\noexpand\begin{center} (#2) \noexpand\end{center}}
}{%
- \protected@eappto\programlist{\noexpand\begin{center} (\csuse{@breakspan}: #2) \noexpand\end{center}}
+ \protected@eappto\programlist{\noexpand\ProgramListBreak[\csuse{@breakspan}]{#2}}
\protected@eappto\programlistbeamer{\noexpand\begin{center} (\csuse{@breakspan}: #2) \noexpand\end{center}}
}
}
@@ -1051,21 +1103,18 @@
\newtoggle{inblock}
\newcommand*\StartBlock[1]{%
\stepcounter{blocks}%
- \protected@eappto\programlist{\noexpand\item[{\noexpand\bfseries\Roman{blocks}}.]%
- \noexpand\bgroup\noexpand\bfseries #1\noexpand\egroup}%
- \gappto\programlist{\begin{labeling}{\lecprogramlistindent}}%
- \protected@eappto\programlistbeamer{\noexpand\item[{\noexpand\bfseries\Roman{blocks}}.]%
- \noexpand\bgroup\noexpand\bfseries #1\noexpand\egroup}%
- \gappto\programlistbeamer{\begin{description}[\lecprogramlistindent]}
- \protected@xappto\programblocklistbeamer{\noexpand\item[{\Roman{blocks}}.] #1}%
+ \protected@eappto\programlist{\noexpand\begin{ProgramListBlock}{\Roman{blocks}}{#1}}
+ \protected@eappto\programlistbeamer{\noexpand\BeamerProgramBlockItem{\Roman{blocks}}{#1}}%
+ \gappto\programlistbeamer{\begin{BeamerProgramList}}
+ \protected@xappto\programblocklistbeamer{\noexpand\BeamerProgramBlockBlocksOnlyItem{\Roman{blocks}}{#1}}%
\csxdef{@currentblock}{#1}%
\csxdef{@currentblockno}{\Roman{blocks}}%
\global\toggletrue{inblock}%
}
\newcommand*\EndBlock{%
- \gappto\programlist{\end{labeling}}
- \gappto\programlistbeamer{\end{description}}
+ \gappto\programlist{\end{ProgramListBlock}}
+ \gappto\programlistbeamer{\end{BeamerProgramList}}
\csxdef{@currentblock}{}%
\csxdef{@currentblockno}{}%
\global\togglefalse{inblock}%
@@ -1077,14 +1126,12 @@
}
\newcommand*\@PauseBlock{%
- \gappto\programlist{\end{labeling}}
- \gappto\programlistbeamer{\end{description}}
+ \gappto\programlistbeamer{\end{BeamerProgramList}}
}
\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]}
+ \gappto\programlistbeamer{\item \begin{BeamerProgramList}}
}
\newenvironment{SessionBlock}[1]{\StartBlock{#1}}{\EndBlock}
@@ -1136,6 +1183,7 @@
%
\newcounter{pressession}
+\setcounter{pressession}{1}
\newcounter{lastpressession}
\providebool{deflastpressession}
@@ -1154,46 +1202,52 @@
\newcommand\makepreslist{%
\@ifstar{\@makeblankpreslist}{\@makepreslist}%
}
+\newcommand*\emptypressession{---}
+\newcommand*\presseparator{\par}
% Unstarred: use sespresstudents
\newcommand\@makepreslist{%
\ifbool{deflastpressession}{}{\setcounter{lastpressession}{\thesnum}}%
- \begin{labeling}{\lecprogramlistindent}
+ \begin{PresList}
\whiledo {\not{\value{pressession} > \value{lastpressession}}}%
{%
\ThisSession{\thepressession}%
\if\relax\sespresstudents\relax
- \MakeProgramline{\thepressession}\par
- ---
+ \MakePresListLine{\thepressession}\presseparator%
+ \emptypressession
\else
- \MakeProgramline{\thepressession}\par
+ \MakePresListLine{\thepressession}\presseparator%
\SessionPresStudents{\thepressession}
\fi
\stepcounter{pressession}%
}
- \end{labeling}
+ \end{PresList}
}
+\newlength\blankpreslistvspace
+\setlength\blankpreslistvspace{2\baselineskip}
% Starred: blank list
\newcommand\@makeblankpreslist{%
\ifbool{deflastpressession}{}{\setcounter{lastpressession}{\thesnum}}%
- \begin{labeling}{\lecprogramlistindent}
+ \begin{PresList}
\whiledo {\not{\value{pressession} > \value{lastpressession}}}%
{%
- \MakeProgramline{\thepressession}\vspace{2\baselineskip}
+ \MakePresListLine{\thepressession}\vspace{\blankpreslistvspace}
\stepcounter{pressession}%
}
- \end{labeling}
+ \end{PresList}
}
% A beamer-specific version
+\newcommand*\beamerpresseparator{:\ }
\newcommand\makebeamerpreslist{%
\ifbool{deflastpressession}{}{\setcounter{lastpressession}{\thesnum}}%
- \begin{description}[\lecprogramlistindent]
+ \begin{BeamerPresList}
\whiledo {\not{\value{pressession} > \value{lastpressession}}}%
{%
- \MakeProgramline{\thepressession}: \SessionPresStudents{\thepressession}
+ \MakeBeamerPresListLine{\thepressession}\beamerpresseparator%
+ \SessionPresStudents{\thepressession}
\stepcounter{pressession}%
}
- \end{description}
+ \end{BeamerPresList}
}
@@ -1398,6 +1452,16 @@
\lsestitle\lsestitlesep\lsessubtitle%
}
+% Program line suitable for preslist
+\newcommand*\MakePresListLine[1]{%
+ \LocalSession{#1}%
+ \PresListItem{\lsesshortdate}{\lsestitle}{\lsestitlesep}{\lsessubtitle}%
+}
+\newcommand*\MakeBeamerPresListLine[1]{%
+ \LocalSession{#1}%
+ \BeamerPresListItem{\lsesshortdate}{\lsestitle}{\lsestitlesep}{\lsessubtitle}%
+}
+
% Get information for adjacent (next, previous etc.) sessions
%
% Full title
diff --git a/Master/texmf-dist/tex/latex/jslectureplanner/jsmembertable.sty b/Master/texmf-dist/tex/latex/jslectureplanner/jsmembertable.sty
index 7ec35c292d0..8d8b634bbac 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{2020/04/30}
-\def\fileversion{1.10}
+\def\filedate{2020/05/11}
+\def\fileversion{1.11}
\def\filename{jsmembertable.sty}
\NeedsTeXFormat{LaTeX2e}