View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0000437 | luatex | luatex bug | public | 2010-07-26 20:49 | 2010-09-09 11:17 |
Reporter | Taco | Assigned To | Taco | ||
Priority | normal | Severity | minor | Reproducibility | have not tried |
Status | closed | Resolution | fixed | ||
Fixed in Version | 0.63.0 | ||||
Summary | 0000437: soul.sty does not work | ||||
Description | From a post by Ulrike Fischer: Am Mon, 26 Jul 2010 16:27:39 +0200 schrieb Taco Hoekwater: > > On 07/26/2010 11:04 AM, Ulrike Fischer wrote: >> >> >> >> The problem has nothing to do with fonts or utf8. I get the same >> >> error with lualatex (Version beta-0.61.0-2010061910 (rev 3724)) >> >> (xelatex + pdflatex works fine) with this example: > > > > This sounds like an engine error, but I am missing what is actually > > wrong. Is there a problem with \lastbox ? I don't know. But I now also looked at box \z@ And there you get with luatex as first box: > > \box0= \vbox(12.0+0.0)x0.00002, direction TLT .\hbox(0.0+0.0)x0.00002, direction TLT ..\whatsit ...\localinterlinepenalty=0 ...\localbrokenpenalty=0 ...\localleftbox=null ...\localrightbox=null ..\glue(\rightskip) 0.0 .\penalty 300 .\glue(\baselineskip) 7.6955 .\hbox(4.3045+0.0)x0.00002, direction TLT ..\SOUL@tt a ..\penalty 10000 ..\glue(\parfillskip) 0.0 plus 1.0fil ..\glue(\leftskip) 0.0 While pdflatex shows > > \box0= \vbox(4.3045+0.0)x0.00002 .\hbox(4.3045+0.0)x0.00002 ..\glue 0.0 ..\SOUL@tt a ..\penalty 10000 ..\glue(\parfillskip) 0.0 plus 1.0fil ..\glue(\rightskip) 0.0 So box0 contains in luatex at the start 2 hboxes and so needs one step more to get void than in pdflatex. The additional box disappears (and also the errors) if I remove the \tolerance\@M from SOUL@doword: \documentclass[10pt]{book} \usepackage{soul} \makeatletter \showboxdepth=100 \def\SOUL@doword{% \edef\x{\the\SOUL@word}% \ifx\x\empty \else \SOUL@buffer={}% \setbox\z@\vbox{% \SOUL@tt \hyphenchar\font`\- \hfuzz\maxdimen \hbadness\@M \pretolerance\m@ne % \tolerance\@M %<-------------- \leftskip\z@ \rightskip\z@ \hsize1sp \everypar{}% \parfillskip\z@\@plus1fil \hyphenpenalty-\@M \noindent \hskip\z@ \relax \the\SOUL@word}% \showbox\z@ %<------show \let\SOUL@errmsg\SOUL@error \let\-\relax \count@\m@ne \SOUL@analyze \SOUL@word={}% \fi } \begin{document} \so{a} \end{document} | ||||
Steps To Reproduce | The problem seems to be that the local_par whatsit followed by the hskip introduces a line break, that becomes chosen thanks to the \tolerance setting. This special case of local_par+hskip should (if possible) be blocked to ensure compatibility with non-Aleph based engines. | ||||
Tags | No tags attached. | ||||
|
Although ... our aim is is not to be pdftex (etc) compatible esp not if we also want to revision some directional thingies and par related issues. So, even if this get 'fixed' we cannot guarantee similar behaviour in future versions < 1.0. |
|
fixed in commit #3833 |
Date Modified | Username | Field | Change |
---|---|---|---|
2010-07-26 20:49 | Taco | New Issue | |
2010-07-26 21:37 | Hans Hagen | Note Added: 0000562 | |
2010-08-26 08:13 | Taco | Note Added: 0000609 | |
2010-08-26 08:13 | Taco | Status | new => resolved |
2010-08-26 08:13 | Taco | Resolution | open => fixed |
2010-08-26 08:13 | Taco | Assigned To | => Taco |
2010-09-09 11:16 | Taco | Fixed in Version | => 0.63.0 |
2010-09-09 11:17 | Taco | Status | resolved => closed |