From 4b73f59e9b8d0135d1cb4132625e33a6a1e64ba1 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Wed, 26 Sep 2018 20:47:27 +0000 Subject: jslectureplanner (26sep18) git-svn-id: svn://tug.org/texlive/trunk@48766 c570f23f-e606-0410-a88d-b1316a301751 --- .../texmf-dist/doc/latex/jslectureplanner/README | 9 +- .../examples/English/lecturebib-english.pdf | Bin 85092 -> 85100 bytes .../examples/English/lecturehandout-english.pdf | Bin 57922 -> 57922 bytes .../English/lecturepresentation-english.pdf | Bin 84525 -> 84566 bytes .../examples/English/lectureprogram-english.pdf | Bin 56894 -> 56894 bytes .../examples/English/lecturescript-english.pdf | Bin 34549 -> 34549 bytes .../examples/English/membertable-blank-english.pdf | Bin 28444 -> 28444 bytes .../English/membertable-filled-english.pdf | Bin 28454 -> 28454 bytes .../English/presencetable-blank-english.pdf | Bin 27970 -> 27970 bytes .../English/presencetable-filled-english.pdf | Bin 26751 -> 26751 bytes .../examples/English/presentation-list-english.pdf | Bin 25682 -> 25682 bytes .../examples/German/lecturebib.pdf | Bin 85429 -> 85484 bytes .../examples/German/lecturehandout.pdf | Bin 59148 -> 59148 bytes .../examples/German/lecturepresentation.pdf | Bin 84902 -> 84952 bytes .../examples/German/lectureprogram.pdf | Bin 57884 -> 57884 bytes .../examples/German/lecturescript.pdf | Bin 34739 -> 34739 bytes .../examples/German/membertable-blank.pdf | Bin 28387 -> 28387 bytes .../examples/German/membertable-filled.pdf | Bin 28510 -> 28510 bytes .../examples/German/presencetable-blank.pdf | Bin 27892 -> 27892 bytes .../examples/German/presencetable-filled.pdf | Bin 26781 -> 26781 bytes .../examples/German/presentation-list.pdf | Bin 26863 -> 26863 bytes .../latex/jslectureplanner/jslectureplanner.pdf | Bin 429224 -> 430267 bytes .../latex/jslectureplanner/jslectureplanner.tex | 97 ++++---- .../tex/latex/jslectureplanner/english.lps | 3 + .../tex/latex/jslectureplanner/german-default.lps | 3 + .../latex/jslectureplanner/jslectureplanner.sty | 243 +++++++++++---------- .../tex/latex/jslectureplanner/jsmembertable.sty | 4 +- 27 files changed, 198 insertions(+), 161 deletions(-) (limited to 'Master/texmf-dist') diff --git a/Master/texmf-dist/doc/latex/jslectureplanner/README b/Master/texmf-dist/doc/latex/jslectureplanner/README index 0a9d6f7d237..b612f5e612f 100644 --- a/Master/texmf-dist/doc/latex/jslectureplanner/README +++ b/Master/texmf-dist/doc/latex/jslectureplanner/README @@ -68,6 +68,13 @@ instructions; also have a look at the example files. == CHANGES == +* V. 1.6 (2018-09-26): - Do not output session title-subtitle separator if there is no + subtitle. + + - Add "blocksonly" and "uncover" options to \makebeamerprogram. + + - Add "draft" option to \NewSession. + * V 1.5 (2017-03-12): - Add "english" style file (proof of concept). - Add datakeys option to the jsmembertable package. @@ -76,7 +83,7 @@ instructions; also have a look at the example files. allow for the definition of a global session title-subtitle separator. -* V 1.4 (2016-10-19): - Add instructor short forms for lecture and session. +* V. 1.4 (2016-10-19): - Add instructor short forms for lecture and session. - Add starred version of \sesinstructor that only produces output if the session instructor differs from the general course instructor. 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 310ccf248bc..15a3360ee33 100644 Binary files a/Master/texmf-dist/doc/latex/jslectureplanner/examples/English/lecturebib-english.pdf and b/Master/texmf-dist/doc/latex/jslectureplanner/examples/English/lecturebib-english.pdf 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 4c66089d675..b5ed2be0e53 100644 Binary files a/Master/texmf-dist/doc/latex/jslectureplanner/examples/English/lecturehandout-english.pdf and b/Master/texmf-dist/doc/latex/jslectureplanner/examples/English/lecturehandout-english.pdf 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 1f548d8d2d7..49f654b7d98 100644 Binary files a/Master/texmf-dist/doc/latex/jslectureplanner/examples/English/lecturepresentation-english.pdf and b/Master/texmf-dist/doc/latex/jslectureplanner/examples/English/lecturepresentation-english.pdf 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 0349b19adab..5d1ae15db28 100644 Binary files a/Master/texmf-dist/doc/latex/jslectureplanner/examples/English/lectureprogram-english.pdf and b/Master/texmf-dist/doc/latex/jslectureplanner/examples/English/lectureprogram-english.pdf 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 5c8ca63bffe..bcdf2574254 100644 Binary files a/Master/texmf-dist/doc/latex/jslectureplanner/examples/English/lecturescript-english.pdf and b/Master/texmf-dist/doc/latex/jslectureplanner/examples/English/lecturescript-english.pdf 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 caebb202bfc..9f44504cf44 100644 Binary files a/Master/texmf-dist/doc/latex/jslectureplanner/examples/English/membertable-blank-english.pdf and b/Master/texmf-dist/doc/latex/jslectureplanner/examples/English/membertable-blank-english.pdf 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 a18139e294d..60e665a91e7 100644 Binary files a/Master/texmf-dist/doc/latex/jslectureplanner/examples/English/membertable-filled-english.pdf and b/Master/texmf-dist/doc/latex/jslectureplanner/examples/English/membertable-filled-english.pdf 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 17bf67d26fa..bf96b779a88 100644 Binary files a/Master/texmf-dist/doc/latex/jslectureplanner/examples/English/presencetable-blank-english.pdf and b/Master/texmf-dist/doc/latex/jslectureplanner/examples/English/presencetable-blank-english.pdf 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 9f420996b8a..cb4fe1d17cb 100644 Binary files a/Master/texmf-dist/doc/latex/jslectureplanner/examples/English/presencetable-filled-english.pdf and b/Master/texmf-dist/doc/latex/jslectureplanner/examples/English/presencetable-filled-english.pdf 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 8dba1746a68..5c896c527bd 100644 Binary files a/Master/texmf-dist/doc/latex/jslectureplanner/examples/English/presentation-list-english.pdf and b/Master/texmf-dist/doc/latex/jslectureplanner/examples/English/presentation-list-english.pdf 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 9077d7f72ed..7b7f716613d 100644 Binary files a/Master/texmf-dist/doc/latex/jslectureplanner/examples/German/lecturebib.pdf and b/Master/texmf-dist/doc/latex/jslectureplanner/examples/German/lecturebib.pdf 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 93ce5e14cb1..e638340adc0 100644 Binary files a/Master/texmf-dist/doc/latex/jslectureplanner/examples/German/lecturehandout.pdf and b/Master/texmf-dist/doc/latex/jslectureplanner/examples/German/lecturehandout.pdf 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 ce0e5fb9226..4c18b6eb019 100644 Binary files a/Master/texmf-dist/doc/latex/jslectureplanner/examples/German/lecturepresentation.pdf and b/Master/texmf-dist/doc/latex/jslectureplanner/examples/German/lecturepresentation.pdf 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 3137a44339d..b2ab3b0bba4 100644 Binary files a/Master/texmf-dist/doc/latex/jslectureplanner/examples/German/lectureprogram.pdf and b/Master/texmf-dist/doc/latex/jslectureplanner/examples/German/lectureprogram.pdf 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 abefae73426..7a11f1f82f2 100644 Binary files a/Master/texmf-dist/doc/latex/jslectureplanner/examples/German/lecturescript.pdf and b/Master/texmf-dist/doc/latex/jslectureplanner/examples/German/lecturescript.pdf 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 b934103451a..acff2a7a457 100644 Binary files a/Master/texmf-dist/doc/latex/jslectureplanner/examples/German/membertable-blank.pdf and b/Master/texmf-dist/doc/latex/jslectureplanner/examples/German/membertable-blank.pdf 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 ab477832c27..b4bbbed9039 100644 Binary files a/Master/texmf-dist/doc/latex/jslectureplanner/examples/German/membertable-filled.pdf and b/Master/texmf-dist/doc/latex/jslectureplanner/examples/German/membertable-filled.pdf 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 021271aaa5c..197f390ed45 100644 Binary files a/Master/texmf-dist/doc/latex/jslectureplanner/examples/German/presencetable-blank.pdf and b/Master/texmf-dist/doc/latex/jslectureplanner/examples/German/presencetable-blank.pdf 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 d37e5df951f..742ebe24e8f 100644 Binary files a/Master/texmf-dist/doc/latex/jslectureplanner/examples/German/presencetable-filled.pdf and b/Master/texmf-dist/doc/latex/jslectureplanner/examples/German/presencetable-filled.pdf 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 fb13adbbae2..7aa629af336 100644 Binary files a/Master/texmf-dist/doc/latex/jslectureplanner/examples/German/presentation-list.pdf and b/Master/texmf-dist/doc/latex/jslectureplanner/examples/German/presentation-list.pdf differ diff --git a/Master/texmf-dist/doc/latex/jslectureplanner/jslectureplanner.pdf b/Master/texmf-dist/doc/latex/jslectureplanner/jslectureplanner.pdf index 1df5dc4e0c5..9fe2647895a 100644 Binary files a/Master/texmf-dist/doc/latex/jslectureplanner/jslectureplanner.pdf and b/Master/texmf-dist/doc/latex/jslectureplanner/jslectureplanner.pdf differ diff --git a/Master/texmf-dist/doc/latex/jslectureplanner/jslectureplanner.tex b/Master/texmf-dist/doc/latex/jslectureplanner/jslectureplanner.tex index 17760427596..0b63a216399 100644 --- a/Master/texmf-dist/doc/latex/jslectureplanner/jslectureplanner.tex +++ b/Master/texmf-dist/doc/latex/jslectureplanner/jslectureplanner.tex @@ -69,7 +69,7 @@ \author{Jürgen Spitzmüller% \thanks{Please report issues via \protect\url{https://github.com/jspitz/jslectureplanner}.}} -\date{Version 1.5, 2017/03/12} +\date{Version 1.6, 2018/09/26} \maketitle @@ -333,6 +333,9 @@ macro: Valid \joption{} include: \begin{itemize} +\item \joption{draft=}: If \joption{true}, a placeholder text (by default: ``Thema '', + 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 between session title and subtitle (e.\,g., \verb|titlesep={.\ }|); this overrides any global separator set via \joption{sestitlesep} option or \jcsmacro{SessionTitleSep} macro for the current session @@ -480,8 +483,6 @@ e-learning platform \label{sec:lecprog} \begin{itemize} \item \jcsmacro{makeprogram}: Generates a course program in the form: - - \begin{lstlisting}[language={[LaTeX]TeX},basicstyle={\small\ttfamily},frame=single] \begin{labeling}{\lecprogramlistindent} \item[] @@ -499,10 +500,8 @@ The package provides a fallback, however, if a different class is used. \item \jcsmacro{makebeamerprogram[]}: 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,]{frame} +\begin[label=beamerprogram,]{frame} \frametitle{} \begin{description}[\lecprogramlistindent] \item[] @@ -516,9 +515,12 @@ a beamer-suited lecture program from the metadata in the form -\joption{} can be one of +\joption{} include \begin{itemize} \item \joption{title=}: Program title (<Heading>) +\item \joption{blocksonly=<true|false>}: If \joption{true}, only the session blocks are output, + not the sessions. +\item \joption{uncover=<true|false>}: If \joption{true}, the program will be uncovered item-wise. \item \joption{options=<bfoptions>}: Beamer frame options. Note that key-value beamer frame options need to be embraced, as in\\ \jcsmacro{makebeamerprogram[options=\{shrink=10\}]} @@ -542,7 +544,6 @@ via \textsf{biblatex}. The macro \item \jcsmacro{makesessionbib} \end{itemize} generates code in the form - \begin{lstlisting}[basicstyle={\small\ttfamily},frame=single,moretexcs={[1]{printbibliography}}] \section{<session full title>} \nocite{*} @@ -570,7 +571,6 @@ by means of the \joption{presstudents} option of the \jcsmacro{NewSession} comma \end{quote} outputs a list that consists of the session dates and titles as well as the names of the presenting students, i.\,e., it expands to code in the form: - \begin{lstlisting}[language={[LaTeX]TeX},basicstyle={\small\ttfamily},frame=single] \begin{labeling}{\lecprogramlistindent} \item[<short date>] <session full title>\par @@ -618,8 +618,8 @@ to the current session. This is done as follows. \subsection{Setting the current session} -Use \jcsmacro{ThisSession\{<nr>\}} to tell the package -which session is current. \joption{<nr>} is an integer value, e.\,g. +Use \jcsmacro{ThisSession\{<n>\}} to tell the package +which session is current. \joption{<n>} is an integer value, e.\,g. \jcsmacro{ThisSession\{3\}} for the 3rd session of the lecture. @@ -680,33 +680,32 @@ Via the numerical \joption{<offset>} option, you can specify which session, rela Independent of the value of \jcsmacro{ThisSession}, you can retrieve the following information for arbitrary sessions -(session number \joption{<nr>}) via the following macros: +(session number \joption{<n>}) via the following macros: \begin{itemize} -\item \jcsmacro{SessionTitle\{<nr>\}}: Outputs the main title -of session number \joption{<nr>} -\item \jcsmacro{SessionFullTitle\{<nr>\}}: Outputs the full -title (main title, separator, subtitle) of session number \joption{<nr>} -\item \jcsmacro{SessionShortTitle\{<nr>\}}: Outputs the short -title of session number \joption{<nr>}; if +\item \jcsmacro{SessionTitle\{<n>\}}: Outputs the main title +of session number \joption{<n>} +\item \jcsmacro{SessionFullTitle\{<n>\}}: Outputs the full +title (main title, separator, subtitle) of session number \joption{<n>} +\item \jcsmacro{SessionShortTitle\{<n>\}}: Outputs the short +title of session number \joption{<n>}; if no explicit short title is specified, the normal main title is output -\item \jcsmacro{SessionDate\{<nr>\}}: Outputs the date of -session number \joption{<nr>} -\item \jcsmacro{SessionShortDate\{<nr>\}}: Outputs the short -date (no year) of session number \joption{<nr>} -\item \jcsmacro{SessionInstructor\{<nr>\}}: Outputs the name of the instructor of session -number \joption{<nr>} -\item \jcsmacro{SessionInstructor*\{<nr>\}}: Outputs the name of the instructor of session -number \joption{<nr>} if it differs from the general instructor (\jcsmacro{lecinstructor}) -\item \jcsmacro{SessionShortInstructor\{<nr>\}}: Outputs the short name (or normal name, if no short name was specified) of the instructor of session -number \joption{<nr>} -\item \jcsmacro{SessionShortInstructor*\{<nr>\}}: Outputs the short name (or normal name, if no short name was specified) of the instructor of session -number \joption{<nr>} if it differs from the general instructor (\jcsmacro{lecinstructor}) -\item \jcsmacro{SessionPresStudents\{<nr>\}}: Outputs the name of the students presenting -in session number \joption{<nr>} -\item \jcsmacro{SessionRoom\{<nr>\}}: Outputs the room of session number \joption{<nr>} -\item \jcsmacro{MakeProgramline\{<nr>\}}: Outputs a list -item line for session number \joption{<nr>} in the form - +\item \jcsmacro{SessionDate\{<n>\}}: Outputs the date of +session number \joption{<n>} +\item \jcsmacro{SessionShortDate\{<n>\}}: Outputs the short +date (no year) of session number \joption{<n>} +\item \jcsmacro{SessionInstructor\{<n>\}}: Outputs the name of the instructor of session +number \joption{<n>} +\item \jcsmacro{SessionInstructor*\{<n>\}}: Outputs the name of the instructor of session +number \joption{<n>} if it differs from the general instructor (\jcsmacro{lecinstructor}) +\item \jcsmacro{SessionShortInstructor\{<n>\}}: Outputs the short name (or normal name, if no short name was specified) of the instructor of session +number \joption{<n>} +\item \jcsmacro{SessionShortInstructor*\{<n>\}}: Outputs the short name (or normal name, if no short name was specified) of the instructor of session +number \joption{<n>} if it differs from the general instructor (\jcsmacro{lecinstructor}) +\item \jcsmacro{SessionPresStudents\{<n>\}}: Outputs the name of the students presenting +in session number \joption{<n>} +\item \jcsmacro{SessionRoom\{<n>\}}: Outputs the room of session number \joption{<n>} +\item \jcsmacro{MakeProgramline\{<n>\}}: Outputs a list +item line for session number \joption{<n>} in the form \begin{lstlisting}[language={[LaTeX]TeX},basicstyle={\small\ttfamily},frame=single] \item[{\bfseries <short date>}] <session full title> \end{lstlisting} @@ -755,7 +754,6 @@ If you need to change the date format, redefine the date styles \textsf{lecdate} (for the long format) and \textsf{lecshortdate} (for the short format), using the syntax provided by the \textsf{datetime2} package. By default, the two formats are defined as follows: - \begin{lstlisting}[language={[LaTeX]TeX},basicstyle={\small\ttfamily},frame=single,moretexcs={[1]{DTMnewdatestyle}}] \DTMnewdatestyle{lecdate}{% long date: DD.\,MM.~YYYY \renewcommand*{\DTMdisplaydate}[4]{\DTMtwodigits{##3}.\,\DTMtwodigits{##2}.~##1}% @@ -770,7 +768,6 @@ package. By default, the two formats are defined as follows: \jfcsmacro{DTMtwodigits\{\#\#3\}} represents the day of the month (producing always two digits, i.\,e., \emph{01} not \emph{1}), \jfcsmacro{DTMtwodigits\{\#\#2\}} represents the month (also in two-digit form) and \jfmacro{\#\#1} represents the year. Please refer to the \textsf{datetime2} manual for details. If you want to redefine the styles, use \jfcsmacro{DTMrenewdatestyle} and change the definition accordingly. For instance, to get the typical American English date formats \emph{MM/DD/YYYY} and \emph{Month, DD}, redefine the formats as follows: - \begin{lstlisting}[language={[LaTeX]TeX},basicstyle={\small\ttfamily},frame=single,moretexcs={[1]{DTMrenewdatestyle}}] \DTMrenewdatestyle{lecdate}{% long date: MM/DD/YYYY \renewcommand*{\DTMdisplaydate}[4]{\DTMtwodigits{##2}/\DTMtwodigits{##3}/##1}% @@ -785,29 +782,32 @@ Note that it is not necessary to include the \jfcsmacro{DTMDisplaydate} redefini Note, finally, that the date redefinition syntax used up to \jslp\ 1.2 is no longer supported, since it relied on the \textsf{datetime} package, which is deprecated (and superseded by \textsf{datetime2}). The \jslp\ package will issue a warning if you try to use the old syntax. -\subsection{Misc. customizing} +\subsection{Misc. customizing}\label{sec:misccust} The canceling output is ``Session title -- keine <Session>'' (``keine'' is German for ``no''). To modify or translate this, redefine the following macro - \begin{lstlisting}[language={[LaTeX]TeX},basicstyle={\small\ttfamily},frame=single] \newcommand*\leccancel{\ -- keine \lectypesession} \end{lstlisting} The default program string used in beamer frames can be changed by redefining - \begin{lstlisting}[language={[LaTeX]TeX},basicstyle={\small\ttfamily},frame=single] \newcommand*\lecprogram{Programm} \end{lstlisting} The indentation used in program lists can be changed by redefining - \begin{lstlisting}[language={[LaTeX]TeX},basicstyle={\small\ttfamily},frame=single] \newcommand*\lecprogramlistindent{\textbf{88.\,88.}} \end{lstlisting} +The placeholder text for session without title with \joption{draft=true} +(see sec.~\ref{sec:lecplan}) is ``Thema <n>'' (``Thema'' is German for ``topic''). +It can be changed by redefinition of this macro (\lstinline|\thesestopic| outputs +the value of the internal topic counter). +\begin{lstlisting}[language={[LaTeX]TeX},basicstyle={\small\ttfamily},frame=single] +\newcommand*\sestopic{Thema~\thesestopic} +\end{lstlisting} Use \jfcsmacro{renewcommand{*}} for the redefinitions. - \subsection{Using styles}\label{sec:styles} The most elegant way to do the customizing is to use \emph{lecture planner style} (*.lps) files. @@ -902,7 +902,6 @@ and the extension must be omitted in the option, so loads the file \texttt{mystudents.csv}. It is assumed that the external CSV file conforms to the following structure: - \begin{lstlisting}[language={},basicstyle={\small\ttfamily},frame=single] Prename1, Surname1, StudentID1, Email1 Prename2, Surname2, StudentID2, Email2 @@ -941,7 +940,6 @@ If you want to have more or less columns, you need to redefine the \jcsmacro{makemembertable} command. The header strings, though, can easily be changed by redefining the following three macros (using \jfcsmacro{renewcommand*}), for instance like this: - \begin{lstlisting}[language={[LaTeX]TeX},basicstyle={\small\ttfamily},frame=single] % Student Name \renewcommand*\jsmnameheader{\textbf{Student name}} @@ -1017,7 +1015,6 @@ page size. The header strings of the presence tables can be adjusted by redefining the following macros (using \jfcsmacro{renewcommand*}), for instance like this: - \begin{lstlisting}[language={[LaTeX]TeX},basicstyle={\small\ttfamily},frame=single] % Student Name \renewcommand*\jsmnameheader{\textbf{Student name}} @@ -1069,6 +1066,12 @@ the \jslp\ style files. Thanks, Dominik. \section{Release History} \begin{itemize} +\item 2018/09/26 (v. 1.6): + \begin{itemize} + \item Bugfix: Do not output session title-subtitle separator if there is no subtitle. + \item Add \joption{blocksonly} and \joption{uncover} options to \jcsmacro{makebeamerprogram}. + \item Add \joption{draft} option to \jcsmacro{NewSession}. + \end{itemize} \item 2017/03/12 (v. 1.5): \begin{itemize} \item Add \joption{english} style file (proof of concept). @@ -1082,7 +1085,7 @@ the \jslp\ style files. Thanks, Dominik. \item Add starred versions of the \jcsmacro{sesinstructor}, \jcsmacro{SessionInstructor} and \jcsmacro{AdjSessionInstructor} macros that only produce output if the session instructor differs from the general course instructor. \item All short\{instructor|title\} macros now output the long version if no short form was defined. \item Add boolean tests for unique short forms and session instructors. - \end{itemize} + \end{itemize}\clearpage \item 2016/08/31 (v. 1.3): \begin{itemize} \item \textbf{Backwards-incompatible change!} Use \textsf{datetime2} instead of \textsf{datetime} and \textsf{advdate}. diff --git a/Master/texmf-dist/tex/latex/jslectureplanner/english.lps b/Master/texmf-dist/tex/latex/jslectureplanner/english.lps index 7ed97ea0b96..0a203dc1874 100644 --- a/Master/texmf-dist/tex/latex/jslectureplanner/english.lps +++ b/Master/texmf-dist/tex/latex/jslectureplanner/english.lps @@ -64,6 +64,9 @@ % Indentation of program list \renewcommand*\lecprogramlistindent{\textbf{88/88}} +% Session topic placeholder +\renewcommand*\sestopic{Topic~\thesestopic} + % % Strings used by the jsmembertable package % NOTE that these have to be defined via \newcommand diff --git a/Master/texmf-dist/tex/latex/jslectureplanner/german-default.lps b/Master/texmf-dist/tex/latex/jslectureplanner/german-default.lps index 9b7026373c8..1ce08f93031 100644 --- a/Master/texmf-dist/tex/latex/jslectureplanner/german-default.lps +++ b/Master/texmf-dist/tex/latex/jslectureplanner/german-default.lps @@ -64,6 +64,9 @@ % Indentation of program list \renewcommand*\lecprogramlistindent{\textbf{88.\,88.}} +% Session topic placeholder +\renewcommand*\sestopic{Thema~\thesestopic} + % % Strings used by the jsmembertable package % NOTE that these have to be defined via \newcommand diff --git a/Master/texmf-dist/tex/latex/jslectureplanner/jslectureplanner.sty b/Master/texmf-dist/tex/latex/jslectureplanner/jslectureplanner.sty index 42cdac10242..18a2191bca2 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{2017/03/12} -\def\fileversion{1.5} +\def\filedate{2018/09/26} +\def\fileversion{1.6} \def\filename{jslectureplanner.sty} \NeedsTeXFormat{LaTeX2e} @@ -78,9 +78,32 @@ \def\programlist{} \def\programlistbeamer{} +\def\programblocklistbeamer{\item} \def\jsbiblist{} +% +% COUNTERS +% +\newcounter{sesunit} +\newcounter{dateratio} +\setcounter{dateratio}{1} +\newcounter{cancellations} +\newcounter{snum} +\newcounter{blocks} +\newcounter{fbreaks} +\newcounter{lecinterval} +\setcounter{lecinterval}{7} +\newcounter{sesoffset} +\newcounter{autooffset} +\newcounter{autooffsettrigger} +\newcounter{autooffsetcounter} +\newcounter{breakunits} +\newcounter{loopcounter} +\newcounter{adjsession} +\newcounter{sestopic} + + % % STRINGS % @@ -140,27 +163,8 @@ \newcommand*\lecprogram{Programm} % Program list indentation \newcommand*\lecprogramlistindent{\textbf{88.\,88.}} - - -% -% COUNTERS -% -\newcounter{sesunit} -\newcounter{dateratio} -\setcounter{dateratio}{1} -\newcounter{cancellations} -\newcounter{snum} -\newcounter{blocks} -\newcounter{fbreaks} -\newcounter{lecinterval} -\setcounter{lecinterval}{7} -\newcounter{sesoffset} -\newcounter{autooffset} -\newcounter{autooffsettrigger} -\newcounter{autooffsetcounter} -\newcounter{breakunits} -\newcounter{loopcounter} -\newcounter{adjsession} +% Session topic placeholder +\newcommand*\sestopic{Thema~\thesestopic} % @@ -439,106 +443,116 @@ \define@key{beamerprogram}{options}{\csdef{@bpopts}{#1}} \define@key{beamerprogram}{listoptions}{\csdef{@bplistopts}{#1}} \define@boolkey{beamerprogram}{alerted}[true]{} +\define@boolkey{beamerprogram}{blocksonly}[true]{} +\define@boolkey{beamerprogram}{uncover}[true]{} \newcommand*\makebeamerprogram[1][]{% \csdef{@bptitle}{\lecprogram} \def\btitleapp{} \numdef\pframes{\thefbreaks + 1} \setkeys{beamerprogram}{alerted=false} + \setkeys{beamerprogram}{blocksonly=false} + \setkeys{beamerprogram}{uncover=false} \setkeys{beamerprogram}{#1} \def\bpdescbeg{\begin{description}[\lecprogramlistindent]} - \providebool{alertedlist} \ifKV@beamerprogram@alerted - \booltrue{alertedlist} + \fi + \providebool{uncoveredlist} + \ifKV@beamerprogram@uncover + \booltrue{uncoveredlist} \else - \boolfalse{alertedlist} + \boolfalse{uncoveredlist} \fi - \@ifundefined{programlistbeamerii}{}{% - \def\btitleapp{\ (1/\pframes)} - \ifcsdef{@bpopts}{% - \begingroup\edef\tempa{\endgroup\noexpand% - \begin{frame}[\csuse{@bpopts}]{\csuse{@bptitle}\btitleapp}}\tempa - }{% + \ifKV@beamerprogram@blocksonly \begin{frame}[label=beamerprogram1]{\csuse{@bptitle}\btitleapp} - } - \ifbool{alertedlist}{% - \begin{description}[<alert@+(1)>][\lecprogramlistindent] - \programlistbeamerii - \end{description} - }{% - \begin{description}[\lecprogramlistindent] - \programlistbeamerii - \end{description} - } - \end{frame} - } - \@ifundefined{programlistbeameriii}{}{% - \def\btitleapp{\ (2/\pframes)} - \ifcsdef{@bpopts}{% - \begingroup\edef\tempa{\endgroup\noexpand% - \begin{frame}[\csuse{@bpopts}]{\csuse{@bptitle}\btitleapp}}\tempa - }{% - \begin{frame}[label=beamerprogram2]{\csuse{@bptitle}\btitleapp} - } - \ifbool{alertedlist}{% - \begin{description}[<alert@+(1)>][\lecprogramlistindent] - \programlistbeameriii - \end{description} - }{% - \begin{description}[\lecprogramlistindent] - \programlistbeameriii - \end{description} - } - \end{frame} - } - \@ifundefined{programlistbeameriv}{}{% - \def\btitleapp{\ (2/\pframes)} - \ifcsdef{@bpopts}{% - \begingroup\edef\tempa{\endgroup\noexpand% - \begin{frame}[\csuse{@bpopts}]{\csuse{@bptitle}\btitleapp}}\tempa - }{% - \begin{frame}[label=beamerprogram3]{\csuse{@bptitle}\btitleapp} - } - \ifbool{alertedlist}{% - \begin{description}[<alert@+(1)>][\lecprogramlistindent] - \programlistbeameriv - \end{description} - }{% - \begin{description}[\lecprogramlistindent] - \programlistbeameriv - \end{description} - } - \end{frame} - } - \ifnumgreater{\thefbreaks}{0}{\def\btitleapp{\ (\pframes/\pframes)}}{} - \ifcsdef{@bpopts}{% - \begingroup\edef\tempa{\endgroup\noexpand% - \begin{frame}[\csuse{@bpopts}]{\csuse{@bptitle}\btitleapp}}\tempa + \ifbool{uncoveredlist}{% + \begin{description}[<+->][\lecprogramlistindent] + }{% + \begin{description}[\lecprogramlistindent] + } + \programblocklistbeamer + \end{description} + \end{frame} + \else + \@ifundefined{programlistbeamerii}{}{% + \def\btitleapp{\ (1/\pframes)} + \ifcsdef{@bpopts}{% + \begingroup\edef\tempa{\endgroup\noexpand% + \begin{frame}[\csuse{@bpopts}]{\csuse{@bptitle}\btitleapp}}\tempa }{% - \@ifundefined{programlistbeamerii}{% - \begin{frame}[label=beamerprogram]{\csuse{@bptitle}\btitleapp} - }{% - \@ifundefined{programlistbeameriii}{% - \begin{frame}[label=beamerprogram2]{\csuse{@bptitle}\btitleapp} - }{% - \@ifundefined{programlistbeameriv}{% - \begin{frame}[label=beamerprogram3]{\csuse{@bptitle}\btitleapp} - }{% - \begin{frame}[label=beamerprogram4]{\csuse{@bptitle}\btitleapp} - } - } - } - } - \ifbool{alertedlist}{% - \begin{description}[<alert@+(1)>][\lecprogramlistindent] - \programlistbeamer - \end{description} - }{% - \begin{description}[\lecprogramlistindent] - \programlistbeamer - \end{description} - } - \end{frame} + \begin{frame}[label=beamerprogram1]{\csuse{@bptitle}\btitleapp} + } + \ifbool{uncoveredlist}{% + \begin{description}[<+(1)->][\lecprogramlistindent] + }{% + \begin{description}[\lecprogramlistindent] + } + \programlistbeamerii + \end{description} + \end{frame} + } + \@ifundefined{programlistbeameriii}{}{% + \def\btitleapp{\ (2/\pframes)} + \ifcsdef{@bpopts}{% + \begingroup\edef\tempa{\endgroup\noexpand% + \begin{frame}[\csuse{@bpopts}]{\csuse{@bptitle}\btitleapp}}\tempa + }{% + \begin{frame}[label=beamerprogram2]{\csuse{@bptitle}\btitleapp} + } + \ifbool{uncoveredlist}{% + \begin{description}[<+->][\lecprogramlistindent] + }{% + \begin{description}[\lecprogramlistindent] + } + \programlistbeameriii + \end{description} + \end{frame} + } + \@ifundefined{programlistbeameriv}{}{% + \def\btitleapp{\ (2/\pframes)} + \ifcsdef{@bpopts}{% + \begingroup\edef\tempa{\endgroup\noexpand% + \begin{frame}[\csuse{@bpopts}]{\csuse{@bptitle}\btitleapp}}\tempa + }{% + \begin{frame}[label=beamerprogram3]{\csuse{@bptitle}\btitleapp} + } + \ifbool{uncoveredlist}{% + \begin{description}[+(1)->][\lecprogramlistindent] + }{% + \begin{description}[\lecprogramlistindent] + } + \programlistbeameriv + \end{description} + \end{frame} + } + \ifnumgreater{\thefbreaks}{0}{\def\btitleapp{\ (\pframes/\pframes)}}{} + \ifcsdef{@bpopts}{% + \begingroup\edef\tempa{\endgroup\noexpand% + \begin{frame}[\csuse{@bpopts}]{\csuse{@bptitle}\btitleapp}}\tempa + }{% + \@ifundefined{programlistbeamerii}{% + \begin{frame}[label=beamerprogram]{\csuse{@bptitle}\btitleapp} + }{% + \@ifundefined{programlistbeameriii}{% + \begin{frame}[label=beamerprogram2]{\csuse{@bptitle}\btitleapp} + }{% + \@ifundefined{programlistbeameriv}{% + \begin{frame}[label=beamerprogram3]{\csuse{@bptitle}\btitleapp} + }{% + \begin{frame}[label=beamerprogram4]{\csuse{@bptitle}\btitleapp} + } + } + } + } + \ifbool{uncoveredlist}{% + \begin{description}[<+->][\lecprogramlistindent] + }{% + \begin{description}[\lecprogramlistindent] + } + \programlistbeamer + \end{description} + \end{frame} + \fi%\else\ifKV@beamerprogram@blocksonly } @@ -568,9 +582,11 @@ \csdef{@sesshortinstructor}{{#1}}\csdef{@usesshortinstructor}{{#1}}\toggletrue{shortinstrdef}} \define@key{session}{presstudents}{\csdef{@sespresstudents}{{#1}}} \define@boolkey{session}{cancel}[true]{} +\define@boolkey{session}{draft}[true]{} % \newcommand*\NewSession[2][]{% \stepcounter{sesunit} + \stepcounter{sestopic} \ifnumcomp{\value{autooffsettrigger}}{>}{0}{% \ifnumcomp{\value{autooffsettrigger}}{=}{\value{autooffsetcounter}}{% \addtocounter{sesoffset}{\theautooffset}% @@ -581,7 +597,7 @@ \setcounter{snum}{\thesesunit-\thecancellations} \protected@csxdef{sesnr\thesnum}{\thesnum} \togglefalse{shortinstrdef} - \csdef{@sestitlesep}{\sestitlesep} + \csdef{@sestitlesep}{\ifcsempty{@sessubtitle}{}{\sestitlesep}} \csdef{@sessubtitle}{} \csdef{@sesshorttitle}{#2} \csdef{@usesshorttitle}{} @@ -593,6 +609,7 @@ \csdef{@usesshortinstructor}{} \csdef{@sespresstudents}{} \setkeys{session}{cancel=false} + \setkeys{session}{draft=false} \setkeys{session}{#1} \csdef{@sestitle}{#2} \protected@csxdef{sesdate\thesnum}{% @@ -622,6 +639,9 @@ \noexpand\bgroup\noexpand\bfseries\csuse{sestitle\thesnum}\csuse{@sestitlesep}\csuse{@sessubtitle}% \noexpand\leccancel\noexpand\egroup} \else + \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}}]% @@ -709,6 +729,7 @@ \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} } \newcommand*\EndBlock{% diff --git a/Master/texmf-dist/tex/latex/jslectureplanner/jsmembertable.sty b/Master/texmf-dist/tex/latex/jslectureplanner/jsmembertable.sty index 19428272eb7..a5e8d6d0e6b 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{2017/03/12} -\def\fileversion{1.5} +\def\filedate{2017/09/26} +\def\fileversion{1.6} \def\filename{jsmembertable.sty} \NeedsTeXFormat{LaTeX2e} -- cgit v1.2.3