On Tue, Jul 22, 2003 at 05:37:51PM +0200, Andre Poenitz wrote:

> > Furthermore, getting a 100% width minipage working right needs it due to
> > the possible indentation of the paragraph. need full row insets behave
> > slightly differently though.
> 
> *sigh* I still don't get it. What is 'it'? 

OK. Current bug is that you pass the full workwidth (or inset width) to
metrics for the inset. Wrong, it has to be curtailed to its actual
width. For minipages, since they're not needFullRow(), need to look like
this :

|     ----                                                           |
|     |------------------------------------------------------------| |
|     |------------------------------------------------------------| |
   ^
  /|\
   |
   |

Note the indent here in the paragraph. So you need to calculate the
starting "x" position of the inset, and set its max width to the
remaining amount on the row. Also consider a minipage in a list
environment etc.

Because needFullRow() insets have special handling it's not quite the
same (same goes for insetnewline). I'm suggesting that as well as fixing
the above, we can remove these hacks iff we pass the remaining width as
well as the max width.

The inset can say "but I need a full row" and return a width wider than
that. The row breaking will place it on the next line and all is groovy.

Try inserting a footnote as the first thing in a bullet list if you want
a clear example of how the old code got it completely wrong.

regards
john

Reply via email to