emergency stretch not taken in account in some cases
Dear all, In some cases specifying \setupalign[stretch] does not seem to have any effect with latest betas (live, 2016.06.20 22:14 version are fine, but 2016.07.18 is not), and the output has now overfulls instead of (admitedly a bit large) underfulls. Attached simple (albeit bit extreme) MWE. Sorry for the relatively large MWE but could not figure out how to make it shorter. emergency_stretch.pdf produced with latest beta (updated with first-setup.bat today). emergency_stretch_ok.pdf produced with 2016.06.20 22:14 version. Thanks a lot for any advise. Best regards Joseph Canedo
josephcanedo@gmail.com mailto:josephcanedo@gmail.com 18. Juli 2016 um 23:21 Dear all,
In some cases specifying \setupalign[stretch] does not seem to have any effect with latest betas (live, 2016.06.20 22:14 version are fine, but 2016.07.18 is not), and the output has now overfulls instead of (admitedly a bit large) underfulls.
Attached simple (albeit bit extreme) MWE. Sorry for the relatively large MWE but could not figure out how to make it shorter.
emergency_stretch.pdf produced with latest beta (updated with first-setup.bat today). emergency_stretch_ok.pdf produced with 2016.06.20 22:14 version. I can’t reproduce your problem but justified text isn’t the best option in narrow columns.
Below is a simplified version of your code which doesn’t use the parent setting from margindata and marginframed setups, there is also no need to set the alignment twice and marginframed has no method key (the source is wrong). \definemargindata [InOuter] [method=first, location=outer, margin=margin, width=\outermarginwidth, style=\tf, stack=continue, align={normal,hanging,morehyphenation,hz,verytolerant,stretch}] \definemargindata [InInner] [method=first, location=inner, margin=margin, width=\innermarginwidth, style=\tf, align=outer] \definemarginframed[InOuter] \definemarginframed[InInner] %\setuplayout[width=12cm,rightmargin=4cm] \starttext Foo \InOuter{\input knuth } Bar. \stoptext Wolfgang
Thanks a lot Wolfgang for the simpler code, I’ll replace mine with your suggestion, in actual document the margins width are much larger and font smaller too. I use binaries on Win64 platform (installed using command line method: first-setup.bat --modules=all): $ ls -l $(which luatex.dll) -rwxr-xr-x 1 Jo Administrateurs 9567232 Jul 11 22:29 /c/ConTeXt/test/tex/texmf-win64/bin/luatex.dll $ luatex --version This is LuaTeX, Version 0.97.0 (TeX Live 2016/W32TeX) $ context --version mtx-context | current version: 2016.07.18 16:46 From: schuster.wolfgang@gmail.com Sent: Tuesday, July 19, 2016 12:10 AM To: ntg-context@ntg.nl josephcanedo@gmail.com 18. Juli 2016 um 23:21 Dear all, In some cases specifying \setupalign[stretch] does not seem to have any effect with latest betas (live, 2016.06.20 22:14 version are fine, but 2016.07.18 is not), and the output has now overfulls instead of (admitedly a bit large) underfulls. Attached simple (albeit bit extreme) MWE. Sorry for the relatively large MWE but could not figure out how to make it shorter. emergency_stretch.pdf produced with latest beta (updated with first-setup.bat today). emergency_stretch_ok.pdf produced with 2016.06.20 22:14 version. I can’t reproduce your problem but justified text isn’t the best option in narrow columns. Below is a simplified version of your code which doesn’t use the parent setting from margindata and marginframed setups, there is also no need to set the alignment twice and marginframed has no method key (the source is wrong). \definemargindata [InOuter] [method=first, location=outer, margin=margin, width=\outermarginwidth, style=\tf, stack=continue, align={normal,hanging,morehyphenation,hz,verytolerant,stretch}] \definemargindata [InInner] [method=first, location=inner, margin=margin, width=\innermarginwidth, style=\tf, align=outer] \definemarginframed[InOuter] \definemarginframed[InInner] %\setuplayout[width=12cm,rightmargin=4cm] \starttext Foo \InOuter{\input knuth } Bar. \stoptext Wolfgang
I think I could figure out the reason of this problem. Actually emergency stretch is broken in all cases it seems. In luatex source code I see: source/texk/web2c/luatexdir/tex/commands.w: primitive_tex("emergencystretch", assign_dimen_cmd, dimen_base + emergency_stretch_code, dimen_base); source/texk/web2c/luatexdir/tex/equivalents.h:#define emergency_stretch_par glue_par(emergency_stretch_code) source/texk/web2c/luatexdir/tex/equivalents.h:# define glue_par(A) equiv(glue_base+(A)) I could be wrong but to me it seems we assign some value to emergency stretch “variable” setting using “emergencystretch” command and we use another via emergency_stretch_par. Unfortunately I am not able to build luatex locally on Windows Platform, only sync code from SVN repository. Thanks a lot, Joseph Canedo From: schuster.wolfgang@gmail.com Sent: Tuesday, July 19, 2016 12:10 AM To: ntg-context@ntg.nl josephcanedo@gmail.com 18. Juli 2016 um 23:21 Dear all, In some cases specifying \setupalign[stretch] does not seem to have any effect with latest betas (live, 2016.06.20 22:14 version are fine, but 2016.07.18 is not), and the output has now overfulls instead of (admitedly a bit large) underfulls. Attached simple (albeit bit extreme) MWE. Sorry for the relatively large MWE but could not figure out how to make it shorter. emergency_stretch.pdf produced with latest beta (updated with first-setup.bat today). emergency_stretch_ok.pdf produced with 2016.06.20 22:14 version. I can’t reproduce your problem but justified text isn’t the best option in narrow columns. Below is a simplified version of your code which doesn’t use the parent setting from margindata and marginframed setups, there is also no need to set the alignment twice and marginframed has no method key (the source is wrong). \definemargindata [InOuter] [method=first, location=outer, margin=margin, width=\outermarginwidth, style=\tf, stack=continue, align={normal,hanging,morehyphenation,hz,verytolerant,stretch}] \definemargindata [InInner] [method=first, location=inner, margin=margin, width=\innermarginwidth, style=\tf, align=outer] \definemarginframed[InOuter] \definemarginframed[InInner] %\setuplayout[width=12cm,rightmargin=4cm] \starttext Foo \InOuter{\input knuth } Bar. \stoptext Wolfgang
josephcanedo@gmail.com mailto:josephcanedo@gmail.com 20. Juli 2016 um 20:48 I think I could figure out the reason of this problem. Actually emergency stretch is broken in all cases it seems. In luatex source code I see:
source/texk/web2c/luatexdir/tex/commands.w: primitive_tex("emergencystretch", assign_dimen_cmd, *dimen_base *+ emergency_stretch_code, dimen_base);
source/texk/web2c/luatexdir/tex/equivalents.h:#define emergency_stretch_par *glue_par*(emergency_stretch_code)
source/texk/web2c/luatexdir/tex/equivalents.h:# define glue_par(A) equiv(*glue_base*+(A))
I could be wrong but to me it seems we assign some value to emergency stretch “variable” setting using “emergencystretch” command and we use another via emergency_stretch_par.
Unfortunately I am not able to build luatex locally on Windows Platform, only sync code from SVN repository. This produces three different paragraphs.
\setupwhitespace[line] \starttext \input tufte \startalignment[stretch] \input tufte \stopalignment \startalignment[extremestretch] \input tufte \stopalignment \stoptext Wolfgang
participants (2)
-
josephcanedo@gmail.com
-
Wolfgang Schuster