emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Carsten Dominik <dominik@science.uva.nl>
To: cs-usenet@arcor.de
Cc: emacs-orgmode@gnu.org
Subject: Re: Alignment of numbers in tables with `nan' in some table cells
Date: Tue, 14 Aug 2007 15:09:55 +0200	[thread overview]
Message-ID: <a293ed27d1882380aed958a147202508@science.uva.nl> (raw)
In-Reply-To: <f9nqps$av8$4@sea.gmane.org>

Hi Christian,


On Aug 12, 2007, at 22:33, Christian Schlauer wrote:
>
> | data 1 | data 2 | data 3 | result 1 | result 2 |
> |--------+--------+--------+----------+----------|
> |     23 |     25 |     17 |        8 |       15 |
> |        |     24 |     18 |        6 |       -6 |
> #+TBLFM: $4=$2-$3::$5=$1-$4
>
> Now, a negative value doesn't make sense in my real table. So instead
> of printing a nonsensical value, I'd prefer something else there. I
> remembered that MATLAB has `NaN', and Calc has that, too: `nan', see
> (info "(calc)Infinities"). So I put `nan' in line 3, column 1, and
> recalculate the above table:
>
> | data 1 | data 2 | data 3 | result 1 | result 2 |
> |--------+--------+--------+----------+----------|
> | 23     |     25 |     17 |        8 | 15       |
> | nan    |     24 |     18 |        6 | nan      |
> #+TBLFM: $4=$2-$3::$5=$1-$4
>
> It's almost perfect! It is clear that a result for column 5 in line 3
> does not exist as there are no data in column 1 of that line. The only
> thing that is not perfect is that the alignment in columns 1 and 5 is
> messed up due to `nan'.
>
> Could this be fixed?

I like that little trick with nan, it is a nice demonstration the
the full symbolic capabilities of Calc are still present in
Org-mode tables.

The table editor automatically chooses the alignment of a column,
based on the content of the column.  There are two customization
variables involved in tuning this behavior:

,----[ C-h v org-table-number-regexp RET ]
| org-table-number-regexp is a variable defined in `org.el'.
| Its value is
|  
"^\\([<>]?[-+^.0-9]*[0-9][-+^.0-9eEdDx()%:]*\\|\\(0[xX]\\)[0-9a-fA- 
F]+\\)$"
|
|
| Documentation:
| Regular expression for recognizing numbers in table columns.
| If a table column contains mostly numbers, it will be aligned to the
| right.  If not, it will be aligned to the left.
|
| The default value of this option is a regular expression which allows
| anything which looks remotely like a number as used in scientific
| context.  For example, all of the following will be considered a
| number:
|     12    12.2    2.4e-08    2x10^12    4.034+-0.02    2.7(10)  >3.5
|
| Other options offered by the customize interface are more restrictive.
`---

,----[ C-h v org-table-number-fraction RET ]
| org-table-number-fraction is a variable defined in `org.el'.
| Its value is 0.5
|
|
| Documentation:
| Fraction of numbers in a column required to make the column align  
right.
| In a column all non-white fields are considered.  If at least this
| fraction of fields is matched by `org-table-number-fraction',
| alignment to the right border applies.
`---

So you can either lower the threshold value in  
`org-table-number-fraction',
or you can modify the regular expression so that it will interpret nan  
as a
number.

I will make the default regexp swallow nan.

- Carsten

  reply	other threads:[~2007-08-14 13:10 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-08-12 20:33 Alignment of numbers in tables with `nan' in some table cells Christian Schlauer
2007-08-14 13:09 ` Carsten Dominik [this message]
2007-08-18  7:50   ` Christian Schlauer
2007-08-20  5:42     ` Carsten Dominik

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

  List information: https://www.orgmode.org/

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

  git send-email \
    --in-reply-to=a293ed27d1882380aed958a147202508@science.uva.nl \
    --to=dominik@science.uva.nl \
    --cc=cs-usenet@arcor.de \
    --cc=emacs-orgmode@gnu.org \
    /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.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

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 read-only IMAP folder(s) and NNTP newsgroup(s).