[NTG-context] Unexpected changes with pdfeTeX 1.20 (?)

h h extern pragma at wxs.nl
Tue Mar 1 21:37:02 CET 2005


Steffen Wolfrum wrote:
> Hi,
> 
> while looking closer at the result of typesetting an older (Nov. 2004) 
> document with todays pdfeTeX and context stuff I noticed that the layout 
> of my TOC changed:
> 
> Normally I write all setups in a SetupEnvironment file that is loaded at 
> the beginning of a project structure.
> Like this:
> 
> \startproject WLTHR_1
> \environment SetupEnvironment_WLTHR
> \startfrontmatter
> \component Kapitel/Titelei
> \component Kapitel/Vorwort
> \completecontent
> \stopfrontmatter
> \startbodymatter
> \component Kapitel/Kap_1
> \component Kapitel/Kap_2
> \component Kapitel/Kap_3
> \component Kapitel/Kap_4
> \component Kapitel/Kap_5
> \stopbodymatter
> \startbackmatter
> \component Kapitel/Katalog
> \component Kapitel/Literatur
> \stopbackmatter
> \stopproject
> 
> But as in SetupEnvironment also \setupindenting is set, now the TOC gets 
> this indenting too!
> Once (2004, before pdfeTeX 1.20 ?) this didn't affect the generated 
> \completecontent - only the real \component files.
> 
> Is this change known? Are there more differences like this, so one knows 
> what to look for when typesetting older documents with new TeX 
> (ConTeXt?) files?
> 
> Steffen
> 
> 
> 
> A minimal test looks like this:
> 
> \starttext
> \showframe
> \showgrid
> \definecombinedlist[content]
> [chapter,section][level=section]
> \setupindenting[30pt]% <----------------
> \completecontent% <---------------
> %\setupindenting[30pt]% <----------------
> \chapter{Kapitel}
> text
> \section{Unterkapitel}
> text
> \section{Unterkapitel}
> text
> \stoptext

fix (\dontleavehmode -> \noindent) in core-sec.tex; you can put the patch in 
cont-new.tex if you have a recent version

\def\dodofixdlistelementABC#1#2#3#4#5#6% weeden
   {\endgraf
    \leftskip\listparameter\c!margin% na de \endgraf !
    \listparameter\c!before
    \!!widthc\listparameter\c!distance
    \doifelse{\listparameter\c!width}\v!fit
      {\!!widtha\zeropoint}
      {\doifelsenothing{#3}
         {\doifelse{\listparameter\c!aligntitle}\v!yes
            {\!!widtha\zeropoint
             \!!widthc\zeropoint}
            {\!!widtha\listparameter\c!width}}
         {\!!widtha\listparameter\c!width}}%
    \getvalue{\??li\c!alternative\listparameter\c!alternative}%
    \endgraf
    \def\makelistelement##1##2%
      {\doifelse{\listparameter\c!interaction}{##1}
         {\setbox0\hbox{\showcontrastlocation\??ia{#6}{##2}}%
          \linklisttoelement{#2}{#5}{#6}{\box0}}%{\copy0}}%
         {\hbox{##2}}}%
    \doif{\listparameter\c!interaction}\v!text % not supported
      {\setlistparameter\currentlist\c!interaction\v!all}%
  % \dontleavehmode % new, else no margin, but wrong
    \noindent
    \makelistelement\v!all
      {\setlocalhsize \hsize\localhsize \hbox to \hsize
         {\forgetall
          \dostartlistattributes\c!style\c!color\empty
          \!!widthb\hsize
          \setbox2\hbox \ifdim\!!widtha>\zeropoint to \!!widtha \fi
            {\makelistelement\v!sectionnumber
               {\donestedlistattributes\c!numberstyle\c!numbercolor
                  {\listparameter\c!numbercommand{\currentlistsymbol}}%
             \hfill}}%
          \setbox4\hbox
            {\doif{\listparameter\c!pagenumber}\v!yes
               {\doifsomething{#5}    % \listwidth is new ; temp hack
                  {\hbox \ifdim\listwidth>\zeropoint to \listwidth\fi
                     {\hfill
                      \makelistelement\v!pagenumber
                        {\donestedlistattributes\c!pagestyle\c!pagecolor
                           {\listparameter\c!pagecommand
                              {\pageprefix\??li\currentlist[#5]%
                               \translatednumber[#5]}}}}}}}%
          \vbox
            {\hsize\!!widthb
             \setupalign[\listparameter\c!align]%
             \ifdim\!!widtha<\hsize
               \hangindent\wd2
               \dimen2=\!!widthc % \listparameter\c!distance
               \advance\hangindent \dimen2
               \hangafter\plusone
               \doif{\listparameter\c!hang}\v!no{\hangafter\zerocount}%
               \ifdim\wd4=\zeropoint % \ifvoid4
                 % we kunnen gewoon afbreken aan het eind
               \else
                 \ifdim\listskip>\zeropoint\relax
                   \rightskip\listskip\!!plus10em\relax
                   \parfillskip-\rightskip
                 \fi
               \fi
             \else
               \dimen2\zeropoint
             \fi
             \parindent\zeropoint\relax
             \leavevmode
             \box2\relax
             \hskip\dimen2
             \bgroup
             \donestedlistattributes\c!textstyle\c!textcolor
               {\let\\=\newlineinlist
                \dontconvertfont
               %\listparameter\c!textcommand{#4}}%
                \limitatedlistentry{#4}}%
               %\carryoverpar % new otherwise wrong linespacing
             \egroup
             \ifdim\wd4=\zeropoint\relax % \ifvoid4
               % \ifdim\!!widtha<\hsize \hfill\strut \fi % spoils align
             \else
               \nobreak\listfill
               \box4\relax
               \relax
             \fi}%
          \hss
          \dostoplistattributes}}% new
    \endgraf % new, else problems with nointerlinespace and prevdepth
    \nointerlineskip % anders verkeerde spatiering bij multi-line
    \endgraf
    \allowbreak
    \listparameter\c!after}




-----------------------------------------------------------------
                                           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
-----------------------------------------------------------------



More information about the ntg-context mailing list