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
On Sun, Jan 13, 2008 at 11:41 PM, Aditya Mahajan
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
Hi Wolfgang, On Fri, 17 Oct 2008, Wolfgang Schuster wrote:
On Sun, Jan 13, 2008 at 11:41 PM, Aditya Mahajan
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 ___________________________________________________________________________________
On Fri, Oct 17, 2008 at 7:01 PM, Aditya Mahajan
Hi Wolfgang,
On Fri, 17 Oct 2008, Wolfgang Schuster wrote:
On Sun, Jan 13, 2008 at 11:41 PM, Aditya Mahajan
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
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 -----------------------------------------------------------------
participants (3)
-
Aditya Mahajan
-
Hans Hagen
-
Wolfgang Schuster