%
% Defines some useful formatting environments.
%

% A simple description format
\definedescription 
  [desc]
  [location=hanging,hang=20,width=broad]

% An (invisible) frame to hold some expression. Used to treat multiple lines
% as a single line and put it next to each other.
\define[1]\hiddenframe{
        % The align=right option really does left-alignment, but without it,
        % all lines will end up on a single line. The strut=no option prevents
        % a bunch of empty space at the start of the frame.
        \framed[offset=0mm,location=middle,strut=no,align=right,frame=off]{#1}
}

% Define a \strikethrough command. For some reason, this does blue
% strikethrough, sometime that still needs fixing.
\definetextbackground
  [strikethrough]
  [location=text,
   alternative=4,
   background=,
   frame=off]

\def\setwidthof#1\to#2%
{\bgroup
\setbox\scratchbox\hbox{#1}%
\expanded{\egroup\def\noexpand#2{\the\wd\scratchbox}}}

% Allow \emph{foo} (and {\emph foo}, but that's not really needed).
\definealternativestyle[emph][\em][]                                                                                                                         

% Put a bit of space betwen paragraphs, to make them easier to distinguish.
\setupwhitespace[small]

% Use the c alternative for the toc, which uses dots between the section
% name and the page number.
\setupcombinedlist      [content][alternative=c]

% vim: set sw=2 sts=2 expandtab:
