diff options
Diffstat (limited to 'Master/texmf-dist/doc/latex')
-rw-r--r-- | Master/texmf-dist/doc/latex/exsheets/README | 12 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/exsheets/cntformats_en.pdf | bin | 416305 -> 0 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/exsheets/cntformats_en.tex | 310 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/exsheets/exsheets_en.pdf | bin | 675963 -> 672736 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/exsheets/exsheets_en.tex | 150 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/exsheets/tasks_en.pdf | bin | 444774 -> 0 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/exsheets/tasks_en.tex | 460 |
7 files changed, 91 insertions, 841 deletions
diff --git a/Master/texmf-dist/doc/latex/exsheets/README b/Master/texmf-dist/doc/latex/exsheets/README index b1408ac5818..3bbc7723442 100644 --- a/Master/texmf-dist/doc/latex/exsheets/README +++ b/Master/texmf-dist/doc/latex/exsheets/README @@ -1,14 +1,10 @@ -------------------------------------------------------------------------- -EXSHEETS 2014/06/27 +EXSHEETS 2014/07/20 bundled packages: -the EXSHEETS package v0.14 +the EXSHEETS package v0.15 Yet another package for the creation of exercise sheets the EXSHEETS-LISTINGS package v0.2 Using listings in exsheets -the CNTFORMATS package v0.6 - A different way to read counters. -the TASKS package v0.9c - Horizontal columned lists. -------------------------------------------------------------------------- Clemens Niederberger @@ -35,10 +31,6 @@ The exsheets bundle consists of the files exsheets_configurations.cfg, exsheets_en.tex, exsheets_en.pdf - - tasks.sty, tasks.cfg, tasks_en.tex, task_en.pdf - - - cntformats.sty, cntformats_en.tex, cntformats_en.pdf - - README -------------------------------------------------------------------------- If you have any ideas, questions, suggestions or bugs to report, please diff --git a/Master/texmf-dist/doc/latex/exsheets/cntformats_en.pdf b/Master/texmf-dist/doc/latex/exsheets/cntformats_en.pdf Binary files differdeleted file mode 100644 index 8cf3a16ec5d..00000000000 --- a/Master/texmf-dist/doc/latex/exsheets/cntformats_en.pdf +++ /dev/null diff --git a/Master/texmf-dist/doc/latex/exsheets/cntformats_en.tex b/Master/texmf-dist/doc/latex/exsheets/cntformats_en.tex deleted file mode 100644 index 261b9bdb6d3..00000000000 --- a/Master/texmf-dist/doc/latex/exsheets/cntformats_en.tex +++ /dev/null @@ -1,310 +0,0 @@ -% arara: pdflatex -% !arara: biber -% !arara: pdflatex -% arara: pdflatex -% -------------------------------------------------------------------------- -% the CNTFORMATS package -% -% A different way to read counters -% -% -------------------------------------------------------------------------- -% Clemens Niederberger -% Web: https://bitbucket.org/cgnieder/exsheets/ -% E-Mail: contact@mychemistry.eu -% -------------------------------------------------------------------------- -% Copyright 2011-2014 Clemens Niederberger -% -% 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 2005/12/01 or later. -% -% This work has the LPPL maintenance status `maintained'. -% -% The Current Maintainer of this work is Clemens Niederberger. -% -------------------------------------------------------------------------- -% The translations package is part of the exsheets bundle -% -------------------------------------------------------------------------- -% If you have any ideas, questions, suggestions or bugs to report, please -% feel free to contact me. -% -------------------------------------------------------------------------- -\documentclass[load-preamble+]{cnltx-doc} -\usepackage{cntformats} - -\setcnltx{ - package = {cntformats} , - authors = Clemens Niederberger , - email = {contact@mychemistry.eu} , - url = {https://bitbucket.org/cgnieder/exsheets/} , - info = {% - {\small part of the \href{exsheets_en.pdf}{\ExSheets} - bundle}\\[\baselineskip] - a different way to read counters% - } , - add-cmds = { - @cntfmts@parsed@pattern, AddCounterPattern, - eSaveCounterPattern, - NewCounterPattern, NewPatternFormat, - ReadCounterFrom, ReadCounterPattern, ReadCounterPatternFrom, - SaveCounterPattern - } , - add-silent-cmds = { - alphalph, - cs, - ExplSyntaxOff, ExplSyntaxOn, - int, - myoddnumber, - numexpr, ordinalnum, - relax, - somesetupcommand, - tmpa, tmpb, the - } -} - -\defbibheading{bibliography}[\bibname]{\addsec{#1}} - -\newpackagename\ExSheets{ExSheets} -\def\at{\cnltxat} - -\usepackage[biblatex]{embrac}[2012/06/29] - \ChangeEmph{[}[,.02em]{]}[.055em,-.08em] - \ChangeEmph{(}[-.01em,.04em]{)}[.04em,-.05em] - -\usepackage{booktabs,array,ragged2e} -\usepackage{subcaption} - -% ---------------------------------------------------------------------------- -% example definitions that have to be done in the preamble: -\usepackage{alphalph} -\NewPatternFormat{aa}{\alphalph} -\usepackage{fmtcount} -\NewPatternFormat{o}{\ordinalnum} -\newcommand*\myoddnumber[1]{\the\numexpr2*(#1)-1\relax} -\NewPatternFormat{x}{\myoddnumber} -\NewCounterPattern{testa}{ta} - -\begin{document} - -\section{Motivation} -\cntformats\ provides a way to format counters with what I will call patterns. -This does not in any way effect the usual \LaTeXe\ way of treating counters -and does not use \cs*{the\meta{counter}} nor is it affected by the redefinition of -them. - -This package is aimed at package or class authors and probably not very useful -for document authors. - -When I first had the idea for this package the idea of what it does already -existed as part of the \ExSheets\ package. I can't recall why I came up with -the idea in the first place or why I originally wanted a new syntax for -formatting the \code{question} counter. I am also not convinced any more that -it is a good idea. Anyway, here we are. - -\section{License and Requirements}\label{sec:license} -\license - -\cntformats\ requires the \needpackage{etoolbox} package~\cite{pkg:etoolbox} -and the \pkg*{cnltx-base}\footnote{\CTANurl{cnltx}} package~\cite{bnd:cnltx}. - -\section{Example} -A use case typically looks as follows: -\begin{example}[side-by-side] - \ReadCounterPattern{se.sse} -\end{example} -where the key \code{se} stands for the current value of the \code{section} -counter and \code{sse} for \code{subsection}, respectively. \code{se.sse} is -an example for what will be called \emph{pattern}. The keys for the counters -can have optional arguments that specify the format: -\begin{example}[side-by-side] - \stepcounter{subsection} - \ReadCounterPattern{se[A](sse[r])} -\end{example} -\code{A} stands for \cs*{Alph} and \code{r} for \cs*{roman}. A complete list -can be found in table~\ref{tab:predefined:formats} on -page~\pageref{tab:predefined:formats}. As you can see you can insert -arbitrary other tokens in a pattern that won't be changed. It is important to -notice, though, that the patterns are only replaced if they're \emph{not} -placed in a braced group! - -\begin{example}[side-by-side] - \ReadCounterPattern{{se[A](sse[r])}} -\end{example} - -I would imagine that the argument to \cs{ReadCounterPattern} is usually -supplied by a user setting an option \ldots -\begin{sourcecode} - \somesetupcommand{ - counter-format = se[A](sse[r]) - } -\end{sourcecode} -\ldots{} and then internally used by the corresponding package or class. - - -\section{Usage} -In the following description of the available commands the symbol -\textcolor{expandable}{\expandablesign} means that the command is expandable. - -In order to make counters known to \cntformats\ the following commands are used: -\begin{commands} - \command{AddCounterPattern}[\sarg\oarg{module}\marg{counter}\marg{pattern}] - This command will make the (existing) counter \meta{counter} known to - \cntformats\ and assign the pattern \meta{pattern} to it. - \command{NewCounterPattern}[\sarg\oarg{module}\marg{counter}\marg{pattern}] - This command will create a new counter \meta{counter}, make it known to - \cntformats\ and assign the pattern \meta{pattern} to it. - \command{ReadCounterFrom}[\oarg{module}\marg{counter}\marg{internal cmd}] - If you use one of the commands above with the starred version the number - for the pattern is not automatically fetched from the internal - \cs*{c@\meta{counter}}. This can now be assigned with - \cs{ReadCounterFrom} where \meta{internal cmd} is the macro that holds - the number. -\end{commands} -The commands above can only be used in the document preamble. - -After the creation of these pattern markers one wants to be able to use them. -There are a number of macros that allow different aspects of usage. -\begin{commands} - \command{ReadCounterPattern}[\oarg{module}\marg{pattern}] - Reads, interprets and prints a pattern. - \expandable\command{\at cntfmts\at parsed\at pattern} - After \cs{ReadCounterPattern} has been used the current pattern - interpretation is stored in this macro. The \emph{interpretation} is - \emph{not} what is printed. See the examples below for details. - \command{ReadCounterPatternFrom}[\oarg{module}\marg{macro that holds - pattern}] - Reads, interprets and prints a pattern that's stored in a macro.\\ - Otherwise the same as \cs{ReadCounterPattern}. - \command{SaveCounterPattern}[\marg{cmd a}\marg{cmd b}\marg{pattern}] - Saves the \meta{pattern} in \meta{cmd a} and the interpreted pattern in - \meta{cmd b}. - \command{eSaveCounterPattern}[\oarg{module}\marg{cmd a}\marg{cmd - b}\marg{pattern}] - Saves the \meta{pattern} in \meta{cmd a} and the expanded pattern in - \meta{cmd b}. - \command{SaveCounterPatternFrom}[\oarg{module}\marg{cmd a}\marg{cmd - b}\marg{macro that holds pattern}] - Like \cs{SaveCounterPattern} but reads the pattern from a macro. - \command{eSaveCounterPatternFrom}[\oarg{module}\marg{cmd a}\marg{cmd - b}\marg{macro that holds pattern}] - Like \cs{eSaveCounterPattern} but reads the pattern from a macro. -\end{commands} - -The optional argument \meta{module} should be specific for a package, say, so -that different patterns for the \code{section} for example don't interfer with -each other. If you leave the argument the default module \code{cntfmts} is -used. - -The \ExSheets\ packages uses the commands with the module \code{exsheets}. -You can find the following lines in \ExSheets' code: -\begin{sourcecode} - \AddCounterPattern*[exsheets]{section}{se} - \ReadCounterFrom[exsheets]{section} \l__exsheets_counter_sec_int - \NewCounterPattern*[exsheets]{question}{qu} - \ReadCounterFrom[exsheets]{question} \l__exsheets_counter_qu_int -\end{sourcecode} - -Now let's see a short example that hopefully explains what the macros do: -\begin{example} - % preamble - % \NewCounterPattern{testa}{ta} - \setcounter{testa}{11} - \ReadCounterPattern{ta} - \ReadCounterPattern{ta[a]} \\ - \ttfamily\makeatletter - \meaning\@cntfmts@parsed@pattern - - \bigskip - \SaveCounterPattern\tmpa\tmpb{ta[a]} - \meaning\tmpa \\ - \meaning\tmpb - - \bigskip - \eSaveCounterPattern\tmpa\tmpb{ta[a]} - \meaning\tmpa \\ - \meaning\tmpb -\end{example} -You can see that somehow an additional \cs*{@empty} found its way into the -interpreted pattern. This is due to the fact that reading optional arguments -expandably isn't easy and must have some safety net. - -\section{Predefined and New Patterns and Format Keys} -\subsection{Predefined Patterns and Format Keys} -\cntformats\ predefines a number of pattern keys. These are listed in -table~\ref{tab:predefined:patterns}. - -\subsection{New Patterns and Format Keys} -Table~\ref{tab:predefined:formats} lists the predefined formats. If you want -you can add own formats. -\begin{commands} - \command{NewPatternFormat}[\marg{pattern}\marg{format}] - \meta{format} is a number presentation command like \cs*{@alph}, \ie, - it needs a mandatory argument that takes a number. It is used in - \meta{format} \emph{without} its argument. This command can only be used - in the preamble. -\end{commands} - -\begin{table} - \centering - \caption{Predefined Patterns and Format Keys.} - \addtocounter{table}{-1}% necessary fix for subcaption and KOMA - \begin{minipage}{.48\linewidth} - \centering - \subcaption{Predefined Patterns for the module \code{cntfmts}.} - \label{tab:predefined:patterns} - \begin{tabular}{>{\ttfamily}l>{\ttfamily}l} - \toprule - \normalfont\bfseries counter & \normalfont\bfseries pattern \\ - \midrule - chapter & ch \\ - section & se \\ - subsection & sse \\ - subsubsection & ssse \\ - paragraph & pg \\ - \bottomrule - \end{tabular} - \end{minipage} - \begin{minipage}{.48\linewidth} - \centering - \subcaption{Predefined Format Keys} - \label{tab:predefined:formats} - \begin{tabular}{>{\ttfamily}ll} - \toprule - \normalfont\bfseries key & \normalfont\bfseries format \\ - \midrule - 1 & \cs*{arabic} \\ - a & \cs*{alph} \\ - A & \cs*{Alph} \\ - r & \cs*{roman} \\ - R & \cs*{Roman} \\ - \bottomrule - \end{tabular} - \end{minipage} -\end{table} - -Here are now a few examples of possible new patterns. Suppose the following code -in the preamble: -\begin{sourcecode} - \usepackage{alphalph,fmtcount} - \newcommand*\myoddnumber[1]{\the\numexpr2*(#1)-1\relax} - - \NewPatternFormat{aa}{\alphalph} - \NewPatternFormat{o}{\ordinalnum} - \NewPatternFormat{x}{\myoddnumber} - - \newcounter{testa} - \NewCounterPattern{testa}{ta} - \setcounter{testa}{4} -\end{sourcecode} - -Then we can use the new pattern and the new formats as -follows:\setcounter{testa}{4} -\begin{example} - \ReadCounterPattern{ta[aa]} - \ReadCounterPattern{ta[o]} - \ReadCounterPattern{ta[x]} -\end{example} - -\end{document} diff --git a/Master/texmf-dist/doc/latex/exsheets/exsheets_en.pdf b/Master/texmf-dist/doc/latex/exsheets/exsheets_en.pdf Binary files differindex 191ab5488e5..e0d18574c53 100644 --- a/Master/texmf-dist/doc/latex/exsheets/exsheets_en.pdf +++ b/Master/texmf-dist/doc/latex/exsheets/exsheets_en.pdf diff --git a/Master/texmf-dist/doc/latex/exsheets/exsheets_en.tex b/Master/texmf-dist/doc/latex/exsheets/exsheets_en.tex index a96d6c2584c..728d373118f 100644 --- a/Master/texmf-dist/doc/latex/exsheets/exsheets_en.tex +++ b/Master/texmf-dist/doc/latex/exsheets/exsheets_en.tex @@ -1,8 +1,8 @@ % arara: pdflatex % !arara: biber +% arara: pdflatex % !arara: pdflatex % !arara: pdflatex -% arara: pdflatex % -------------------------------------------------------------------------- % the EXSHEETS package % @@ -31,7 +31,7 @@ % feel free to contact me. % -------------------------------------------------------------------------- \documentclass[load-preamble+,scrartcl={DIV10}]{cnltx-doc} -\usepackage[load-headings,load-tasks]{exsheets} +\usepackage{exsheets} \setcnltx{ package = {exsheets} , authors = Clemens Niederberger , @@ -39,8 +39,7 @@ url = {https://bitbucket.org/cgnieder/exsheets/} , title = the \ExSheets\ bundle , info = {% - the packages \ExSheets, \ExSheetslistings, \href{tasks_en.pdf}{\Tasks} and - \href{cntformats_en.pdf}{\cntformats}\\ + the packages \ExSheets{} and \ExSheetslistings \\ \emph{or}\\ Yet another package for the creation of exercise sheets and exams.% } , @@ -75,6 +74,7 @@ GetQuestionProperty, grade, includequestions,iflastquestion, + IfQuestionPropertyF,IfQuestionPropertyT,IfQuestionPropertyTF, IfQuestionSubtitleF,IfQuestionSubtitleT,IfQuestionSubtitleTF, lastvariant, NewQuSolPair,NewLstQuSolPair, @@ -133,8 +133,6 @@ \usepackage{exsheets-listings} \edef\exsheetslistingsverion{v\csname exsheets@listings@version\endcsname} -\edef\cntfmtsversion{\csname @cntfmts@version\endcsname} -\edef\tasksversion{v\csname @tasks@version\endcsname} \microtypesetup{tracking=scshape} @@ -282,18 +280,14 @@ in section~\ref{sec:additional_info}. Then there is --~at least in Germany~-- the habit of having lists of exercises aligned in columns but counting from the left to the right instead from up to -down. \ExSheets\ provides a possibility for that (see the \Tasks\ package). -I am not quite content with it as it works now, though\footnote{There are - still other possibilities, for example take a look here: - \url{http://tex.stackexchange.com/questions/67966/enumerate-in-multicols} or - at the \pkg{multienum} package~\cite{pkg:multienum}.}. - -On the other hand \ExSheets\ doesn't --~and probably won't~-- offer a real -possibility for creating multiple choice questions. As a fact it doesn't -provide many (if any) means to specify the \emph{type} of question or the -structure. If these are your needs take a look at -\pkg{examdesign}~\cite{pkg:examdesign}, for example. Or exploit the -possibilities \pkg{enumitem}~\cite{pkg:enumitem} gives you. +down. That's why the \pkg{tasks} package was developed as part of \ExSheets{} +and was ditrsibuted as part of the bundle\changedversion{0.15}. Now it is a +package of its own but is loaded by \ExSheets{} automatically with the +necessary setup to make them work together nicely. + +\ExSheets{} has no native support for multiple choice tests but that doesn't +mean that you can't create them with \ExSheets. It just means that they may +be a bit more work with \ExSheets{} than with other packages. I had the idea for this package in 2008. Back then my \TeX{} skills were by far not good enough to write it. Actually, even today I wouldn't have been @@ -304,21 +298,17 @@ wider usage. At the time of writing (\today) there still are probably lots of rough edges let alone bugs so I am very interested in all kinds of feedback. \section{Additional Packages} -\ExSheets\ actually bundles four packages: \ExSheets, \ExSheetslistings\ -\Tasks\ and \cntformats. \ExSheetslistings\ is an add-on to \ExSheets\ -that offers some functionality to use \pkg{listings} with \ExSheets. It is -presented in part~\ref{part:listings}. - -The \Tasks\ package and the \cntformats\ package have their own -documentation. These packages provide functionality that is used by -\ExSheets. They can, however, be used independently from \ExSheets. - -The package \cntformats\ is probably not really useful on a user-level but -maybe for package writers. +\ExSheets\ actually bundles two packages: \ExSheets, \ExSheetslistings. +\ExSheetslistings\ is an add-on to \ExSheets\ that offers some functionality +to use \pkg{listings} with \ExSheets. It is presented in +part~\ref{part:listings}. \ExSheets\ used to bundle the \pkg{translations} package, too\changedversion{0.9i}, but doesn't any more. You can find the -\pkg{translations} package as a package of it's own on the \ac{ctan}. +\pkg{translations} package as a package of it's own on the \ac{ctan}. It also +used to bundle the packages \pkg{tasks} and +\pkg{cntformats}\changedversion{0.15}. They're available now as packages of +their own as well. \section{Installation and Documentation} If you install \ExSheets\ manually beware to put the files @@ -327,26 +317,23 @@ If you install \ExSheets\ manually beware to put the files \item[]\verb+exsheets_headings.cfg+ \end{itemize} in the same directory as the \code{exsheets.sty} file\footnote{That is, a - directory like \code{texmf-local/tex/latex/exsheets}, probably}. You -\emph{can} install the other packages, \Tasks\ and \cntformats, in different -locations but since they belong to \ExSheets\ they probably should be placed -in the same directory. - -You should put the file \code{tasks.cfg} in the same directory as the -\code{tasks.sty} file. + directory like \code{texmf-local/tex/latex/exsheets}, probably}. As with every manual package installation you need to make sure to put the files in a directory where \TeX\ can find them and afterwards update the database. -\subsection{The \Tasks\ Package} -\noindent\sinceversion{0.9a}The \Tasks\ package has got its own documentation -- -\url{tasks_en.pdf}. Please read that file for details on the package. +\subsection{The \pkg*{tasks} Package} +The \pkg{tasks} package~\cite{pkg:tasks} used to be part of the \ExSheets\ +bundle but is a package of its own now\changedversion{0.15} and released +independently. You can find it as every other package on \ctan\ and in a full +\TeX~Live or \hologo{MiKTeX} installation. -\subsection{The \cntformats\ Package} -\noindent\sinceversion{0.5}The \cntformats\ package has got its own -documentation -- \url{cntformats_en.pdf}. Please read that file for details -on the package. +\subsection{The \pkg*{cntformats} Package} +The \pkg{cntformats} package~\cite{pkg:cntformats} used to be part of the +\ExSheets\ bundle but is a package of its own now\changedversion{0.15} and +released independently. You can find it as every other package on \ctan\ and +in a full \TeX~Live or \hologo{MiKTeX} installation. \subsection{The \pkg*{translations} Package} The \pkg{translations} package~\cite{pkg:translations} used to be part of the @@ -430,14 +417,26 @@ New options: \item New option \option{post-hook} to the \env{question} environment that allows to add code directly after the question body, see section~\ref{sec:opti-ques-envir}. - \item New command \cs{ExSheetsHeading}. + \item New command \cs{ExSheetsHeading}, see + section~\ref{sec:using-an-exsheets}. \item New pre-defined question properties \code{question-body}, - \code{bonus-points} and \code{counter}, see section - \ref{sec:additional_info}. + \code{bonus-points} and \code{counter}, see + section~\ref{sec:additional_info}. \item New option \option{save-to-aux}, see section \ref{sec:additional_info}. \end{itemize} +\subsection{Version 0.15} +\begin{itemize} + \item The packages \pkg{tasks} and \pkg{cntformats} have been removed from + the bundle and are now distributed as packages of their own. + \item The options \option*{load-headings} and \option*{load-tasks} have been + dropped. The optional functionality they provided is now provided all the + time. + \item New command \cs{IfQuestionPropertyTF}, see + section~\ref{sec:additional_info}. +\end{itemize} + \section{Thanks} I need to thank the many users who gave me feedback so far! For one thing this shows me that \ExSheets\ is useful to people. It also led to many @@ -512,14 +511,14 @@ The package \ExSheets\ has some options, namely the following ones: This code is placed immediately before the subtitle of the questions and solutions. It only has an effect with a title instance that uses the subtitle coffin, see section~\ref{sec:exsheets-headings}. - %% load-headings - \keybool{load-headings}\Default{false} - Loads additional styles for the headings. More on this is described in - section~\ref{sec:exsheets-headings}. - %% load-tasks - \keybool{load-tasks}\Default{false} - Loads additional styles for the \env{tasks} environment. See - the \href{tasks_en.pdf}{documentation of the \Tasks\ package}. + % %% load-headings + % \keybool{load-headings}\Default{false} + % Loads additional styles for the headings. More on this is described in + % section~\ref{sec:exsheets-headings}. + % %% load-tasks + % \keybool{load-tasks}\Default{false} + % Loads additional styles for the \env{tasks} environment. See + % the \href{tasks_en.pdf}{documentation of the \Tasks\ package}. %% totoc \keybool{totoc}\Default{false} This option adds the questions and solutions with their names and numbers @@ -1291,6 +1290,12 @@ Now the commands for recovering the properties: command is expandable. Since\changedversion{0.12} the properties of a question are written to the \code{aux} file it is possible to retrieve them before the corresponding \env{question} environment has been used. + \expandable\command{IfQuestionPropertyTF}[\marg{name}\marg{id}\marg{true}\marg{false}] + A command\sinceversion{0.15} that returns \meta{true} if the question with + the \acs{id} \meta{id} has the property \meta{name} and \meta{false} + otherwise. The variants \cs{IfQuestionPropertyT} and + \cs{IfQuestionPropertyF} also exist which only have the \meta{true} or the + \meta{false} branch. \end{commands} Let's say we have declared the properties \code{notes}, \code{reference} and @@ -1849,12 +1854,10 @@ handle pairs. \end{figure} The following subsections will show all definitions of the instances available -with the package option \option{load-headings} and how they look. This will -hopefully give you enough ideas to create your own instance if you want to -have another heading style than the ones available. - -Of you use the option \option{load-headings} each of the following instances is -available through the option \key{headings}{instance}. +and how they look. This will hopefully give you enough ideas to create your +own instance if you want to have another heading style than the ones +available. Each of the following instances is available through the option +\key{headings}{instance}. The following examples use a sample text defined as follows: \begin{sourcecode} @@ -2352,6 +2355,31 @@ Text before A `fancy-wp' heading. \sample \end{question} +\subsection{Using an \ExSheets{} Heading in Custom Code}\label{sec:using-an-exsheets} + +It can be useful to have access to \ExSheets{} headings in custom code. This +is possible with the following command\sinceversion{0.14}: + +\begin{commands} + \command{ExSheetsHeading}[\marg{instance}\marg{title}\marg{number}% + \marg{points}\marg{bonus}\marg{id}] + The meaning of the arguments is as follows: + \begin{itemize} + \item \meta{instance}: the name of the headings instance to be used. + \item \meta{title}: the contents of the \code{title} coffin. + \item \meta{number}: the contents of the \code{number} coffin. + \item \meta{points}: The number of points given to the question. If + non-zero this will cause the points to be printed in the \code{points} + coffin. + \item \meta{bonus}: the same as \meta{points} but for bonus points. + \item \meta{id}: the \acs{id} of the question this heading belongs to. + \end{itemize} +\end{commands} + +In combination with \cs{ForEachQuestion} the command can be used to build a +custom list of questions. An example of its usage can be seen at the German +Q\&A~site \TeX welt: \url{http://texwelt.de/wissen/fragen/6698#6738}. + \subsection{Load Custom Configurations} If you have custom configurations you want to be loaded automatically then save them in a file \code{exsheets\_configurations.cfg}. If this file is present it diff --git a/Master/texmf-dist/doc/latex/exsheets/tasks_en.pdf b/Master/texmf-dist/doc/latex/exsheets/tasks_en.pdf Binary files differdeleted file mode 100644 index 671ff5e4f3b..00000000000 --- a/Master/texmf-dist/doc/latex/exsheets/tasks_en.pdf +++ /dev/null diff --git a/Master/texmf-dist/doc/latex/exsheets/tasks_en.tex b/Master/texmf-dist/doc/latex/exsheets/tasks_en.tex deleted file mode 100644 index 8489ad90296..00000000000 --- a/Master/texmf-dist/doc/latex/exsheets/tasks_en.tex +++ /dev/null @@ -1,460 +0,0 @@ -% arara: pdflatex -% arara: biber -% arara: pdflatex -% arara: pdflatex -% -------------------------------------------------------------------------- -% the TASKS package -% -% horizontal columned lists -% -% -------------------------------------------------------------------------- -% Clemens Niederberger -% Web: https://bitbucket.org/cgnieder/exsheets/ -% E-Mail: contact@mychemistry.eu -% -------------------------------------------------------------------------- -% Copyright 2011-2014 Clemens Niederberger -% -% 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 2005/12/01 or later. -% -% This work has the LPPL maintenance status `maintained'. -% -% The Current Maintainer of this work is Clemens Niederberger. -% -------------------------------------------------------------------------- -% The tasks package is part of the exsheets bundle -% -------------------------------------------------------------------------- -% If you have any ideas, questions, suggestions or bugs to report, please -% feel free to contact me. -% -------------------------------------------------------------------------- -\documentclass[load-preamble+]{cnltx-doc} -\usepackage[more]{tasks} - -\setcnltx{ - package = {tasks} , - authors = Clemens Niederberger , - email = {contact@mychemistry.eu} , - url = {https://bitbucket.org/cgnieder/exsheets/} , - info = {% - {\small part of the \href{exsheets_en.pdf}{\ExSheets} - bundle}\\[\baselineskip] - create horizontal columned lists% - } , - add-cmds = { - checkedchoicebox , - choicebox, - NewTasks, - settasks, - startnewitemline , - task - } , - add-silent-cmds = { - choice, correct, - DeclareInstance, DeclareTemplateInterface, - leftthumbsup, - s, sample - } -} - -\newpackagename\ExSheets{ExSheets} -\newpackagename\ExSheetslistings{ExSheets-listings} -\newpackagename\cntformats{cntformats} -\newpackagename\Tasks{tasks} - -% ---------------------------------------------------------------------------- -% other packages, bibliography, index -\usepackage{xcoffins,wasysym,enumitem,booktabs,siunitx} -\usepackage[accsupp]{acro} -\DeclareAcronym{id}{ - short = id , - long = Identifier , - format = \scshape , - pdfstring = ID , - accsupp = ID -} - -\usepackage{filecontents} -\usepackage{csquotes} - - - -% ---------------------------------------------------------------------------- -% example definitions that have to be done in the preamble: -\usepackage{exsheets} -\usepackage{dingbat} -\NewTasks[style=multiplechoice]{multiplechoice}[\choice](3) -\newcommand*\correct{\PrintSolutionsTF{\checkedchoicebox}{\choicebox}} - - -\def\s{This is some sample text we will use to create a somewhat - longer text spanning a few lines.} -\def\sample{\s\ \s\par\s} - -\begin{document} - -\section{Motivation} -Originally \Tasks\ has been an integral part of \ExSheets\changedversion{0.7}. -However, users told me that it indeed could be useful to have it as a -stand-alone package not having to load the whole \ExSheets\ beast just for -having the \env{tasks} environment available. Since I agree with this the -environment has been extracted into a package if its own, \Tasks. - -The reason for the \env{tasks} environment is an unwritten agreement in German -maths textbooks (in (junior) high school, especially) to organize exercises in -columns counting horizontally rather than vertically. That is what -\code{tasks} primarily is for. If you don't need this feature you're better -off using traditional \LaTeX{} lists and the \pkg{enumitem} package for -customization. - -\section{License and Requirements}\label{sec:license} -\license - -\Tasks\ requires the \bnd{l3kernel}~\cite{bnd:l3kernel} bundle -,\needpackage{xparse}, \pkg{xtemplate} and \needpackage{l3keys2e} which are -part of the \bnd{l3packages}~\cite{bnd:l3packages} bundle, -\pkg{epic}~\cite{pkg:epic}, \pkg{cntformats}\footnote{Part of the \ExSheets\ - bundle}, and \pkg{environ}~\cite{pkg:environ}. - - -\section{How it works} -\subsection{The Basics} -The \env{tasks} environment is similar to a list like \env{enumerate} but not -the same. Here are some of the differences: -\begin{itemize} - \item A first difference: there is no pagebreak possible inside an item but - only between items. - \item A second difference: the enumeration default is a), b), c) \ldots - \item A third difference: there is a split at \emph{every} occurrence of the - item separator. For this reason the default separator is not \cs*{item} - but \cs{task} so it is unique to this environment only. - \item A fourth difference: the \env{tasks} environment cannot be nested. - You can, however, use an \env*{itemize} environment or something in it. - \item A fifth difference: verbatim material cannot be used in it. You'll - have to use \cs*{string}, \cs*{texttt} or \cs*{detokenize}. If this - won't suffice then don't use \env{tasks}. -% \item A sixth difference: %footnotes -\end{itemize} - -\begin{environments} - \environment{tasks}[\oarg{options}\darg{num of columns}] - List like environment where the single items are iintroduced with - \cs{task}. -\end{environments} -Let's see an example: -\begin{example} - % \sample is defined to contain some sample text: - % \def\s{This is some sample text we will use to create a somewhat - % longer text spanning a few lines.} - % \def\sample{\s\ \s\par\s} - Some text before the list. - \begin{tasks} - \task \sample - \task \sample - \task \sample - \end{tasks} - And also some text after it. -\end{example} - -The environment takes the optional argument \darg{num of columns} with which -the number of columns used by the environment is specified. -\begin{example} - \begin{tasks}(2) - \task \sample - \task \s\ \s - \task \s - \task \sample - \task \s\par\s - \end{tasks} -\end{example} - -\subsection{Introducing a New Row} -Sometimes it may come in handy if the current\sinceversion{0.9} row of items -could be terminated and a new one is started. This is possible with the -following command: -\begin{commands} - \command{startnewitemline} - Introduce a new line in a \env{tasks} environment. -\end{commands} -\begin{example} - \begin{tasks}(4) - \task the first - \task the second - \task the third - \task the fourth - \task \rlap{the fifth item is way too long for this so we start a new row} - \startnewitemline - \task the sixth - \task the seventh - \task \rlap{the eighth item also is too long} \startnewitemline - \task the nineth - \task the tenth - \end{tasks} -\end{example} - - - -\section{Available Options}\label{sec:tasks:options} -The \Tasks\ package has one package option which also is called when you load -\ExSheets\ with the \option{load-tasks} option. -\begin{options} - \opt{more} - Load additional instances for the \env{tasks} object, details are - explained later in section~\ref{sec:tasks:instances}. -\end{options} - -The environment itself has some more options, namely the following ones that -can be set using a setup command: -\begin{commands} - \command{settasks}[\marg{options}] - Setup command for \Tasks. -\end{commands} -\begin{options} - \keyval{style}{instance}\Default - Choose the instance to be used. Read more on this in - section~\ref{sec:tasks}. - \keyval{counter-format}{counter specs}\Default - \sinceversion{0.9}Sets a custom label. The letters \code{tsk} are - replaced with the task-counter. An optional argument directly following - these letters specifies the counter format: \code{1}: \cs*{arabic}, - \code{a}: \cs*{alph}, \code{A}: \cs*{Alph}, \code{r}: \cs*{roman} and - \code{R}: \cs*{Roman}. - \keyval{label-format}{code}\Default - \changedversion{0.9}Can be used to apply a formatting like, \eg, - \cs*{bfseries} to the labels. - \keyval{label}{code}\Default - \changedversion{0.9}Overwrite the automatic label to a custom one. - \keyval{label-width}{dim}\Default{1em} - Sets the width of the item labels. - \keyval{label-offset}{dim}\Default{.3333em} - \sinceversion{0.7}Sets the offset, \ie, the distance between label and - item. - \keyval{item-indent}{dim}\Default{2.5em} - \sinceversion{0.9a}The indent of an item, \ie, the horizontal space - available for both label and label-offset. If - \[ - \text{\code{indent}} = - \text{\code{label-width}} + \text{\code{label=offset}} - \] - the label will align with the textblock above (if - \keyis{label-align}{left} is set). - \keychoice{label-align}{left,right,center}\Default{left} - \sinceversion{0.7}Determines how the labels are aligned within the - label-box whose width is set with \option{label-width}. - \keyval{before-skip}{skip}\Default{0pt} - Sets the skip before the list. - \keyval{after-skip}{skip}\Default{0pt} - Sets the skip after the list. - \keyval{after-item-skip}{skip}\Default{1ex plus 1ex minus 1ex} - \sinceversion{0.9}This vertical skip is inserted between rows of items. - \keybool{resume}\Default{false} - The enumeration will resume from a previous \env{tasks} environment. In - order to use this option properly you shouldn't mix different \env{tasks} - environments that both count their items. -\end{options} - -Now the same list as above but with three columns and a different label: -\begin{example} - \begin{tasks}[counter-format=(tsk[r]),label-width=4ex](2) - \task \sample - \task \s\ \s - \task \s - \task \sample - \task \s\par\s - \end{tasks} -\end{example} -% \begin{tasks}[counter-format=(tsk[r]),label-width=4ex](3) -% \task \sample -% \task \s\ \s -% \task \s -% \task \sample -% \task \s\par\s -% \end{tasks} - -Let's use it inside a question, \ie, inside \ExSheets' \env{question} -environment: -\begin{example} - % since settings are local the following ones will be lost - % outside this example; - \settasks{ - counter-format = qu.tsk , - item-indent = 2em , - label-width = 2em , - label-offset = 0pt - } - \begin{question}[type=exam]{4} - I have these two tasks for you. Shall we begin? - \begin{tasks}(2) - \task The first task: easy! - \task The second task: even more so! - \end{tasks} - \end{question} - \begin{solution}[print] - Now, let's see\ldots\ ah, yes: - \begin{tasks} - \task This is the first solution. Told you it was easy. - \task This is the second solution. And of course you knew that! - \end{tasks} - \end{solution} -\end{example} - -\section{Available Instances}\label{sec:tasks:instances} -When you use the package option \option{more} of the \Tasks\ package or load -\ExSheets\ with the \option{load-tasks} option there are currently three -additional instances for the \code{tasks} object available: -\begin{description} - \item[itemize] uses \cs*{labelitemi} as labels. - \item[enumerate] enumerates the items with 1., 2., \ldots - \item[multiplechoice] a --~well~-- `multiple choice' list. -\end{description} -\begin{example} - \begin{tasks}[style=itemize](2) - \task that's just how\ldots - \task \ldots we expected - \end{tasks} - \begin{tasks}[style=enumerate](2) - \task that's just how\ldots - \task \ldots we expected - \end{tasks} - \begin{tasks}[style=multiplechoice](2) - \task that's just how\ldots - \task \ldots we expected - \end{tasks} -\end{example} - -\section{Custom Labels} -If you want to change a single label inside a list, you can use the optional -argument of \cs{task}. This will temporarily overwrite the default label. -\begin{example}[side-by-side] - \begin{tasks}[style=itemize] - \task a standard item - \task another one - \task[+] a different one - \task and another one - \end{tasks} -\end{example} - -\section{New Tasks} -It is possible to add custom environments that work like the \code{tasks} -environment. -\begin{commands} - \command{NewTasks}[\oarg{options}\marg{name}\oarg{separator}\darg{cols}] - Define environment \meta{name} that uses \meta{separator} to introduce a - new item. Default for \meta{separator} is \cs{task}, default for - \meta{cols} is \code{1}. The \meta{options} are the ones described in - section~\ref{sec:tasks:options}. - \command{RenewTasks}[\oarg{options}\marg{name}\oarg{separator}\darg{cols}] - Renew environment previously defined with \cs{NewTasks}. -\end{commands} -The \env{tasks} environment is defined as follows: -\begin{sourcecode} - \NewTasks{tasks} -\end{sourcecode} - -The separator does not have to be a control sequence: -\begin{example} - % preamble: - % \usepackage{dingbat} - \NewTasks[label=\footnotesize\leftthumbsup,label-width=1.3em]{done}[*] - \begin{done} - * First task - * Second Task - \end{done} -\end{example} -Although this might seem handy or even nice I strongly advice against using -something different than a command sequence. Remember that the items will be -split at \emph{every} occurrence of the separator. So in order to use the -separator (here for example for a starred variant of a command) within an item -it has to be hidden in braces. This is avoided of you use a command sequence -which even doesn't have to be defined. - -Let's say you want a \env*{multiplechoice} environment that has three columns -in its default state. You could do something like this: -\begin{example} - % preamble: - % \NewTasks[style=multiplechoice]{multiplechoice}[\choice](3) - % \newcommand*\correct{\PrintSolutionsTF{\checkedchoicebox}{\choicebox}} - % - % \PrintSolutionsTF and the {question} environment are provided - % by the ExSheets package - \begin{question} - \begin{multiplechoice} - \choice First choice - \choice Second choice - \choice[\correct] Third choice - \end{multiplechoice} - \end{question} - \begin{solution}[print] - \begin{multiplechoice} - \choice First choice - \choice Second choice - \choice[\correct] Third choice - \end{multiplechoice} - \end{solution} -\end{example} - -The last example shows you two additional commands: -\begin{commands} - \command{choicebox}[\quad\choicebox] - Print an empty square. - \command{checkedchoicebox}[\quad\checkedchoicebox] - Print a crossed-out square. -\end{commands} - - -\section{Styling \Tasks} -Equivalent to the styling of \ExSheets\ \Tasks\ uses \pkg{xtemplate} to -declare additional instances for the lists. - -\subsection{The \code{tasks} Object}\label{sec:tasks} -The object that's defined by \Tasks\ is the `tasks' object. This time there -are four instances available for the one template (again `default') that was -defined. - -\subsubsection{Available Options} -This section only lists the options that can be used when defining an instance -of the `default' template. The following subsections will give some examples -of their usage. - -\begin{sourcecode} - \DeclareTemplateInterface{tasks}{default}{3} - { - % option : type = default - enumerate : boolean = true , - label : tokenlist , - indent : length = 2.5em , - counter-format : tokenlist = tsk[a]) , - label-format : tokenlist , - label-width : length = 1em , - label-offset : length = .3333em , - after-item-skip : skip = 1ex plus 1ex minus 1ex - } -\end{sourcecode} - -\subsubsection{Predefined Instances} -This is rather brief this time: -\begin{sourcecode} - % ALPHABETIZE: a) b) c) - \DeclareInstance{tasks}{alphabetize}{default}{} - % available when `load-tasks=true': - % ITEMIZE: - \DeclareInstance{tasks}{itemize}{default} - { - enumerate = false , - label-width = 1.125em - } - % ENUMERATE: - \DeclareInstance{tasks}{enumerate}{default} - { counter-format = tsk. } - % MULTIPLECHOICE: - \DeclareInstance{tasks}{multiplechoice}{default} - { - enumerate = false , - label = \choicebox , - } -\end{sourcecode} - -\end{document} |