summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Master/texmf-dist/doc/latex/jslectureplanner/README61
-rw-r--r--Master/texmf-dist/doc/latex/jslectureplanner/examples/lecpresbody.tex37
-rw-r--r--Master/texmf-dist/doc/latex/jslectureplanner/examples/lecturebib.pdfbin0 -> 85396 bytes
-rw-r--r--Master/texmf-dist/doc/latex/jslectureplanner/examples/lecturebib.tex37
-rw-r--r--Master/texmf-dist/doc/latex/jslectureplanner/examples/lecturehandout.pdfbin0 -> 58721 bytes
-rw-r--r--Master/texmf-dist/doc/latex/jslectureplanner/examples/lecturehandout.tex21
-rw-r--r--Master/texmf-dist/doc/latex/jslectureplanner/examples/lectureplanner-examples.bib546
-rw-r--r--Master/texmf-dist/doc/latex/jslectureplanner/examples/lecturepresentation.pdfbin0 -> 84795 bytes
-rw-r--r--Master/texmf-dist/doc/latex/jslectureplanner/examples/lecturepresentation.tex19
-rw-r--r--Master/texmf-dist/doc/latex/jslectureplanner/examples/lectureprogram.pdfbin0 -> 57439 bytes
-rw-r--r--Master/texmf-dist/doc/latex/jslectureplanner/examples/lectureprogram.tex39
-rw-r--r--Master/texmf-dist/doc/latex/jslectureplanner/examples/lecturescript.pdfbin0 -> 33925 bytes
-rw-r--r--Master/texmf-dist/doc/latex/jslectureplanner/examples/lecturescript.tex38
-rw-r--r--Master/texmf-dist/doc/latex/jslectureplanner/examples/metadata.tex104
-rw-r--r--Master/texmf-dist/doc/latex/jslectureplanner/jslectureplanner.pdfbin0 -> 107750 bytes
-rw-r--r--Master/texmf-dist/doc/latex/jslectureplanner/jslectureplanner.tex555
-rw-r--r--Master/texmf-dist/tex/latex/jslectureplanner/jslectureplanner.sty630
-rwxr-xr-xMaster/tlpkg/bin/tlpkg-ctan-check3
-rw-r--r--Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc1
-rw-r--r--Master/tlpkg/tlpsrc/jslectureplanner.tlpsrc0
20 files changed, 2090 insertions, 1 deletions
diff --git a/Master/texmf-dist/doc/latex/jslectureplanner/README b/Master/texmf-dist/doc/latex/jslectureplanner/README
new file mode 100644
index 00000000000..3a34df38740
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/jslectureplanner/README
@@ -0,0 +1,61 @@
+==================================================================
+The jslectureplanner package
+
+A package to help managing university courses.
+
+Maintained by Jürgen Spitzmüller
+E-mail: juergen (at) spitzmueller (dot) org
+
+Released under the LaTeX Project Public License v1.3 or later
+See http://www.latex-project.org/lppl.txt
+==================================================================
+
+== PURPOSE ==
+
+The jslectureplanner package facilitates the generation and managment
+of university course material. It provides an interface to set up and
+access centralized course data that can be reused in all course documents.
+Furthermore, the package is able to calculate the session dates of
+a whole semester and generate course programs, if the course is held
+weekly and the date of the first lecture is specified. Moreover,
+the package can be used to generate a sectioned course bibliography
+via biblatex.
+
+
+== CONTENTS ==
+
+The package consists of the following files:
+
+* jslectureplanner.sty (the LaTeX package)
+* jslectureplanner.pdf (package documentation)
+* jslectureplanner.tex (documentation source)
+* README (this very file)
+
+The following example files are included:
+
+* metadata.tex: example metadata file
+* lectureprogram.tex: example course program
+* lectureprogram.pdf
+* lecturescript.tex: example course script
+* lecturescript.pdf
+* lecturepresentation.tex: example course presentation
+* lecturepresentation.pdf
+* lecturehandout.tex: example course handout
+* lecturehandout.pdf
+* lecpresbody.tex: common body of presentation/handout
+* lecturebib.tex: example course bibliography
+* lecturebib.pdf
+* lectureplanner-examples.bib
+
+
+== DOCUMENTATION ==
+
+See the included manual jslectureplanner.pdf for usage
+instructions; also have a look at the example files.
+
+
+== CHANGES ==
+
+* V. 0.6 (2014-12-12): Initial release to CTAN.
+
+
diff --git a/Master/texmf-dist/doc/latex/jslectureplanner/examples/lecpresbody.tex b/Master/texmf-dist/doc/latex/jslectureplanner/examples/lecpresbody.tex
new file mode 100644
index 00000000000..5f73cf9d835
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/jslectureplanner/examples/lecpresbody.tex
@@ -0,0 +1,37 @@
+% Example file, part of the package jslectureplanner
+%
+% Body to be included in lecturepresentation.tex and lecturehandout.tex
+
+\title{\lectype\ \lecfulltitle}
+
+\date{\lecsemester}
+
+\frame{\maketitle}
+
+\ThisSession{1}
+
+\section<article>*{\lectypesession\ \sesnr: \sesfulltitle\ (\sesdate)}
+
+\begin{frame}<presentation>[plain]
+
+\Large\structure{\sesnr}
+
+\structure{\sesfulltitle\ (\sesdate)}
+\end{frame}
+
+% Generate the course program slides
+\makebeamerprogram
+
+\begin{frame}{Weitere Informationen}
+
+\begin{description}
+\item [{Kursplattform:}] \lecplatform
+\item [{Sprechstunden:}] \officehours
+\end{description}
+\end{frame}
+
+\begin{frame}{N\"achste Woche}
+
+\SessionFullTitle{2}
+
+\end{frame}
diff --git a/Master/texmf-dist/doc/latex/jslectureplanner/examples/lecturebib.pdf b/Master/texmf-dist/doc/latex/jslectureplanner/examples/lecturebib.pdf
new file mode 100644
index 00000000000..b397dd972e4
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/jslectureplanner/examples/lecturebib.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/jslectureplanner/examples/lecturebib.tex b/Master/texmf-dist/doc/latex/jslectureplanner/examples/lecturebib.tex
new file mode 100644
index 00000000000..9f7ed363324
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/jslectureplanner/examples/lecturebib.tex
@@ -0,0 +1,37 @@
+% Example file, part of the package jslectureplanner
+%
+% Example of a bibliography generated with jslectureplanner
+% Requires biblatex and biber
+
+\documentclass[ngerman]{article}
+
+\usepackage{mathptmx}
+\usepackage[T1]{fontenc}
+\usepackage[latin9]{inputenc}
+
+\RequirePackage[%
+ style=authoryear,
+ sorting=nyvt,
+ mincrossrefs=1000,
+ backend=biber]
+{biblatex}
+
+\usepackage{jslectureplanner}
+
+\input{metadata.tex}
+
+\bibliography{/home/juergen/latex/jsp/jslectureplanner/examples/lectureplanner-examples}
+
+\usepackage{babel}
+
+\begin{document}
+
+\title{\lectype\ \lecfulltitle:\\Auswahlbibliographie}
+
+\date{\lecsemesterverb}
+
+\maketitle
+
+\makesessionbib
+
+\end{document}
diff --git a/Master/texmf-dist/doc/latex/jslectureplanner/examples/lecturehandout.pdf b/Master/texmf-dist/doc/latex/jslectureplanner/examples/lecturehandout.pdf
new file mode 100644
index 00000000000..cb1abb344c1
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/jslectureplanner/examples/lecturehandout.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/jslectureplanner/examples/lecturehandout.tex b/Master/texmf-dist/doc/latex/jslectureplanner/examples/lecturehandout.tex
new file mode 100644
index 00000000000..db5ac448c54
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/jslectureplanner/examples/lecturehandout.tex
@@ -0,0 +1,21 @@
+% Example file, part of the package jslectureplanner
+%
+% Example of a handout generated with jslectureplanner
+% Requires beamerarticle
+
+\documentclass[ngerman]{article}
+\usepackage[T1]{fontenc}
+\usepackage[latin9]{inputenc}
+
+\usepackage{mathptmx}
+\usepackage{babel}
+\usepackage{url}
+
+\usepackage{beamerarticle}
+
+\usepackage{jslectureplanner}
+\input{metadata.tex}
+
+\begin{document}
+\input{lecpresbody.tex}
+\end{document}
diff --git a/Master/texmf-dist/doc/latex/jslectureplanner/examples/lectureplanner-examples.bib b/Master/texmf-dist/doc/latex/jslectureplanner/examples/lectureplanner-examples.bib
new file mode 100644
index 00000000000..2618af5ed38
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/jslectureplanner/examples/lectureplanner-examples.bib
@@ -0,0 +1,546 @@
+@comment{entries taken from biblatex-examples.bib and arbitraily tagged with keywords}
+
+@string{anch-ie = {Angew.~Chem. Int.~Ed.}}
+@string{cup = {Cambridge University Press}}
+@string{dtv = {Deutscher Taschenbuch-Verlag}}
+@string{hup = {Harvard University Press}}
+@string{jams = {J.~Amer. Math. Soc.}}
+@string{jchph = {J.~Chem. Phys.}}
+@string{jomch = {J.~Organomet. Chem.}}
+@string{pup = {Princeton University Press}}
+
+@article{angenendt,
+ author = {Angenendt, Arnold},
+ title = {In Honore Salvatoris~-- Vom Sinn und Unsinn der
+ Patrozinienkunde},
+ journaltitle = {Revue d'Histoire Eccl{\'e}siastique},
+ date = 2002,
+ volume = 97,
+ pages = {431--456, 791--823},
+ langid = {german},
+ indextitle = {In Honore Salvatoris},
+ shorttitle = {In Honore Salvatoris},
+ annotation = {A German article in a French journal. Apart from that, a
+ typical \texttt{article} entry. Note the \texttt{indextitle}
+ field},
+ keywords = {einf}
+}
+
+@article{baez/article,
+ author = {Baez, John C. and Lauda, Aaron D.},
+ title = {Higher-Dimensional Algebra V: 2-Groups},
+ journaltitle = {Theory and Applications of Categories},
+ date = 2004,
+ volume = 12,
+ pages = {423-491},
+ version = 3,
+ eprint = {math/0307200v3},
+ eprinttype = {arxiv},
+ langid = {english},
+ langidopts = {variant=american},
+ annotation = {An \texttt{article} with \texttt{eprint} and
+ \texttt{eprinttype} fields. Note that the arXiv reference is
+ transformed into a clickable link if \texttt{hyperref} support
+ has been enabled. Compare \texttt{baez\slash online}, which
+ is the same item given as an \texttt{online} entry},
+ keywords = {einf}
+}
+
+@article{doody,
+ author = {Doody, Terrence},
+ title = {Hemingway's Style and Jake's Narration},
+ year = 1974,
+ volume = 4,
+ number = 3,
+ pages = {212-225},
+ langid = {english},
+ langidopts = {variant=american},
+ related = {matuz:doody},
+ relatedstring= {\autocap{e}xcerpt in},
+ journal = {The Journal of Narrative Technique},
+ annotation = {An \texttt{article} entry cited as an excerpt from a
+ \texttt{collection} entry. Note the format of the
+ \texttt{related} and \texttt{relatedstring} fields},
+ keywords = {lokal}
+}
+
+@collection{matuz:doody,
+ editor = {Matuz, Roger},
+ title = {Contemporary Literary Criticism},
+ year = 1990,
+ volume = 61,
+ publisher = {Gale},
+ location = {Detroit},
+ pages = {204-208},
+ langid = {english},
+ langidopts = {variant=american},
+ annotation = {A \texttt{collection} entry providing the excerpt information
+ for the \texttt{doody} entry. Note the format of the
+ \texttt{pages} field},
+ keywords = {lokal}
+}
+
+@article{gillies,
+ author = {Gillies, Alexander},
+ title = {Herder and the Preparation of Goethe's Idea of World
+ Literature},
+ journaltitle = {Publications of the English Goethe Society},
+ date = 1933,
+ series = {newseries},
+ volume = 9,
+ pages = {46-67},
+ langid = {english},
+ langidopts = {variant=british},
+ annotation = {An \texttt{article} entry with a \texttt{series} and a
+ \texttt{volume} field. Note that format of the \texttt{series}
+ field in the database file},
+ keywords = {lokal}
+}
+
+@article{kastenholz,
+ author = {Kastenholz, M. A. and H{\"u}nenberger, Philippe H.},
+ title = {Computation of methodology\hyphen independent ionic solvation
+ free energies from molecular simulations},
+ journaltitle = jchph,
+ date = 2006,
+ subtitle = {I. The electrostatic potential in molecular liquids},
+ volume = 124,
+ eid = 124106,
+ doi = {10.1063/1.2172593},
+ langid = {english},
+ langidopts = {variant=american},
+ indextitle = {Computation of ionic solvation free energies},
+ annotation = {An \texttt{article} entry with an \texttt{eid} and a
+ \texttt{doi} field. Note that the \textsc{doi} is transformed
+ into a clickable link if \texttt{hyperref} support has been
+ enabled},
+ abstract = {The computation of ionic solvation free energies from
+ atomistic simulations is a surprisingly difficult problem that
+ has found no satisfactory solution for more than 15 years. The
+ reason is that the charging free energies evaluated from such
+ simulations are affected by very large errors. One of these is
+ related to the choice of a specific convention for summing up
+ the contributions of solvent charges to the electrostatic
+ potential in the ionic cavity, namely, on the basis of point
+ charges within entire solvent molecules (M scheme) or on the
+ basis of individual point charges (P scheme). The use of an
+ inappropriate convention may lead to a charge-independent
+ offset in the calculated potential, which depends on the
+ details of the summation scheme, on the quadrupole-moment
+ trace of the solvent molecule, and on the approximate form
+ used to represent electrostatic interactions in the
+ system. However, whether the M or P scheme (if any) represents
+ the appropriate convention is still a matter of on-going
+ debate. The goal of the present article is to settle this
+ long-standing controversy by carefully analyzing (both
+ analytically and numerically) the properties of the
+ electrostatic potential in molecular liquids (and inside
+ cavities within them).},
+ keywords = {begr}
+}
+
+@article{reese,
+ author = {Reese, Trevor R.},
+ title = {Georgia in Anglo-Spanish Diplomacy, 1736-1739},
+ journaltitle = {William and Mary Quarterly},
+ date = 1958,
+ series = 3,
+ volume = 15,
+ pages = {168-190},
+ langid = {english},
+ langidopts = {variant=american},
+ annotation = {An \texttt{article} entry with a \texttt{series} and a
+ \texttt{volume} field. Note the format of the series. If the
+ value of the \texttt{series} field is an integer, this number
+ is printed as an ordinal and the string \enquote*{series} is
+ appended automatically},
+ keywords = {begr}
+}
+
+@article{shore,
+ author = {Shore, Bradd},
+ title = {Twice-Born, Once Conceived},
+ journaltitle = {American Anthropologist},
+ date = {1991-03},
+ subtitle = {Meaning Construction and Cultural Cognition},
+ series = {newseries},
+ volume = 93,
+ number = 1,
+ pages = {9-27},
+ annotation = {An \texttt{article} entry with \texttt{series},
+ \texttt{volume}, and \texttt{number} fields. Note the format
+ of the \texttt{series} which is a localization key},
+ keywords = {bessweg}
+}
+
+@article{sigfridsson,
+ author = {Sigfridsson, Emma and Ryde, Ulf},
+ title = {Comparison of methods for deriving atomic charges from the
+ electrostatic potential and moments},
+ journaltitle = {Journal of Computational Chemistry},
+ date = 1998,
+ volume = 19,
+ number = 4,
+ pages = {377-395},
+ doi = {10.1002/(SICI)1096-987X(199803)19:4<377::AID-JCC1>3.0.CO;2-P},
+ langid = {english},
+ langidopts = {variant=american},
+ indextitle = {Methods for deriving atomic charges},
+ annotation = {An \texttt{article} entry with \texttt{volume},
+ \texttt{number}, and \texttt{doi} fields. Note that the
+ \textsc{doi} is transformed into a clickable link if
+ \texttt{hyperref} support has been enabled},
+ abstract = {Four methods for deriving partial atomic charges from the
+ quantum chemical electrostatic potential (CHELP, CHELPG,
+ Merz-Kollman, and RESP) have been compared and critically
+ evaluated. It is shown that charges strongly depend on how and
+ where the potential points are selected. Two alternative
+ methods are suggested to avoid the arbitrariness in the
+ point-selection schemes and van der Waals exclusion radii:
+ CHELP-BOW, which also estimates the charges from the
+ electrostatic potential, but with potential points that are
+ Boltzmann-weighted after their occurrence in actual
+ simulations using the energy function of the program in which
+ the charges will be used, and CHELMO, which estimates the
+ charges directly from the electrostatic multipole
+ moments. Different criteria for the quality of the charges are
+ discussed.},
+ keywords = {bessweg}
+}
+
+@article{springer,
+ author = {Springer, Otto},
+ title = {Mediaeval Pilgrim Routes from Scandinavia to Rome},
+ journaltitle = {Mediaeval Studies},
+ date = 1950,
+ volume = 12,
+ pages = {92-122},
+ langid = {english},
+ langidopts = {variant=british},
+ shorttitle = {Mediaeval Pilgrim Routes},
+ annotation = {A plain \texttt{article} entry},
+ keywords = {anf}
+}
+
+@book{aristotle:anima,
+ author = {Aristotle},
+ title = {De Anima},
+ date = 1907,
+ editor = {Hicks, Robert Drew},
+ publisher = cup,
+ location = {Cambridge},
+ keywords = {primary},
+ langid = {english},
+ langidopts = {variant=british},
+ annotation = {A \texttt{book} entry with an \texttt{author} and an
+ \texttt{editor}},
+ keywords = {anf}
+}
+
+@book{aristotle:physics,
+ author = {Aristotle},
+ title = {Physics},
+ date = 1929,
+ translator = {Wicksteed, P. H. and Cornford, F. M.},
+ publisher = {G. P. Putnam},
+ location = {New York},
+ keywords = {primary},
+ langid = {english},
+ langidopts = {variant=american},
+ shorttitle = {Physics},
+ annotation = {A \texttt{book} entry with a \texttt{translator} field},
+ keywords = {erf}
+}
+
+@book{aristotle:poetics,
+ author = {Aristotle},
+ title = {Poetics},
+ date = 1968,
+ editor = {Lucas, D. W.},
+ series = {Clarendon Aristotle},
+ publisher = {Clarendon Press},
+ location = {Oxford},
+ keywords = {primary},
+ langid = {english},
+ langidopts = {variant=british},
+ shorttitle = {Poetics},
+ annotation = {A \texttt{book} entry with an \texttt{author} and an
+ \texttt{editor} as well as a \texttt{series} field},
+ keywords = {erf}
+}
+
+@book{averroes/bland,
+ author = {Averroes},
+ title = {The Epistle on the Possibility of Conjunction with the Active
+ Intellect by Ibn Rushd with the Commentary of Moses Narboni},
+ date = 1982,
+ editor = {Bland, Kalman P.},
+ translator = {Bland, Kalman P.},
+ series = {Moreshet: Studies in Jewish History, Literature and Thought},
+ number = 7,
+ publisher = {Jewish Theological Seminary of America},
+ location = {New York},
+ keywords = {primary},
+ langid = {english},
+ langidopts = {variant=american},
+ indextitle = {Epistle on the Possibility of Conjunction, The},
+ shorttitle = {Possibility of Conjunction},
+ annotation = {A \texttt{book} entry with a \texttt{series} and a
+ \texttt{number}. Note the concatenation of the \texttt{editor}
+ and \texttt{translator} fields as well as the
+ \texttt{indextitle} field},
+ keywords = {konk}
+}
+
+@book{averroes/hercz,
+ author = {Averroes},
+ title = {Drei Abhandlungen {\"u}ber die Conjunction des separaten
+ Intellects mit dem Menschen},
+ date = 1869,
+ editor = {Hercz, J.},
+ translator = {Hercz, J.},
+ publisher = {S.~Hermann},
+ location = {Berlin},
+ keywords = {primary},
+ langid = {german},
+ indexsorttitle= {Drei Abhandlungen uber die Conjunction},
+ indextitle = {Drei Abhandlungen {\"u}ber die Conjunction},
+ subtitle = {Von Averroes (Vater und Sohn), aus dem Arabischen
+ {\"u}bersetzt von Samuel Ibn Tibbon},
+ shorttitle = {Drei Abhandlungen},
+ annotation = {A \texttt{book} entry. Note the concatenation of the
+ \texttt{editor} and \texttt{translator} fields as well as the
+ \texttt{indextitle} and \texttt{indexsorttitle} fields},
+ keywords = {konk}
+}
+
+@book{cicero,
+ author = {Cicero, Marcus Tullius},
+ title = {De natura deorum. {\"U}ber das Wesen der G{\"o}tter},
+ date = 1995,
+ editor = {Blank-Sangmeister, Ursula},
+ translator = {Blank-Sangmeister, Ursula},
+ afterword = {Thraede, Klaus},
+ language = {langlatin and langgerman},
+ publisher = {Reclam},
+ location = {Stuttgart},
+ langid = {german},
+ indextitle = {De natura deorum},
+ shorttitle = {De natura deorum},
+ annotation = {A bilingual edition of Cicero's \emph{De natura deorum}, with
+ a German translation. Note the format of the \texttt{language}
+ field in the database file, the concatenation of the
+ \texttt{editor} and \texttt{translator} fields, and the
+ \texttt{afterword} field},
+ keywords = {entsch}
+}
+
+@book{companion,
+ author = {Goossens, Michel and Mittelbach, Frank and Samarin, Alexander},
+ title = {The LaTeX Companion},
+ date = 1994,
+ edition = 1,
+ publisher = {Addison-Wesley},
+ location = {Reading, Mass.},
+ pagetotal = 528,
+ langid = {english},
+ langidopts = {variant=american},
+ sorttitle = {LaTeX Companion},
+ indextitle = {LaTeX Companion, The},
+ shorttitle = {LaTeX Companion},
+ annotation = {A book with three authors. Note the formatting of the author
+ list. By default, only the first name is reversed in the
+ bibliography},
+ keywords = {wesentl}
+}
+
+@book{gerhardt,
+ author = {Gerhardt, Michael J.},
+ title = {The Federal Appointments Process},
+ date = 2000,
+ publisher = {Duke University Press},
+ location = {Durham and London},
+ langid = {english},
+ langidopts = {variant=american},
+ sorttitle = {Federal Appointments Process},
+ indextitle = {Federal Appointments Process, The},
+ subtitle = {A Constitutional and Historical Analysis},
+ shorttitle = {Federal Appointments Process},
+ annotation = {This is a \texttt{book} entry. Note the format of the
+ \texttt{location} field as well as the \texttt{sorttitle} and
+ \texttt{indextitle} fields},
+ keywords = {fok}
+}
+
+@book{gonzalez,
+ author = {Gonzalez, Ray},
+ title = {The Ghost of John Wayne and Other Stories},
+ date = 2001,
+ publisher = {The University of Arizona Press},
+ location = {Tucson},
+ isbn = {0-816-52066-6},
+ langid = {english},
+ langidopts = {variant=american},
+ sorttitle = {Ghost of John Wayne and Other Stories},
+ indextitle = {Ghost of John Wayne and Other Stories, The},
+ shorttitle = {Ghost of John Wayne},
+ annotation = {A collection of short stories. This is a \texttt{book} entry.
+ Note the \texttt{sorttitle} and \texttt{indextitle} fields in
+ the database file. There's also an \texttt{isbn} field},
+ keywords = {fok}
+}
+
+@book{iliad,
+ author = {Homer},
+ title = {Die Ilias},
+ date = 2004,
+ translator = {Schadewaldt, Wolfgang},
+ introduction = {Latacz, Joachim},
+ edition = 3,
+ publisher = {Artemis \& Winkler},
+ location = {D{\"u}sseldorf and Z{\"u}rich},
+ langid = {german},
+ sorttitle = {Ilias},
+ indextitle = {Ilias, Die},
+ shorttitle = {Ilias},
+ annotation = {A German translation of the \emph{Iliad}. Note the
+ \texttt{translator} and \texttt{introduction} fields and the
+ format of the \texttt{location} field in the database
+ file. Also note the \texttt{sorttitle} and \texttt{indextitle}
+ fields},
+ keywords = {fok}
+}
+
+@book{knuth:ct,
+ author = {Knuth, Donald E.},
+ title = {Computers \& Typesetting},
+ date = {1984/1986},
+ volumes = 5,
+ publisher = {Addison-Wesley},
+ location = {Reading, Mass.},
+ langid = {english},
+ langidopts = {variant=american},
+ sortyear = {1984-0},
+ sorttitle = {Computers & Typesetting},
+ indexsorttitle= {Computers & Typesetting},
+ annotation = {A five-volume book cited as a whole. This is a \texttt{book}
+ entry, note the \texttt{volumes} field},
+ keywords = {rekap}
+}
+
+@book{knuth:ct:a,
+ author = {Knuth, Donald E.},
+ title = {The \TeX book},
+ date = 1984,
+ maintitle = {Computers \& Typesetting},
+ volume = {A},
+ publisher = {Addison-Wesley},
+ location = {Reading, Mass.},
+ langid = {english},
+ langidopts = {variant=american},
+ sortyear = {1984-1},
+ sorttitle = {Computers & Typesetting A},
+ indexsorttitle= {The TeXbook},
+ indextitle = {\protect\TeX book, The},
+ shorttitle = {\TeX book},
+ annotation = {The first volume of a five-volume book. Note the
+ \texttt{sorttitle} and \texttt{sortyear} fields. We want this
+ volume to be listed after the entry referring to the entire
+ five-volume set. Also note the \texttt{indextitle} and
+ \texttt{indexsorttitle} fields. Indexing packages that don't
+ generate robust index entries require some control sequences
+ to be protected from expansion},
+ keywords = {rekap}
+}
+
+@book{knuth:ct:b,
+ author = {Knuth, Donald E.},
+ title = {\TeX: The Program},
+ date = 1986,
+ maintitle = {Computers \& Typesetting},
+ volume = {B},
+ publisher = {Addison-Wesley},
+ location = {Reading, Mass.},
+ langid = {english},
+ langidopts = {variant=american},
+ sortyear = {1986-1},
+ sorttitle = {Computers & Typesetting B},
+ indexsorttitle= {TeX: The Program},
+ shorttitle = {\TeX},
+ annotation = {The second volume of a five-volume book. Note the
+ \texttt{sorttitle} and \texttt{sortyear} fields. Also note the
+ \texttt{indexsorttitle} field},
+ keywords = {rekap}
+}
+
+@book{maron,
+ author = {Maron, Monika},
+ title = {Animal Triste},
+ date = 2000,
+ translator = {Brigitte Goldstein},
+ origlanguage = {german},
+ publisher = {University of Nebraska Press},
+ location = {Lincoln},
+ langid = {english},
+ langidopts = {variant=american},
+ shorttitle = {Animal Triste},
+ annotation = {An English translation of a German novel with a French title.
+ In other words: a \texttt{book} entry with a
+ \texttt{translator} field. Note the \texttt{origlanguage}
+ field which is concatenated with the \texttt{translator}},
+ keywords = {welt}
+}
+
+@book{nietzsche:ksa,
+ author = {Nietzsche, Friedrich},
+ title = {S{\"a}mtliche Werke},
+ date = 1988,
+ editor = {Colli, Giorgio and Montinari, Mazzino},
+ edition = 2,
+ volumes = 15,
+ publisher = dtv # { and Walter de Gruyter},
+ location = {M{\"u}nchen and Berlin and New York},
+ langid = {german},
+ sortyear = {1988-0},
+ sorttitle = {Werke-00-000},
+ indexsorttitle= {Samtliche Werke},
+ subtitle = {Kritische Studienausgabe},
+ annotation = {The critical edition of Nietzsche's works. This is a
+ \texttt{book} entry referring to a 15-volume work as a
+ whole. Note the \texttt{volumes} field and the format of the
+ \texttt{publisher} and \texttt{location} fields in the
+ database file. Also note the \texttt{sorttitle} and
+ \texttt{sortyear} fields which are used to fine-tune the
+ sorting order of the bibliography. We want this item listed
+ first in the bibliography},
+ keywords = {welt}
+}
+
+@book{nietzsche:ksa1,
+ author = {Nietzsche, Friedrich},
+ title = {Die Geburt der Trag{\"o}die. Unzeitgem{\"a}{\ss}e
+ Betrachtungen I--IV. Nachgelassene Schriften 1870--1973},
+ date = 1988,
+ editor = {Colli, Giorgio and Montinari, Mazzino},
+ maintitle = {S{\"a}mtliche Werke},
+ mainsubtitle = {Kritische Studienausgabe},
+ volume = 1,
+ edition = 2,
+ publisher = dtv # { and Walter de Gruyter},
+ location = {M{\"u}nchen and Berlin and New York},
+ langid = {german},
+ sortyear = {1988-1},
+ sorttitle = {Werke-01-000},
+ indexsorttitle= {Samtliche Werke I},
+ bookauthor = {Nietzsche, Friedrich},
+ indextitle = {S{\"a}mtliche Werke I},
+ shorttitle = {S{\"a}mtliche Werke I},
+ annotation = {A single volume from the critical edition of Nietzsche's
+ works. This \texttt{book} entry explicitly refers to the first
+ volume only. Note the \texttt{title} and \texttt{maintitle}
+ fields. Also note the \texttt{sorttitle} and \texttt{sortyear}
+ fields. We want this entry to be listed after the entry
+ referring to the entire edition},
+ keywords = {welt}
+}
+
diff --git a/Master/texmf-dist/doc/latex/jslectureplanner/examples/lecturepresentation.pdf b/Master/texmf-dist/doc/latex/jslectureplanner/examples/lecturepresentation.pdf
new file mode 100644
index 00000000000..8310058ad57
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/jslectureplanner/examples/lecturepresentation.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/jslectureplanner/examples/lecturepresentation.tex b/Master/texmf-dist/doc/latex/jslectureplanner/examples/lecturepresentation.tex
new file mode 100644
index 00000000000..ff411864285
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/jslectureplanner/examples/lecturepresentation.tex
@@ -0,0 +1,19 @@
+% Example file, part of the package jslectureplanner
+%
+% Example of a beamer presentantion generated with jslectureplanner
+
+\documentclass[ngerman]{beamer}
+
+\usepackage[T1]{fontenc}
+\usepackage[latin9]{inputenc}
+
+\usepackage{jslectureplanner}
+\input{metadata.tex}
+
+\usepackage{babel}
+
+\begin{document}
+
+\input{lecpresbody.tex}
+
+\end{document}
diff --git a/Master/texmf-dist/doc/latex/jslectureplanner/examples/lectureprogram.pdf b/Master/texmf-dist/doc/latex/jslectureplanner/examples/lectureprogram.pdf
new file mode 100644
index 00000000000..19d707e1ffd
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/jslectureplanner/examples/lectureprogram.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/jslectureplanner/examples/lectureprogram.tex b/Master/texmf-dist/doc/latex/jslectureplanner/examples/lectureprogram.tex
new file mode 100644
index 00000000000..fbb41d59aaf
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/jslectureplanner/examples/lectureprogram.tex
@@ -0,0 +1,39 @@
+% Example file, part of the package jslectureplanner
+%
+% Example of a course program generated with jslectureplanner
+
+\documentclass[ngerman]{article}
+
+\usepackage{mathptmx}
+\usepackage[T1]{fontenc}
+\usepackage[latin9]{inputenc}
+
+\usepackage{jslectureplanner}
+\usepackage{url}
+\input{metadata.tex}
+
+\usepackage{babel}
+\pagestyle{empty}
+
+\begin{document}
+
+\title{\lectypeverb: \lecfulltitle}
+
+\date{\lecsemesterverb}
+
+\maketitle
+
+\section*{Programm}
+
+\makeprogram
+
+\vfill{}
+
+\noindent%
+\fbox{\begin{minipage}[t][1.3\totalheight][c]{1\columnwidth}%
+\begin{labeling}{\textbf{~Sprechstunden:}}
+\item [{\textbf{~Sprechstunden:}}] \officehours\setlength\itemsep{0pt}
+\item [{\textbf{~Materialien:}}] \lecplatform\end{labeling}
+%
+\end{minipage}}
+\end{document}
diff --git a/Master/texmf-dist/doc/latex/jslectureplanner/examples/lecturescript.pdf b/Master/texmf-dist/doc/latex/jslectureplanner/examples/lecturescript.pdf
new file mode 100644
index 00000000000..abe81d6fe97
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/jslectureplanner/examples/lecturescript.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/jslectureplanner/examples/lecturescript.tex b/Master/texmf-dist/doc/latex/jslectureplanner/examples/lecturescript.tex
new file mode 100644
index 00000000000..8ff6b4a4025
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/jslectureplanner/examples/lecturescript.tex
@@ -0,0 +1,38 @@
+% Example file, part of the package jslectureplanner
+%
+% Example of a course script generated with jslectureplanner
+
+\documentclass[ngerman]{article}
+\usepackage{mathptmx}
+\usepackage[T1]{fontenc}
+\usepackage[latin9]{inputenc}
+
+\usepackage{jslectureplanner}
+\input{metadata.tex}
+
+\usepackage{lipsum}
+\usepackage{babel}
+
+\begin{document}
+
+\title{\lectype\ \lecfulltitle}
+
+\date{\lecsemester}
+
+\maketitle
+
+% Start Session 1
+\ThisSession{1}
+
+\section*{Sitzung \sesnr: \sesfulltitle\ (\sesdate)}
+
+\lipsum
+
+% Start Session 2
+\ThisSession{2}
+
+\section*{Sitzung \sesnr: \sesfulltitle\ (\sesdate)}
+
+\lipsum
+
+\end{document}
diff --git a/Master/texmf-dist/doc/latex/jslectureplanner/examples/metadata.tex b/Master/texmf-dist/doc/latex/jslectureplanner/examples/metadata.tex
new file mode 100644
index 00000000000..26b01853111
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/jslectureplanner/examples/metadata.tex
@@ -0,0 +1,104 @@
+% Example file, part of the package jslectureplanner
+%
+% METADATA example
+
+%
+% General course data
+%
+\LecType{vl}
+\LecTitle[shorttitle={Meine Wissenschaft},
+ subtitle={Grundlagen und Theorien},
+ titlesep={\ --\ }]{Einf\"uhrung in meine Wissenschaft}
+\LecYear{ss}{2013}
+\LecUni{Universit\"at Schwanheim}
+\LecInstitute{Institut f\"ur Wissenschaftsgeschichte}
+\LecStartDate{17/04/2013}
+
+%
+% Session data
+%
+
+% a single session
+\NewSession[bibsec=einf]{Einf\"uhrung in die Einf\"uhrung}
+
+% a thematic block
+\begin{SessionBlock}{Meine Wissenschaft: Begr\"undung}
+
+ \NewSession[%
+ titlesep={:\ },
+ subtitle={Irrwege und Unwahrheiten},
+ bibsec=begr
+ ]{Andere Wissenschaften}
+
+ \NewSession[%
+ titlesep={:\ },
+ subtitle={Der bessere Weg},
+ bibsec=bessweg
+ ]{Meine Wissenschaft}
+
+\end{SessionBlock}
+
+% another thematic block
+\begin{SessionBlock}{Die Geschichte meiner Wissenschaft}
+
+ \NewSession[bibsec=anf]{Die Anf\"ange}
+
+ \NewSession[bibsec=erf]{Erste Erfolge}
+
+ \NewSession[cancel=true]{Dies Academicus}
+
+ \NewSession[bibsec=konk]{Konkurrenzk\"ampfe}
+
+ \NewSession[%
+ titlesep={:\ },
+ subtitle={Andere werden ignoriert},
+ bibsec=entsch
+ ]{Die Entscheidung}
+
+\end{SessionBlock}
+
+% a semester break of two weeks
+\SetBreaks[weeks=2,span={10.\,--\,23.\,06.}]{Osterferien}
+
+% start a new frame in beamer
+\SetBeamerFrameBreak
+
+% another thematic block
+\begin{SessionBlock}{Theorien meiner Wissenschaft}
+
+ \NewSession[bibsec=wesentl]{Bestimmung des Wesentlichen}
+
+ \NewSession[bibsec=fok]{Fokussierung auf das Wesentliche}
+
+ \NewSession[bibsec=rekap]{Rekapitulation der Wesensbestimmung}
+
+\end{SessionBlock}
+
+% and a last thematic block
+\begin{SessionBlock}{Anwendungsfelder}
+
+ \NewSession[%
+ titlesep={:\ },
+ subtitle={Mein Institut},
+ bibsec=lokal
+ ]{Das lokale Umfeld}
+
+ \NewSession[%
+ titlesep={:\ },
+ subtitle={Die Welt},
+ bibsec=welt
+ ]{Der Rest}
+
+\end{SessionBlock}
+
+\NewSession{Fazit, Ausblick, Reflexion}
+
+%
+% Further info
+%
+
+\SetPlatform{\url{http://myelearningplatform/mycourse}}
+
+\SetOfficeHours{Sonntag, 02:00\,--\,03:00 Uhr}
+
+% Finis
diff --git a/Master/texmf-dist/doc/latex/jslectureplanner/jslectureplanner.pdf b/Master/texmf-dist/doc/latex/jslectureplanner/jslectureplanner.pdf
new file mode 100644
index 00000000000..d14814f3809
--- /dev/null
+++ 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
new file mode 100644
index 00000000000..bde16dedffc
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/jslectureplanner/jslectureplanner.tex
@@ -0,0 +1,555 @@
+\documentclass[english]{article}
+
+\usepackage{charter}
+\usepackage[scaled=0.87]{beramono}
+\usepackage[T1]{fontenc}
+\usepackage[latin9]{inputenc}
+
+\newcommand*\jmacro[1]{\textbf{\texttt{#1}}}
+\newcommand*\joption[1]{\textbf{\texttt{#1}}}
+\newcommand*\jfmacro[1]{\texttt{#1}}
+
+\usepackage{babel}
+\usepackage{listings}
+\lstset{language={[LaTeX]TeX},
+ basicstyle={\small\ttfamily},
+ frame=single}
+\renewcommand{\lstlistingname}{Listing}
+
+\begin{document}
+
+\title{The jslectureplanner package}
+
+\author{Jürgen Spitzmüller\thanks{juergen@spitzmueller.org}}
+
+\date{Version 0.6, 2014/12/12}
+
+\maketitle
+
+\section{Aim of this package}
+
+I have written this package in order to facilitate (and somewhat systematize)
+the planning of my university courses. The basic idea of this package
+is that you write all general data of a course (date, semester, type,
+course title, session titles, general information etc.) into a central
+tex file (e.\,g., \emph{metadata.tex}), and then input this file
+into all documents related to the course (course program, bibliography,
+scripts, handouts, beamer presentations, exercises etc.), in order
+to re-use the data. This is particularly helpful if you have standard
+courses which are held every other semester: instead of changing the
+data in every single file, you just need to change it once, in the
+metadata file.
+
+To further facilitate the planning, the package is able to calculate
+the session dates of a whole semester, if the course is held weekly.
+You only need to set the date of the first lecture, the package does
+the rest. Moreover, the package can be used to generate a sectioned
+bibliography for the course via \textsf{biblatex}.
+
+Since the package was written for my own needs, it is somewhat tied
+to my workflow. Particularly, it is tied to my context: teaching in
+the Humanities at a German-speaking university. Hence, the categorization
+of the package draws on this context. In particular, all strings and
+formats are German. However, it is possible to customize them to some
+degree, particularly to translate them to other languages. This is
+described later in this manual.
+
+This manual describes the basic user interface of the package. You
+might want to have a look at the example file included in the package
+in order to see how it is supposed to be used.
+
+
+\section{Requirements}
+
+The following packages are required: \textsf{etoolbox}, \textsf{advdate},
+\textsf{xkeyval}, \textsf{datetime}, \textsf{calc}.
+
+
+\section{General idea}
+
+The general idea goes as follows:
+\begin{itemize}
+\item Set up a \emph{metadata.tex} file (or whatever name you prefer) and
+insert all meta information of the course there (as described in sec.~\ref{sec:course-metadata}
+and \ref{sec:lecplan}).
+\item In your documents, load the package (\jmacro{\textbackslash{}usepackage\{jslectureplanner\}})
+and then input the metadata file (\jmacro{\textbackslash{}input\{metadata.tex\}}).
+\item Then use the macros described below (sec.~\ref{sec:general-course-info}
+and \ref{sec:session-specific-info}) to retrieve the respective data.
+\end{itemize}
+The procedure is detailed in the following sections.
+
+
+\section{Setting up course metadata\label{sec:course-metadata}}
+
+You can set up the course metadata either via package options (if
+you load the package in the metadata file; see sec.~\ref{sub:package-options})
+or via specific macros (see sec.~\ref{sec:via-macros}).
+
+
+\subsection{Via package Options\label{sub:package-options}}
+
+
+\subsubsection{Course classification\label{sec:lecture-classification}}
+
+The course classification draws on the conventions at German universities
+(or those where I have worked, for that matter). Each type is connected
+to a verbose string (such as ``Seminar''), a short form (such as
+``SE'') and a form that is used to denote individual sessions (as
+in ``the second \emph{session} of this course'').
+\begin{description}
+\item [{type=<type>,}] where \joption{<type>} is one of
+
+\begin{itemize}
+\item \joption{vl}: a lecture (verbose form: ``Vorlesung''\footnote{Sec.~\ref{sec:customizing-strings} explains how to customize these
+strings.}, short form: ``VL'', session form: ``Vorlesung'')
+\item \joption{vo}: also a lecture\footnote{The division of ``vl'' and ``vo'' has historical (personal) reasons.}
+(verbose form: ``Vorlesung'', short form: ``VO'', session form:
+``Vorlesung'')
+\item \joption{ps}: undergraduate seminar (verbose form: ``Proseminar'',
+short form: ``PS'', session form: ``Sitzung'')
+\item \joption{se}: seminar (verbose form: ``Seminar'', short form: ``SE'',
+session form: ``Sitzung'')
+\item \joption{ue}: practical course (verbose form: ``Übung'', short
+form: ``UE'', session form: ``Sitzung'')
+\item \joption{ko}: colloquium (verbose form: ``Kolloquium'', short form:
+``KO'', session form: ``Sitzung'')
+\item \joption{pv}: research seminar (verbose form: ``Privatissimum'',
+short form: ``PV'', session form: ``Sitzung'')
+\end{itemize}
+\end{description}
+
+\subsubsection{Course title}
+\begin{description}
+\item [{title=<title>}] Title of the course
+\item [{titlesep=<separator>}] Separator between title and subtitle
+\item [{subtitle=<subtitle>}] Subtitle of the course
+\item [{shorttitle=<shorttitle>}] Short title of the course (for headings
+etc.)
+\end{description}
+
+\subsubsection{Date and place\label{sec:date-and-place}}
+\begin{description}
+\item [{semester=<term>,}] where \joption{<term>} is one of
+
+\begin{itemize}
+\item \joption{fs}: spring term (``Frühjahrssemester'', short form: ``FS'')
+\item \joption{hs}: autumn term (``Herbstsemester'', short form: ``HS'')
+\item \joption{ss}: summer term (``Sommersemester'', short form: ``SoSe'')
+\item \joption{ws}: winter term (``Wintersemester'', short form: ``WS'')
+\end{itemize}
+\item [{year=<year>}]~
+\item [{uni=<university>}]~
+\item [{institute=<institute>}]~
+\item [{startdate=<startdate>}] Date of the first session (argument\emph{
+must} have the form DD/MM/YYYY)
+\end{description}
+
+\subsubsection{Additional information}
+\begin{description}
+\item [{platform=<url>}] information (e.g., URL) of the e-learning platform
+\item [{officehours=<data>}] date of the office hours
+\end{description}
+
+\subsection{Via macros\label{sec:via-macros}}
+
+
+\subsubsection{Course classification}
+\begin{itemize}
+\item \jmacro{\textbackslash{}LecType\{<course type>\}}: Set course type;
+\joption{<course type>} is one of\footnote{See above sec.~\ref{sec:lecture-classification} for a detailed description.}
+
+\begin{itemize}
+\item \joption{vl}
+\item \joption{vo}
+\item \joption{ps}
+\item \joption{se}
+\item \joption{ue}
+\item \joption{ko}
+\item \joption{pv}
+\end{itemize}
+\end{itemize}
+
+\subsubsection{Course title}
+\begin{itemize}
+\item \jmacro{\textbackslash{}LecTitle{[}<options>{]}\{<title>\}}: Set
+course title; \joption{<options>} might be any set of package options
+described in sec.~\ref{sub:package-options}
+\item \jmacro{\textbackslash{}LecTitleSep\{<title separator>\}}: Set course
+title-subtitle separator
+\item \jmacro{\textbackslash{}LecSubTitle\{<subtitle>\}}: Set course subtitle
+\end{itemize}
+
+\subsubsection{Date and place}
+\begin{itemize}
+\item \textbackslash{}\jmacro{LecYear\{<term>\}\{<year>\}}, Set term and
+year of the course; \joption{<term>} is one of\footnote{See above sec.~\ref{sec:date-and-place} for a detailed description.}
+
+\begin{itemize}
+\item \joption{fs}
+\item \joption{hs}
+\item \joption{ss}
+\item \joption{ws}
+\end{itemize}
+\item \jmacro{\textbackslash{}LecUni\{<university>\}}: Set the name of
+your university
+\item \jmacro{\textbackslash{}LecInstitute\{<institute>\}}: Set your institute
+name
+\item \jmacro{\textbackslash{}LecStartDate\{<startdate>\}}: Set date of
+the first session (argument\emph{ must} have the form DD/MM/YYYY)
+\end{itemize}
+
+\subsubsection{Additional information}
+\begin{itemize}
+\item \jmacro{\textbackslash{}SetOfficeHours\{<office hours>\}}: Set date
+of your office hours
+\item \jmacro{\textbackslash{}SetPlatform\{<platform information>\}}: Set
+information (e.g., URL) of the e-learning platform
+\end{itemize}
+
+\section{Setting up a course plan\label{sec:lecplan}}
+
+In the metadata file, you can setup a plan for the course by entering
+session information in chronological order. This is done via the following
+macro:
+\begin{itemize}
+\item \jmacro{\textbackslash{}NewSession{[}<options>{]}\{Session title\}}
+
+
+\joption{<options>} include:
+\begin{itemize}
+\item \joption{titlesep=<separator>}: Separator between session title and
+subtitle
+\item \joption{subtitle=<subtitle>}: Subtitle of the session
+\item \joption{shorttitle=<shorttitle>}: Short title of the session (for
+headings etc.)
+\item \joption{bibsec=<keyword>}: Session keyword for the bibliography
+(see below sec.~\ref{sub:bibliographies})
+\item \joption{cancel=<true|false>}: Whether this session takes place.
+If you specify \joption{cancel=false}, the program will mark the
+session as ``canceled''. For instance,
+
+
+\jmacro{\textbackslash{}NewSession{[}cancel=true{]}\{Dies Academicus\}}
+
+
+will output something like
+\begin{quote}
+\textbf{15.\,05.: Dies Academicus -- keine Sitzung}
+\end{quote}
+
+(i.\,e., ``Dies Academicus -- no session'')
+
+\end{itemize}
+\item \jmacro{\textbackslash{}SetBreak{[}<span>{]}\{Reason\}}: Add a semester
+break (e.g., holidays). This increments the counter for one week and
+outputs in the program
+
+
+\begin{center}
+\textbf{(<span>: Reason)}
+\par\end{center}
+
+
+E.\,g., \jmacro{\textbackslash{}SetBreak{[}28.05.-{}-3.06.{]}\{Whitsun holidays\}}
+expands to
+
+
+\begin{center}
+\textbf{(28.05.--3.06.: Whitsun holidays)}
+\par\end{center}
+
+\item \jmacro{\textbackslash{}SetBreaks{[}<options>{]}\{Reason\}}: Add
+a semester break (e.g., holidays) that is longer than one week. This
+increments the counter respectively, and outputs in the program
+
+
+\begin{center}
+\textbf{(<span>: Reason)}
+\par\end{center}
+
+
+\jmacro{<options>} include:
+\begin{itemize}
+\item \joption{weeks=<int>}: Number of weeks the break takes (to increment
+the internal counter that is used to calculate the session dates)
+\item \joption{span=<time span>}: time span (to be output on the program)
+\end{itemize}
+\item \jmacro{\textbackslash{}SetBeamerFrameBreak}: Add a frame break in
+the beamer program at this position. This also increments the frame
+counter which is used for subsequent program frame titles. Note that
+you can insert maximally 3 breaks.
+\item \jmacro{\textbackslash{}SetBeamerHook\{<code>\}}: Add arbitrary \LaTeX{}
+code to the beamer program
+\item \jmacro{\textbackslash{}begin\{SessionBlock\}\{<Block title>\}}\\
+\ldots{} \\
+\jmacro{\textbackslash{}end\{SessionBlock\}}:\\
+Thematic block consisting of several sessions. Respective sessions
+are nested inside this block.
+\end{itemize}
+
+\section{Retrieving general course information\label{sec:general-course-info}}
+
+Once the metadata file is set up as documented above and input to
+your document(s), you can retrieve the recorded as well as concatenated
+information by means the following macros.
+
+
+\subsection{Course data}
+
+The following macros output general course-specific information:
+\begin{itemize}
+\item \jmacro{\textbackslash{}lectype}: Outputs the course type in short
+form (e.\,g., ``SE'')
+\item \jmacro{\textbackslash{}lectypeverb}: Outputs the course type in
+verbose form (e.\,g., ``Seminar'')
+\item \jmacro{\textbackslash{}lectypesession}: Outputs the appropriate
+``session'' string (e.\,g., ``Vorlesung'' or ``Sitzung'')
+\item \jmacro{\textbackslash{}lectitle}: Outputs the main title of the
+course
+\item \jmacro{\textbackslash{}lectitlesep}: Outputs the separator between
+title and subtitle
+\item \jmacro{\textbackslash{}lecsubtitle}: Outputs the subtitle of the
+course
+\item \jmacro{\textbackslash{}lecfulltitle}: Outputs the full title of
+the course (title, separator, subtitle)
+\item \jmacro{\textbackslash{}lecshorttitle}: Outputs the short version
+of the course title
+\item \jmacro{\textbackslash{}lecsemshort}: Outputs the short version of
+the term type (e.\,g., ``WS'')
+\item \jmacro{\textbackslash{}lecsemverb}: Outputs the verbose version
+of the term type (e.\,g., ``Wintersemester'')
+\item \jmacro{\textbackslash{}lecyear}: Outputs the year
+\item \jmacro{\textbackslash{}lecsemester}: Outputs the short version of
+the semester (e.\,g., ``WS 2014'')
+\item \jmacro{\textbackslash{}lecsemesterverb}: Outputs the verbose version
+of the semester (e.\,g., ``Wintersemester 2014'')
+\item \jmacro{\textbackslash{}lecuniversity}: Outputs the university name
+\item \jmacro{\textbackslash{}lecinstitute}: Outputs the institute name
+\item \jmacro{\textbackslash{}lecplatform}: Outputs information on the
+e-learning platform
+\item \jmacro{\textbackslash{}officehours}: Outputs the office hours
+\end{itemize}
+
+\subsection{Generating lecture programs}
+\begin{itemize}
+\item \jmacro{\textbackslash{}makeprogram}: Generates a lecture program
+from the metadata in the form
+
+
+\begin{lstlisting}[language={[LaTeX]TeX},basicstyle={\small\ttfamily},frame=single]
+\begin{labeling}{\lecprogramlistindent}
+\item[<short date>] <session full title>
+...
+(break)
+...
+\item[<short date>] <session full title>
+\end{labeling}
+\end{lstlisting}
+
+
+
+The \jmacro{labeling} environment is defined by the KOMA classes.
+The package provides a fallback, however, if another class is used.
+
+\item \jmacro{\textbackslash{}makebeamerprogram{[}<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<nr>,<bfoptions>]{frame}
+\frametitle{<Heading>}
+\begin{description}[\lecprogramlistindent]
+\item[<short date>] <session full title>
+...
+(break)
+...
+\item[<short date>] <session full title>
+\end{description}
+\end{frame}
+\end{lstlisting}
+
+
+
+\joption{<options>} can be one of
+\begin{itemize}
+\item \joption{title=<title>}: Program title (<Heading>)
+\item \joption{options=<bfoptions>}: Beamer frame options
+\end{itemize}
+
+Note that multiple subsequent frames are generated if the metadata
+file contains \jmacro{\textbackslash{}SetBeamerFrameBreak} macros.
+Also note that you can refer to the frames via the automatically generated
+labels \emph{beamerprogram} (for the first frame), \emph{beamerprogram2}
+for the second, etc. Finally note that the number of program frames
+is currently limited to 4. If you need more, you should probably rethink
+your program structure.
+
+\end{itemize}
+
+\subsection{Generating bibliographies\label{sub:bibliographies}}
+
+The package provides macros for easy generation of sectioned bibliographies
+via \textsf{biblatex}. The macro
+\begin{itemize}
+\item \jmacro{\textbackslash{}makesessionbib}
+\end{itemize}
+generates code in the form
+
+\begin{lstlisting}[basicstyle={\small\ttfamily},frame=single,moretexcs={[1]{printbibliography}}]
+\section{<session full title>}
+\nocite{*}
+\printbibliography[keyword=<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}).
+
+So if you specify your session with a keyword via the \joption{bibsec}
+option, and tag your Bib\TeX{} database entries with that keyword,
+you will get a list of session-specific literature.
+
+
+\section{Retrieving session-specific information\label{sec:session-specific-info}}
+
+In session-specific documents, you also need information specific
+to the current session. This is done as follows.
+
+
+\subsection{Setting the current session}
+
+Use \jmacro{\textbackslash{}ThisSession\{<nr>\}} to tell the package
+which session is current. \joption{<nr>} is an integer value, e.g.
+\jmacro{\textbackslash{}ThisSession\{3\}} for the 3rd session of
+the lecture.
+
+
+\subsection{Generating session-specific information for the current session}
+
+If you have specified the current session via the macro \jmacro{\textbackslash{}ThisSession},
+the following macros output general session-specific information:
+\begin{itemize}
+\item \jmacro{\textbackslash{}sesdate}: Date of the current session
+\item \jmacro{\textbackslash{}sesshortdate}: Date of the current session,
+short form (no year)
+\item \jmacro{\textbackslash{}sestitle}: Main title of the current session
+\item \jmacro{\textbackslash{}sestitlesep}: Title-subtitle separator of
+the current session
+\item \jmacro{\textbackslash{}sessubtitle}: Subtitle of the current session
+\item \jmacro{\textbackslash{}sesfulltitle}: Full title of the current
+session (title, separator, subtitle)
+\item \jmacro{\textbackslash{}sesnr}: Number of the current session
+\end{itemize}
+
+\subsection{Generating session-specific information for an arbitrary session}
+
+Independent of the value of \jmacro{\textbackslash{}ThisSession},
+you can retrieve the following information for arbitrary sessions
+(session number \joption{<nr>}) via the following macros:
+\begin{itemize}
+\item \jmacro{\textbackslash{}SessionTitle\{<nr>\}}: Outputs the main title
+of session number \joption{<nr>}
+\item \jmacro{\textbackslash{}SessionFullTitle\{<nr>\}}: Outputs the full
+title (main title, separator, subtitle) of session number \joption{<nr>}
+\item \jmacro{\textbackslash{}SessionShortTitle\{<nr>\}}: Outputs the short
+title of session number \joption{<nr>}
+\item \jmacro{\textbackslash{}SessionDate\{<nr>\}}: Outputs the date of
+session number \joption{<nr>}
+\item \jmacro{\textbackslash{}SessionShortDate\{<nr>\}}: Outputs the short
+date (no year) of session number \joption{<nr>}
+\item \jmacro{\textbackslash{}MakeProgramline\{<nr>\}}: Outputs a list
+item line for session number \joption{<nr>} in the form
+
+
+\begin{lstlisting}[language={[LaTeX]TeX},basicstyle={\small\ttfamily},frame=single]
+\item[{\bfseries <short date>}] <session full title>
+\end{lstlisting}
+
+
+\end{itemize}
+
+\section{Customizing the output}
+
+
+\subsection{Customizing the course type strings\label{sec:customizing-strings}}
+
+The strings of the course types can be changed via the macros:
+\begin{itemize}
+\item \jmacro{\textbackslash{}DefTypeVL\{<short form>\}\{<title>\}\{<session title>\}}
+\item \jmacro{\textbackslash{}DefTypeVO\{<short form>\}\{<title>\}\{<session title>\}}
+\item \jmacro{\textbackslash{}DefTypePS\{<short form>\}\{<title>\}\{<session title>\}}
+\item \jmacro{\textbackslash{}DefTypeSE\{<short form>\}\{<title>\}\{<session title>\}}
+\item \jmacro{\textbackslash{}DefTypeUE\{<short form>\}\{<title>\}\{<session title>\}}
+\item \jmacro{\textbackslash{}DefTypeKO\{<short form>\}\{<title>\}\{<session title>\}}
+\item \jmacro{\textbackslash{}DefTypePV\{<short form>\}\{<title>\}\{<session title>\}}
+\end{itemize}
+An English form for a lecture, thus, can be achieved by e.\,g.
+\begin{itemize}
+\item \jmacro{\textbackslash{}DefTypeVL\{LEC\}\{Lecture\}\{Session\}}
+\end{itemize}
+The types themselves are hardcoded. If you need further\slash{}other
+types, you need to modify the package.
+
+
+\subsection{Customizing the term types}
+
+The strings of the term types can be changed via the macros:
+\begin{itemize}
+\item \jmacro{\textbackslash{}DefTypeFS\{<short form>\}\{<verbose form>\}}
+\item \jmacro{\textbackslash{}DefTypeHS\{<short form>\}\{<verbose form>\}}
+\item \jmacro{\textbackslash{}DefTypeSS\{<short form>\}\{<verbose form>\}}
+\item \jmacro{\textbackslash{}DefTypeWS\{<short form>\}\{<verbose form>\}}
+\end{itemize}
+
+\subsection{Customizing the date format}
+
+If you need to change the date format, redefine the macros \jmacro{\textbackslash{}lecdateformat}
+(for the long format) and \jmacro{\textbackslash{}lecdateshortformat}
+(for the short format), using the syntax provided by the \textsf{datetime}
+package. By default, the two formats are defined as follows:
+
+\begin{lstlisting}[language={[LaTeX]TeX},basicstyle={\small\ttfamily},frame=single]
+\newcommand*\lecdateformat{%
+ \THEDAY.\,\twodigit{\THEMONTH}.\,\THEYEAR}
+\newcommand*\lecdateshortformat{%
+ \THEDAY.\,\twodigit{\THEMONTH}.}
+\end{lstlisting}
+
+
+Use \jfmacro{\textbackslash{}renewcommand{*}} to redefine them.
+
+
+\subsection{Misc. customizing}
+
+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}
+\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}
+
+
+Again, use \jfmacro{\textbackslash{}renewcommand{*}} to redefine
+those.
+
+
+\section{History}
+\begin{itemize}
+\item 2012/12/12 (v. 0.6): Initial release to CTAN.\end{itemize}
+
+\end{document}
diff --git a/Master/texmf-dist/tex/latex/jslectureplanner/jslectureplanner.sty b/Master/texmf-dist/tex/latex/jslectureplanner/jslectureplanner.sty
new file mode 100644
index 00000000000..8f32e39dd13
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/jslectureplanner/jslectureplanner.sty
@@ -0,0 +1,630 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% File jslectureplanner.sty
+%%
+%% Package to manage university courses.
+%%
+%% Author: Juergen Spitzmueller <juergen.spitzmueller@univie.ac.at>
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2003/12/01 or later.
+%%
+%% This work has the LPPL maintenance status "maintained".
+%%
+%% The Current Maintainer of this work is Juergen Spitzmueller.
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\def\filedate{2014/12/12}
+\def\fileversion{0.6}
+\def\filename{jslectureplanner.sty}
+
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{jslectureplanner}
+ [\filedate\space v\fileversion\space JS lecture planner]
+
+
+%
+% REQUIRED PACKAGES
+%
+\RequirePackage{etoolbox}
+\RequirePackage{advdate}
+\RequirePackage{xkeyval}
+\RequirePackage{datetime}
+\RequirePackage{calc}
+
+%
+% VARIABLES
+%
+\def\lectype{}
+\def\lectypeverb{}
+\def\lectypesession{}
+\def\lectitle{}
+\def\lectitlesep{}
+\def\lecsubtitle{}
+\def\lecshorttitle{}
+\def\lecsemshort{}
+\def\lecsemverb{}
+\def\lecyear{}
+\def\lecsemester{}
+\def\lecsemesterverb{}
+\def\lecuniversity{}
+\def\lecinstitute{}
+
+\def\lecplatform{}
+\def\officehours{}
+
+\def\sesdate{}
+\def\sesshortdate{}
+\def\sestitle{}
+\def\sestitlesep{}
+\def\sessubtitle{}
+\def\sesnr{}
+
+\def\programlist{}
+\def\programlistbeamer{}
+\def\jsbiblist{}
+
+%
+% STRINGS
+%
+% vl
+\def\lectypevl{Vorlesung}
+\def\lectypevls{VL}
+\def\lectypevlses{Vorlesung}
+% vo
+\def\lectypevo{Vorlesung}
+\def\lectypevos{VO}
+\def\lectypevoses{Vorlesung}
+% ps
+\def\lectypeps{Proseminar}
+\def\lectypepss{PS}
+\def\lectypepsses{Sitzung}
+% se
+\def\lectypese{Seminar}
+\def\lectypeses{SE}
+\def\lectypeseses{Sitzung}
+% ue
+\def\lectypeue{\"Ubung}
+\def\lectypeues{UE}
+\def\lectypeueses{Sitzung}
+% ko
+\def\lectypeko{Kolloquium}
+\def\lectypekos{KO}
+\def\lectypekoses{Sitzung}
+% pv
+\def\lectypepv{Privatissimum}
+\def\lectypepvs{PV}
+\def\lectypepvses{Sitzung}
+
+% fs
+\def\lectermfs{Fr\"uhjahrssemester}
+\def\lectermfss{FS}
+% hs
+\def\lectermhs{Herbstsemester}
+\def\lectermhss{HS}
+% ss
+\def\lectermss{Sommersemester}
+\def\lectermsss{SoSe}
+% ws
+\def\lectermws{Wintersemester}
+\def\lectermwss{WS}
+
+% misc.
+\newcommand*\leccancel{-- keine}
+\newcommand*\lecprogram{Programm}
+\newcommand*\lecprogramlistindent{\textbf{88.\,88.}}
+
+%
+% PACKAGE OPTIONS
+%
+\define@choicekey*+{lec}{lectype}[\val\nr]{vl,vo,ps,se,ue,ko,pv}{%
+ \ifcase\nr\relax% vl
+ \def\lectype{\lectypevls}
+ \def\lectypeverb{\lectypevl}
+ \def\lectypesession{\lectypevlses}
+ \or% vo (wien)
+ \def\lectype{\lectypevos}
+ \def\lectypeverb{\lectypevo}
+ \def\lectypesession{\lectypevoses}
+ \or% ps
+ \def\lectype{\lectypepss}
+ \def\lectypeverb{\lectypeps}
+ \def\lectypesession{\lectypepsses}
+ \or% se
+ \def\lectype{\lectypeses}
+ \def\lectypeverb{\lectypese}
+ \def\lectypesession{\lectypeseses}
+ \or% ue
+ \def\lectype{\lectypeues}
+ \def\lectypeverb{\lectypeue}
+ \def\lectypesession{\lectypeueses}
+ \or% ko
+ \def\lectype{\lectypekos}
+ \def\lectypeverb{\lectypeko}
+ \def\lectypesession{\lectypekoses}
+ \or% pv
+ \def\lectype{\lectypepvs}
+ \def\lectypeverb{\lectypepv}
+ \def\lectypesession{\lectypepvses}
+ \fi
+}{%
+ \PackageWarning{jslectureplanner}{unknown type value '#1'}%
+}
+\DeclareOptionX{type}{\setkeys{lec}{lectype=#1}}
+
+\define@choicekey*+{lec}{lecsem}[\val\nr]{fs,hs,ss,ws}{%
+ \ifcase\nr\relax% fs
+ \def\lecsemshort{\lectermfss}
+ \def\lecsemverb{\lectermfs}
+ \or% hs
+ \def\lecsemshort{\lectermhss}
+ \def\lecsemverb{\lectermhs}
+ \or% ss
+ \def\lecsemshort{\lectermsss}
+ \def\lecsemverb{\lectermss}
+ \or% ws
+ \def\lecsemshort{\lectermwss}
+ \def\lecsemverb{\lectermws}
+ \fi
+}{%
+ \PackageWarning{jslectureplanner}{unknown semester value '#1'}%
+}
+\DeclareOptionX{semester}{\setkeys{lec}{lecsem=#1}}
+
+\define@key{lec}{title}{\def\lectitle{#1}}
+\define@key{lec}{titlesep}{\def\lectitlesep{#1}}
+\define@key{lec}{subtitle}{\def\lecsubtitle{#1}}
+\define@key{lec}{shorttitle}{\def\lecshorttitle{#1}}
+\define@key{lec}{year}{\def\lecyear{#1}}
+\define@key{lec}{uni}{\def\lecuniversity{#1}}
+\define@key{lec}{institute}{\def\lecinstitute{#1}}
+\define@key{lec}{platform}{\def\lecplatform{#1}}
+\define@key{lec}{officehours}{\def\officehours{#1}}
+\define@key{lec}{startdate}{\SetDate[#1]}
+
+\DeclareOptionX{title}{\setkeys{lec}{title=#1}}
+\DeclareOptionX{titlesep}{\setkeys{lec}{titlesep=#1}}
+\DeclareOptionX{subtitle}{\setkeys{lec}{subtitle=#1}}
+\DeclareOptionX{shorttitle}{\setkeys{lec}{shorttitle=#1}}
+\DeclareOptionX{year}{\setkeys{lec}{year=#1}}
+\DeclareOptionX{uni}{\setkeys{lec}{uni=#1}}
+\DeclareOptionX{institute}{\setkeys{lec}{institute=#1}}
+\DeclareOptionX{startdate}{\setkeys{lec}{startdate=#1}}
+\DeclareOptionX{platform}{\setkeys{lec}{platform=#1}}
+\DeclareOptionX{officehours}{\setkeys{lec}{officehours=#1}}
+
+\ProcessOptionsX
+
+%
+% End Options
+%%
+
+%
+% ALTERNATIVE SETUP MACROS
+%
+
+\newcommand*{\LecType}[1]{\setkeys{lec}{lectype=#1}}
+\newcommand*{\LecTitle}[2][]{\setkeys{lec}{#1,title=#2}}
+\newcommand*{\LecTitleSep}[1]{\setkeys{lec}{titlesep=#1}}
+\newcommand*{\LecSubTitle}[1]{\setkeys{lec}{subtitle=#1}}
+\newcommand*{\LecYear}[2]{\setkeys{lec}{lecsem=#1,year=#2}}
+\newcommand*{\LecUni}[1]{\setkeys{lec}{uni=#1}}
+\newcommand*{\LecInstitute}[1]{\setkeys{lec}{institute=#1}}
+\newcommand*{\LecStartDate}[1]{\setkeys{lec}{startdate=#1}}
+
+%
+% CONCATENATED VARIABLES
+%
+\def\lecsemester{\lecsemshort~\lecyear}
+\def\lecsemesterverb{\lecsemverb\ \lecyear}
+\def\lecfulltitle{\lectitle\lectitlesep\lecsubtitle}
+\def\sesfulltitle{\sestitle\sestitlesep\sessubtitle}
+
+
+%
+% CUSTOM DATE FORMATS (via datetime)
+%
+\newcommand*\lecdateformat{\THEDAY.\,\twodigit{\THEMONTH}.\,\THEYEAR}
+\newcommand*\lecdateshortformat{\THEDAY.\,\twodigit{\THEMONTH}.}
+\newdateformat{vldate}{\lecdateformat}
+\newdateformat{vlshdate}{\lecdateshortformat}
+
+%
+% COUNTERS
+%
+\newcounter{week}
+\newcounter{dateratio}
+\setcounter{dateratio}{1}
+\newcounter{cancellations}
+\newcounter{snum}
+\newcounter{blocks}
+\newcounter{fbreaks}
+
+%
+% MACROS (UI)
+%
+
+% Change strings
+% vl
+\newcommand*\DefTypeVL[3]{%
+ \def\lectypevl{#2}
+ \def\lectypevls{#1}
+ \def\lectypevlses{#2}
+}
+% vo
+\newcommand*\DefTypeVO[3]{%
+ \def\lectypevo{#2}
+ \def\lectypevos{#1}
+ \def\lectypevoses{#3}
+}
+% ps
+\newcommand*\DefTypePS[3]{%
+ \def\lectypeps{#2}
+ \def\lectypepss{#1}
+ \def\lectypepsses{#3}
+}
+% se
+\newcommand*\DefTypeSE[3]{%
+ \def\lectypese{#2}
+ \def\lectypeses{#1}
+ \def\lectypeseses{#3}
+}
+% ue
+\newcommand*\DefTypeUE[3]{%
+ \def\lectypeue{#2}
+ \def\lectypeues{#1}
+ \def\lectypeueses{#3}
+}
+% ko
+\newcommand*\DefTypeKO[3]{%
+ \def\lectypeko{#2}
+ \def\lectypekos{#1}
+ \def\lectypekoses{#3}
+}
+% pv
+\newcommand*\DefTypePV[3]{%
+ \def\lectypepv{#2}
+ \def\lectypepvs{#1}
+ \def\lectypepvses{#3}
+}
+
+% fs
+\newcommand*\DefTypeFS[2]{%
+ \def\lectermfss{#1}
+ \def\lectermfs{#2}
+}
+% hs
+\newcommand*\DefTypeHS[2]{%
+ \def\lectermhss{#1}
+ \def\lectermhs{#2}
+}
+% ss
+\newcommand*\DefTypeSS[2]{%
+ \def\lectermsss{#1}
+ \def\lectermss{#2}
+}
+% ws
+\newcommand*\DefTypeWS[2]{%
+ \def\lectermwss{#1}
+ \def\lectermws{#2}
+}
+
+% Program
+% Define labeling list if not available
+\@ifundefined{labeling}{%
+ \newenvironment{labeling}[2][]{%
+ \def\sc@septext{#1}%
+ \list{}{\settowidth{\labelwidth}{{%
+ \textbf{#2\sc@septext}%
+ }}%
+ \leftmargin\labelwidth \advance\leftmargin by \labelsep
+ \let\makelabel\labelinglabel
+ }%
+ }{%
+ \endlist
+ }
+ \newcommand\labelinglabel[1]{%
+ \textbf{#1\hfil\sc@septext}%
+ }
+}{}
+\newcommand\makeprogram{%
+ \raggedright
+ \begin{labeling}{\lecprogramlistindent}
+ \programlist
+ \end{labeling}
+}
+
+% Bibliography
+\newcommand\makesessionbib{%
+ \jsbiblist
+}
+
+% Beamer program generation
+\define@key{beamerprogram}{title}{\csdef{@bptitle}{#1}}
+\define@key{beamerprogram}{options}{\csdef{@bpopts}{#1}}
+\define@key{beamerprogram}{listoptions}{\csdef{@bplistopts}{#1}}
+\define@boolkey{beamerprogram}{alerted}[true]{}
+
+\newcommand*\makebeamerprogram[1][]{%
+ \csdef{@bptitle}{\lecprogram}
+ \def\btitleapp{}
+ \numdef\pframes{\thefbreaks + 1}
+ \setkeys{beamerprogram}{alerted=false}
+ \setkeys{beamerprogram}{#1}
+ \def\bpdescbeg{\begin{description}[\lecprogramlistindent]}
+ \providebool{alertedlist}
+ \ifKV@beamerprogram@alerted
+ \booltrue{alertedlist}
+ \else
+ \boolfalse{alertedlist}
+ \fi
+ \@ifundefined{programlistbeamerii}{}{%
+ \def\btitleapp{\ (1/\pframes)}
+ \ifcsdef{@bpopts}{%
+ \begin{frame}[\csuse{@bpopts}]{\csuse{@bptitle}\btitleapp}
+ }{%
+ \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}{%
+ \begin{frame}[\csuse{@bpopts}]{\csuse{@bptitle}\btitleapp}
+ }{%
+ \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}{%
+ \begin{frame}[\csuse{@bpopts}]{\csuse{@bptitle}\btitleapp}
+ }{%
+ \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}{%
+ \begin{frame}[\csuse{@bpopts}]{\csuse{@bptitle}\btitleapp}
+ }{%
+ \@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}
+}
+
+% Beamer frame breaks
+\newcommand*\SetBeamerFrameBreak{%
+ \stepcounter{fbreaks}
+ \@ifundefined{programlistbeamerii}{%
+ \global\let\programlistbeamerii\programlistbeamer
+ }{%
+ \@ifundefined{programlistbeameriii}{%
+ \global\let\programlistbeameriii\programlistbeamer
+ }{%
+ \global\let\programlistbeameriv\programlistbeamer
+ }
+ }
+ \global\let\programlistbeamer\empty
+}
+
+% Session definition
+\define@key{session}{titlesep}{\csdef{@sestitlesep}{#1}}
+\define@key{session}{subtitle}{\csdef{@vasutitle}{#1}}
+\define@key{session}{shorttitle}{\csdef{@vashorttitle}{#1}}
+\define@key{session}{bibsec}{\csdef{@sesbibsec}{#1}}
+\define@boolkey{session}{cancel}[true]{}
+
+\newcommand*\NewSession[2][]{%
+ \stepcounter{week}
+ \setcounter{dateratio}{(\theweek-1)*7}
+ \setcounter{snum}{\theweek-\thecancellations}
+ \protected@csxdef{sesnr\thesnum}{\thesnum}
+ \csdef{@sestitlesep}{}
+ \csdef{@vasutitle}{}
+ \csdef{@vashorttitle}{}
+ \csdef{@sesbibsec}{}
+ \setkeys{session}{cancel=false}
+ \setkeys{session}{#1}
+ \csdef{@sestitle}{#2}
+ \protected@csxdef{sesdate\thesnum}{\AdvanceDate[\thedateratio]\vldate\today\AdvanceDate[-\thedateratio]}
+ \protected@csxdef{sesshortdate\thesnum}{\AdvanceDate[\thedateratio]\vlshdate\today\AdvanceDate[-\thedateratio]}
+ \protected@csxdef{sestitle\thesnum}{\csuse{@sestitle}}
+ \protected@csxdef{sestitlesep\thesnum}{\csuse{@sestitlesep}}
+ \protected@csxdef{sessubtitle\thesnum}{\csuse{@vasutitle}}
+ \protected@csxdef{sesshorttitle\thesnum}{\csuse{@vashorttitle}}
+ \protected@csxdef{sesbib\thesnum}{\csuse{@sesbibsec}}
+ \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{@vasutitle}%
+ \ \leccancel\ \lectypesession\noexpand\egroup}
+ \protected@eappto\programlistbeamer{\noexpand\item[{\noexpand\bfseries\csuse{sesshortdate\thesnum}}]%
+ \noexpand\bgroup\noexpand\bfseries\csuse{sestitle\thesnum}\csuse{@sestitlesep}\csuse{@vasutitle}%
+ \ \leccancel\ \lectypesession\noexpand\egroup}
+ \else
+ \protected@eappto\programlist{\noexpand\item[{\noexpand\bfseries\csuse{sesshortdate\thesnum}}]%
+ \csuse{sestitle\thesnum}\csuse{@sestitlesep}\csuse{@vasutitle}}
+ \protected@eappto\programlistbeamer{\noexpand\item[{\noexpand\bfseries\csuse{sesshortdate\thesnum}}]%
+ \csuse{sestitle\thesnum}\csuse{@sestitlesep}\csuse{@vasutitle}}
+ \ifcsempty{sesbib\thesnum}{}{%
+ \xappto\jsbiblist{\noexpand\section{\csuse{sestitle\thesnum}\csuse{@sestitlesep}\csuse{@vasutitle}}%
+ \noexpand\nocite{*}%
+ \noexpand\printbibliography[keyword=\csuse{sesbib\thesnum},heading=none]}%
+ }%
+ \fi
+}
+
+\newcommand*\SetBreak[2][\empty]{%
+ \stepcounter{week}
+ \stepcounter{cancellations}
+ \ifx\empty#1
+ \protected@eappto\programlist{\noexpand\begin{center} (#2) \noexpand\end{center}}
+ \protected@eappto\programlistbeamer{\noexpand\begin{center} (#2) \noexpand\end{center}}
+ \else
+ \protected@eappto\programlist{\noexpand\begin{center} (#1: #2) \noexpand\end{center}}
+ \protected@eappto\programlistbeamer{\noexpand\begin{center} (#1: #2) \noexpand\end{center}}
+ \fi
+}
+
+% Beamer program hook
+\newcommand*\SetBeamerHook[1]{%
+ \protected@eappto\programlistbeamer{\noexpand#1}
+}
+
+\define@key{break}{weeks}{\csdef{@breakweeks}{#1}}
+\define@key{break}{span}{\csdef{@breakspan}{#1}}
+\newcommand*\SetBreaks[2][weeks=1]{%
+ \csdef{@breakweeks}{\empty}
+ \csdef{@breakspan}{\empty}
+ \setkeys{break}{#1}
+ \setcounter{week}{\theweek+\csuse{@breakweeks}}
+ \setcounter{cancellations}{\thecancellations+\csuse{@breakweeks}}
+ \ifx\empty\csuse{@breakspan}
+ \protected@eappto\programlist{\noexpand\begin{center} (#2) \noexpand\end{center}}
+ \protected@eappto\programlistbeamer{\noexpand\begin{center} (#2) \noexpand\end{center}}
+ \else
+ \protected@eappto\programlist{\noexpand\begin{center} (\csuse{@breakspan}: #2) \noexpand\end{center}}
+ \protected@eappto\programlistbeamer{\noexpand\begin{center} (\csuse{@breakspan}: #2) \noexpand\end{center}}
+ \fi
+}
+
+\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]}
+}
+
+\newcommand*\EndBlock{%
+ \gappto\programlist{\end{labeling}}
+ \gappto\programlistbeamer{\end{description}}
+}
+
+\newcommand*\NewBlock[1]{%
+ \EndBlock
+ \StartBlock{#1}
+}
+
+\newenvironment{SessionBlock}[1]{\StartBlock{#1}}{\EndBlock}
+
+% Infrastructure
+\newcommand\SetOfficeHours[1]{%
+ \def\officehours{#1}%
+}
+
+\newcommand\SetPlatform[1]{%
+ \def\lecplatform{#1}%
+}
+
+% Define current session
+\newcommand\ThisSession[1]{%
+ \gdef\sesnr{\csuse{sesnr#1}}%
+ \gdef\sesdate{\csuse{sesdate#1}}%
+ \gdef\sesshortdate{\csuse{sesshortdate#1}}%
+ \gdef\sestitle{\csuse{sestitle#1}}%
+ \gdef\sestitlesep{\csuse{sestitlesep#1}}%
+ \gdef\sesshorttitle{\csuse{sesshorttitle#1}}%
+ \gdef\sessubtitle{\csuse{sessubtitle#1}}%
+}
+
+\newcommand\LocalSession[1]{%
+ \gdef\lsesnr{\csuse{sesnr#1}}%
+ \gdef\lsesdate{\csuse{sesdate#1}}%
+ \gdef\lsesshortdate{\csuse{sesshortdate#1}}%
+ \gdef\lsestitle{\csuse{sestitle#1}}%
+ \gdef\lsestitlesep{\csuse{sestitlesep#1}}%
+ \gdef\lsesshorttitle{\csuse{sesshorttitle#1}}%
+ \gdef\lsessubtitle{\csuse{sessubtitle#1}}%
+}
+
+% Session information
+\newcommand*\SessionFullTitle[1]{%
+ \LocalSession{#1}%
+ \lsestitle\lsestitlesep\lsessubtitle%
+}
+
+\newcommand*\SessionDate[1]{%
+ \LocalSession{#1}%
+ \lsesdate%
+}
+
+\newcommand*\SessionShortTitle[1]{%
+ \LocalSession{#1}%
+ \lsesshorttitle%
+}
+
+\newcommand*\SessionTitle[1]{%
+ \LocalSession{#1}%
+ \lsestitle%
+}
+
+\newcommand*\SessionShortDate[1]{%
+ \LocalSession{#1}%
+ \lsesshortdate%
+}
+
+\newcommand*\MakeProgramline[1]{%
+ \LocalSession{#1}%
+\item[{\bfseries\lsesshortdate}]%
+ \lsestitle\lsestitlesep\lsessubtitle%
+}
+
+% Finis
diff --git a/Master/tlpkg/bin/tlpkg-ctan-check b/Master/tlpkg/bin/tlpkg-ctan-check
index 127d4ee4882..57a8b800713 100755
--- a/Master/tlpkg/bin/tlpkg-ctan-check
+++ b/Master/tlpkg/bin/tlpkg-ctan-check
@@ -268,7 +268,8 @@ my @TLP_working = qw(
iso10303 isodate isodoc isomath isonums isorot isotope issuulinks itnumpar
iwhdp iwona
jablantile jamtimes japanese japanese-otf japanese-otf-uptex
- jfontmaps jknapltx jlabels jmlr jneurosci jpsj jsclasses junicode
+ jfontmaps jknapltx jlabels jmlr jneurosci jpsj jsclasses
+ jslectureplanner junicode
jura juraabbrev jurabib juramisc jurarsp js-misc jvlisting
kantlipsum karnaugh kastrup kdgdocs kerkis kerntest
keycommand keyreader keystroke keyval2e kix kixfont
diff --git a/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc b/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc
index e8db39c704c..e3517a093d7 100644
--- a/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc
+++ b/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc
@@ -440,6 +440,7 @@ depend isotope
depend issuulinks
depend iwhdp
depend jlabels
+depend jslectureplanner
depend jvlisting
depend kantlipsum
depend kerntest
diff --git a/Master/tlpkg/tlpsrc/jslectureplanner.tlpsrc b/Master/tlpkg/tlpsrc/jslectureplanner.tlpsrc
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/Master/tlpkg/tlpsrc/jslectureplanner.tlpsrc