From 2915b13b4b4cd9a3c35eae7122d2b8604cd8b494 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Thu, 7 Mar 2019 22:25:45 +0000 Subject: brandeis-problemset (7mar19) git-svn-id: svn://tug.org/texlive/trunk@50279 c570f23f-e606-0410-a88d-b1316a301751 --- .../doc/latex/brandeis-problemset/README.md | 2 +- .../brandeis-problemset/brandeis-problemset.pdf | Bin 64099 -> 81699 bytes .../brandeis-problemset/brandeis-problemset.tex | 475 +++++++++++++++------ .../doc/latex/brandeis-problemset/example.pdf | Bin 49206 -> 49709 bytes .../doc/latex/brandeis-problemset/example.tex | 37 +- 5 files changed, 383 insertions(+), 131 deletions(-) (limited to 'Master/texmf-dist/doc/latex/brandeis-problemset') diff --git a/Master/texmf-dist/doc/latex/brandeis-problemset/README.md b/Master/texmf-dist/doc/latex/brandeis-problemset/README.md index 1c8c654713e..00af4ab0311 100644 --- a/Master/texmf-dist/doc/latex/brandeis-problemset/README.md +++ b/Master/texmf-dist/doc/latex/brandeis-problemset/README.md @@ -13,4 +13,4 @@ brandeis-problemset.tex | Documentation source example.tex | Example problem set example.pdf | Example problem set README.md | This file -LICENSE.txt | LPPL v1.3c +LICENSE.txt | LPPL 1.3c diff --git a/Master/texmf-dist/doc/latex/brandeis-problemset/brandeis-problemset.pdf b/Master/texmf-dist/doc/latex/brandeis-problemset/brandeis-problemset.pdf index bc5bcfa7cc1..d3893baaafa 100644 Binary files a/Master/texmf-dist/doc/latex/brandeis-problemset/brandeis-problemset.pdf and b/Master/texmf-dist/doc/latex/brandeis-problemset/brandeis-problemset.pdf differ diff --git a/Master/texmf-dist/doc/latex/brandeis-problemset/brandeis-problemset.tex b/Master/texmf-dist/doc/latex/brandeis-problemset/brandeis-problemset.tex index 433dfb83c5a..e17ac3e4028 100644 --- a/Master/texmf-dist/doc/latex/brandeis-problemset/brandeis-problemset.tex +++ b/Master/texmf-dist/doc/latex/brandeis-problemset/brandeis-problemset.tex @@ -1,16 +1,58 @@ +\PassOptionsToPackage{inline}{enumitem} \documentclass{ltxguidex} +\usepackage{fontspec} +\usepackage[pseudocode, solution, assembly, tabu]{brandeis-problemset} + +\usepackage{xkeyval} +\usepackage{xparse} \usepackage{textcomp} % needed for listings \usepackage{hologo} % xetex, etc. logos \usepackage{changelog} \newcommand{\bps}{\ltxclass{brandeis-problemset}} \newcommand{\fontspecok}{\hologo{XeLaTeX} or \hologo{LuaTeX}} -\newcommand{\cosi}[1]{\textsc{cosi}~#1} +\newcommand{\unicode}[1]{\textsc{u+#1}} +\NewDocumentCommand{\cosi}{o m}{\textsc{cosi}~#2\IfValueT{#1}{ (#1)}} \newnotice{todo}{To-do} -\usepackage{fontspec} +\newcommand{\reqopt}[1]{Requires the \texttt{\color{magenta}#1} option.\par} +\newcommand{\dep}[1]{{\noticestyle Warning:} deprecated since #1.\par} +\newcommand{\withopt}[1]{\fbox{With the \option{#1} option:}} + +\makeatletter +\renewcommand{\SX@explpreset}{ + language=[LaTeX]TeX, + numbers=none, +} +\define@cmdkeys{joinlist}{sep, wrapper} +\define@cmdkey{joinlist}{last}{\KV@joinlist@oxfordfalse} +\define@boolkey{joinlist}{oxford}[true]{} +\define@boolkey{joinlist}{and}[true]{\ifKV@joinlist@and\def\cmdKV@joinlist@last{and}\fi} +\define@boolkey{joinlist}{or} [true]{\ifKV@joinlist@or \def\cmdKV@joinlist@last{or}\fi} +\presetkeys{joinlist}{sep={,}, last=and, oxford, wrapper=\relax}{} +\NewDocumentCommand{\joinlist}{O{} >{\SplitList{,}} m} + {{\setkeys{joinlist}{#1}% + \newcommand{\joinlist@wrapper}[1]{\item\cmdKV@joinlist@wrapper{##1}}% + \begin{itemize*}[ + label={}, + itemjoin={\cmdKV@joinlist@sep}, + itemjoin*={\ifKV@joinlist@oxford\cmdKV@joinlist@sep\ \fi + \cmdKV@joinlist@last}]% + \ProcessList{#2}{\joinlist@wrapper}% + \end{itemize*}}} +\makeatother + +\makeatletter +\NewDocumentCommand{\withopts}{m} + {\fbox{With any of the \joinlist[or, wrapper=\option]{#1} options:}} +\makeatother +\newcommand{\onlyclass}{Only available in the \bps\ document class.} +\newcommand{\optenables}[2]{If \option{#1} is set, then \option{#2} is +automatically enabled.} + \setmainfont{Tiempos Text} \usepackage{FiraSans} \usepackage{FiraMono} +\lstset{basewidth=0.6em} \lstnewenvironment{latexfile}[1] {\lstset{ @@ -21,7 +63,7 @@ \author{Rebecca Turner\thanks{Brandeis University; \email{rebeccaturner@brandeis.edu}}} \title{The \bps\ Document Class} -\date{2019/02/14 0.4.4} +\date{2019/03/06 0.5.0} \begin{document} \maketitle \begin{abstract} @@ -47,12 +89,19 @@ \https{github.com/9999years/brandeis-problemset} \end{note} +\begin{note} + In roughly May 2021 I will graduate from Brandeis University and + this package will become unmaintained. Although I'd like the + computer science department to adopt this package, I'm not sure any + professors have an interest in that maintenance. If you care about + the extended future of this package, send some emails! +\end{note} + \tableofcontents \vfill \pagebreak \section{Default behavior} - \bps\ provides packages and well-formatted constructs (notably the |problem| environment) for problem-set writers. \bps\ will always render its body copy as a Times variant (\ctan{stix} for plain \LaTeX\ or @@ -61,18 +110,25 @@ contains the page number, author's name, course, instructor, and assignment due date). \subsection{Default packages loaded} +In general, \bps\ will only load a feature if it's useful in more than one +class; features like Gantt charts, Scheme code, assembly code, and so on, +are loaded on demand. \begin{enumerate} \item \ctan{hyperref}, for a nicely-linked table of contents; |\href||{url}{label}|. -\item \ctan{listings}, for verbatim code listings (including the - |assembly|, |java|, and |pseudocode| environments). -\item \ctan{xcolor}, for gray line numbers in code listings (and perhaps - colored listings in the future); e.g.\ |\color||{gray}|. +\item \ctan{geometry} for page size and margins. \item \ctan{enumitem} for better control over the margins and spacing of the |enumerate|, |itemize|, and |description| environments. -\item Math packages: \begin{enumerate} +\item \withopts{listings, scheme, pseudocode, assembly} +\begin{enumerate} + \item \ctan{listings}, for verbatim code listings (including the + |assembly|, |java|, and |pseudocode| environments). + \item \ctan{xcolor}, for colored identifiers, strings, comments, and + line numbers in listings; e.g.\ |\color||{gray}|. +\end{enumerate} +\item \withopt{math} \begin{enumerate} \item \ctan{amsmath} for tons of useful math commands, including |\text|, |\intertext|, and |\boxed| as well as the |bmatrix|, |multiline|, |gather|, |align|, and @@ -81,11 +137,14 @@ due date). Guide for the \package{amsmath} Package''} for a more complete listing. \item \ctan{mathtools} for other useful/utilitarian commands. + \item With \fontspecok, \ctan{unicode-math} to allow equations to be + copy-pasted. + \item The \ctan{stix2-otf} math fonts. \end{enumerate} -\item Table packages: \begin{enumerate} +\item \withopt{tabu} \begin{enumerate} \item \ctan{multirow} for cells spanning multiple rows. - \item \ctan{booktabs} for good-by-default tables and the |\cline| - macro. + \item \ctan{booktabs} for beautiful-by-default tables and the + |\cline| macro. \item \ctan{tabu}, the best table package with dynamically resizable columns, easy creation of new column types, and more. \end{enumerate} @@ -97,25 +156,78 @@ due date). Class options are limited to configuration options which require the loading of fonts or other packages; ``string'' settings like the assignment's due -date are configured either with the |\problemsetsetup| command or the -commands described in section~\ref{sss:configcommands}. +date are configured with the |\bpsset| command. + +All class options can be negated with |no