summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2015-01-17 23:48:13 +0000
committerKarl Berry <karl@freefriends.org>2015-01-17 23:48:13 +0000
commitf302d1aaabaeb41bdd624d8ab7ec10414480e124 (patch)
treedd5fbdf951f582467bd8c347fb6b34e61e0f8990
parente852fa089d4c198a477d005c51e0facb8c737d81 (diff)
jslectureplanner (17jan15)
git-svn-id: svn://tug.org/texlive/trunk@36079 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/texmf-dist/doc/latex/jslectureplanner/README10
-rw-r--r--Master/texmf-dist/doc/latex/jslectureplanner/examples/lectureprogram.pdfbin57439 -> 57438 bytes
-rw-r--r--Master/texmf-dist/doc/latex/jslectureplanner/jslectureplanner.pdfbin112454 -> 113392 bytes
-rw-r--r--Master/texmf-dist/doc/latex/jslectureplanner/jslectureplanner.tex58
-rw-r--r--Master/texmf-dist/tex/latex/jslectureplanner/german-default.lps55
-rw-r--r--Master/texmf-dist/tex/latex/jslectureplanner/jslectureplanner.sty51
-rwxr-xr-xMaster/tlpkg/libexec/ctan2tds1
7 files changed, 135 insertions, 40 deletions
diff --git a/Master/texmf-dist/doc/latex/jslectureplanner/README b/Master/texmf-dist/doc/latex/jslectureplanner/README
index 60290318658..ea21eebc0ce 100644
--- a/Master/texmf-dist/doc/latex/jslectureplanner/README
+++ b/Master/texmf-dist/doc/latex/jslectureplanner/README
@@ -58,6 +58,16 @@ instructions; also have a look at the example files.
== CHANGES ==
+* V. 0.8 (2015-01-17): - Fix corruption of \today.
+ - Add framework for different styles.
+ - Add option and macro to set a room
+ for the course as well as a
+ session-specific room.
+ - Remove redundant lecture type "vo"
+ from the documentation.
+ - Change \leccancel default definition
+ in favour of better translatability.
+
* V. 0.7 (2015-01-04): Add macro for resetting \today.
Minor corrections in the manual.
diff --git a/Master/texmf-dist/doc/latex/jslectureplanner/examples/lectureprogram.pdf b/Master/texmf-dist/doc/latex/jslectureplanner/examples/lectureprogram.pdf
index 19d707e1ffd..d8dbc7b6e61 100644
--- a/Master/texmf-dist/doc/latex/jslectureplanner/examples/lectureprogram.pdf
+++ b/Master/texmf-dist/doc/latex/jslectureplanner/examples/lectureprogram.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/jslectureplanner/jslectureplanner.pdf b/Master/texmf-dist/doc/latex/jslectureplanner/jslectureplanner.pdf
index 81ce8953f6f..4334235e7fc 100644
--- a/Master/texmf-dist/doc/latex/jslectureplanner/jslectureplanner.pdf
+++ b/Master/texmf-dist/doc/latex/jslectureplanner/jslectureplanner.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/jslectureplanner/jslectureplanner.tex b/Master/texmf-dist/doc/latex/jslectureplanner/jslectureplanner.tex
index 5f124404152..86da67de7d5 100644
--- a/Master/texmf-dist/doc/latex/jslectureplanner/jslectureplanner.tex
+++ b/Master/texmf-dist/doc/latex/jslectureplanner/jslectureplanner.tex
@@ -27,9 +27,9 @@
\title{The jslectureplanner package}
\author{Jürgen Spitzmüller%
-\thanks{Please report issues via \protect\url{https://github.com/jspitz/jslectureplanner}}}
+\thanks{Please report issues via \protect\url{https://github.com/jspitz/jslectureplanner}.}}
-\date{Version 0.7, 2015/01/04}
+\date{Version 0.8, 2015/01/17}
\maketitle
@@ -112,9 +112,6 @@ in ``the second \emph{session} of this course'').
\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'',
@@ -150,9 +147,9 @@ etc.)
\item [{year=<year>}]~
\item [{uni=<university>}]~
\item [{institute=<institute>}]~
+\item [{room=<room>}]~
\item [{startdate=<startdate>}] Date of the first session (argument\emph{
-must} have the form DD/MM/YYYY). Note that this option changes the value of \jfcsmacro{today}.
-See sec.~\ref{sec:resetdate} how to reset it.
+must} have the form DD/MM/YYYY).
\end{description}
\subsubsection{Additional information}
@@ -174,9 +171,8 @@ description.}
\begin{itemize}
\item \joption{vl}: lecture (\emph{Vorlesung})
-\item \joption{vo}: lecture (alternative)
\item \joption{ps}: undergraduate seminar (\emph{Proseminar})
-\item \joption{se}: seminar (Seminar)
+\item \joption{se}: seminar (\emph{Seminar})
\item \joption{ue}: practical course (\emph{Übung})
\item \joption{ko}: colloquium (\emph{Kolloquium})
\item \joption{pv}: research seminar (\emph{Privatissimum})
@@ -209,10 +205,9 @@ description.}
your university
\item \jcsmacro{LecInstitute\{<institute>\}}: Set your institute
name
+\item \jcsmacro{LecRoom\{<room>\}}: Set the room where the course takes place
\item \jcsmacro{LecStartDate\{<startdate>\}}: Set date of
the first session (argument\emph{ must} have the form DD/MM/YYYY).
-Note that this macro changes the value of \jfcsmacro{today}.
-See sec.~\ref{sec:resetdate} how to reset it.
\end{itemize}
\subsubsection{Additional information}
@@ -239,6 +234,7 @@ subtitle
\item \joption{subtitle=<subtitle>}: Subtitle of the session
\item \joption{shorttitle=<shorttitle>}: Short title of the session (for
headings etc.)
+\item \joption{room=<room>}: Specific room for this session (if it differs)
\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.
@@ -303,8 +299,6 @@ code to the beamer program
Thematic block consisting of several sessions. Respective sessions
are nested inside this block.
\end{itemize}
-Note that setting up a course plan changes the value of \jfcsmacro{today}.
-See sec.~\ref{sec:resetdate} how to reset it.
\section{Retrieving general course information\label{sec:general-course-info}}
@@ -344,6 +338,7 @@ the semester (e.\,g., ``WS 2014'')
of the semester (e.\,g., ``Wintersemester 2014'')
\item \jcsmacro{lecuniversity}: Outputs the university name
\item \jcsmacro{lecinstitute}: Outputs the institute name
+\item \jcsmacro{lecroom}: Outputs the room
\item \jcsmacro{lecplatform}: Outputs information on the
e-learning platform
\item \jcsmacro{officehours}: Outputs the office hours
@@ -457,6 +452,7 @@ the current session
\item \jcsmacro{sesfulltitle}: Full title of the current
session (title, separator, subtitle)
\item \jcsmacro{sesnr}: Number of the current session
+\item \jcsmacro{sesroom}: Room of the current session
\end{itemize}
\subsection{Generating session-specific information for an arbitrary session}
@@ -475,6 +471,7 @@ title of session number \joption{<nr>}
session number \joption{<nr>}
\item \jcsmacro{SessionShortDate\{<nr>\}}: Outputs the short
date (no year) of 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
@@ -487,24 +484,14 @@ item line for session number \joption{<nr>} in the form
\end{itemize}
-\section{Resetting the current date}
-\label{sec:resetdate}
+\section{Customizing the output}\label{sec:customizing-strings}
-The date calculation mechanism (as provided by the \textsf{advdate} package) rewrites the value
-of \jfcsmacro{today}. So after you defined a start date via the \joption{startdate} option or
-the \jcsmacro{LecStartDate} macro and/or set up a course plan as described in sec.~\ref{sec:lecprog},
-\jfcsmacro{today} will most likely not return today's date anymore.
-To restore the current date, use the macro \jcsmacro{ResetDate} after your course plan has been set up.
-\section{Customizing the output}
-
-
-\subsection{Customizing the course type strings\label{sec:customizing-strings}}
+\subsection{Customizing the course type strings}
The strings of the course types can be changed via the macros:
\begin{itemize}
\item \jcsmacro{DefTypeVL\{<short form>\}\{<title>\}\{<session title>\}}
-\item \jcsmacro{DefTypeVO\{<short form>\}\{<title>\}\{<session title>\}}
\item \jcsmacro{DefTypePS\{<short form>\}\{<title>\}\{<session title>\}}
\item \jcsmacro{DefTypeSE\{<short form>\}\{<title>\}\{<session title>\}}
\item \jcsmacro{DefTypeUE\{<short form>\}\{<title>\}\{<session title>\}}
@@ -516,7 +503,7 @@ An English form for a lecture, thus, can be achieved by e.\,g.
\item \jcsmacro{DefTypeVL\{LEC\}\{Lecture\}\{Session\}}
\end{itemize}
The types themselves are hardcoded. If you need further\slash{}other
-types, you need to modify the package.
+types, you need to modify the package (or ask me to do it).
\subsection{Customizing the term types}
@@ -554,7 +541,7 @@ 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}
+\newcommand*\leccancel{\ -- keine \lectypesession}
\end{lstlisting}
@@ -577,9 +564,26 @@ Again, use \jfcsmacro{renewcommand{*}} to redefine
those.
+\subsection{Using styles}
+
+The most elegant way to do the customizing is to use \emph{lecture planner style} (*.lps) files.
+These files can be loaded via the \joption{style=<style>} package option, where <style>
+is the file name without *.lps extension.
+
+Currently, the package ships only one style, \emph{german-default}, which includes the default
+strings. This one can be used as a model. If you provide me with other style files, in particular
+translations to other languages than German (but also other university conventions), I consider
+them for inclusion to the package.
+
+
\section{History}
\begin{itemize}
+\item 2015/01/17 (v. 0.8): Fix corruption of \jfcsmacro{today};
+ add framework for different styles;
+ add option and macro to set a room for the course as well as a session-specific room;
+ remove redundant lecture type \joption{vo} from the documentation;
+ change \jcsmacro{leccancel} default definition in favour of better translatability.
\item 2015/01/04 (v. 0.7): Add macro for resetting \jfcsmacro{today}; minor corrections in the manual.
\item 2014/12/12 (v. 0.6\,b): Minor corrections in the manual and example files.
\item 2014/12/12 (v. 0.6): Initial release to CTAN.
diff --git a/Master/texmf-dist/tex/latex/jslectureplanner/german-default.lps b/Master/texmf-dist/tex/latex/jslectureplanner/german-default.lps
new file mode 100644
index 00000000000..e7318a054fd
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/jslectureplanner/german-default.lps
@@ -0,0 +1,55 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% File german-default.lps
+%%
+%% Default German style for lecture planning
+%%
+%% This file is part of the jslectureplanner package.
+%%
+%% 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.
+%%
+%% Code repository and issue tracker: https://github.com/jspitz/jslectureplanner
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+% Lecture types
+\DefTypeVL{VL}{Vorlesung}{Vorlesung}% lecture
+\DefTypePS{PS}{Proseminar}{Sitzung}% undergraduate seminar
+\DefTypeSE{SE}{Seminar}{Sitzung}% seminar
+\DefTypeUE{UE}{\"Ubung}{Sitzung}% practical course
+\DefTypeKO{KO}{Kolloquium}{Sitzung}% colloquium
+\DefTypePV{PV}{Privatissimum}{Sitzung}% research seminar
+
+% Term types
+\DefTypeFS{FS}{Fr\"ujahrssemester}% spring term
+\DefTypeHS{HS}{Herbstsemester}% fall term
+\DefTypeSS{SoSe}{Sommersemester}% summer term
+\DefTypeWS{WS}{Wintersemester}% winter term
+
+% Date formats
+\renewcommand*\lecdateformat{%
+ \THEDAY.\,\twodigit{\THEMONTH}.\,\THEYEAR}% long date
+\renewcommand*\lecdateshortformat{%
+ \THEDAY.\,\twodigit{\THEMONTH}.}% short date
+
+% Suffix to cancelled sessions
+\renewcommand*\leccancel{\ -- keine \lectypesession}
+
+% Program heading
+\renewcommand*\lecprogram{Programm}
+
+% Indentation of program list
+\renewcommand*\lecprogramlistindent{\textbf{88.\,88.}}
+
+% Finis
diff --git a/Master/texmf-dist/tex/latex/jslectureplanner/jslectureplanner.sty b/Master/texmf-dist/tex/latex/jslectureplanner/jslectureplanner.sty
index 767dddab36b..89827f0074b 100644
--- a/Master/texmf-dist/tex/latex/jslectureplanner/jslectureplanner.sty
+++ b/Master/texmf-dist/tex/latex/jslectureplanner/jslectureplanner.sty
@@ -21,8 +21,8 @@
%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\def\filedate{2014/01/04}
-\def\fileversion{0.7}
+\def\filedate{2015/01/17}
+\def\fileversion{0.8}
\def\filename{jslectureplanner.sty}
\NeedsTeXFormat{LaTeX2e}
@@ -61,6 +61,8 @@
\def\lecsemesterverb{}
\def\lecuniversity{}
\def\lecinstitute{}
+\def\lecroom{}
+\def\lecstartdate{}
\def\lecplatform{}
\def\officehours{}
@@ -83,7 +85,8 @@
\def\lectypevl{Vorlesung}
\def\lectypevls{VL}
\def\lectypevlses{Vorlesung}
-% vo
+% vo (redundant and undocumented;
+% just kept for historical reasons)
\def\lectypevo{Vorlesung}
\def\lectypevos{VO}
\def\lectypevoses{Vorlesung}
@@ -122,7 +125,7 @@
\def\lectermwss{WS}
% misc.
-\newcommand*\leccancel{-- keine}
+\newcommand*\leccancel{\ -- keine \lectypesession}
\newcommand*\lecprogram{Programm}
\newcommand*\lecprogramlistindent{\textbf{88.\,88.}}
@@ -134,7 +137,7 @@
\def\lectype{\lectypevls}
\def\lectypeverb{\lectypevl}
\def\lectypesession{\lectypevlses}
- \or% vo (wien)
+ \or% vo (redundant and undocumented; just kept for historical reasons)
\def\lectype{\lectypevos}
\def\lectypeverb{\lectypevo}
\def\lectypesession{\lectypevoses}
@@ -192,7 +195,9 @@
\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]}
+\define@key{lec}{room}{\def\lecroom{#1}}
+\define@key{lec}{startdate}{\def\lecstartdate{#1}}
+\define@key{lec}{style}{\AtEndOfPackage{\input{#1.lps}}}
\DeclareOptionX{title}{\setkeys{lec}{title=#1}}
\DeclareOptionX{titlesep}{\setkeys{lec}{titlesep=#1}}
@@ -204,6 +209,8 @@
\DeclareOptionX{startdate}{\setkeys{lec}{startdate=#1}}
\DeclareOptionX{platform}{\setkeys{lec}{platform=#1}}
\DeclareOptionX{officehours}{\setkeys{lec}{officehours=#1}}
+\DeclareOptionX{room}{\setkeys{lec}{room=#1}}
+\DeclareOptionX{style}{\setkeys{lec}{style=#1}}
\ProcessOptionsX
@@ -222,6 +229,7 @@
\newcommand*{\LecYear}[2]{\setkeys{lec}{lecsem=#1,year=#2}}
\newcommand*{\LecUni}[1]{\setkeys{lec}{uni=#1}}
\newcommand*{\LecInstitute}[1]{\setkeys{lec}{institute=#1}}
+\newcommand*{\LecRoom}[1]{\setkeys{lec}{room=#1}}
\newcommand*{\LecStartDate}[1]{\setkeys{lec}{startdate=#1}}
%
@@ -263,7 +271,8 @@
\def\lectypevls{#1}
\def\lectypevlses{#2}
}
-% vo
+% vo (redundant and undocumented;
+% just kept for historical reasons)
\newcommand*\DefTypeVO[3]{%
\def\lectypevo{#2}
\def\lectypevos{#1}
@@ -474,6 +483,7 @@
\define@key{session}{subtitle}{\csdef{@vasutitle}{#1}}
\define@key{session}{shorttitle}{\csdef{@vashorttitle}{#1}}
\define@key{session}{bibsec}{\csdef{@sesbibsec}{#1}}
+\define@key{session}{room}{\csdef{@sesroom}{#1}}
\define@boolkey{session}{cancel}[true]{}
\newcommand*\NewSession[2][]{%
@@ -485,24 +495,30 @@
\csdef{@vasutitle}{}
\csdef{@vashorttitle}{}
\csdef{@sesbibsec}{}
+ \csdef{@sesroom}{\lecroom}
\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{sesdate\thesnum}{%
+ \bgroup\ifx\lecstartdate\empty\else\SetDate[\lecstartdate]\fi%
+ \AdvanceDate[\thedateratio]\vldate\today\egroup}
+ \protected@csxdef{sesshortdate\thesnum}{%
+ \bgroup\ifx\lecstartdate\empty\else\SetDate[\lecstartdate]\fi%
+ \AdvanceDate[\thedateratio]\vlshdate\today\egroup}
\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}}
+ \protected@csxdef{sesroom\thesnum}{\csuse{@sesroom}}
\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}
+ \leccancel\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}
+ \leccancel\noexpand\egroup}
\else
\protected@eappto\programlist{\noexpand\item[{\noexpand\bfseries\csuse{sesshortdate\thesnum}}]%
\csuse{sestitle\thesnum}\csuse{@sestitlesep}\csuse{@vasutitle}}
@@ -590,6 +606,7 @@
\gdef\sestitlesep{\csuse{sestitlesep#1}}%
\gdef\sesshorttitle{\csuse{sesshorttitle#1}}%
\gdef\sessubtitle{\csuse{sessubtitle#1}}%
+ \gdef\sesroom{\csuse{sesroom#1}}%
}
\newcommand\LocalSession[1]{%
@@ -600,6 +617,7 @@
\gdef\lsestitlesep{\csuse{sestitlesep#1}}%
\gdef\lsesshorttitle{\csuse{sesshorttitle#1}}%
\gdef\lsessubtitle{\csuse{sessubtitle#1}}%
+ \gdef\lsesroom{\csuse{sesroom#1}}%
}
% Session information
@@ -628,13 +646,20 @@
\lsesshortdate%
}
+\newcommand*\SessionRoom[1]{%
+ \LocalSession{#1}%
+ \lsesroom%
+}
+
\newcommand*\MakeProgramline[1]{%
\LocalSession{#1}%
-\item[{\bfseries\lsesshortdate}]%
- \lsestitle\lsestitlesep\lsessubtitle%
+ \item[{\bfseries\lsesshortdate}]%
+ \lsestitle\lsestitlesep\lsessubtitle%
}
% Reset to today
+% Not needed anymore as of v. 0.8,
+% but kept for backwards compatibility reasons
\newcommand*\ResetDate{\SetDate}
% Finis
diff --git a/Master/tlpkg/libexec/ctan2tds b/Master/tlpkg/libexec/ctan2tds
index efe0001d2f6..f6a2ebc1128 100755
--- a/Master/tlpkg/libexec/ctan2tds
+++ b/Master/tlpkg/libexec/ctan2tds
@@ -1494,6 +1494,7 @@ $standardtex='\.(.bx|cfg|sty|clo|ldf|cls|def|fd|fontspec|cmap|4ht)$';
'isodoc', '\.cls|\.sty|iso.*\.ldf', # not template.ldf
'jadetex', '\.ltx|\.def|\.tex|\.ini|\.sty|\.fd',
'js-misc', '(cassette|idverb|js-misc|schild|sperr|xfig)\.tex',
+ 'jslectureplanner', '\.lps|' . $standardtex,
'karnaugh', 'kvmacros.tex',
'kastrup', 'binhex.tex|' . $standardtex,
'keystroke', 'keystroke_.*|\.sty',