summaryrefslogtreecommitdiff
path: root/Master/texmf-dist
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2023-09-06 20:15:28 +0000
committerKarl Berry <karl@freefriends.org>2023-09-06 20:15:28 +0000
commita07688a9ea2f4df2f15254d462000070ec2e09d2 (patch)
tree68fc59b7243739e30c704f931c695785ff4dfea5 /Master/texmf-dist
parent0c232887be2a49f8f428fff65955a18d4d77d538 (diff)
exesheet (6sep23)
git-svn-id: svn://tug.org/texlive/trunk@68192 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist')
-rw-r--r--Master/texmf-dist/doc/latex/exesheet/README.md2
-rw-r--r--Master/texmf-dist/doc/latex/exesheet/exesheet.pdfbin293501 -> 294607 bytes
-rw-r--r--Master/texmf-dist/source/latex/exesheet/exesheet.dtx371
-rw-r--r--Master/texmf-dist/tex/latex/exesheet/exesheet.cls2
-rw-r--r--Master/texmf-dist/tex/latex/exesheet/exesheet.sty32
5 files changed, 229 insertions, 178 deletions
diff --git a/Master/texmf-dist/doc/latex/exesheet/README.md b/Master/texmf-dist/doc/latex/exesheet/README.md
index 0f6ff627cd2..6ce90328572 100644
--- a/Master/texmf-dist/doc/latex/exesheet/README.md
+++ b/Master/texmf-dist/doc/latex/exesheet/README.md
@@ -10,7 +10,7 @@ This package offers the following features:
- macros for organizing exercises and subparts,
- specific settings for enumeration lists,
- environments for questions and answers, with conditional display,
-- macros to display a marking scheme with detailed comments in thee margins.
+- macros to display a marking scheme with detailed comments in the margins.
## Installation
diff --git a/Master/texmf-dist/doc/latex/exesheet/exesheet.pdf b/Master/texmf-dist/doc/latex/exesheet/exesheet.pdf
index 87adb6ee65c..f9845a9ce1b 100644
--- a/Master/texmf-dist/doc/latex/exesheet/exesheet.pdf
+++ b/Master/texmf-dist/doc/latex/exesheet/exesheet.pdf
Binary files differ
diff --git a/Master/texmf-dist/source/latex/exesheet/exesheet.dtx b/Master/texmf-dist/source/latex/exesheet/exesheet.dtx
index 1e5355ba3a4..2baac97fae7 100644
--- a/Master/texmf-dist/source/latex/exesheet/exesheet.dtx
+++ b/Master/texmf-dist/source/latex/exesheet/exesheet.dtx
@@ -23,7 +23,7 @@
%<class>\ProvidesClass{exesheet}
%<package>\ProvidesPackage{exesheet}
%<*class|package>
-[2023/08/25 v2.1 .dtx exesheet file]
+[2023/09/05 v2.2 .dtx exesheet file]
%</class|package>
%<*driver>
\documentclass{ltxdoc}
@@ -83,7 +83,7 @@
%</driver>
% \fi
%
-% \CheckSum{1132}
+% \CheckSum{1141}
%
% \CharacterTable
% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
@@ -102,44 +102,52 @@
% Right brace \} Tilde \~}
%
% \changes{v0.0}{2010/09/01}{Initial personal version}
-% \changes{v0.9}{2020/01/02}{Initial documentation in french}
-% \changes{v1.0}{2020/07/22}{Initial public version with documentation in english}
+% \changes{v0.9}{2020/01/02}{Initial documentation in French}
+% \changes{v1.0}{2020/07/22}{Initial public version with documentation in English}
% \changes{v1.1}{2021/08/30}{
-% Macro tablenum (also used by siunitx) replaced by tablenum1,
-% small modifications due to changes in tasks package}
+% - macro tablenum (also used by siunitx) is replaced by tablenum1,
+% - small modifications due to changes in the tasks package}
%
% \changes{v1.2}{2021/09/18}{
-% Bug correction in macros tablenum1 and tablenuma,
-% using the translations package for internationalization}
+% - bug correction in the tablenum1 and tablenuma macros,
+% - using the translations package for internationalization}
%
% \changes{v1.3}{2021/11/15}{
-% Bad spacing in the exe macro and bug correction in the starred version of this macro}
+% - bad spacing in the exe macro and bug correction in the starred version of this macro}
%
% \changes{v2.0}{2022/12/28}{
-% options toc and setlist with kvoptions (instead of notoc and nosetlist),
-% introducing the key 'output' instead of old commands questionsonly, answersonly,
-% introducing the key 'display' instead of old command displaypts, displaypoints,
+% - options 'toc' and 'setlist' with kvoptions (instead of notoc and nosetlist),
+% - introducing the 'output' key instead of the old commands questionsonly, answersonly,
+% - introducing the 'display' key instead of the old commands displaypts, displaypoints,
% displaynotes,
-% introducing the keys 'margin' and 'noteragged' to set how the notes are displayed,
-% introducing the key 'correct'}
+% - introducing the 'margin' and 'noteragged' keys, to set how the notes are displayed,
+% - introducing the 'correct' key}
% \changes{v2.0}{2023/01/02}{
-% documentation update,
-% new option checkpts}
+% - documentation update,
+% - new option 'checkpts'}
% \changes{v2.0}{2023/01/09}{
-% new option 'marginwidth',
-% modifying hmarginratio from 5:1 to 3:1 when display=notes,
-% correct management of two side mode documents}
+% - new option 'marginwidth',
+% - modifying hmarginratio from 5:1 to 3:1 when 'display=notes',
+% - correct management of two-sided mode documents}
% \changes{v2.0}{2023/01/16}{
-% \enskip between titles and their optional argument,
-% simplifying macros markingstyle and notestyle,
-% use of ragged2e package,
-% code revision and simplification,
-% documentation update}
+% - \enskip between titles and their optional argument,
+% - simplifying the macros markingstyle and notestyle,
+% - use of the ragged2e package,
+% - code revision and simplification,
+% - documentation update}
%
% \changes{v2.1}{2023/07/30}{
-% new environments tablenuma* and tablitem*}
+% - new starred environments tablenuma* and tablitem*}
% \changes{v2.1}{2023/08/24}{
-% English correction in the documentation}
+% - English corrections in the documentation}
+%
+% \changes{v2.2}{2023/09/02}{
+% - correction of a color bug in the answer macro and the answers* environment
+% - additional remark about the use of answers environments}
+% \changes{v2.2}{2023/09/04}{
+% - new commands, labelenumone and labelenuma, allowing for global changes to
+% tasks environments
+% - the answerspace option is set to false when answers are displayed}
%
% \GetFileInfo{exesheet.dtx}
%
@@ -162,12 +170,12 @@
% In contrast, \textsf{exesheet} starts each exercise with |\exercise|,
% which functions similarly to a subsection (with the same features)
% and is suitable for documents that primarily consist of exercises.
-% The package also offers alternative formatting,
-% which is more suitable for shorter exercises.
+% The package also offers alternative ways to introduce exercises,
+% which are more appropriate for shorter exercises.
%
% Another distinctive feature of the \textsf{exesheet} package is its specific settings
% for enumeration lists, which are
-% useful for numbering questions or answers within an exercise.
+% suitable for numbering questions or answers within an exercise.
%
% While other packages often offer more or less complex mechanisms
% for managing the placement of answers,
@@ -185,9 +193,8 @@
%
% Many settings can be customized, and various options are available
% to manage the output document.
-% These options rely on the key-val mechanism: \texttt{key=value}
-% (thanks to Maxime Chupin and Denis Bitouzé for suggesting this idea to improve this package).
-% These options can be applied to the class or the package, \eg
+% These options rely on the key-val mechanism: \texttt{key=value}.
+% These options can be applied when calling the class or the package, \eg
% \begin{center}
% |\documentclass[a4paper,11pt,output=answers,display=pts]{exesheet}|
% \end{center}
@@ -204,9 +211,9 @@
% \subsection{The \texttt{\bs exercise} command}
%
% \DescribeMacro{\exercise}
-% Each exercise starts with the |\exercise|\oarg{opt} command.
-% This command typesets \textbf{\exercisename}, as a document
-% subsection, followed by automatic numbering
+% The |\exercise|\oarg{opt} command initiates an exercise with the title
+% \textbf{\exercisename}, typeset as a document
+% subsection, followed by automatic numbering,
% unique to the entire document.
% The optional parameter \meta{opt} is utilized to include additional text
% on the same title line, such as specifying a subject or a marking scheme.
@@ -214,11 +221,11 @@
%
% \exercise[(to begin)]
% \psframe(-0.25,1.3)(12.75,-0.3)
-% Give this initial command a try; it's straightforward.
+% Try this first command; easy!
%
% \bigskip
-% To bring additional text closer to the exercise number,
-% we can employ |\unskip| which removes any preceding space.
+% To bring optional text closer to the exercise number,
+% you can employ |\unskip| which removes any preceding space.
% Take a look at the following example, achieved with
% |\exercise[\unskip*** (difficult)]|:
% \exercise[\unskip*** (difficult)]
@@ -257,7 +264,7 @@
% for exercise titles. In this document, we have set the following in the preamble:
% |\renewcommand{\labelexercisestyle}{\rmfamily\color{black}}|
% \footnote{In this document, real section and subsection titles have been highlighted by
-% modifying their color and font using the
+% modifying their color and font (sans serif) using the
% \texttt{\bs allsectionsfont} macro from the \textsf{sectsty} package.}.
%
% \medskip
@@ -322,7 +329,8 @@
%
% \bigskip
% \DescribeMacro{\annexname}
-% The term ``\annexname'' is automatically translated into several languages.
+% The term ``\annexname'' is automatically translated into several languages
+% (depending on the chosen language).
% It can be extended to additional languages or altered by redefining |\annexname|
% or by utilizing macros from the \textsf{translations} package.
%
@@ -376,26 +384,14 @@
%
% \subsection{List settings} \label{setlist}
% \DescribeEnv{enumerate} \DescribeMacro{\item}
-% Enumeration lists are designed to represent questions and sub-questions
+% Enumeration lists are used to represent questions and sub-questions
% within exercises. To provide clear emphasis,
% labels are formatted in bold.
% Additionally, these labels are aligned to the left, positioned at the start of the line
% without indentation, and the vertical spacing between items
% is increased compared to standard \LaTeX{} lists.
-% These formatting adjustments are achieved using the |\setlist| command
-% \footnote{Labels can also be modified by providing an optional argument,
-% \eg \texttt{\bs begin\{enumerate\}[A.]},
-% or globally through the use of \texttt{\bs labelenumi}
-% and \texttt{\bs labelenumii} commands.},
+% These formatting adjustments are achieved using the |\setlist| command,
% a feature from the \textsf{enumitem} package by Javier Bezos.
-% Lists created with the \texttt{itemize} environment retain their default
-% configuration
-% \footnote{The \texttt{french} option of the \textsf{babel} package
-% changes the behavior of \texttt{itemize} lists and employs long dashes
-% as labels for each list level.
-% This behavior can cause issues when mathematical content follows the dash
-% symbol, as it might be mistaken for the minus sign.
-% The default \texttt{itemize} list style is reinstated to address this concern.}.
%
% \vspace{-\baselineskip}
% \noindent\psframe(-0.25,-0.35)(12.75,-3.9)
@@ -410,10 +406,35 @@
% \end{enumerate}
%
% \smallskip
+% The \texttt{enumerate} environment takes an optional parameter,
+% that allows, among others things,
+% the typesetting of alternative list labels. For instance, typing
+% |\begin{enumerate}[label=\alph*),font=\itshape\normalfont]|
+% will yield the labels ``\emph{a)}, \emph{b)}, \emph{c)}\ldots''.
+% There are many other options available
+% (see the \textsf{enumitem} package documentation)
+% \footnote{Labels can also be modified using a ``shortlabel'' argument,
+% \eg \texttt{\bs begin\{enumerate\}[A.]},
+% or globally through the redefinition of \texttt{\bs labelenumi}
+% or \texttt{\bs labelenumii} commands.}.
+% You can change global label font formatting using the syntax
+% |\setlist[enumerate]{font=...}|
+% (called \emph{after} |\begin{document}|).
+%
+% Lists created with the \texttt{itemize} environment retain their default
+% configuration
+% \footnote{The \texttt{french} option of the \textsf{babel} package
+% changes the behavior of \texttt{itemize} lists and employs long dashes
+% as labels for each list level.
+% This behavior can cause issues when mathematical content follows the dash
+% symbol, as it might be mistaken for the minus sign.
+% Thus the default \texttt{itemize} list style is reinstated.}.
+%
+% \medskip
% \DescribeMacro{[setlist=\meta{bool}]}
-% To prevent changes to enumeration lists and revert to the default \LaTeX{}
-% settings, you can utilize the package option |setlist=false|
-% (with the default value being \texttt{true} of course).
+% The package option |setlist=false| prevents changes to enumeration and itemize lists
+% and reverts to the default \LaTeX{} settings
+% (the default value is \texttt{true}).
%
% \subsection{List of exercises : the \texttt{exenumerate} environment}
% \DescribeEnv{exenumerate}
@@ -426,8 +447,7 @@
% Here is an example (the main list uses the \texttt{exenumerate} environment, while the
% sub-list is created using the standard \texttt{enumerate} environment):
%
-% \pagebreak
-% ^^A \vspace{-\baselineskip}
+% \vspace{-\baselineskip}
% \noindent\psframe(-0.25,-0.3)(12.75,-6)
% \begin{exenumerate}
% \item Translate the following sentences in English:
@@ -443,13 +463,10 @@
% et magnis dis parturient montes, nascetur ridiculus mus.
% \end{exenumerate}
%
-% \medskip
-% The environment takes an optional parameter, similar to \texttt{enumerate},
-% that allows, among others things,
-% the typesetting of alternative list labels, \eg
-% |\begin{exenumerate}[A.]|.
-% There are numerous other options available
-% (refer to the \textsf{enumitem} package documentation for details).
+% \smallskip
+% The \texttt{exenumerate} environment (also based on the \textsf{enumitem} package)
+% accepts an optional parameter,
+% similar to the \texttt{enumerate} environment.
%
% \subsection{Items aligned by row: \texttt{tablenum1}, \texttt{tablenuma}, \texttt{tablitem}}
% \DescribeEnv{tablenum1}
@@ -464,11 +481,12 @@
% This parameter can be omitted, in which case its default value is 2.
% Similar to conventional lists, each item is initiated with the |\item| command.
%
-% These three environments are defined using the
+% \smallskip
+% Internally we have utilized the
% |\NewTasksEnvironment| macro from the \textsf{tasks} package by Clemens Niederberger.
-% They accept an optional argument \meta{opt}, which is
+% The usage of the optional argument \meta{opt} is
% explained in the documentation of this package.
-% For example, similar to the \texttt{enumitem} package,
+% For example, similar to the \textsf{enumitem} package,
% |label=\arabic*)| produces an Arabic numbering
% followed by a closing parenthesis.
% Additionally there are numerous possibilities for arranging items in original ways.
@@ -477,11 +495,11 @@
% In the subsequent example,
% the five |\item| commands are sequentially positioned between
% |\begin{tablenum1}(3)| and |\end{tablenum1}|.
-% It's important to notice that numbering occurs line by line in this context.
+% Notice that numbering occurs line by line in this context.
%
% \exercise
% \psframe(-0.25,1.3)(12.75,-2.8)
-% Provide the derivative of the following functions:
+% Calculate the derivative of the following functions:
% \begin{tablenum1}(3)
% \item $\ds f(x) = \frac{1-x^2}{\mathrm{e}^x +\mathrm{e}^{-x}}$,
% \item $\ds g(x) = \ln \left( \frac{1-x}{1+x^2}\right)$,
@@ -490,14 +508,23 @@
% \item $\ds l(x) = \int_{\frac{1}{x}}^{x}\frac{1}{\ln t}\, \mathrm{d}t$.
% \end{tablenum1}
%
+% ^^A \smallskip
+% For \texttt{tablenuma}, labels are letters, a, b, c, \ldots, enclosed in parentheses.
+%
+% \DescribeMacro{\labelenumone}\DescribeMacro{\labelenuma}
+% You can change the labels by redefining the macros |\labelenumone|
+% (for \texttt{tablenum1}) and |\labelenuma| (for \texttt{tablenuma}),
+% using the \texttt{task} counter,
+% \eg |\renewcommand\labelenuma{\Alph{task}.}| yields the labels \textbf{A.}, \textbf{B.}, \ldots
+%
% \smallskip
-% For \texttt{tablenuma}, labels are
-% letters (a, b, c, \ldots) enclosed in
-% parentheses. This cannot be globally altered,
-% except by redefining the environment using |\RenewTasksEnvironment|.
% If the \textsf{exesheet} package is invoked with the option \texttt{setlist=false},
% labels within \texttt{tablenum1} and \texttt{tablenuma} environments
-% will be presented with indentation and in regular font rather than bold.
+% will be presented with indentation and in normal font rather than bold.
+% You can change the label formatting globally with the command |\settask|, \eg
+% |\settask{label-format=\itshape}|.
+% You can also completely redefine the environments using |\RenewTasksEnvironment|.
+% When \texttt{setlist=true}, place these commands \emph{after} |\begin{document}|.
%
% \medskip
% \DescribeEnv{tablenuma*} \DescribeEnv{tablitem*}
@@ -514,16 +541,16 @@
% the starred environments \texttt{tablenuma*} and \texttt{tablitem*},
% with corrected alignment as shown below:
%
-% \noindent\psframe(-0.25,0.05)(12.75,-1)
-% \psline[linewidth=0.1pt,linecolor=green,linestyle=dashed](0, -0.63)(10.5, -0.63)
+% \noindent\psframe(-0.25,0.05)(12.75,-0.9)
+% \psline[linewidth=0.1pt,linecolor=green,linestyle=dashed](0, -0.57)(10.5, -0.57)
% \begin{enumerate}
% \item
% \begin{tablenuma*}(3) \item One \item Two \item Three \end{tablenuma*}
% \end{enumerate}
%
% \medskip
-% If the vertical alignment is still not optimal, include
-% |\mbox{}\vspace|\marg{height} just before invoking |\begin{tablenuma*}|
+% If the vertical alignment is still not perfect, include
+% |\mbox{}\vspace|\marg{height} just after |\item| and before invoking |\begin{tablenuma*}|
% (or |\begin{tablitem*}|), where \meta{height} can be a positive or negative length.
%
% \subsection{Items aligned by column: \texttt{colsenum}, \texttt{colsitem}}
@@ -532,7 +559,7 @@
% \texttt{colsenum} environment is available:
% |\begin{colsenum}|\oarg{opt}\marg{cols}.
% The mandatory parameter is the number of columns,
-% and the optional parameter will be passed to the \texttt{enumerate} environment,
+% and the optional parameter will be passed to the underlying \texttt{enumerate} environment,
% allowing you to change the numbering type (\eg a, A, etc.), among other possibilities.
% To use this environment, you need to load the
% \textsf{multicol} package in the preamble.
@@ -540,7 +567,7 @@
%
% \exercise
% \psframe(-0.25,1.3)(12.75,-2.65)
-% Provide the derivative of the following functions:
+% Calculate the derivative of the following functions:
% \begin{colsenum}{3}
% \item $\ds f(x) = \frac{1-x^2}{\mathrm{e}^x +\mathrm{e}^{-x}}$,
% \item $\ds g(x) = \ln \left( \frac{1-x}{1+x^2}\right)$,
@@ -553,17 +580,17 @@
% \DescribeEnv{colsenum*}
% We will observe that, on each line, items are not necessarily properly
% aligned, which can result in ungraceful effects.
-% On the other hand the \texttt{colsenum} environment doesn't attempt to align columns
-% from the bottom by adjusting the spacing between items.
+% On the other hand, the \texttt{colsenum} environment doesn't attempt to align columns
+% from the bottom by adjusting the vertical spacing between items.
% If we desire this alignment
% (which is the default behavior in \textsf{multicol}), we can use the
% \texttt{colsenum*} environment (with the same syntax as \texttt{colsenum}).
-% Here's what we obtain with \texttt{colsenum*}, using the same exercise:
+% Here's what we obtain with \texttt{colsenum*}:
%
% \pagebreak
% \exercise
% \psframe(-0.25,1.3)(12.75,-2.65)
-% Provide the derivative of the following functions:
+% Calculate the derivative of the following functions:
% \begin{colsenum*}{3}
% \item $\ds f(x) = \frac{1-x^2}{\mathrm{e}^x +\mathrm{e}^{-x}}$,
% \item $\ds g(x) = \ln \left( \frac{1-x}{1+x^2}\right)$,
@@ -578,7 +605,7 @@
% might still be more suitable when dealing with numerous items of varying heights,
% and especially when the number of items can differ from column to column.
% Additionally, a benefit of \texttt{colsenum} is that the label selection
-% is automatic based on the list level (and the language),
+% is automatic, based on the list level (and the language),
% unlike \texttt{tablenum1} or \texttt{tablenuma}.
%
% \bigskip
@@ -586,7 +613,7 @@
% \DescribeEnv{colsitem*}
% For \texttt{itemize} lists, the \texttt{colsitem} environment
% generates items aligned by column, unlike the line-by-line alignment of
-% \texttt{tablitem}. To use it, simply employ
+% \texttt{tablitem}. It follows the same syntax as \texttt{colsenum}:
% |\begin{colsitem}|\oarg{opt}\marg{cols}. The optional parameter,
% passed to the underlying \texttt{itemize} environment,
% permits the modification of the item label (bullet by default).
@@ -636,7 +663,7 @@
%
% \pagebreak
% ^^A \vspace{-\baselineskip}
-% \noindent\psframe(-0.25,-0.25)(12.75,-6.9)
+% \noindent\psframe(-0.25,-0.25)(12.75,-7.1)
% \exercise
% \begin{questions}
% \begin{enumerate}
@@ -663,28 +690,27 @@
% When only answers are displayed, the text color remains black and
% the word ``\correctionname'' is not displayed.
%
-% \subsection{About the title ``\correctionname'' in \texttt{answers} environments}
+% \subsection{More about \texttt{answers} environments}
% Internally, we have utilized the |\comment| and |\endcomment| macros
% from the \textsf{versions} package by Uwe Lück.
-% Several other outstanding packages also enable selective management of code portions.
-% Notably, the \textsf{verbatim} package by Rainer Schöpf,
-% \textsf{comment} by Victor Eijkhout,
-% \textsf{version} by Donald Arseneau and Stephen Bellantoni,
-% \textsf{optional} by Donald Arseneau
-% and \textsf{codesection} by Matthias Pospiech.
-%
-% Moreover the \textsf{versions} package includes
-% the |\includeversion|\marg{env} and
-% |\excludeversion|\marg{env} macros which allow for the inclusion or exclusion of
+% ^^A Several other packages also enable selective management of code portions.
+% ^^A Notably, the \textsf{verbatim} package by Rainer Schöpf,
+% ^^A \textsf{comment} by Victor Eijkhout,
+% ^^A \textsf{version} by Donald Arseneau and Stephen Bellantoni,
+% ^^A \textsf{optional} by Donald Arseneau
+% ^^A and \textsf{codesection} by Matthias Pospiech.
+% Moreover, the \textsf{versions} package offers
+% the |\excludeversion|\marg{env} and
+% |\includeversion|\marg{env} macros which allow for the exclusion or inclusion of
% any environment \meta{env}. These ``optional'' environments
-% can be nested
-% \footnote{The \textsf{codesection} package also supports
-% such nesting, including within the preamble, as well as
-% the \textsf{optional} package, but the latter manages only short sections of optional code.}.
+% can be nested.
+% ^^A \footnote{The \textsf{codesection} package also supports
+% ^^A such nesting, including within the preamble, as well as the \textsf{optional} package,
+% ^^A but the latter manages only short sections of optional code.}.
%
% However the \texttt{questions} and \texttt{answers} environments
% serve a broader purpose beyond merely displaying or hiding text.
-% For instance, you can choose to have a single answers environment
+% You can choose to have a single answers environment
% for the entire sheet, or alternatively, have separate answers environments
% for each exercise, exercise part, question, or sub-question.
% The format in which the title \textbf{\correctionname} should appear
@@ -695,21 +721,27 @@
%
% \medskip
% \DescribeEnv{answers\oarg{level}}
-% However, there are perhaps twisted situations in which
-% the title level may not always be accurate.
-% Furthermore, users might wish to adjust the title's level themselves.
+% However, users might wish to adjust the title's level themselves.
% To achieve this, you can manually set the level of the title ``\correctionname''
-% using |\begin{answers}|\oarg{level}.
-% The optional \meta{level} parameter is defined as follows:
+% using an optional \meta{level} argument which is defined as follows:
% 1 for section-level titles,
-% 2 for subsections (akin \textbf{\exercisename}),
+% 2 for subsections (akin to \textbf{\exercisename}),
% 3 for sub-subsections (similar to \textbf{\partname}),
% other numbers for lower levels
% (which won't appear in the table of contents or in the PDF file’s summary).
%
-% \smallskip
+% Caution should be taken that, if the \texttt{questions} environment is not used
+% beforehand in the same exercise (or part),
+% the \texttt{answers} environment will consider the correction as global
+% for the entire sheet (or exercise) and will reset the \texttt{exercise}
+% (or \texttt{part}) counter.
+% This can be managed properly with the optional argument.
+% For example, use |\begin{answers}[2]| to prevent \texttt{exercise} counter reset,
+% or |\begin{answers}[3]| to prevent \texttt{subpart} counter reset.
+%
+% \medskip
% \DescribeMacro{answers*}
-% The starred version \texttt{answers*}, completely hides the
+% The starred version \texttt{answers*} doesn't display the
% \textbf{\correctionname} title.
%
% \subsection{Commands \texttt{\bs question}, \texttt{\bs answer} and \texttt{\bs answerspace}}
@@ -723,7 +755,7 @@
% you wish to display the answer immediately after each question item.
% The title ``\correctionname'' won't appear at the start
% of each answer with the |\answer| macro.
-% The answers are formatted using |\correctionstyle|
+% The answers are also formatted using |\correctionstyle|
% if \texttt{output=both}.
% However these commands do not support \texttt{verbatim} text within them,
% unlike the \texttt{questions} and \texttt{answers} environments which do.
@@ -744,20 +776,22 @@
% or hidden, controlled by the
% \texttt{answerspace} option key, which can be set to either
% \texttt{true} or \texttt{false} (the default).
+% The \texttt{answerspace} key option has no effect (equivalent to \texttt{false})
+% when the answers are displayed (\texttt{output=answers} or \texttt{both}).
% Of course the |\answerspace| macro is not meant to be used within \texttt{answers}
% environments.
%
% \section{Marginal notes for marking scheme}
%
% The \textsf{exesheet} package enables the display of a detailed marking
-% scheme in the margins, along with comments and explanations about answers.
+% scheme in the margins, along with optional comments and explanations about answers.
%
% \subsection{The \texttt{\bs points} command}\label{points}
% \DescribeMacro{\points}
% The |\points|\marg{pts} command displays the number of points awarded for an exercise.
% It is intended to be included in the optional argument of the
% |\exercise| command
-% \footnote{However using this command in the optional argument of
+% \footnote{However using \texttt{\bs points} in the optional argument of
% \texttt{\bs exercise} is not compatible with
% the \textsf{memoir} class, as the \textsf{memoir} class redefines section commands.}.
% In the following example, we used
@@ -769,14 +803,14 @@
% \bigskip
% When only the correction is displayed in an exercise, the |\points| macro doesn't
% show the points.
-% A more comprehensive solution for printing answers along with the point scale
-% will be presented
+% Printing answers along with the point scale
+% will be discussed
% in section \ref{totalpoints}, which includes another |\totalpoints| macro.
%
% \bigskip
% \DescribeMacro{\pointsname} \DescribeMacro{\pointname}
% The term ``\pointsname'' (or ``\pointname'' in the singular
-% if \meta{pts} is less than 2), is appended and
+% if \meta{pts} is less than 2) is appended and
% is automatically translated into several languages
% (and can also be modified).
%
@@ -831,7 +865,7 @@
%
% For a two-sided document, the default behavior is to place text in the outer margin,
% which is wider than the inner margin (that contains the binding).
-% The outer margin aligns with the right side on odd pages and with the left side
+% The outer margin is positioned on the right side on odd pages and on the left side
% on even pages. Therefore, the \texttt{marginpos} option can also take the
% values \texttt{inner} or \texttt{outer}.
% If you specify \texttt{left} or \texttt{right} when the \texttt{twoside} mode is activated,
@@ -960,7 +994,7 @@
% \DescribeMacro{notecolor} \DescribeMacro{\notestyle}
% By default, comment notes are typeset in a dark green color
% defined by |\definecolor{notecolor}{rgb}{0.0,0.4,0.0}|.
-% The style of the comment is determined by the |\notestyle| macro.
+% The style of comments is determined by the |\notestyle| macro.
%
% \subsection{Margin notes options} \label{margin}
%
@@ -1031,7 +1065,7 @@
% \texttt{left}, \texttt{right}, \texttt{center}, \texttt{justify} or \texttt{twoside}.
% The default value is \texttt{noteragged=left}, resulting in right-aligned text,
% which is common for text in the left margin.
-% When \texttt{noteragged=right}, the text is left-aligned text.
+% When \texttt{noteragged=right}, the text is left-aligned.
% Using \texttt{justify} makes the text justified, aligning with
% \LaTeX's default behavior for marginal notes.
% Finally \texttt{noteragged=twoside} aligns text to the left on odd pages
@@ -1050,15 +1084,15 @@
% When the scale isn't visible,
% it functions similarly to |\points|, and when the scale is shown,
% it's akin to |\totalexe|.
-% For instance, in the exercise \ref{totalexe}, it's preferable to use
-% |\totalpoints| instead of |\totalexe|,
-% as when the detailed marking scheme isn't displayed, the total points will be typeset
-% in a manner similar to exercise \ref{points} rather than in the margin.
+% For instance, in exercise \ref{totalexe}, we could have used |\totalpoints|
+% instead of |\totalexe|. In this case,
+% when the detailed marking scheme is not displayed, the total points would be presented
+% similarly to exercise \ref{points} rather than being absent.
%
% \subsection{Marking scheme consistency checking}\label{scale}
%
% \DescribeMacro{[checkpts=\meta{bool}]}
-% The marking scheme can be checked
+% The marking scheme can be checked out
% \footnote{Thanks to Denis Bitouzé for his suggestion about this feature.}
% using the key-val option \texttt{checkpts=true};
% the default value is \texttt{false}.
@@ -1123,9 +1157,9 @@
% \end{center}
%
% When an invalid key is provided, an error is generated. However,
-% if a value is not recognized, a warning message will appear:\\
-% \texttt{Value `\meta{value}'\ is not supported by `\meta{key}' option
-% on input line \ldots} \\
+% an unrecognized value only triggers a warning message:
+% \centeredline{\texttt{Value ... is not supported by ... option
+% on input line \ldots}}
% For each option, you can set them through the class or package invocation, \eg
% |\usepackage[output=answers,display=notes,noteragged=right]{exesheet}|
%
@@ -1138,7 +1172,7 @@
% can be changed dynamically, even within the document,
% while the others are applicable in the preamble exclusively.
% Dynamic options are processed with each call, whereas the others are processed once,
-% when the document begins.
+% at |\begin{document}|.
% \hypertarget{correct}{}
%
% \bigskip
@@ -1147,16 +1181,16 @@
% \emph{class} or in conjunction with the \textsf{schooldocs} package.
% This option adds ``\correctname'' (or its translation)
% to the document title and headers.
-% Possible values are: \texttt{true}, \texttt{false} (default) or \texttt{conditional}.
-% When set to \texttt{correct=conditional}, it behaves as \texttt{true}
+% Possible values are: \texttt{true}, \texttt{false} (by default) or \texttt{conditional}.
+% Using \texttt{correct=conditional}, it behaves as \texttt{true}
% when answers are displayed and \texttt{false} when they're not.
%
% \subsection{Alternative (deprecated) commands}
%
% Prior to version 2.0, we used specialized commands to configure
% output and display options.
-% Thanks to a suggestion from Maxime Chupin, we have now implemented \emph{key=value}
-% options in the package.
+% Thanks to a suggestion from Maxime Chupin and Denis Bitouzé,
+% we have now implemented \emph{key=value} options.
% Although the latter is more user-friendly,
% the older commands are still supported for compatibility reasons and are outlined here.
% While these commands will trigger a warning message, they remain functional.
@@ -1207,19 +1241,19 @@
%</class>
% \end{macrocode}
%
-% Options are established using the \textsf{kvoptions} package (build on \textsf{keyval}).
-% String options are managed through distinct macros
-% that are defined in their respective sections.
+% Options are defined using the \textsf{kvoptions} package.
+% String options are managed through distinct processing macros
+% that are implemented in their respective sections.
% For options whose effects cannot be dynamically altered
-% and must be configured in the preamble, they are processed once
-% upon the start of the document.
-% The other options are executed upon package loading
+% and must be configured in the preamble, they are processed once,
+% at |\begin{document}|.
+% The other options are executed when this package is loaded
% (at the end of the package, as |\exs@process...|
% commands are not recognized at the outset).
%
-% A distinct case emerges with \texttt{setlist} when utilized in conjunction with
+% A distinct case is to mention with \texttt{setlist} when utilized in conjunction with
% \textsf{babel-french}.
-% In this instance, it is processed immediately and subsequently disabled
+% In this instance, this option is processed immediately and subsequently disabled
% (further clarification follows below).
%
% \begin{macrocode}
@@ -1244,7 +1278,7 @@
\exs@process@output
\exs@process@display
\exs@process@noteragged
-}
+} % answerspace do not need a special process macro
\AtEndOfPackage{\exs@process@dynoptions}
\AtBeginDocument{
@@ -1304,7 +1338,8 @@
% as loaded by \textsf{babel} or \textsf{polyglossia}.
%
% Accented characters cannot be utilized here, as they might not be recognized
-% if \textsf{inputenc} is loaded after \textsf{exesheet}.
+% if \textsf{exesheet} is loaded before any other package
+% (typically when it is loaded as a class).
% As a workaround, we rely on basic \LaTeX{} control sequences to generate them.
%
% \begin{macrocode}
@@ -1399,7 +1434,7 @@
% include the following code in the preamble \\
% |\makeatletter \@addtoreset{exercise}{section} \makeatother|.
%
-% The parts counter depends on the \texttt{exercise} counter and is reset
+% The parts counter (\texttt{subpart}) depends on the \texttt{exercise} counter and is reset
% with each new exercise.
%
% The commands |\labelexercisestyle| and |\labelsubpartstyle|
@@ -1422,7 +1457,7 @@
\newcommand{\labelexercisestyle}{}
\newcommand*{\@exercise}[1][]{%
\ifexesheet@checkpts \exe@check{\labelexercise} \fi
- % curiously, the \execheck must be performed before \refstepcounter !
+ % curiously, \exe@check must be performed before \refstepcounter
\refstepcounter{exercise}
\subsection*{\labelexercisestyle\labelexercise\enskip #1}
\ifexesheet@exetoc
@@ -1513,7 +1548,7 @@
% These modifications are undone here to revert to the default
% \LaTeX\ \texttt{itemize} lists, including labels and spaces.
% We have created the |\standardfrenchlists| command, which should be invoked within the
-% |AtBeginDocument| command, depending on whether
+% |\AtBeginDocument| command, depending on whether
% \textsf{exesheet} is loaded before or after \textsf{babel}.
% \begin{macrocode}
\newcommand\standardfrenchlists{%
@@ -1522,10 +1557,14 @@
}{}
}
\ifexesheet@setlist
- \standardfrenchlists % necessary when exesheet is loaded after babel
+ \standardfrenchlists
+ % must be executed here when exesheet is loaded after babel
\DisableKeyvalOption[action=warning,package=exesheet]{exesheet}{setlist}
\fi
+\newcommand\labelenumone{\arabic{task}.}
+\newcommand\labelenuma{(\alph{task})}
+
\def\exs@process@setlist{% must be executed at begin document
\ifexesheet@setlist
\standardfrenchlists % if exesheet is loaded before babel
@@ -1542,19 +1581,21 @@
% items in other \texttt{enumerate} (or \texttt{itemize}) environments.
% \begin{macrocode}
\ifexesheet@setlist
- \NewTasksEnvironment[label=\arabic*.,label-format=\bfseries,
+ \settasks{label-format=\bfseries}
+ \NewTasksEnvironment[label=\labelenumone,
column-sep=1em,label-align=right,
item-indent=1.5em,label-width=1em,label-offset=0.5em,
after-item-skip=0.5ex plus 0.5ex minus 0.5ex]{tablenum1}[\item](2)
- \NewTasksEnvironment[label=(\alph*),label-format=\bfseries,
+ \NewTasksEnvironment[label=\labelenuma,
column-sep=1em,label-align=right,
item-indent=2.15em,label-width=1.6em,label-offset=0.5em,
after-item-skip=0.5ex plus 0.5ex minus 0.5ex]{tablenuma}[\item](2)
\else
- \NewTasksEnvironment[label=\arabic*.,
- column-sep=1em,
+ \NewTasksEnvironment[label=\labelenumone,
+ column-sep=1em,label-align=right,
+ label-width=1em,label-offset=0.5em,
after-item-skip=0.5ex plus 0.5ex minus 0.5ex]{tablenum1}[\item](2)
- \NewTasksEnvironment[label=(\alph*),
+ \NewTasksEnvironment[label=\labelenuma,
column-sep=1em,label-align=right,
item-indent=2.15em,label-width=1.6em,label-offset=0.5em,
after-item-skip=0.5ex plus 0.5ex minus 0.5ex]{tablenuma}[\item](2)
@@ -1566,7 +1607,7 @@
% \begin{macrocode}
\NewTasksEnvironment[label=\labelitemi,
label-align=right,
- item-indent=2.3333em,label-offset=0.5em,
+ item-indent=2.5em,label-offset=0.5em,
after-item-skip=0.5ex plus 0.5ex minus 0.5ex]{tablitem}[\item](2)
% \end{macrocode}
@@ -1576,7 +1617,7 @@
% precisely at the outset of an |\item|, in order to achieve correct horizontal
% alignment.
% The length of |-1.667\baselineskip| has been tested with various font families and sizes.
-% It functions properly.
+% The alignment is generally good.
% \begin{macrocode}
\newenvironment{tablenuma*}{%
\mbox{}\vspace{-1.667\baselineskip}\begin{tablenuma}}{
@@ -1656,10 +1697,12 @@
\ifthenelse{\equal{\exesheet@output}{answers}}{
\setboolean{exesheet@questions}{false}
\setboolean{exesheet@answers}{true}
+ \exesheet@answerspacefalse
}{% else if
\ifthenelse{\equal{\exesheet@output}{both}}{
\setboolean{exesheet@questions}{true}
\setboolean{exesheet@answers}{true}
+ \exesheet@answerspacefalse
}{% else
\PackageWarning{exesheet}{Value `\exesheet@output'
is not supported by `output' option}
@@ -1679,7 +1722,7 @@
% and |\EndCodeSection|\marg{skip} macros,
% both in the text body and the preamble.
% However, these macros cannot be used within an environment
-% as we've done here with |\comment| and |\endcomment|.
+% as we have done here with |\comment| and |\endcomment|.
% Several of our tests use the \LaTeX{} syntax |\ifthenelse{\bolean{...}}|
% since |\comment| and |\endcomment| can sometimes interfere
% with the \TeX\ structure |\if| \ldots |\else| \ldots |\fi|.
@@ -1774,7 +1817,7 @@
}{\ifthenelse{\boolean{exesheet@answers}}{}{\endcomment}}
\newenvironment{answers*}{
- \ifthenelse{\boolean{exesheet@answers}}{}{\comment}
+ \ifthenelse{\boolean{exesheet@answers}}{\correctionstyle}{\comment}
}{\ifthenelse{\boolean{exesheet@answers}}{}{\endcomment}}
% \end{macrocode}
@@ -1793,7 +1836,7 @@
% \begin{macrocode}
\newcommand{\answer}[1]{%
\ifexesheet@answers%
- \ifexesheet@questions \correctionstyle #1\else #1\fi
+ \ifexesheet@questions {\correctionstyle #1}\else #1\fi
\fi
}
@@ -1900,7 +1943,7 @@
% The \texttt{marginwidth} option adjusts the ratio between left and right margins
% based on what needs to be displayed in the margin (points only or full notes)
% \footnote{To ensure the accurate effect on the margin ratio, this option is processed
-% at beginning of the document, after other commands
+% at the beginning of the document, after other commands
% that could potentially alter the page geometry.}.
%
% When \texttt{display=notes}, the additional length of \texttt{1\,in} corresponds to
@@ -1988,9 +2031,9 @@
% \end{macrocode}
% \end{macro}
-% For a two-sided document, the \textsf{geometry} package doe not correctly set
+% For a two-sided document, the \textsf{geometry} package does not correctly set
% the width of the margin paragraph by default; it's too wide.
-% Therefore we provide an explicit setting here, which is
+% Therefore, we provide an explicit setting here, which is
% useful when \texttt{marginwidth=unset}. Otherwise, the setting is
% handled by the \texttt{marginwidth} key option.
%
@@ -2065,7 +2108,7 @@
% \begin{macro}{\exs@process@checkpts}
% The scale control option relies on calculations with \emph{lengths},
% which need to have a \emph{global} scope.
-% To achieve this, we employ the macros |\gsetlength| and |\gaddtolength|.
+% To achieve this, we first define the macros |\gsetlength| and |\gaddtolength|.
% These macros include \% symbols at the end of lines to avoid expanded blank
% spaces.
%
@@ -2166,7 +2209,7 @@
% \end{macrocode}
% \end{macro}
%
-% \subsection{Margin notes commands}
+% \subsection{Marginal notes commands}
%
% \begin{macro}{\points}
% \begin{macrocode}
diff --git a/Master/texmf-dist/tex/latex/exesheet/exesheet.cls b/Master/texmf-dist/tex/latex/exesheet/exesheet.cls
index 52953d202a3..cb2a84efe0e 100644
--- a/Master/texmf-dist/tex/latex/exesheet/exesheet.cls
+++ b/Master/texmf-dist/tex/latex/exesheet/exesheet.cls
@@ -22,7 +22,7 @@
%%
\NeedsTeXFormat{LaTeX2e}[2005/12/01]
\ProvidesClass{exesheet}
-[2023/08/25 v2.1 .dtx exesheet file]
+[2023/09/05 v2.2 .dtx exesheet file]
\RequirePackage{kvoptions}
\DeclareBoolOption[true]{exetoc}
diff --git a/Master/texmf-dist/tex/latex/exesheet/exesheet.sty b/Master/texmf-dist/tex/latex/exesheet/exesheet.sty
index ff5790c7c0b..35f668ef633 100644
--- a/Master/texmf-dist/tex/latex/exesheet/exesheet.sty
+++ b/Master/texmf-dist/tex/latex/exesheet/exesheet.sty
@@ -22,7 +22,7 @@
%%
\NeedsTeXFormat{LaTeX2e}[2005/12/01]
\ProvidesPackage{exesheet}
-[2023/08/25 v2.1 .dtx exesheet file]
+[2023/09/05 v2.2 .dtx exesheet file]
\@ifclassloaded{exesheet}{}{
\RequirePackage{kvoptions}
@@ -44,7 +44,7 @@
\exs@process@output
\exs@process@display
\exs@process@noteragged
-}
+} % answerspace do not need a special process macro
\AtEndOfPackage{\exs@process@dynoptions}
\AtBeginDocument{
@@ -163,7 +163,7 @@
\newcommand{\labelexercisestyle}{}
\newcommand*{\@exercise}[1][]{%
\ifexesheet@checkpts \exe@check{\labelexercise} \fi
- % curiously, the \execheck must be performed before \refstepcounter !
+ % curiously, \exe@check must be performed before \refstepcounter
\refstepcounter{exercise}
\subsection*{\labelexercisestyle\labelexercise\enskip #1}
\ifexesheet@exetoc
@@ -231,10 +231,14 @@
}{}
}
\ifexesheet@setlist
- \standardfrenchlists % necessary when exesheet is loaded after babel
+ \standardfrenchlists
+ % must be executed here when exesheet is loaded after babel
\DisableKeyvalOption[action=warning,package=exesheet]{exesheet}{setlist}
\fi
+\newcommand\labelenumone{\arabic{task}.}
+\newcommand\labelenuma{(\alph{task})}
+
\def\exs@process@setlist{% must be executed at begin document
\ifexesheet@setlist
\standardfrenchlists % if exesheet is loaded before babel
@@ -243,19 +247,21 @@
\fi
\ifexesheet@setlist
- \NewTasksEnvironment[label=\arabic*.,label-format=\bfseries,
+ \settasks{label-format=\bfseries}
+ \NewTasksEnvironment[label=\labelenumone,
column-sep=1em,label-align=right,
item-indent=1.5em,label-width=1em,label-offset=0.5em,
after-item-skip=0.5ex plus 0.5ex minus 0.5ex]{tablenum1}[\item](2)
- \NewTasksEnvironment[label=(\alph*),label-format=\bfseries,
+ \NewTasksEnvironment[label=\labelenuma,
column-sep=1em,label-align=right,
item-indent=2.15em,label-width=1.6em,label-offset=0.5em,
after-item-skip=0.5ex plus 0.5ex minus 0.5ex]{tablenuma}[\item](2)
\else
- \NewTasksEnvironment[label=\arabic*.,
- column-sep=1em,
+ \NewTasksEnvironment[label=\labelenumone,
+ column-sep=1em,label-align=right,
+ label-width=1em,label-offset=0.5em,
after-item-skip=0.5ex plus 0.5ex minus 0.5ex]{tablenum1}[\item](2)
- \NewTasksEnvironment[label=(\alph*),
+ \NewTasksEnvironment[label=\labelenuma,
column-sep=1em,label-align=right,
item-indent=2.15em,label-width=1.6em,label-offset=0.5em,
after-item-skip=0.5ex plus 0.5ex minus 0.5ex]{tablenuma}[\item](2)
@@ -264,7 +270,7 @@
\NewTasksEnvironment[label=\labelitemi,
label-align=right,
- item-indent=2.3333em,label-offset=0.5em,
+ item-indent=2.5em,label-offset=0.5em,
after-item-skip=0.5ex plus 0.5ex minus 0.5ex]{tablitem}[\item](2)
\newenvironment{tablenuma*}{%
@@ -323,10 +329,12 @@
\ifthenelse{\equal{\exesheet@output}{answers}}{
\setboolean{exesheet@questions}{false}
\setboolean{exesheet@answers}{true}
+ \exesheet@answerspacefalse
}{% else if
\ifthenelse{\equal{\exesheet@output}{both}}{
\setboolean{exesheet@questions}{true}
\setboolean{exesheet@answers}{true}
+ \exesheet@answerspacefalse
}{% else
\PackageWarning{exesheet}{Value `\exesheet@output'
is not supported by `output' option}
@@ -400,14 +408,14 @@
}{\ifthenelse{\boolean{exesheet@answers}}{}{\endcomment}}
\newenvironment{answers*}{
- \ifthenelse{\boolean{exesheet@answers}}{}{\comment}
+ \ifthenelse{\boolean{exesheet@answers}}{\correctionstyle}{\comment}
}{\ifthenelse{\boolean{exesheet@answers}}{}{\endcomment}}
\newcommand{\question}[1]{\ifexesheet@questions #1\fi}
\newcommand{\answer}[1]{%
\ifexesheet@answers%
- \ifexesheet@questions \correctionstyle #1\else #1\fi
+ \ifexesheet@questions {\correctionstyle #1}\else #1\fi
\fi
}