diff options
-rw-r--r-- | Master/texmf-dist/doc/latex/exesheet/README.md | 17 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/exesheet/exesheet.pdf | bin | 330415 -> 334627 bytes | |||
-rw-r--r-- | Master/texmf-dist/source/latex/exesheet/exesheet.dtx | 169 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/exesheet/exesheet.ins | 4 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/exesheet/exesheet.cls | 4 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/exesheet/exesheet.sty | 44 |
6 files changed, 131 insertions, 107 deletions
diff --git a/Master/texmf-dist/doc/latex/exesheet/README.md b/Master/texmf-dist/doc/latex/exesheet/README.md index 6ce90328572..1c56562c44d 100644 --- a/Master/texmf-dist/doc/latex/exesheet/README.md +++ b/Master/texmf-dist/doc/latex/exesheet/README.md @@ -3,14 +3,19 @@ ## Presentation -The exesheet package is designed for typesetting exercise or exam sheets. -Additionally, the exesheet class loads the schooldocs package. - -This package offers the following features: +The exesheet package is designed for typesetting exercise or exam sheets. +The primary advantage of exesheet is its ability to display +a detailed scoring guide and correction instructions as needed. +This feature is especially beneficial for grading papers with multiple graders. + +Additionally, the exesheet class loads the schooldocs package +which manages the page layout, the main title, headers and footers. + +The exesheet 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 the margins. +- environments for questions and answers, which can be displayed or hidden, +- macros for detailed comments and grading instructions in the margins which can be displayed or hidden. ## Installation diff --git a/Master/texmf-dist/doc/latex/exesheet/exesheet.pdf b/Master/texmf-dist/doc/latex/exesheet/exesheet.pdf Binary files differindex be92d96cc5f..b18f1858e74 100644 --- a/Master/texmf-dist/doc/latex/exesheet/exesheet.pdf +++ b/Master/texmf-dist/doc/latex/exesheet/exesheet.pdf diff --git a/Master/texmf-dist/source/latex/exesheet/exesheet.dtx b/Master/texmf-dist/source/latex/exesheet/exesheet.dtx index efc56a4cf9d..02a8f5e68cd 100644 --- a/Master/texmf-dist/source/latex/exesheet/exesheet.dtx +++ b/Master/texmf-dist/source/latex/exesheet/exesheet.dtx @@ -1,6 +1,6 @@ % \iffalse meta-comment % -% Copyright (C) 2020-2023 by Antoine Missier <antoine.missier@ac-toulouse.fr> +% Copyright (C) 2020-2024 by Antoine Missier <antoine.missier@ac-toulouse.fr> % ---------------------------------------------------------------------- % % This file may be distributed and/or modified under the @@ -23,7 +23,7 @@ %<class>\ProvidesClass{exesheet} %<package>\ProvidesPackage{exesheet} %<*class|package> -[2023/12/30 v2.5 .dtx Typesetting exercise or exam sheets] +[2024/02/03 v2.6 .dtx Typesetting exercise or exam sheets] %</class|package> %<*driver> \documentclass{ltxdoc} @@ -45,6 +45,7 @@ \usepackage{pstricks} \usepackage{array} \usepackage{spacingtricks} +\usepackage{pifont} % \psset{unit=1cm} \geometry{textwidth=355pt,vmarginratio=1:1,hmarginratio=3:2} @@ -84,7 +85,7 @@ %</driver> % \fi % -% \CheckSum{1183} +% \CheckSum{1192} % % \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 @@ -173,6 +174,10 @@ % - comparison with other packages % - modifying introduction} % +% \changes{v2.6}{2024/02/03}{ +% - error message when using colsenum or colsitem without loading multicol +% - changes in the comparison with other packages} +% % \GetFileInfo{exesheet.dtx} % % \maketitle @@ -182,7 +187,8 @@ % \section{Introduction} % % The \textsf{exesheet} \emph{package} is designed for typesetting exercise or exam sheets. -% Additionally, the \textsf{exesheet} \emph{class} loads the \textsf{schooldocs} package. +% Additionally, the \textsf{exesheet} \emph{class} loads the +% \textsf{schooldocs} package~\cite{SCHOOL}. % The latter makes adjustments to margins and titles, and defines various layout styles % with specific headers and footers suitable for exercise sheets, among other uses. % Refer to the documentation of the \textsf{schooldocs} package for more details. @@ -256,9 +262,6 @@ % Calculate $1+1$. % % \bigskip -% ^^A Various settings can be modified by refining the following commands. -% -% ^^A \medskip % \DescribeMacro{\exercisename} % The term ``\exercisename'' is automatically translated into various languages % \footnote{Currently, translation is integrated into the package @@ -314,7 +317,6 @@ % To begin, prepare your cup of tea. % \subpart % Now you are ready to proceed with the current exercise. -% \bigskip % % \pagebreak % The following macros allow customization in the same manner as for |\exercise|. @@ -589,8 +591,8 @@ % The mandatory parameter is the number of columns, % 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. +% \emph{To use this environment, you need to load the +% \textsf{multicol} package in the preamble.} % Here's an example with |\begin{colsenum}{3}|: % % \exercise @@ -643,9 +645,10 @@ % \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). +% allow to change the item label (bullet by default). % Furthermore, just like \texttt{colsenum*}, the \texttt{colsitem*} environment % produces column alignment from the bottom. +% \emph{The \textsf{multicol} package is also required and must be loaded in the preamble.} % % \section{Questions and solutions} % @@ -710,7 +713,8 @@ % \textsf{exframe} by Niklas Beisert, % \textsf{exam} by Philip Hirschhorn, % \textsf{answers} by Mike Piff and Joseph Wright, -% \textsf{probsoln} by Nicola Talbot, and more. +% \textsf{probsoln} by Nicola Talbot, +% \textsf{eqexam} by D. P. Story\ldots % They are briefly presented in section \ref{comparison}. % \end{enumerate} % \end{answers} @@ -798,8 +802,8 @@ % Some teachers are accustomed to providing their students with documents % where questions are typeset, leaving blank spaces instead of answers. % This layout allows students to fill in their responses on the paper. -% To achieve this, thanks to a suggestion from Maxime Chupin, -% we offer the |\answerspace|\marg{height} macro, +% Thanks to a suggestion from Maxime Chupin, +% we achieve this with the |\answerspace|\marg{height} macro, % in which the parameter \meta{height} is a valid length, % \eg |\answerspace{3cm}|. % @@ -1184,7 +1188,7 @@ % answerspace & true, \textbf{false} & \ref{answerspace}\\ % display & \textbf{none}, pts, notes & \ref{pts}, \ref{margin} \\ % marginpos & \textbf{left} (inner), right (\textbf{outer}) & \ref{pts}, \ref{margin} \\ -% marginwidth & standard, \textbf{expand}, unset & \ref{margin} \\ +% marginwidth & standard, \textbf{expand}, unset & \ref{margin} \\ % noteragged & \textbf{left}, right, center, justify, twoside & \ref{margin} \\ % checkpts & true, \textbf{false} & \ref{scale} \\ % correct & true, \textbf{false}, conditional & \hyperlink{correct}{see below} \\ @@ -1225,11 +1229,10 @@ % % Prior to version 2.0, we used specialized commands to configure % output and display options. -% 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, +% We have now implemented \emph{key=value} options. +% Although the latter are more user-friendly, % one may prefer the old commands, so they are still supported, -% but will trigger a warning message. They are presented below. +% but will trigger a warning message. These commands are presented below. % % However, the previous options \texttt{nosetlist} and \texttt{notoc} % are no longer supported. @@ -1243,12 +1246,12 @@ % The commands |\displaypts| and |\displaypoints| % are equivalent to setting \texttt{display=pts}. % -% \medskip +% \bigskip % \DescribeMacro{\displaynotes}\DescribeMacro{\displaynotesright} % |\displaynotes| means \texttt{display=notes}, % and |\displaynotesright| corresponds to % \texttt{display=notes,marginpos=right}. -% These two commands have an optional argument |\displanotes|\marg{ragged} +% These two commands have an optional argument |\displaynotes|\marg{ragged} % where \meta{ragged} is an alignment command to work inside margin notes. % By default it is |\RaggedLeft| with |\displaynotes| and |RaggedRight| % \footnote{These commands come from the \textsf{ragged2e} package @@ -1258,19 +1261,19 @@ % \subsection{Comparison with other packages}\label{comparison} % % In this section, we will provide an overview of the functionalities (as of today \today) -% of various packages or classes found in the 'Exercise' or 'Exam' sections +% of various packages or classes found in the `Exercise' or `Exam' sections % of the CTAN archives % (Comprehensive \TeX\ Archive Network). % Considering the substantial number of packages in these sections, % some omissions may have been unintentionally made. % Those excluded are those with documentation not in English % or primarily dedicated to producing multiple-choice questions -% or random question generation. Are also excluded those with non-free license. -% We have focused here on typesetting functionalities and not on managing exercise databases -% as there are specialized packages or external softwares for that. +% or random question generation. +% We have focused here on typesetting functionalities and not on managing exercise +% databases as there are specialized packages or external softwares for that. % % The following table is not a result of tests but presents a summary of information -% obtained from the documentation of these packages. +% collected from the documentation of these packages. % % \begin{multicols}{2} % \begin{flushleft} @@ -1279,42 +1282,44 @@ % \item \textsf{exercises}, Roger Jud~\cite{EXES} % \item \textsf{xsim}, Clemens Niederberger~\cite{XSIM} % \item \textsf{exframe}, Niklas Beisert~\cite{EXFR} -% \item \textsf{exam}, Philip Hirschhorn~\cite{EXAM}. +% \item \textsf{exam}, Philip Hirschhorn~\cite{EXAM} % \item \textsf{answers}, Mike Piff and Joseph Wright~\cite{ANSW} % \item \textsf{probsoln}, Nicola L.C.\@ Talbot~\cite{PROB} % \item \textsf{exsol}, Walter Daems~\cite{EXSO} % \item \textsf{exercisepoints}, Henning Kerstan~\cite{EXEP} % \item \textsf{worksheet}, Benjamin Zöllner~\cite{WORK} -% \item \textsf{exam-n}, Norman Gray, CTAN~\cite{EXAN} +% \item \textsf{exam-n}, Norman Gray~\cite{EXAN} % \item \textsf{eqexam}, D. P. Story~\cite{EQEX} % \item \textsf{cesenaexam}, Alex Pacini~\cite{CESE} +% \item \textsf{esami}, Grazia Messineo, Salvatore Vassallo~\cite{ESAMI} +% \item \textsf{randexam}, Jianrui Lyu~\cite{RAND} % \item \textsf{hideanswer}, Yukoh Kusakabe~\cite{HIDE} -% \item \textsf{mathexam}, Jan Hlavacek~\cite{MATH} +% ^^A\item \textsf{mathexam}, Jan Hlavacek~\cite{MATH} % \item \textsf{exesheet}, Antoine Missier % \end{enumerate} % \end{flushleft} % \end{multicols} % -% \newcommand\X{\textsf{X}} +% \newcommand\X{\ding{56}} % \setlength{\extrarowheight}{2pt} -% \noindent\begin{tabular}{|@{\hspace{2pt}}l@{\hspace{4pt}}|% -% *{16}{@{\hspace{2pt}}c@{\hspace{2pt}}|}} +% \noindent\begin{tabular}{@{\hspace{1.8pt}}l@{\hspace{2pt}}|% +% *{17}{@{\hspace{1.8pt}}c@{\hspace{1.8pt}}|}} % \hline -% Functionality &A&B&C&D&E&F&G&H&I&J&K&L&M&N&O&P \\ +% Functionality &A&B&C&D&E&F&G&H&I&J&K&L&M&N&O&P&Q \\ % \hline -% optional text for exercise titles &\X&&\X&\X&\X&&&&\X&&&&&&&\X \\ -% subparts of exercises &\X&&&\X&\X&&&&&&\X&&\X&&&\X \\ -% annex title &&&&&&&&&&&&&&&&\X \\ -% exercise titles in TOC of PDF files &\X&&&&&&&&&&&&&&&\X \\ -% short labels for exercises &\X&&&&&&&&&&&&&&&\X \\ -% hiding questions or answers* &\X&*&\X&\X&\X&*&\X&\X&&&*&\X&&*&&\X \\ -% different placements for answers &\X&&\X&&&&&&&&&\X&&&&\X \\ -% changing answers placement in output &\X&&\X&\X&&\X&&&&&&\X&&&& \\ -% blank spacing in place of answers &&&&&\X&&&&&&&\X&&&\X&\X \\ -% marking scheme commands &&\X&\X&\X&\X&&&&\X&\X&\X&\X&&&&\X \\ -% various positions of points &&&&&\X&&&&&&&\X&&&&\X \\ -% marking scheme calculation/checking &&\X&\X&\X&\X&&&&\X&&&&&&&\X \\ -% detailed notes for scoring guide &&&&&&&&&&&&&&&&\X \\ +% Optional text for exercise titles &\X&&\X&\X&\X&&&&\X&&&&\X&&&&\X \\ +% Subparts of exercises &\X&&&\X&\X&&&&\X&&\X&\X&\X&\X&\X&&\X \\ +% Annex title or appendix &&&&&&&&&&&&&&&\X&&\X \\ +% Exercise titles in TOC of PDF files &\X&&&&&&&&&&&&&&&&\X \\ +% Short labels for exercises &\X&&\X&\X&&&&&&&&&&&&&\X \\ +% Hiding questions or answers* &\X&*&\X&\X&*&\X&\X&\X&&&*&\X&&\X&*&*&\X \\ +% Different placements for answers &\X&&&&&&&&&&\X&\X&&&&&\X \\ +% Change answers placement in output &\X&&&\X&&\X&&\X&&&&\X&&&&& \\ +% Blank spacing in place of answers &&\X&\X&&\X&&&&&&&\X&&\X&\X&&\X \\ +% Marking scheme commands &&\X&\X&\X&\X&&&&\X&\X&\X&\X&&\X&\X&&\X \\ +% Various positions of points &&&&\X&\X&&&&&&&\X&&\X&&&\X \\ +% Marking scheme calculation/checking &&\X&\X&\X&\X&&&&\X&&\X&\X&&&\X&&\X \\ +% Detailed notes for scoring guide &&&&&&&&&&&&&&&&&\X \\ % \hline % \end{tabular} % \medskip @@ -1802,11 +1807,20 @@ \end{tablitem}} % \end{macrocode} -% \DescribeEnv{colsenum} +% \DescribeEnv{colsenum}\DescribeEnv{colsenum*} +% For items aligned by columns, we provide the \texttt{colsemnum} and \texttt{colsenum*} +% environments. The \textsf{multicol} package is required and an error message +% is produced if it has not been loaded. +% |\multicolsep| is the amount of space that should be added above or below the +% environment. % \begin{macrocode} -\newenvironment{colsenum}[2][]{% +\newenvironment{colsenum*}[2][]{% + \ifexesheet@multicol \else + \PackageError{exesheet}{The environments colsenum and colsenum* + \MessageBreak need the multicol package}{ + Add \string\usepackage{multicol}\space in the preamble.} + \fi \setlength{\multicolsep}{2ex} - \raggedcolumns % default is \flushcolumns \begin{multicols}{#2} % #2 = number of columns \begin{enumerate}[#1] % #1 = options of enumerate }{ @@ -1814,41 +1828,36 @@ \end{multicols} } -% \end{macrocode} -% \DescribeEnv{colsenum*} -% \begin{macrocode} -\newenvironment{colsenum*}[2][]{% - \setlength{\multicolsep}{2ex} - \begin{multicols}{#2} % #2 = number of columns - \begin{enumerate}[#1] % #1 = options of enumerate +\newenvironment{colsenum}[2][]{% + \raggedcolumns % default is \flushcolumns + \begin{colsenum*}[#1]{#2} }{ - \end{enumerate} - \end{multicols} + \end{colsenum*} } % \end{macrocode} -% \DescribeEnv{colsitem} +% \DescribeEnv{colsitem}\DescribeEnv{colsitem*} +% The corresponding environments for itemize lists. % \begin{macrocode} -\newenvironment{colsitem}[2][]{% +\newenvironment{colsitem*}[2][]{% + \ifexesheet@multicol \else + \PackageError{exesheet}{The environments colsitem and colsitem* + \MessageBreak need the multicol package}{ + Add \string\usepackage{multicol}\space in the preamble.} + \fi \setlength{\multicolsep}{2ex} - \raggedcolumns - \begin{multicols}{#2} - \begin{itemize}[#1] + \begin{multicols}{#2} % #2 = number of columns + \begin{itemize}[#1] % #1 = options of itemize }{ \end{itemize} \end{multicols} } -% \end{macrocode} -% \DescribeEnv{colsitem*} -% \begin{macrocode} -\newenvironment{colsitem*}[2][]{% - \setlength{\multicolsep}{2ex} - \begin{multicols}{#2} - \begin{itemize}[#1] +\newenvironment{colsitem}[2][]{% + \raggedcolumns % default is \flushcolumns + \begin{colsitem*}[#1]{#2} }{ - \end{itemize} - \end{multicols} + \end{colsitem*} } % \end{macrocode} @@ -2024,8 +2033,8 @@ % \end{macrocode} % % \begin{macro}{\answerspace} -% The |\answerspace| macro was suggested by Maxime Chupin -% to allow students space for writing their answers on the provided paper. +% The |\answerspace| macro leaves blank space to allow students for writing +% their answers on the provided paper following a suggestion by Maxime Chupin. % \begin{macrocode} \newcommand\answerspace[1]{ \ifexesheet@answerspace \par\vspace{#1} \fi} @@ -2563,11 +2572,13 @@ % \end{macrocode} % \end{macro} % -% \begin{thebibliography}{24} +% \begin{thebibliography}{27} % % \begin{raggedright} +% \bibitem{SCHOOL} \emph{The \textsf{schooldocs} package}, Antoine Missier, +% CTAN, v1.4 2023/12/28. % \bibitem{GEOM} \emph{The \textsf{geometry} package}, % Hideo Umeki, CTAN, v5.9 2020/01/02. -% \bibitem{ENUM} \emph{Customizing lists with teh \textsf{enumitem} package}, +% \bibitem{ENUM} \emph{Customizing lists with the \textsf{enumitem} package}, % Javier Bezos, CTAN, v3.9 2019/06/20. % \bibitem{TASK} \emph{\textsf{tasks} -- lists with columns filled horizontally}, % Clemens Niederberger. CTAN, v1.4a, 2022/01/08. @@ -2591,7 +2602,7 @@ % the official successor of the \textsf{exsheets} package}, Clemens Niederberger, % CTAN, v0.21 2022/02/12. % \bibitem{EXFR} \emph{The \textsf{exframe} package}, Niklas Beisert, -% CTAN, v3.4 202/02/24. +% CTAN, v3.4 2020/02/24. % \bibitem{EXAM} \emph{Using the \textsf{exam} document class}, Philip Hirschhorn, % CTAN, v2.704 2023/07/09. % \bibitem{ANSW} \emph{\textsf{answers} Production of solution sheets in \LaTeXe}, @@ -2608,6 +2619,10 @@ % D. P. Story, CTAN, 5.2 2021/02/26. % \bibitem{CESE} \emph{\textsf{cesenaexam} — class file to typeset exams}, Alex Pacini, % CTAN, v2.0 2017/08/03. +% \bibitem{ESAMI} \emph{Package \textsf{esami}}, Grazia Messineo, Salvatore Vassallo, +% CTAN, v2.8 2023/07/21. +% \bibitem{RAND} \emph{Teh \textsf{randexam} class for \LaTeX}, Jianrui Lyu, +% CTAN, 2024D, 2024/02/03. % \bibitem{HIDE} \emph{The \textsf{hideanswer} package: generate documents with % and without answers by toggling a switch}, Yukoh Kusakabe, CTAN, v1.1 2022/07/09. % \bibitem{MATH} \emph{The \textsf{mathexam} Package}, Jan Hlavacek, CTAN, v1.00 2007/07/30. diff --git a/Master/texmf-dist/source/latex/exesheet/exesheet.ins b/Master/texmf-dist/source/latex/exesheet/exesheet.ins index 4784c5b955a..d1fc87865f8 100644 --- a/Master/texmf-dist/source/latex/exesheet/exesheet.ins +++ b/Master/texmf-dist/source/latex/exesheet/exesheet.ins @@ -1,5 +1,5 @@ %% -%% Copyright (C) 2020-2023 by Antoine Missier <antoine.missier@ac-toulouse.fr> +%% Copyright (C) 2020-2024 by Antoine Missier <antoine.missier@ac-toulouse.fr> %% %% This file may be distributed and/or modified under the conditions of %% the LaTeX Project Public License, either version 1.3 of this license @@ -21,7 +21,7 @@ This is a generated file. -Copyright (C) 2020-2023 by Antoine Missier <antoine.missier@ac-toulouse.fr> +Copyright (C) 2020-2024 by Antoine Missier <antoine.missier@ac-toulouse.fr> This file may be distributed and/or modified under the conditions of the LaTeX Project Public License, either version 1.3 of this license diff --git a/Master/texmf-dist/tex/latex/exesheet/exesheet.cls b/Master/texmf-dist/tex/latex/exesheet/exesheet.cls index b1c9dd1534d..3bf4aea5292 100644 --- a/Master/texmf-dist/tex/latex/exesheet/exesheet.cls +++ b/Master/texmf-dist/tex/latex/exesheet/exesheet.cls @@ -8,7 +8,7 @@ %% %% This is a generated file. %% -%% Copyright (C) 2020-2023 by Antoine Missier <antoine.missier@ac-toulouse.fr> +%% Copyright (C) 2020-2024 by Antoine Missier <antoine.missier@ac-toulouse.fr> %% %% This file may be distributed and/or modified under the conditions of %% the LaTeX Project Public License, either version 1.3 of this license @@ -22,7 +22,7 @@ %% \NeedsTeXFormat{LaTeX2e}[2005/12/01] \ProvidesClass{exesheet} -[2023/12/30 v2.5 .dtx Typesetting exercise or exam sheets] +[2024/02/03 v2.6 .dtx Typesetting exercise or exam sheets] \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 8296808d106..461a4a4471f 100644 --- a/Master/texmf-dist/tex/latex/exesheet/exesheet.sty +++ b/Master/texmf-dist/tex/latex/exesheet/exesheet.sty @@ -8,7 +8,7 @@ %% %% This is a generated file. %% -%% Copyright (C) 2020-2023 by Antoine Missier <antoine.missier@ac-toulouse.fr> +%% Copyright (C) 2020-2024 by Antoine Missier <antoine.missier@ac-toulouse.fr> %% %% This file may be distributed and/or modified under the conditions of %% the LaTeX Project Public License, either version 1.3 of this license @@ -22,7 +22,7 @@ %% \NeedsTeXFormat{LaTeX2e}[2005/12/01] \ProvidesPackage{exesheet} -[2023/12/30 v2.5 .dtx Typesetting exercise or exam sheets] +[2024/02/03 v2.6 .dtx Typesetting exercise or exam sheets] \@ifclassloaded{exesheet}{}{ \RequirePackage{kvoptions} @@ -344,9 +344,13 @@ \mbox{}\vspace{-1.667\baselineskip}\begin{tablitem}}{ \end{tablitem}} -\newenvironment{colsenum}[2][]{% +\newenvironment{colsenum*}[2][]{% + \ifexesheet@multicol \else + \PackageError{exesheet}{The environments colsenum and colsenum* + \MessageBreak need the multicol package}{ + Add \string\usepackage{multicol}\space in the preamble.} + \fi \setlength{\multicolsep}{2ex} - \raggedcolumns % default is \flushcolumns \begin{multicols}{#2} % #2 = number of columns \begin{enumerate}[#1] % #1 = options of enumerate }{ @@ -354,32 +358,32 @@ \end{multicols} } -\newenvironment{colsenum*}[2][]{% - \setlength{\multicolsep}{2ex} - \begin{multicols}{#2} % #2 = number of columns - \begin{enumerate}[#1] % #1 = options of enumerate +\newenvironment{colsenum}[2][]{% + \raggedcolumns % default is \flushcolumns + \begin{colsenum*}[#1]{#2} }{ - \end{enumerate} - \end{multicols} + \end{colsenum*} } -\newenvironment{colsitem}[2][]{% +\newenvironment{colsitem*}[2][]{% + \ifexesheet@multicol \else + \PackageError{exesheet}{The environments colsitem and colsitem* + \MessageBreak need the multicol package}{ + Add \string\usepackage{multicol}\space in the preamble.} + \fi \setlength{\multicolsep}{2ex} - \raggedcolumns - \begin{multicols}{#2} - \begin{itemize}[#1] + \begin{multicols}{#2} % #2 = number of columns + \begin{itemize}[#1] % #1 = options of itemize }{ \end{itemize} \end{multicols} } -\newenvironment{colsitem*}[2][]{% - \setlength{\multicolsep}{2ex} - \begin{multicols}{#2} - \begin{itemize}[#1] +\newenvironment{colsitem}[2][]{% + \raggedcolumns % default is \flushcolumns + \begin{colsitem*}[#1]{#2} }{ - \end{itemize} - \end{multicols} + \end{colsitem*} } \newboolean{exesheet@questions}\setboolean{exesheet@questions}{true} |