1
0
Fork 0
lvspec/raterspec/question.sty

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}}