View Issue Details

IDProjectCategoryView StatusLast Update
0000232luatexluatex limitationpublic2015-10-25 11:38
ReporterKhaled Hosny Assigned ToTaco  
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionwon't fix 
Target Version0.80.0 
Summary0000232: \hbox in vmode doesn't inherit text direction
DescriptionHorizontal boxes inside vertical mode don't inherit text direction. This affects LaTeX users greatly (section numbers in default classes, beamer and may be other classes as well).
TagsNo tags attached.

Activities

2009-05-26 20:40

 

vmode_hbox.tex (105 bytes)

2009-05-26 20:43

 

vmode_hbox.ltx (109 bytes)

Taco

2009-05-27 16:56

administrator   ~0000204

Do you happen to know whether they do inherit the text direction in Aleph?
(I suspect they don't)

Khaled Hosny

2009-05-27 21:03

developer   ~0000206

I forget to mention that, it is the same behavior as Aleph (but not Omega 23 btw)

ishamid

2009-05-28 14:47

reporter   ~0000207

Omega 23 was so buggy that even Yannis did not use it, so Omega 23's behavior should not be considered an indicator of anything.

My thought is that we need to examine this more carefully before changing anything

Taco

2009-06-08 11:13

administrator   ~0000221

I am changing this to a 'limitation' while we are investigating the side-effects of making such a change

Taco

2009-11-04 17:33

administrator   ~0000323

Here is the proposed solution:

The problem is as follows: effectively, there are four direction
> specifiers that we have to keep track of: \bodydir, \pardir,
> \textdir, and \mathdir (\pagedir can be ignored because it is
> never nested).
>
> In the absense of boxes, this is a simple thing to do: just
> fetching and storing values in the equivalents and on the save
> stack works just fine.
>
> But explicit \vbox, \vtop, and \hbox can have a 'dir' keyword,
> and that value then perculates down into its content. There
> is (currently) only one field for storing a text direction
> and that is where the problem starts: a choice is made which
> direction command is stored when there is *no* 'dir' specifier
> given. This decision is currently based on the mode before
> entering the new box, and it goes like this:
>
> vmode: default will be the current \bodydir
> hmode: default will be " \textdir
> mmode: default will be " \mathdir
>
> Once that decision has been made, this default direction is
> applied to the three of: \textdir, \bodydir, \pardir inside the
> box (just like and explicit 'dir' would be).
>
> It seems to me that the only clean way out is to store four
> fields in every box: one for each direction. At the same time,
> we should add four new keywords to the box specification: 'textdir',
> 'pardir', 'bodydir', 'mathdir'. Then each direction could inherit
> the correct enclosing one if the optional keyword is missing;
> or one or two of them could be set separately if one or more of
> the new keywords are given; or all four could be set to whatever
> the 'dir' keyword specifies (for shortcut functionality).

Taco

2009-11-14 12:57

administrator   ~0000342

It seems any attempt to fix this will lead to horrible compatibility issues.

We want to clean up the direction handling at some point anyway, and it seems a bad idea to break backward compatibility twice in a row, so I am postponing this
to post-0.50 (at least).

Issue History

Date Modified Username Field Change
2009-05-26 20:40 Khaled Hosny New Issue
2009-05-26 20:40 Khaled Hosny File Added: vmode_hbox.tex
2009-05-26 20:43 Khaled Hosny File Added: vmode_hbox.ltx
2009-05-27 16:56 Taco Note Added: 0000204
2009-05-27 21:03 Khaled Hosny Note Added: 0000206
2009-05-28 14:47 ishamid Note Added: 0000207
2009-06-08 11:13 Taco Note Added: 0000221
2009-06-08 11:13 Taco Status new => acknowledged
2009-06-08 11:13 Taco Category luatex bug => luatex limitation
2009-11-04 17:30 Taco Status acknowledged => assigned
2009-11-04 17:30 Taco Assigned To => Taco
2009-11-04 17:33 Taco Note Added: 0000323
2009-11-04 17:33 Taco Target Version => 0.50.0
2009-11-14 12:57 Taco Note Added: 0000342
2009-11-14 12:57 Taco Target Version 0.50.0 => 0.60.0
2010-03-04 10:26 Taco Target Version 0.60.0 => 0.70.0
2011-04-12 11:09 Taco Target Version 0.70.0 => 0.80.0
2015-10-25 11:38 Hans Hagen Status assigned => closed
2015-10-25 11:38 Hans Hagen Resolution open => won't fix