From 1428a842a88fa4264ec3891b309da3f73b4f48b5 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Mon, 2 Nov 2020 21:56:35 +0000 Subject: semesterplanner (2nov20) git-svn-id: svn://tug.org/texlive/trunk@56841 c570f23f-e606-0410-a88d-b1316a301751 --- .../doc/lualatex/semesterplanner/README.md | 10 + .../lualatex/semesterplanner/semesterplanner.pdf | Bin 0 -> 111022 bytes .../lualatex/semesterplanner/semesterplanner.dtx | 207 +++++++++++++++++++++ .../lualatex/semesterplanner/semesterplanner.ins | 48 +++++ .../lualatex/semesterplanner/semesterplanner.sty | 162 ++++++++++++++++ Master/tlpkg/bin/tlpkg-ctan-check | 3 +- Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc | 1 + Master/tlpkg/tlpsrc/semesterplanner.tlpsrc | 0 8 files changed, 430 insertions(+), 1 deletion(-) create mode 100644 Master/texmf-dist/doc/lualatex/semesterplanner/README.md create mode 100644 Master/texmf-dist/doc/lualatex/semesterplanner/semesterplanner.pdf create mode 100644 Master/texmf-dist/source/lualatex/semesterplanner/semesterplanner.dtx create mode 100644 Master/texmf-dist/source/lualatex/semesterplanner/semesterplanner.ins create mode 100644 Master/texmf-dist/tex/lualatex/semesterplanner/semesterplanner.sty create mode 100644 Master/tlpkg/tlpsrc/semesterplanner.tlpsrc (limited to 'Master') diff --git a/Master/texmf-dist/doc/lualatex/semesterplanner/README.md b/Master/texmf-dist/doc/lualatex/semesterplanner/README.md new file mode 100644 index 00000000000..bed9ea9ebe5 --- /dev/null +++ b/Master/texmf-dist/doc/lualatex/semesterplanner/README.md @@ -0,0 +1,10 @@ +# Semesterplanner + +This package encapsules several useful environments for a beautiful printable semester plan. +It includes a timetable (which is using the schedule-Package) as well as appointments, deadlines and exams. + +This package requires color, tikz, schedule and fontawesome. Furthermore documents need to be compiled with LuaLaTeX. + +## Repo and documentation +See https://github.com/nlschn/semesterplanner + diff --git a/Master/texmf-dist/doc/lualatex/semesterplanner/semesterplanner.pdf b/Master/texmf-dist/doc/lualatex/semesterplanner/semesterplanner.pdf new file mode 100644 index 00000000000..47425cef422 Binary files /dev/null and b/Master/texmf-dist/doc/lualatex/semesterplanner/semesterplanner.pdf differ diff --git a/Master/texmf-dist/source/lualatex/semesterplanner/semesterplanner.dtx b/Master/texmf-dist/source/lualatex/semesterplanner/semesterplanner.dtx new file mode 100644 index 00000000000..691f57ee969 --- /dev/null +++ b/Master/texmf-dist/source/lualatex/semesterplanner/semesterplanner.dtx @@ -0,0 +1,207 @@ +% \iffalse meta-comment%% Copyright (C) 2020 by Niklas Schneider +% ----------------------------------- +% +% This file 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 2005/12/01 or later. +% +% \fi +% +% \iffalse +%\NeedsTeXFormat{LaTeX2e}[2005/12/01] +%\ProvidesPackage{semesterplanner} +% [2020/11/02v1.0 Creates beautiful semester timetables and more.] +% +%<*driver>\documentclass{ltxdoc}\usepackage{semesterplanner}\EnableCrossrefs\CodelineIndex\RecordChanges\begin{document}\DocInput{semesterplanner.dtx}\end{document} +% +% \fi +% +% \CheckSum{0} +% +% \CharacterTable +% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z +% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z +% Digits \0\1\2\3\4\5\6\7\8\9 +% Exclamation \! Double quote \" Hash (number) \# +% Dollar \$ Percent \ +% Ampersand \& +% Acute accent \’ Left paren \( Right paren \) +% Asterisk \* Plus \+ Comma \, +% Minus \- Point \. Solidus \/ +% Colon \: Semicolon \; Less than \< +% Equals \= Greater than \> Question mark \? +% Commercial at \@ Left bracket \[ Backslash \\ +% Right bracket \] Circumflex \^ Underscore \_ +% Grave accent \‘ Left brace \{ Vertical bar \| +% Right brace \} Tilde \~} +% +% +% \changes{v1.0}{2020/11/02〉}{Initial version} +% +% \GetFileInfo{semesterplanner.sty} +% +% \DoNotIndex{} +% +% Required Packages. +\RequirePackage{fontawesome} +\RequirePackage{color} +\RequirePackage{schedule} +\RequirePackage{tikz} +\usetikzlibrary{shapes} + +% Command to encircle the fa-icons with white, so that they are recognizable on colored ground. +\newcommand*{\encircle}[1]{ + \begin{minipage}[b][1em][c]{1.5em} + \begin{tikzpicture} + \node[fill,circle,inner sep=1pt, color = white] {#1}; + \end{tikzpicture} + \end{minipage} +} + +% Color for the platform symbols. +\definecolor{dodgerblue}{rgb}{0.12, 0.56, 1.0} + +% Colors for the course types. +\definecolor{seminar}{rgb}{1.0, 0.8, 0.0} +\definecolor{lecture}{rgb}{0.2, 0.7, 1.0} +\definecolor{tutorial}{rgb}{0.0, 0.8, 0.0} +\definecolor{meeting}{rgb}{0.8, 0.0, 0.0} +\definecolor{officehour}{rgb}{0.0, 0.4, 0.6} + +% The different course types. +\NewAppointment{emeeting}{meeting}{white} +\NewAppointment{electure}{lecture}{white} +\NewAppointment{etutorial}{tutorial}{white} +\NewAppointment{eseminar}{seminar}{white} +\NewAppointment{eofficehour}{officehour}{white} + +% Commands to create a new entry in the timetable using the aboev types. +\newcommand{\lecture}[6]{\electure{\textbf{#1}}{ + \vspace*{-2.5em} + \begin{flushleft} + {#2}\\\vspace*{0.75em}{#6}{#3} + \end{flushleft}} + {#4}{#5}} +\newcommand{\tutorial}[6]{\etutorial{\textbf{#1}}{ + \vspace*{-2.5em} + \begin{flushleft} + {#2}\\\vspace*{0.75em}{#6}{#3} + \end{flushleft}} + {#4}{#5}} +\newcommand{\meeting}[6]{\emeeting{\textbf{#1}}{ + \vspace*{-2.5em} + \begin{flushleft} + {#2}\\\vspace*{0.75em}{#6}{#3} + \end{flushleft}} + {#4}{#5}} +\newcommand{\seminar}[6]{\eseminar{\textbf{#1}}{ + \vspace*{-2.5em} + \begin{flushleft} + {#2}\\\vspace*{0.75em}{#6}{#3} + \end{flushleft}} + {#4}{#5}} +\newcommand{\officehour}[6]{\eofficehour{\textbf{#1}}{ + \vspace*{-2.5em} + \begin{flushleft} + {#2}\\\vspace*{0.75em}{#6}{#3} + \end{flushleft}} + {#4}{#5}} + +% Commands for entries in the three environments. They are a line of a table. +\newcommand{\appointment}[6]{\textit{#1}&{#2}&{#3}&{#4}&{#5}&{#6}\\} +\newcommand{\exam}[4]{\textit{#1}&{#2}&{#3}&{#4}\\} +\newcommand{\deadline}[4]{\textit{#1}&{#2}&{#3}&{#4}\\} + +% Commands for symbols of priority +\newcommand{\pmandatory}{\encircle{\textcolor{red}{\faWarning}}} +\newcommand{\phigh}{\encircle{\textcolor{red}{\faFlag}}} +\newcommand{\pmid}{\encircle{\textcolor{yellow}{\faFlag}}} +\newcommand{\plow}{\encircle{\textcolor{green}{\faFlag}}} +\newcommand{\pnone}{\encircle{\textcolor{gray}{\faTimesCircle}}} + +% Commands for exam types. +\newcommand{\oral}{\faComment} +\newcommand{\written}{\faPencil} + +% Commands for online platforms. +\newcommand{\teams}{\encircle{\textcolor{dodgerblue}{\faWindows}}} +\newcommand{\zoom}{\encircle{\textcolor{dodgerblue}{\faCamera}}} +\newcommand{\youtube}{\encircle{\textcolor{red}{\faYoutubePlay}}} + +% Command for "To be determined" and "To be Announced" +\newcommand{\tbd}{\faQuestion} +\newcommand{\tba}{\faBullhorn} + +% Command for adding legends to timetable +\newcommand{\ttlegend}[2]{{\footnotesize\textcolor{#1}{\faSquare}}&{\footnotesize {#2}}\\} + +% Environment for the timetable using schedule. Configuration is hardcoded. +\newenvironment{timetable} + { + \section*{\faClockO~Timetable} + \vspace*{-2em} + \CellHeight{1.3cm} + \CellWidth{1in} + \TimeRange{08:00-18:00} + \SubUnits{60} + \BeginOn{Monday} + \TextSize{\tiny} + \FiveDay + \TwentyFourHour + + \begin{schedule} + + } + { + \end{schedule} + \vspace*{-1em} + } + +% Environment for appointment list. Use appointment command to add one. +% Argument is for caption of the "room" column. +\newenvironment{appointments}[1][Room] +{ + \section*{\faCalendar~Appointments} + \begin{tabular}{llllll} + \textbf{Date}&\textbf{Time}&\textbf{Course}&\textbf{Description}&\textbf{{#1}}&\textbf{Prio.}\\ + } + {\end{tabular} +} + +% Environment for deadline list. Use dealine command to add one. +\newenvironment{deadlines} +{ + \section*{\faBomb~Deadlines} + \begin{tabular}{llll} + \textbf{Date}&\textbf{Course}&\textbf{Description}&\textbf{Prio.}\\ + } + {\end{tabular} +} + +% Environment for exam list. Use exam command to add one. +\newenvironment{exams} +{ + \section*{\faStickyNoteO~Exams} + \begin{tabular}{llll} + \textbf{Date}&\textbf{Time}&\textbf{Course}&\textbf{Type}\\ + } + {\end{tabular} +} + +% Environment for timetable legend. Use \ttlabel command. +\newenvironment{legend} + { + \begin{center} + \begin{tabular}{ll} + } + { + \end{tabular} + \end{center} + } +\endinput +% \Finale diff --git a/Master/texmf-dist/source/lualatex/semesterplanner/semesterplanner.ins b/Master/texmf-dist/source/lualatex/semesterplanner/semesterplanner.ins new file mode 100644 index 00000000000..3a96270af5f --- /dev/null +++ b/Master/texmf-dist/source/lualatex/semesterplanner/semesterplanner.ins @@ -0,0 +1,48 @@ +%% +%% Copyright (C) 2020 by Niklas Schneider +%% +%% This file 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 2005/12/01 or later. +%% + +\input docstrip.tex +\keepsilent + +\usedir{tex/latex/semesterplanner} + +\preamble + +This is a generated file. + +Copyright (C) 2020 by Niklas Schneider +This file 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 2005/12/01 or later. + +\endpreamble +\generate{\file{semesterplanner.sty}{\from{semesterplanner.dtx}{semesterplanner}}} + +\Msg{*********************************************************} +\Msg{*} +\Msg{* To finish the installation you have to move the} +\Msg{* following file into a directory searched by TeX:} +\Msg{*} +\Msg{* \space\space〈package〉.sty}\Msg{*} +\Msg{* To produce the documentation run the file semesterplanner.dtx} +\Msg{* through LaTeX.} +\Msg{*} +\Msg{* Happy TeXing!} +\Msg{*********************************************************}\endbatchfile \ No newline at end of file diff --git a/Master/texmf-dist/tex/lualatex/semesterplanner/semesterplanner.sty b/Master/texmf-dist/tex/lualatex/semesterplanner/semesterplanner.sty new file mode 100644 index 00000000000..603852869b2 --- /dev/null +++ b/Master/texmf-dist/tex/lualatex/semesterplanner/semesterplanner.sty @@ -0,0 +1,162 @@ +%% +%% This is file `semesterplanner.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% semesterplanner.dtx (with options: `semesterplanner') +%% +%% This is a generated file. +%% +%% Copyright (C) 2020 by Niklas Schneider +%% This file 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 2005/12/01 or later. +%% +\RequirePackage{fontawesome} +\RequirePackage{color} +\RequirePackage{schedule} +\RequirePackage{tikz} +\usetikzlibrary{shapes} + +\newcommand*{\encircle}[1]{ +\begin{minipage}[b][1em][c]{1.5em} +\begin{tikzpicture} +\node[fill,circle,inner sep=1pt, color = white] {#1}; +\end{tikzpicture} +\end{minipage} +} + +\definecolor{dodgerblue}{rgb}{0.12, 0.56, 1.0} + +\definecolor{seminar}{rgb}{1.0, 0.8, 0.0} +\definecolor{lecture}{rgb}{0.2, 0.7, 1.0} +\definecolor{tutorial}{rgb}{0.0, 0.8, 0.0} +\definecolor{meeting}{rgb}{0.8, 0.0, 0.0} +\definecolor{officehour}{rgb}{0.0, 0.4, 0.6} + +\NewAppointment{emeeting}{meeting}{white} +\NewAppointment{electure}{lecture}{white} +\NewAppointment{etutorial}{tutorial}{white} +\NewAppointment{eseminar}{seminar}{white} +\NewAppointment{eofficehour}{officehour}{white} + +\newcommand{\lecture}[6]{\electure{\textbf{#1}}{ +\vspace*{-2.5em} +\begin{flushleft} +{#2}\\\vspace*{0.75em}{#6}{#3} +\end{flushleft}} +{#4}{#5}} +\newcommand{\tutorial}[6]{\etutorial{\textbf{#1}}{ +\vspace*{-2.5em} +\begin{flushleft} +{#2}\\\vspace*{0.75em}{#6}{#3} +\end{flushleft}} +{#4}{#5}} +\newcommand{\meeting}[6]{\emeeting{\textbf{#1}}{ +\vspace*{-2.5em} +\begin{flushleft} +{#2}\\\vspace*{0.75em}{#6}{#3} +\end{flushleft}} +{#4}{#5}} +\newcommand{\seminar}[6]{\eseminar{\textbf{#1}}{ +\vspace*{-2.5em} +\begin{flushleft} +{#2}\\\vspace*{0.75em}{#6}{#3} +\end{flushleft}} +{#4}{#5}} +\newcommand{\officehour}[6]{\eofficehour{\textbf{#1}}{ +\vspace*{-2.5em} +\begin{flushleft} +{#2}\\\vspace*{0.75em}{#6}{#3} +\end{flushleft}} +{#4}{#5}} + +\newcommand{\appointment}[6]{\textit{#1}&{#2}&{#3}&{#4}&{#5}&{#6}\\} +\newcommand{\exam}[4]{\textit{#1}&{#2}&{#3}&{#4}\\} +\newcommand{\deadline}[4]{\textit{#1}&{#2}&{#3}&{#4}\\} + +\newcommand{\pmandatory}{\encircle{\textcolor{red}{\faWarning}}} +\newcommand{\phigh}{\encircle{\textcolor{red}{\faFlag}}} +\newcommand{\pmid}{\encircle{\textcolor{yellow}{\faFlag}}} +\newcommand{\plow}{\encircle{\textcolor{green}{\faFlag}}} +\newcommand{\pnone}{\encircle{\textcolor{gray}{\faTimesCircle}}} + +\newcommand{\oral}{\faComment} +\newcommand{\written}{\faPencil} + +\newcommand{\teams}{\encircle{\textcolor{dodgerblue}{\faWindows}}} +\newcommand{\zoom}{\encircle{\textcolor{dodgerblue}{\faCamera}}} +\newcommand{\youtube}{\encircle{\textcolor{red}{\faYoutubePlay}}} + +\newcommand{\tbd}{\faQuestion} +\newcommand{\tba}{\faBullhorn} + +\newcommand{\ttlegend}[2]{{\footnotesize\textcolor{#1}{\faSquare}}&{\footnotesize {#2}}\\} + +\newenvironment{timetable} +{ +\section*{\faClockO~Timetable} +\vspace*{-2em} +\CellHeight{1.3cm} +\CellWidth{1in} +\TimeRange{08:00-18:00} +\SubUnits{60} +\BeginOn{Monday} +\TextSize{\tiny} +\FiveDay +\TwentyFourHour + +\begin{schedule} + +} +{ +\end{schedule} +\vspace*{-1em} +} + +\newenvironment{appointments}[1][Room] +{ +\section*{\faCalendar~Appointments} +\begin{tabular}{llllll} +\textbf{Date}&\textbf{Time}&\textbf{Course}&\textbf{Description}&\textbf{{#1}}&\textbf{Prio.}\\ +} +{\end{tabular} +} + +\newenvironment{deadlines} +{ +\section*{\faBomb~Deadlines} +\begin{tabular}{llll} +\textbf{Date}&\textbf{Course}&\textbf{Description}&\textbf{Prio.}\\ +} +{\end{tabular} +} + +\newenvironment{exams} +{ +\section*{\faStickyNoteO~Exams} +\begin{tabular}{llll} +\textbf{Date}&\textbf{Time}&\textbf{Course}&\textbf{Type}\\ +} +{\end{tabular} +} + +\newenvironment{legend} +{ +\begin{center} +\begin{tabular}{ll} +} +{ +\end{tabular} +\end{center} +} +\endinput +%% +%% End of file `semesterplanner.sty'. diff --git a/Master/tlpkg/bin/tlpkg-ctan-check b/Master/tlpkg/bin/tlpkg-ctan-check index 2907f81727f..02aa8d01f36 100755 --- a/Master/tlpkg/bin/tlpkg-ctan-check +++ b/Master/tlpkg/bin/tlpkg-ctan-check @@ -666,7 +666,8 @@ my @TLP_working = qw( sdaps sdrt sduthesis secdot secnum section sectionbox sectionbreak sectsty seealso selectp selinput selnolig semantex semantic semantic-markup semaphor - seminar semioneside semproc semtex sepfootnotes sepnum seqsplit + semesterplanner seminar semioneside semproc semtex + sepfootnotes sepnum seqsplit serbian-apostrophe serbian-date-lat serbian-def-cyr serbian-lig sesamanuel sesstime setdeck setspace seuthesis seuthesix sexam sf298 sffms sfg diff --git a/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc b/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc index 6e9c265f986..dd2ca45fc2b 100644 --- a/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc +++ b/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc @@ -1056,6 +1056,7 @@ depend selinput depend semantex depend semantic depend semantic-markup +depend semesterplanner depend semioneside depend semproc depend semtex diff --git a/Master/tlpkg/tlpsrc/semesterplanner.tlpsrc b/Master/tlpkg/tlpsrc/semesterplanner.tlpsrc new file mode 100644 index 00000000000..e69de29bb2d -- cgit v1.2.3