79 lines
1.7 KiB
TeX
79 lines
1.7 KiB
TeX
% LoVullo rater specification questions
|
|
%%
|
|
|
|
\NeedsTeXFormat{LaTeX2e}
|
|
\ProvidesClass{raterspec/question}
|
|
\ProcessOptions\relax
|
|
|
|
|
|
\newlength\questionparsep
|
|
\questionparsep\the\marginparsep
|
|
\newenvironment{qgroup}[1]%
|
|
{%
|
|
\subsubsection{#1}%
|
|
\begin{description}%
|
|
}%
|
|
{%
|
|
\end{description}%
|
|
}
|
|
|
|
\newenvironment{subquestions}%
|
|
{%
|
|
\begin{description}%
|
|
\advance\questionparsep by \parindent\relax
|
|
\vspace{0.5\baselineskip}
|
|
}
|
|
{%
|
|
\end{description}%
|
|
}
|
|
|
|
|
|
\def\@qtypedesc@currency{any dollar and cent amount.}
|
|
\def\@qtypedesc@date{a valid date.}
|
|
\def\@qtypedesc@float{any floating point value.}
|
|
\def\@qtypedesc@noyes{one of either {\sl No\/} or~{\sl Yes}.}
|
|
\def\@qtypedesc@number{any whole number.}
|
|
\def\@qtypedesc@percent{any valid percent.}
|
|
\def\@qtypedesc@select{one of the options enumerated below.}
|
|
\def\@qtypedesc@text{any string of characters.}
|
|
\newcommand\question[5][]{%
|
|
\item
|
|
\beginundersletter
|
|
\llap{%
|
|
\tt\scriptsize\raisebox{-1em}[0em][0em]{%
|
|
\shortstack[r]{%
|
|
\scantokens{#2}\\
|
|
{\tiny \scantokens{#4}}%
|
|
}%
|
|
}%
|
|
\hspace{\the\questionparsep}%
|
|
}%
|
|
\endundersletter
|
|
\vskip-1.5\baselineskip
|
|
\ignorespaces{\sf#5}\unskip
|
|
\par
|
|
\vskip-0.5\baselineskip
|
|
\@margin@sig
|
|
\begingroup
|
|
\def\@@qid{#2}%
|
|
\def\@@mapid{#3}%
|
|
\def\@@dash{-}%
|
|
\ifx\@@mapid\empty
|
|
\May not map to any rater input parameter.%
|
|
\else
|
|
\ifx\@@mapid\@@dash%
|
|
\let\@@mapid\@@qid
|
|
\fi
|
|
\Shall map to rater input parameter
|
|
\expandafter\paramref\expandafter{\@@mapid}.%
|
|
\fi
|
|
\endgroup
|
|
\space Input value \shall be \csname @qtypedesc@#4\endcsname\space
|
|
\ignorespaces
|
|
}
|
|
|
|
|
|
% sectioning abstraction
|
|
\def\proguistep#1{\subsection{#1}}
|
|
|