From a07688a9ea2f4df2f15254d462000070ec2e09d2 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Wed, 6 Sep 2023 20:15:28 +0000 Subject: exesheet (6sep23) git-svn-id: svn://tug.org/texlive/trunk@68192 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/latex/exesheet/README.md | 2 +- Master/texmf-dist/doc/latex/exesheet/exesheet.pdf | Bin 293501 -> 294607 bytes .../texmf-dist/source/latex/exesheet/exesheet.dtx | 371 ++++++++++++--------- Master/texmf-dist/tex/latex/exesheet/exesheet.cls | 2 +- Master/texmf-dist/tex/latex/exesheet/exesheet.sty | 32 +- Master/tlpkg/bin/tlpkg-ctan-check | 2 +- 6 files changed, 230 insertions(+), 179 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 Binary files a/Master/texmf-dist/doc/latex/exesheet/exesheet.pdf and b/Master/texmf-dist/doc/latex/exesheet/exesheet.pdf 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 @@ %\ProvidesClass{exesheet} %\ProvidesPackage{exesheet} %<*class|package> -[2023/08/25 v2.1 .dtx exesheet file] +[2023/09/05 v2.2 .dtx exesheet file] % %<*driver> \documentclass{ltxdoc} @@ -83,7 +83,7 @@ % % \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 @@ % % \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 } diff --git a/Master/tlpkg/bin/tlpkg-ctan-check b/Master/tlpkg/bin/tlpkg-ctan-check index 22eaa225b01..93613fd519d 100755 --- a/Master/tlpkg/bin/tlpkg-ctan-check +++ b/Master/tlpkg/bin/tlpkg-ctan-check @@ -455,7 +455,7 @@ my @TLP_working = qw( kastrup kaytannollista-latexia kblocks kdgdocs kdpcover kerkis kerntest ketcindy keycommand keyfloat keyindex keyparse keyreader keystroke - keyval2e keyvaltable kfupm-math-exam kinematikz kix kixfont + keyval2e keyvaltable kfupm-math-exam khatalmaqala kinematikz kix kixfont knitting knittingpattern knowledge knuth-errata knuth-hint knuth-lib knuth-local knuth-pdf koma-moderncvclassic koma-script koma-script-examples koma-script-sfs -- cgit v1.2.3