Stefan Wachter wrote:
Hi all,
I try to generate the following output:
Some Label * item 1 * item 2 * item 3
* item 4 * item 4 * item 5
i.e. I want to have a label followed by an itemization that is set in
columns.
I tried several things but did not succeede
1. Variant - a tabulate environment
\starttabulate[|l|p|]
\NC
\inframed[width=\LabelWidth,align=left]{Teilnehmer}\hskip\SepWidth
\NC
\startitemize[columns,three]
\item Bauherr
\item Architekt
\item Bauleiter
\stopitemize
\NC\NR
\stoptabulate
this is beyond the tabulate handler; i guess i can implement support for
that but it's not that trivial (using simplecolumns and collecting lines
and such)
There the following problems: a) the itemization introduces an
additional empty line and b) the [columns,three] parameter is not
considered.
2. Variant - using a narrower
\startnarrower[left]
\startitemize[columns,three]
\item Bauherr
\item Architekt
\item Bauleiter
\stopitemize
\stopnarrower
The problem with this variant is that the coluns do not respect the
right margin, i.e. the items reach beyond the paper.
Has anyone a solution for this problem?
see end of mail; the third one only works with the patched macro:
\unprotect
\def\redostartitemgroup[#1][#2]%
{\setfalse\inlinelistitem % new, no indent (leftskip)
\setfalse\concatnextitem % new, concat
\ifhmode
\ifconditional\autoconcatnextitem % new, concat
\ifdim\lastskip=\itemsignal % new, concat
\settrue\concatnextitem % new, concat
\fi % new, concat
\fi % new, concat
\iftextitems\else\doifnotinset\v!text{#1}\par\fi % suboptimal
\fi
\begingroup
\ifnum\itemlevel=\plusone % NIEUW
\doadaptleftskip {\getitemparameter1\c!margin}%
\doadaptleftskip {\getitemparameter1\c!leftmargin}%
\doadaptrightskip{\getitemparameter1\c!rightmargin}%
\fi
\dosetraggedcommand{\getitemparameter\itemlevel\c!align}\raggedcommand
\doifsomething{\getitemparameter\itemlevel\c!indenting}
{% is \expanded needed?
\expanded{\setupindenting[\getitemparameter\itemlevel\c!indenting]}}%
\doifinset\v!columns{#1}%
{\ifinsidecolumns\else\ifnum\itemcolumndepth=\zerocount
\globallet\itemcolumndepth\itemlevel
\getitemparameter\itemlevel\c!before
\processfirstactioninset
[#1]
[ \v!one=>\!!counta1\relax,
\v!two=>\!!counta2\relax,
\v!three=>\!!counta3\relax,
\v!four=>\!!counta4\relax,
\v!five=>\!!counta5\relax,
\s!unknown=>[EMAIL PROTECTED]
% new
% \edef\columneditemleftskip{\the\leftskip}%
% \def\postprocesscolumnbox##1%
% {\scratchdimen\columneditemleftskip
%\divide\scratchdimen \nofcolumns
%\hbox{\hskip\columneditemleftskip\hbox{\box##1}}}%
% \scratchdimen-\columneditemleftskip
% \multiply\scratchdimen \nofcolumns
% \advance\scratchdimen \columneditemleftskip
% \advance\scratchdimen \hsize
% \edef\columntextwidth{\the\scratchdimen}%
% \leftskip\zeropoint
% so far
\startcolumns
[\c!n=\!!counta, % netter \??op\itemlevel\c!n
\c!height=,
\c!rule=\v!off,
\c!balance=\v!yes,
\c!align=\v!no]%
\fi\fi}%
\doifinsetelse\v!intro{#1}\itemintrotrue\itemintrofalse
\doglobal\increment\noflists
\let\currentlist\noflists
\newcounter\noflistelements
\headitemfalse
\subitemfalse
\symbolitemfalse
\let\marsymbol\relax
\globallet\somdestination\empty
\let\symsymbol\empty
\the\itemgroupcommands
\setitemlevel{#1}%
%\getitemparameter\itemlevel\empty
\let\listitem\empty % ** start value
\doifelsenothing{#1} % iffirstargument
{\edef\@@opsymbol{\getitemparameter\itemlevel\c!symbol}%
\letgvalueempty{\@@globalitemsymbol\itemlevel}%
\global\letitemparameter\itemlevel\v!continue\empty
% \setitemmark\@@opsymbol % ** default value
\dosetupitemgroupvariable[\itemlevel][#2]}
{\dosetupitemgroupconstant[\itemlevel][#1]%
\dosetupitemgroupvariable[\itemlevel][#2]%
\doifinsetelse\v!continue{#1}%
{\edef\@@opsymbol{\noexpand\getvalue{\@@globalitemsymbol\itemlevel}}%
\getitemparameter\itemlevel\v!continue}
{\edef\@@opsymbol{\noexpand\getitemparameter{\itemlevel}{\c!symbol}}%
\global\setitemparameter\itemlevel\v!continue
{\dosetupitemgroupconstant[\itemlevel][#1]%
\dosetupitemgroupvariable[\itemlevel][#2]}}%
\def\docommando##1% \setitemmark resets \docommando
{\doifnot{##1}{0}{\setitemmark{##1}}}%
% \processcommalist[#1,\@@opsymbol]\docommando
\processcommalist[#1]\docommando}%
\ifx\listitem\empty
\setitemmark\@@opsymbol
\ifx\listitem\empty
\edef\currentitemsymbol{\itemlevel}%
\fi
\fi
\ifautoitemintro\ifnum\prevgraf<3