2013/10/31 Nick Dokos <ndo...@gmail.com>

> Cecil Westerhof <cldwester...@gmail.com> writes:
>
> > I have the following table:
> > |----------|
> > | Duration |
> > |----------|
> > | 2@ 15    |
> > | 2@ 30    |
> > | 2@ 30    |
> > | 0@ 45    |
> > |----------|
> > | 8@ 0' 0" |
> > |----------|
> > #+TBLFM: @>$1=vsum(@2..@-1)
> >
> > I would like the total be displayed like:
> >     8@ 00'
> > instead of:
> >     8@ 0' 0"
> >
> > Is this possible?
> >
>
> You can get close by setting org-calc-default-modes as follows:
>
> (setq org-calc-default-modes '(calc-internal-prec 12
>                                calc-float-format (float 8)
>                                calc-angle-mode deg
>                                calc-prefer-frac nil
>                                calc-symbolic-mode nil
>                                calc-date-format (YYYY "-" MM "-" DD " "
> Www (" " hh ":" mm))
>                                calc-display-working-message t
>                                calc-hms-format "%s@ %02s'"))
>
> This is the default setting except for calc-hms-format. It does not
> quite do what you want, but it's close (I expected the %02s to zero-fill
> on the left, but apparently it does not for the %s format):
>
> |----------|
> | Duration |
> |----------|
> | 2@ 15    |
> | 2@ 30    |
> | 2@ 30    |
> | 0@ 45    |
> |----------|
> | 8@  0'   |
> |----------|
> #+TBLFM: @>$1=vsum(@2..@-1)
>

I never answered. T_T I use the following now in my init:
(require 'org-table)
(setq org-calc-default-modes (cons 'calc-hms-format (cons '"%s@ %02s"
org-calc-default-modes)))

The require is necessary to get org-calc-default-modes defined. The
calc-hms-format is not defined, so this works, but I will write a function
so also the other values can be changed.

The reason I use this, is that this does not have side effects. When the
defaults change, your way would have a side effect.

The zero fill only works with a number format. That is the reason I can not
get it the way I want, but I can live with that.


-- 
Cecil Westerhof

Reply via email to