[NTG-context] Indentation after margin float with caption

Aditya Mahajan adityam at umich.edu
Tue Sep 6 21:57:41 CEST 2016


On Tue, 6 Sep 2016, Wolfgang Schuster wrote:

>>  Mikael P. Sundqvist <mailto:mickep at gmail.com>
>>  6. September 2016 um 21:07
>>
>>  Dear all,
>>
>>  since I got no answer here I cross posted on stackexchange (see
>>  http://tex.stackexchange.com/q/328147/52406). Now, I got a solution to
>>  this from Aditya. It seems that it is not yet clear to me (or Aditya,
>>  as far as I understand from the reply) which float placements that
>>  respects the \setupfloats[indentnext=yes] and which not. Or more
>>  importantly, why.
>>
>>  To make this email thread more complete, the solution of Aditya adds
>>
>>  \unprotect
>>  \def\page_one_place_float_auto
>>  {\page_one_place_float_otherwise\nonoindentation}
>>  \def\page_one_place_float_bottom
>>  {\page_one_place_float_otherwise\nonoindentation}
>>  \def\page_one_place_float_margin
>>  {\page_margin_blocks_process_float\nonoindentation}
>>  \def\page_one_place_float_leftmargin
>>  {\page_one_place_float_side_indeed\page_sides_process_float_leftmargin\nonoindentation}
>>  \def\page_one_place_float_rightmargin{\page_one_place_float_side_indeed\page_sides_process_float_rightmargin\nonoindentation}
>>  \protect
> When backwards compatiblity is a reason for not changing this adding a hook 
> can be solution, e.g.
>
> -\def\page_one_place_float_auto       {\page_one_place_float_otherwise}
> +\def\page_one_place_float_auto 
> {\page_one_place_float_otherwise\rootfloatparameter\c!next}
>
> which can be used with \setupfloat[next=\indentation]

In the move to MkII to MkIV, there have been many changes that are not 
backward compatible. So, I am not in favor of adding a new key when we 
already have an indentnext key just for the sake of backward 
compatibility.

It will be nice if all the location alternatives in setupfloat honored the 
indentnext key. It is really awkaward that when indentnext=yes (or auto) 
location=top and location=bottom behave differently.

If backward compatibility is really important, we could add a mechanism to 
control the indentnext key for each location; but that would add too much 
complexity to the code for very little benefit. If one wants to mix floats 
that indent the next paragraph with floats that don't indent the next 
paragraph, it is possible to define different types of floats (with the 
same counters and lists) such that indentnext=yes for one type and 
indentnext=no for the other.

Aditya


More information about the ntg-context mailing list