2

I am currently using the isov2 document class. I would like to create a list of definitions. I currently have the following output (style)

Current Definitions List Formatting

using the code:

\begin{definitions}
\definition{agent}{Device that provides data in a manager-agent communicating system.}
\end{definitions}

However, I'd like instead for the term and definition to be on one line, separated by a colon, similar to the image below:

Ideal Definitions List Formatting

4

You need a redefinition of the definitions environment to suppress some hard-coded line break commands and to add the colon:

\documentclass{isov2}

\makeatletter
\renewenvironment{definitions}{%
  \setcounter{cl@level}{6}
  \ifnum\value{sssssclause}=0 \setcounter{cl@level}{5} \fi
  \ifnum\value{ssssclause}=0 \setcounter{cl@level}{4} \fi
  \ifnum\value{sssclause}=0 \setcounter{cl@level}{3} \fi
  \ifnum\value{ssclause}=0 \setcounter{cl@level}{2} \fi
  \ifnum\value{sclause}=0 \setcounter{cl@level}{1} \fi
  \ifnum\value{clause}=0 \setcounter{cl@level}{0} \fi
  \ifcase\value{cl@level} % 0, NOT YET IN A CLAUSE
    \ClassWarning{iso}{Definitions started before the initial clause}
    \renewcommand{\@defcl}[1]{\setcounter{note}{0}\setcounter{example}{0}
      \par
      \addvspace{\beforecskip}
      \@afterindentfalse
      \refstepcounter{clause}
      {\raggedright\bfseries \theclause\ ##1:}}
  \or % 1, called in a clause
    \renewcommand{\@defcl}[1]{\setcounter{note}{0}\setcounter{example}{0}
      \par
      \addvspace{\beforescskip}
      \@afterindentfalse
      \refstepcounter{sclause}
      {\raggedright\bfseries \thesclause\ ##1:}}
  \or % 2, called in an sclause
    \renewcommand{\@defcl}[1]{\setcounter{note}{0}\setcounter{example}{0}
      \par
      \addvspace{\beforesscskip}
      \@afterindentfalse
      \refstepcounter{ssclause}
      {\raggedright\bfseries \thessclause\ ##1:}}
  \or % 3, called in an ssclause
    \renewcommand{\@defcl}[1]{\setcounter{note}{0}\setcounter{example}{0}
      \par
      \addvspace{\beforesscskip}
      \@afterindentfalse
      \refstepcounter{sssclause}
      {\raggedright\bfseries \thesssclause\ ##1:}}
  \or % 4, called in an sssclause
    \renewcommand{\@defcl}[1]{\setcounter{note}{0}\setcounter{example}{0}
      \par
      \addvspace{\beforesscskip}
      \@afterindentfalse
      \refstepcounter{ssssclause}
      {\raggedright\bfseries \thessssclause\ ##1:}}
  \or % 5, called in an ssssclause
    \renewcommand{\@defcl}[1]{\setcounter{note}{0}\setcounter{example}{0}
      \par
      \addvspace{\beforesscskip}
      \@afterindentfalse
      \refstepcounter{sssssclause}
      {\raggedright\bfseries \thesssssclause\ ##1:}}
  \else % 5+, called in an sssssclause or lower
    \ClassWarning{iso}{Definitions too deeply nested}
    \renewcommand{\@defcl}[1]{
      \par
      \addvspace{\beforesscskip}
      \@afterindentfalse
      \refstepcounter{sssssclause}
      {\raggedright\bfseries \thesssssclause\ ##1:}}
  \fi}%
  {}
\makeatother
\begin{document}

\clause{Test clause}
\sclause{Test sclause}
\begin{definitions}
\definition{agent}{Device that provides data in a manager-agent communicating system.}
\end{definitions}

\end{document}

The result:

enter image description here

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.