ntg-context - mailing list for ConTeXt users
 help / color / mirror / Atom feed
From: Peter Rolf <indiego@gmx.net>
To: mailing list for ConTeXt users <ntg-context@ntg.nl>
Subject: Re: imbalanced columns
Date: Thu, 15 Jul 2010 19:12:16 +0200	[thread overview]
Message-ID: <4C3F4170.5080600@gmx.net> (raw)
In-Reply-To: <op.vfv3myqfpw6hmh@ishamid-pc>

[-- Attachment #1: Type: text/plain, Size: 3656 bytes --]

Am 15.07.2010 16:53, schrieb Idris Samawi Hamid ادريس   سماوي حامد:
> On Thu, 15 Jul 2010 02:33:03 -0600, Peter Rolf <indiego@gmx.net> wrote:
> 
>> has to do with the way the column width is calculated. the combined
>> entries (2+3,4+5) in row one can only influence (increase) the total
>> width of the involved columns, but they can not give an answer to the
>> question how wide the single columns should be.
>> in the end you need a linear system of equations (and metapost) to solve
>> this. and there is also no guarantee that it is solvable in all (more
>> complex) cases.
>> col2=col3; col4=col5;
>> col2+col3= ....;
>> col4+col5= ....;
> 
> Ok... But it seems inescapable that this is a bug in some sense. If we
> simplify things, compare
> 
> ======================================
> \starttext
> \starttables[|c|c|]
> \HL
> \VL \Use{2}[c]{B} \VL\AR
> \HL
> \VL  B \VL B                \VL\AR
> \HL
> \stoptables
> \blank
> \starttables[|c|c|]
> \HL
> \VL \Use{2}[c]{BBBBBBB} \VL\AR
> \HL
> \VL  B \VL B                \VL\AR
> \HL
> \stoptables
> \stoptext
> ====================================
> 
> Your mathematical explanation makes sense, but to a new user I doubt one
> could convince him/her that the second table is a feature and not a bug.

it's more a limitation of this table implementation. you have some
additional space from the multicolumn entry that must be added to the
involved columns somehow. the current implementation is probably
something like this: use the natural width (maxima) for all but the last
involved column and add the complete additional space to the last one.

> But I understand that the challenge may be complicated.
> 
> Till then, we need a simple workaround if that's possible.
> 
>> also: i can't imagine how a user interface for this should look like.
> 
> \setuptables[spanalign=balance]
>

right. you can implement all kind of different spanning algorithms. i
would expect that 'balance' would share the additional space equally on
all involved columns.

but table macros in tex are really ugly. you need tons of bookkeeping
data for maxima, styles, multi-column|row, whatever. and tex has no data
types for bookkeeping (like a programming language), so you have to
store all the data in macros, dimens... it's a complete mess. have a
look at the macro definitions and you will agree :)

anyhow, i expect much better functionality (e.g. clever spanning
alternatives) with a lua based table implementation. we have to wait for
that.

> or something....
> 
>>>> maybe like this...
>>>
>>> That's a great workaround, and I appreciate it. But what about new
>>> users? There has got to be a more elegant solution to this seemingly
>>> simple table. Row two just does not look right...
>>>
>> true, but this is font related. you can see this by using
>> \ruledhbox{ʿAlī}. you have to add some manual kerning (\kern-0.??em ...)
>> then.
> 
> I don't see the font-relatedness, even with \ruledhbox... Hence the
> above simple test case.
> 

see attached pdf (the box looks centered). the \ruledhbox breaks the
width calculation of the second column somehow, but you can see that
there is some additional space in front of the first character. use a
negative kern in front of it for compensation.

> As we work to bring ConTeXt to a wider audience -- I'm currently
> involved with such efforts, we should keep track of outwardly "simple"
> cases like the above ...
>

not an easy task, as it's more a 'special' than a 'simple' case ;)
but i know what you mean. my best wishes for that.

Peter

[-- Attachment #2: test.pdf --]
[-- Type: application/pdf, Size: 9133 bytes --]

[-- Attachment #3: Type: text/plain, Size: 486 bytes --]

___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://tex.aanhet.net
archive  : http://foundry.supelec.fr/projects/contextrev/
wiki     : http://contextgarden.net
___________________________________________________________________________________

  reply	other threads:[~2010-07-15 17:12 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-07-14 18:42 Idris Samawi Hamid ادريس   سماوي حامد
2010-07-14 18:51 ` Idris Samawi Hamid ادريس   سماوي حامد
2010-07-14 20:26 ` Peter Rolf
2010-07-15  0:35   ` Idris Samawi Hamid ادريس   سماوي حامد
2010-07-15  8:33     ` Peter Rolf
2010-07-15 14:53       ` Idris Samawi Hamid ادريس   سماوي حامد
2010-07-15 17:12         ` Peter Rolf [this message]
2010-07-15 17:16           ` Idris Samawi Hamid ادريس   سماوي حامد
2010-07-15 17:28             ` Peter Rolf
2010-07-15 18:04               ` Peter Rolf
2010-07-15 17:24           ` Peter Rolf
2010-07-15 17:37           ` Aditya Mahajan
2010-07-15 17:45             ` Tables for newbies [WAS Re: imbalanced columns] Idris Samawi Hamid ادريس   سماوي حامد
2010-07-15 17:57               ` luigi scarso
2010-07-15 18:42               ` Hans Hagen
2010-07-16 13:05               ` Peter Münster
2010-07-16 15:51                 ` Idris Samawi Hamid ادريس   سماوي حامد
2010-07-16 18:21                   ` luigi scarso
2010-07-15 18:43             ` imbalanced columns Hans Hagen
2010-07-15 18:47               ` Idris Samawi Hamid ادريس   سماوي حامد

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4C3F4170.5080600@gmx.net \
    --to=indiego@gmx.net \
    --cc=ntg-context@ntg.nl \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).