summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/latex/exsheets
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2014-07-20 22:05:15 +0000
committerKarl Berry <karl@freefriends.org>2014-07-20 22:05:15 +0000
commit0e871146bcb1bf041dac127d5b76011aa31e28aa (patch)
tree527340c7b55c4780d82bb55b95844d571ed58ace /Master/texmf-dist/doc/latex/exsheets
parent320402419add6802f1b48c988bea73773d0d67d4 (diff)
exsheets (20jul14)
git-svn-id: svn://tug.org/texlive/trunk@34665 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/latex/exsheets')
-rw-r--r--Master/texmf-dist/doc/latex/exsheets/README12
-rw-r--r--Master/texmf-dist/doc/latex/exsheets/cntformats_en.pdfbin416305 -> 0 bytes
-rw-r--r--Master/texmf-dist/doc/latex/exsheets/cntformats_en.tex310
-rw-r--r--Master/texmf-dist/doc/latex/exsheets/exsheets_en.pdfbin675963 -> 672736 bytes
-rw-r--r--Master/texmf-dist/doc/latex/exsheets/exsheets_en.tex150
-rw-r--r--Master/texmf-dist/doc/latex/exsheets/tasks_en.pdfbin444774 -> 0 bytes
-rw-r--r--Master/texmf-dist/doc/latex/exsheets/tasks_en.tex460
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
deleted file mode 100644
index 8cf3a16ec5d..00000000000
--- a/Master/texmf-dist/doc/latex/exsheets/cntformats_en.pdf
+++ /dev/null
Binary files differ
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
index 191ab5488e5..e0d18574c53 100644
--- a/Master/texmf-dist/doc/latex/exsheets/exsheets_en.pdf
+++ b/Master/texmf-dist/doc/latex/exsheets/exsheets_en.pdf
Binary files differ
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
deleted file mode 100644
index 671ff5e4f3b..00000000000
--- a/Master/texmf-dist/doc/latex/exsheets/tasks_en.pdf
+++ /dev/null
Binary files differ
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}