horizontal headalternatives ignore indentnext
Dear list, If I choose the headalternative to be of horizontal type, e.g. “text”, the head placement will ignore the indentnext option. This can be traced back to the \strc_rendering_stop_placement macro where there is a check \ifconditional\headisdisplay \useindentnextparameter\headparameter \else \ignoreparskip \noindentation % recently added, was a bug \fi If the headalternative is vertical, \headdisplay is true, if it is horizontal, \headdisplay is false. It is easy to see that indentnext is not treated on equal footing for these two, in fact, indentation is generally ignored for horizontal headalternatives. Commenting out \noindentation at least gives indentation in the following paragraph but that is not a proper solution. Below you can find a MWE with the fix from above applied. Try commenting in and out the \noindentation and see what happens to the second paragraph after the heading. Cheers, Henri --- \unprotect \def\strc_rendering_stop_placement {\n_strc_rendering_hang_lines\zerocount \ifconditional\headisdisplay \strc_rendering_initialize_line_hang % kind of special, we want to snap heads also according to local specs local \setbox\b_strc_rendering_head\hbox {\hskip\dimexpr\d_strc_rendering_local_leftoffset+\headparameter\c!margin\relax \box\b_strc_rendering_head \getheadsyncs % a latelua why not in the box }% \ifgridsnapping \applygridmethod {\headparameter\c!grid}% {\ifconditional\headisdisplay \strc_rendering_initialize_style_and_color_display\c!textstyle\c!textcolor \fi}% {\box\b_strc_rendering_head} \else \box\b_strc_rendering_head \fi \flushnotes % new, not really needed \endgraf \ifvmode \ifnum\n_strc_rendering_hang_lines>\zerocount \dorecurse\n_strc_rendering_hang_lines{\nointerlineskip\dosomebreak\nobreak\strut\endgraf}% to be checked \fi \nointerlineskip \dosomebreak\nobreak \fi % \getheadsyncs % a latelua why not in the box \else % somehow this goes ok even when we push in the margin probably because we gobble pars % in the process of collecting index entries etc \strut \flushnotes % new, here since we're in par mode \unhbox\b_strc_rendering_head \getheadsyncs % a latelua \ifconditional\headissomewhere \strc_sectioning_stay_on_this_line % test case: alternative=margintext and \startparagraph .. \else %\hskip\headnumberdistance\s!plus\headnumberdistance\s!minus.25\dimexpr\headnumberdistance\relax \hskip\headtextdistance\relax \strc_sectioning_inject_continuous_signal \fi \fi \ifconditional\headisdisplay \ifvmode \ifgridsnapping % important, font related depth, see comment \prevdepth\strutdp \else \prevdepth\d_strc_rendering_local_depth \fi \fi \fi \synctexpopline \egroup \egroup \ifconditional\headisdisplay \useindentnextparameter\headparameter \else \ignoreparskip % \noindentation % recently added, was a bug \fi} \protect \setupindenting[yes,big] \setuphead[section][alternative=text,indentnext=yes] \starttext \section{Introduction} \input knuth \stoptext
participants (1)
-
Henri Menke