[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