-
-
Notifications
You must be signed in to change notification settings - Fork 249
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
varwidth first aid of June 8 2021 perhaps not enough #586
Comments
Well the problem is more the primitive \vskip. Your example works with These alternatives compile for me with the expected result:
Side remark: As described in ltpara-doc.pdf it is important to correctly end a \vbox with an explicit \par. It can put the paragraph hooks out-of-sync if this is missing and this can disturb the tagging of paragraphs. |
You mean a |
Sorry got confused. I actually use |
Hence I don't understand your remark about |
@u-fischer Indeed |
I'm not sure if it matters here, it is only something one has to be careful with. varwidth seems to mess up the paragraph numbers anyway :-( |
In a nutshell, varwidth makes some assumptions of how vertical spaces show up in a vertical list (especially after paragraphs) and with the 2021 release that assumption is no longer true, hence the first aid. However, the way that firstaid was written and the way varwidth unscrambles the vertical list this now means that stray vskips get lost (while LaTeX ones work because they are protected from immediate removal). You could try this, I think it will bring back the old behavior faithfully:
What also works is guarding the stray vskip by following it with a I guess this means indeed improving the firstaid is in order (or even better that Donald fixes varwidth) but this has to waiting until after my vacation. |
Yes, it does appear to achieve that indeed in my original use case. For time being I prepared to add |
goes into next update of first-aid |
hotfix on its way to CTAN (more or less) |
Thanks, this fixes sphinx-doc/sphinx#9315 upstream issue at least for the case reported in that ticket. |
welcome. Donald is informed and I would expect to see an update to varwidth eventually showing up so that this "first-aid" could then be dropped again. |
Brief outline of the bug
At https://github.com/sphinx-doc/sphinx we support producing tables with complex merged cells combining multiple columns and multiple rows in a way going beyond what is available via available packages (contents possibly using verbatim like environment, multiple paragraphs, lists). One part of this is relying on usage of
varwidth
. The #583 hit us but #584 fix does not solve the issue for us. sphinx-doc/sphinx#9315The extra whitespace which appeared above now appears below. Below, I will include screenshot of a TL2019 build and of a TL2021 build including the #584 first-aid. Prior to the first-aid the extra whitespace appeared on top, now it is below, but I have no screenshot because I updated my installation and don't want to go through rebuilding format (not sure if rollback applies to first-aid, no time to check; side note: the first-aid mechanism seems to leave no trace in the log except if any first-aid update trigger a "PL" stepping? I am not sure if "PL1" is enough to tell that the first-aid dated 2021/06/08 was included or not).
I have reduced it to an almost LaTeX issue, "almost" because it is using
\vbox
primitive. For lack of time I have not at all looked at what is mechanism and I have not tried to find some pure LaTeX without explicit usage of\vbox
. The rationale here of the code was to ensure some depth without having to worry about\parskip
setting. (and the template can not simply inserts a\strut
because material above may be vmode or end in a\par
not easy to otherwise control).Minimal example showing the bug
Log file (required) and possibly PDF file
TL2019:
TL2021, first-aid 2021/06/08
Prior to first-aid extra whitespace on top, not on bottom.
varwidthissue.log
The text was updated successfully, but these errors were encountered: