ntg-context - mailing list for ConTeXt users
 help / color / mirror / Atom feed
* Feature Request: \startitemize[text]
@ 2008-01-13 21:41 Aditya Mahajan
  2008-10-17  6:27 ` Wolfgang Schuster
  0 siblings, 1 reply; 5+ messages in thread
From: Aditya Mahajan @ 2008-01-13 21:41 UTC (permalink / raw)
  To: mailing list for ConTeXt users

Hi Hans,

I have always found the space at the beginning of each item in 
\startitemize[text] to be too large. Currently, this is hard coded to be
\emwidth plus \intertwordstretch minus \interwordshrink (line 1132 of 
core-itm.tex with the comment "new per 2006/10/20"). I always end of 
copying the definition of complexdoitemgroupitem to my private modules and 
changing the emwidth in the definition to 0.5\emwidth. Can you please keep 
this key to be configurable with a key (textinbetween)?

BTW, any particular reason not to simply say 
\removeunwantedspaces\space\ignorespaces instead of
\removeunwantedspaces\hskip\emwidth\!!plus\interwordstretch\!!minus\interwordshrink\relax 
\stopitemgroup uses just the first variant.

Thanks,
Aditya
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://tex.aanhet.net
archive  : https://foundry.supelec.fr/projects/contextrev/
wiki     : http://contextgarden.net
___________________________________________________________________________________


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Feature Request: \startitemize[text]
  2008-01-13 21:41 Feature Request: \startitemize[text] Aditya Mahajan
@ 2008-10-17  6:27 ` Wolfgang Schuster
  2008-10-17 17:01   ` Aditya Mahajan
  0 siblings, 1 reply; 5+ messages in thread
From: Wolfgang Schuster @ 2008-10-17  6:27 UTC (permalink / raw)
  To: mailing list for ConTeXt users; +Cc: Hans Hagen

On Sun, Jan 13, 2008 at 11:41 PM, Aditya Mahajan <adityam@umich.edu> wrote:
> Hi Hans,
>
> I have always found the space at the beginning of each item in
> \startitemize[text] to be too large. Currently, this is hard coded to be
> \emwidth plus \intertwordstretch minus \interwordshrink (line 1132 of
> core-itm.tex with the comment "new per 2006/10/20"). I always end of
> copying the definition of complexdoitemgroupitem to my private modules and
> changing the emwidth in the definition to 0.5\emwidth. Can you please keep
> this key to be configurable with a key (textinbetween)?
>
> BTW, any particular reason not to simply say
> \removeunwantedspaces\space\ignorespaces instead of
> \removeunwantedspaces\hskip\emwidth\!!plus\interwordstretch\!!minus\interwordshrink\relax
> \stopitemgroup uses just the first variant.
>
> Thanks,
> Aditya

Hi Aditya,

what do you about the following solution, the space between each
item is configurable with the "space" key, the fourth parameter
\dostartitemgroup gobbles we get from \startitemize if we use two
parameters.

\unprotect

\def\complexdoitemgroupitem[#1]%
  {\ifconditional\textlistitem
     % begin of item
   \else
     \par
   \fi
%    \ignorespaces
   \ifconditional\concatnextitem % new, concat
     \doitembreak\nobreak        % new, concat
   \fi                           % new, concat
   \doadvanceitem
   \ifcase\itemcolumndepth \ifnum\noflistelements>0\relax
     % wrong, but why was this here in the first place, probably some
     % mistaken change when cleaning up: \doitembreak\nobreak
   \fi\fi
   \ifconditional\firstlistitem
     \setfalse\firstlistitem
     \begingroup
     \ifcase\currentitemlevel
     \or % 1
       \ifcase\itemcolumndepth
         \ifconditional\introlistitem\doitembreak\nobreak\fi
         \itembeforecommand % \getitemparameter\currentitemlevel\c!before
         \ifconditional\introlistitem\doitembreak\nobreak\fi
       \fi
     \else % 2 en hoger
       \ifconditional\paragraphlistitem \else
         \let\previtemlevel\currentitemlevel
         \decrement\previtemlevel
         \ifcase\autoitemgroupspacing\relax % nieuw
           \itembeforecommand
         \or
            \doifelsenothing{\itembeforecommand}
              {\itembeforecommand}
              {\getitemparameter\previtemlevel\c!inbetween}%
         \else
           \getitemparameter\previtemlevel\c!inbetween % == itemlevel-1
         \fi
       \fi
     \fi
   \else
\ifconditional\textlistitem % was bugged: \inlinelistitem
\removeunwantedspaces
%     \removeunwantedspaces\hskip\interwordspace\!!plus\emwidth\relax
% new per 2006/10/20
%    \removeunwantedspaces\hskip\emwidth\!!plus\interwordstretch\!!minus\interwordshrink\relax
% new per 2006/10/20
% begin wolf
\doifsomethingelse{\getitemparameter\currentitemlevel\c!space}
  {\hskip\getitemparameter\currentitemlevel\c!space\relax}
  {\hskip\emwidth\!!plus\interwordstretch\!!minus\interwordshrink\relax}%
% end wolf
\else
     \iteminbetweencommand
\fi
   \fi
   \ifconditional\concatnextitem % new, concat
     \vskip-\lastskip            % new, concat
     \vskip-\lineheight          % new, concat
     \nobreak                    % new, concat
   \fi                           % new, concat
%    \ignorespaces
   \dolistitem
   \relax
   \ifconditional\packlistitem
     \setupwhitespace[\v!none]%
   \fi
   \getitemparameter\currentitemlevel\c!inner
   \marsymbol
   \let\marsymbol\relax
   \doifsomething{#1}
     {\doifnot\itemreference\unknownitemreference
        {\bgroup
         \protectconversion
         \rawreference\s!lst{#1}\itemreference
         \egroup}}%
   \strut % added 11-08-99
   \setfalse\concatnextitem % new, concat
   \nobreak % else problems with intext items
   \hskip\itemsignal        % new, concat
   \getitemparameter\currentitemlevel\c!command} % \defaultitemcommand

\def\startitemgroup
  {\doquadrupleempty\dostartitemgroup}

\def\dostartitemgroup[#1][#2][#3][]%
  {\bgroup
   \ifnum\currentitemlevel=\zerocount
     \def\currentitemgroup{#1}% no nested mixing of itemgroups
   \fi
   \ifthirdargument
     \dodostartitemgroup[#2][#3]%
   \else
     \doifassignmentelse{#2}
       {\dodostartitemgroup[][#2]}
       {\dodostartitemgroup[#2][]}%
   \fi}

\setupitemgroups
  [\c!space=]

\protect

\showframe

\starttext

before
\startitemize[text][space=\interwordspace]
\item text
\item text
\item text
\stopitemize
after

\stoptext

Wolfgang
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://tex.aanhet.net
archive  : https://foundry.supelec.fr/projects/contextrev/
wiki     : http://contextgarden.net
___________________________________________________________________________________


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Feature Request: \startitemize[text]
  2008-10-17  6:27 ` Wolfgang Schuster
@ 2008-10-17 17:01   ` Aditya Mahajan
  2008-10-21  7:11     ` Wolfgang Schuster
  2008-10-21 17:37     ` Hans Hagen
  0 siblings, 2 replies; 5+ messages in thread
From: Aditya Mahajan @ 2008-10-17 17:01 UTC (permalink / raw)
  To: mailing list for ConTeXt users

Hi Wolfgang,

On Fri, 17 Oct 2008, Wolfgang Schuster wrote:

> On Sun, Jan 13, 2008 at 11:41 PM, Aditya Mahajan <adityam@umich.edu> wrote:
>> Hi Hans,
>>
>> I have always found the space at the beginning of each item in
>> \startitemize[text] to be too large. Currently, this is hard coded to be
>> \emwidth plus \intertwordstretch minus \interwordshrink (line 1132 of
>> core-itm.tex with the comment "new per 2006/10/20"). I always end of
>> copying the definition of complexdoitemgroupitem to my private modules and
>> changing the emwidth in the definition to 0.5\emwidth. Can you please keep
>> this key to be configurable with a key (textinbetween)?
>>
>> BTW, any particular reason not to simply say
>> \removeunwantedspaces\space\ignorespaces instead of
>> \removeunwantedspaces\hskip\emwidth\!!plus\interwordstretch\!!minus\interwordshrink\relax
>> \stopitemgroup uses just the first variant.
>>
>> Thanks,
>> Aditya
>
> Hi Aditya,
>
> what do you about the following solution, the space between each
> item is configurable with the "space" key, the fourth parameter
> \dostartitemgroup gobbles we get from \startitemize if we use two
> parameters.

Thank you for looking into this old request. This does exactly what I 
want. I just have one comment regarding the default. Maybe, for 
consistency, the space key should behave as in \setupinterlinespace

space=none|small|medium|big|dimension

Other than this, it is perfect. Thanks a lot.

Hans, can this be included in the core?

Thanks,
Aditya



> \unprotect
>
> \def\complexdoitemgroupitem[#1]%
>  {\ifconditional\textlistitem
>     % begin of item
>   \else
>     \par
>   \fi
> %    \ignorespaces
>   \ifconditional\concatnextitem % new, concat
>     \doitembreak\nobreak        % new, concat
>   \fi                           % new, concat
>   \doadvanceitem
>   \ifcase\itemcolumndepth \ifnum\noflistelements>0\relax
>     % wrong, but why was this here in the first place, probably some
>     % mistaken change when cleaning up: \doitembreak\nobreak
>   \fi\fi
>   \ifconditional\firstlistitem
>     \setfalse\firstlistitem
>     \begingroup
>     \ifcase\currentitemlevel
>     \or % 1
>       \ifcase\itemcolumndepth
>         \ifconditional\introlistitem\doitembreak\nobreak\fi
>         \itembeforecommand % \getitemparameter\currentitemlevel\c!before
>         \ifconditional\introlistitem\doitembreak\nobreak\fi
>       \fi
>     \else % 2 en hoger
>       \ifconditional\paragraphlistitem \else
>         \let\previtemlevel\currentitemlevel
>         \decrement\previtemlevel
>         \ifcase\autoitemgroupspacing\relax % nieuw
>           \itembeforecommand
>         \or
>            \doifelsenothing{\itembeforecommand}
>              {\itembeforecommand}
>              {\getitemparameter\previtemlevel\c!inbetween}%
>         \else
>           \getitemparameter\previtemlevel\c!inbetween % == itemlevel-1
>         \fi
>       \fi
>     \fi
>   \else
> \ifconditional\textlistitem % was bugged: \inlinelistitem
> \removeunwantedspaces
> %     \removeunwantedspaces\hskip\interwordspace\!!plus\emwidth\relax
> % new per 2006/10/20
> %    \removeunwantedspaces\hskip\emwidth\!!plus\interwordstretch\!!minus\interwordshrink\relax
> % new per 2006/10/20
> % begin wolf
> \doifsomethingelse{\getitemparameter\currentitemlevel\c!space}
>  {\hskip\getitemparameter\currentitemlevel\c!space\relax}
>  {\hskip\emwidth\!!plus\interwordstretch\!!minus\interwordshrink\relax}%
> % end wolf
> \else
>     \iteminbetweencommand
> \fi
>   \fi
>   \ifconditional\concatnextitem % new, concat
>     \vskip-\lastskip            % new, concat
>     \vskip-\lineheight          % new, concat
>     \nobreak                    % new, concat
>   \fi                           % new, concat
> %    \ignorespaces
>   \dolistitem
>   \relax
>   \ifconditional\packlistitem
>     \setupwhitespace[\v!none]%
>   \fi
>   \getitemparameter\currentitemlevel\c!inner
>   \marsymbol
>   \let\marsymbol\relax
>   \doifsomething{#1}
>     {\doifnot\itemreference\unknownitemreference
>        {\bgroup
>         \protectconversion
>         \rawreference\s!lst{#1}\itemreference
>         \egroup}}%
>   \strut % added 11-08-99
>   \setfalse\concatnextitem % new, concat
>   \nobreak % else problems with intext items
>   \hskip\itemsignal        % new, concat
>   \getitemparameter\currentitemlevel\c!command} % \defaultitemcommand
>
> \def\startitemgroup
>  {\doquadrupleempty\dostartitemgroup}
>
> \def\dostartitemgroup[#1][#2][#3][]%
>  {\bgroup
>   \ifnum\currentitemlevel=\zerocount
>     \def\currentitemgroup{#1}% no nested mixing of itemgroups
>   \fi
>   \ifthirdargument
>     \dodostartitemgroup[#2][#3]%
>   \else
>     \doifassignmentelse{#2}
>       {\dodostartitemgroup[][#2]}
>       {\dodostartitemgroup[#2][]}%
>   \fi}
>
> \setupitemgroups
>  [\c!space=]
>
> \protect
>
> \showframe
>
> \starttext
>
> before
> \startitemize[text][space=\interwordspace]
> \item text
> \item text
> \item text
> \stopitemize
> after
>
> \stoptext
>
> Wolfgang
> ___________________________________________________________________________________
> If your question is of interest to others as well, please add an entry to the Wiki!
>
> maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
> webpage  : http://www.pragma-ade.nl / http://tex.aanhet.net
> archive  : https://foundry.supelec.fr/projects/contextrev/
> wiki     : http://contextgarden.net
> ___________________________________________________________________________________
>
>
>
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://tex.aanhet.net
archive  : https://foundry.supelec.fr/projects/contextrev/
wiki     : http://contextgarden.net
___________________________________________________________________________________


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Feature Request: \startitemize[text]
  2008-10-17 17:01   ` Aditya Mahajan
@ 2008-10-21  7:11     ` Wolfgang Schuster
  2008-10-21 17:37     ` Hans Hagen
  1 sibling, 0 replies; 5+ messages in thread
From: Wolfgang Schuster @ 2008-10-21  7:11 UTC (permalink / raw)
  To: mailing list for ConTeXt users

On Fri, Oct 17, 2008 at 7:01 PM, Aditya Mahajan <adityam@umich.edu> wrote:
> Hi Wolfgang,
>
> On Fri, 17 Oct 2008, Wolfgang Schuster wrote:
>
>> On Sun, Jan 13, 2008 at 11:41 PM, Aditya Mahajan <adityam@umich.edu> wrote:
>>> Hi Hans,
>>>
>>> I have always found the space at the beginning of each item in
>>> \startitemize[text] to be too large. Currently, this is hard coded to be
>>> \emwidth plus \intertwordstretch minus \interwordshrink (line 1132 of
>>> core-itm.tex with the comment "new per 2006/10/20"). I always end of
>>> copying the definition of complexdoitemgroupitem to my private modules and
>>> changing the emwidth in the definition to 0.5\emwidth. Can you please keep
>>> this key to be configurable with a key (textinbetween)?
>>>
>>> BTW, any particular reason not to simply say
>>> \removeunwantedspaces\space\ignorespaces instead of
>>> \removeunwantedspaces\hskip\emwidth\!!plus\interwordstretch\!!minus\interwordshrink\relax
>>> \stopitemgroup uses just the first variant.
>>>
>>> Thanks,
>>> Aditya
>>
>> Hi Aditya,
>>
>> what do you about the following solution, the space between each
>> item is configurable with the "space" key, the fourth parameter
>> \dostartitemgroup gobbles we get from \startitemize if we use two
>> parameters.
>
> Thank you for looking into this old request. This does exactly what I
> want. I just have one comment regarding the default. Maybe, for
> consistency, the space key should behave as in \setupinterlinespace
>
> space=none|small|medium|big|dimension

\processaction
  [\getitemparameter\currentitemlevel\c!space]
  [   \v!none=>\let\textitemdistance\zeropoint,
   \s!unknown=>\assignvalue\commalistelement\textitemdistance{.5\interwordspace\!!plus.5\emwidth}{\interwordspace\!!plus\emwidth}{\emwidth\!!plus\interwordstretch\!!minus\interwordshrink}]%
\removeunwantedspaces\hskip\textitemdistance\relax

Wolfgang
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://tex.aanhet.net
archive  : https://foundry.supelec.fr/projects/contextrev/
wiki     : http://contextgarden.net
___________________________________________________________________________________


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Feature Request: \startitemize[text]
  2008-10-17 17:01   ` Aditya Mahajan
  2008-10-21  7:11     ` Wolfgang Schuster
@ 2008-10-21 17:37     ` Hans Hagen
  1 sibling, 0 replies; 5+ messages in thread
From: Hans Hagen @ 2008-10-21 17:37 UTC (permalink / raw)
  To: mailing list for ConTeXt users

Aditya Mahajan wrote:

> Hans, can this be included in the core?

later, i'd rather not touch code now while i'm in the middle some major 
mkiv core code rework which will take a couple of weeks

so, fro the moment, just collect extension code

Hans



-----------------------------------------------------------------
                                           Hans Hagen | PRAGMA ADE
               Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
      tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com
                                              | www.pragma-pod.nl
-----------------------------------------------------------------
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://tex.aanhet.net
archive  : https://foundry.supelec.fr/projects/contextrev/
wiki     : http://contextgarden.net
___________________________________________________________________________________


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2008-10-21 17:37 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-01-13 21:41 Feature Request: \startitemize[text] Aditya Mahajan
2008-10-17  6:27 ` Wolfgang Schuster
2008-10-17 17:01   ` Aditya Mahajan
2008-10-21  7:11     ` Wolfgang Schuster
2008-10-21 17:37     ` Hans Hagen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).