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
