Re: [O] Journal versus clock tables: Opposing requirements?

2011-11-08 Thread Tommy Kelly
 ... it depends on how often you require this weekly report...

Ermm, weekly :-)

 It should be possible to write code that walks your agenda, visits the
 tasks, and copies and pastes the details to a temporary org buffer/file
 just for your chronological report.

Absolutely. But as I've been thinking about this, I'm realizing that
in fact a key input requirement (as opposed to my two output
requirements -- chronology plus clock tables) is ease of entry. As I
begin some new chunk of work, I don't want to have to hunt around for
the most appropriate heading to clock into and begin writing notes
under. As a result, what's happening is two things. First, I'm just
falling back on your single Organization catch-all task; second, I'm
not writing *any* notes.

With a chronological journal, there's no decision to be made. You just
start logging at the end (or start) of the journal. But maybe
something in the org-capture area is what I need. I've tried it before
and didn't get very far, but I'll have another look.

thanks,
Tommy



Re: [O] Journal versus clock tables: Opposing requirements?

2011-11-08 Thread Carsten Dominik

On Nov 8, 2011, at 9:06 AM, Tommy Kelly wrote:

 ... it depends on how often you require this weekly report...
 
 Ermm, weekly :-)
 
 It should be possible to write code that walks your agenda, visits the
 tasks, and copies and pastes the details to a temporary org buffer/file
 just for your chronological report.
 
 Absolutely. But as I've been thinking about this, I'm realizing that
 in fact a key input requirement (as opposed to my two output
 requirements -- chronology plus clock tables) is ease of entry. As I
 begin some new chunk of work, I don't want to have to hunt around for
 the most appropriate heading to clock into and begin writing notes
 under. As a result, what's happening is two things. First, I'm just
 falling back on your single Organization catch-all task; second, I'm
 not writing *any* notes.
 
 With a chronological journal, there's no decision to be made. You just
 start logging at the end (or start) of the journal. But maybe
 something in the org-capture area is what I need. I've tried it before
 and didn't get very far, but I'll have another look.

Yes, capture you notes into a date tree and turn on the clock whenever
you start a new entry!

- Carsten



Re: [O] About commit named Allow multi-line properties to be specified in property blocks

2011-11-08 Thread Rainer M Krug
On Mon, Nov 7, 2011 at 11:09 PM, Eric Schulte schulte.e...@gmail.comwrote:

 The attached patch implements this latest propname+ suggestion.  When
 applied it results in the behavior shown below.

 I'm inclined to go with this as a solution moving forward.

 Thoughts?


Go for it - looks like a really good way of doing it.

Cheers,

Rainer





 --
 Eric Schulte
 http://cs.unm.edu/~eschulte/




-- 
Rainer M. Krug, PhD (Conservation Ecology, SUN), MSc (Conservation Biology,
UCT), Dipl. Phys. (Germany)

Centre of Excellence for Invasion Biology
Stellenbosch University
South Africa

Tel :   +33 - (0)9 53 10 27 44
Cell:   +33 - (0)6 85 62 59 98
Fax (F):   +33 - (0)9 58 10 27 44

Fax (D):+49 - (0)3 21 21 25 22 44

email:  rai...@krugs.de

Skype:  RMkrug


Re: [O] Journal versus clock tables: Opposing requirements?

2011-11-08 Thread Olaf Dietsche
Tommy Kelly tommy.ke...@verilab.com writes:

 OK, that might be what I need then. I thought clock tables grouped
 things by headings, not by tags. I'll have a look at the manual.

 I'm trying the tagging thing within clock tables, but I can't get it
 working at all. I've attached a tag to a single headline, and checked
 that I've got that right by using C-c a m. Then I added a :tags item
 to my clock table block but it seems to have no effect. Is this valid:

 #+BEGIN: clocktable :maxlevel 2 :scope file :block thisweek :step week
 :indent :tags test_tag
 #+END:

 I've also tried :tags 'test_tag', :tags '+test_tag' and a bunch of
 other things, but nothing seems to do anything. What I was expecting
 was that my clock table, currently filled with lots of items, would be
 reduced to looking only at the single headline that I've tagged. But
 it's not -- it just stays as it was before.

I haven't tried this myself, just looking at the manual. But playing
around, it seems you need double quotes around your tags match.

Here's a simple example for a start:

Tagged clock tables  -*- mode: org; fill-column: 78 -*-

* Shopping  :errands:
  :CLOCK:
  CLOCK: [2011-11-07 Mo 09:45]--[2011-11-07 Mo 09:50] =  0:05
  :END:
* Cleaning:house:
  :CLOCK:
  CLOCK: [2011-11-07 Mo 08:50]--[2011-11-07 Mo 09:05] =  0:15
  :END:
* Kids :children:
  :CLOCK:
  CLOCK: [2011-11-07 Mo 08:30]--[2011-11-07 Mo 08:50] =  0:20
  :END:
* Homework :children:
  :CLOCK:
  CLOCK: [2011-11-07 Mo 13:40]--[2011-11-07 Mo 14:05] =  0:25
  :END:
* Exercises  :health:
  :CLOCK:
  CLOCK: [2011-11-07 Mo 07:30]--[2011-11-07 Mo 07:50] =  0:20
  :END:

#+BEGIN: clocktable :maxlevel 2 :scope file :tags health
Clock summary at [2011-11-08 Di 09:57]

| Headline | Time   |
|--+|
| *Total time* | *0:20* |
|--+|
| Exercises| 0:20   |
#+END: clocktable

#+BEGIN: clocktable :maxlevel 2 :scope file :tags children
Clock summary at [2011-11-08 Di 09:58]

| Headline |   Time |
|--+|
| *Total time* | *0:45* |
|--+|
| Kids |   0:20 |
| Homework |   0:25 |
#+END: clocktable

Regards, Olaf


Re: [O] org-mode are these two entries identical for org-mode?

2011-11-08 Thread Jude DaShiell
I tried an experiment and am glad I didn't save its results!  Results 
are that you actually have to indent otherwise, all you have in the file 
are the headlines once org-mode sees the file.  I have a newly installed 
debian system on the first sata drive I used and I'm using org-mode to 
log the  extras I install on the system as well as configuration changes 
I make as they happen.

On Mon, 7 Nov 2011, Jude DaShiell wrote:

 * aptitude install emacs -r
   get emacs text editor.
 * aptitude install emacs -r
 get emacs text editor.
 
 
 Jude jdash...@shellworld.net
 When people ask do you believe in Numerology, the proper reply for me at
 least is do you believe in a hammer?  The proper answer for me for both
 questions is no, they're both tools and to be used under appropriate
 circumstances.
 
 
 

Jude jdash...@shellworld.net
When people ask do you believe in Numerology, the proper reply for me at
least is do you believe in a hammer?  The proper answer for me for both
questions is no, they're both tools and to be used under appropriate
circumstances.




Re: [O] About commit named Allow multi-line properties to be specified in property blocks

2011-11-08 Thread Sebastien Vauban
Hi Eric,

(Due to a high buzyness level, I've been a bit out of the discussion for one
week or so)

Eric Schulte wrote:
 The attached patch implements this latest propname+ suggestion.  When
 applied it results in the behavior shown below.

 I'm inclined to go with this as a solution moving forward.

 Thoughts?

 #+property: varfoo=1
 #+property: var+ , bar=2
 #+begin_src emacs-lisp
   (+ foo bar)
 #+end_src

So, in a way, adding the + after `var' is how you tell Org that this is an
accumulated property?

Two questions:

1. Why not the + after the property keyword (property+)? I guess because it's
   more against other aspects of Org internals?  Anyway, putting + after the
   var sounds as right to me -- maybe better even if we consider that you
   declare var as accumulated, writing so.

2. Must there be a first `var' without `+'?  Accepted, tolerated or wrong?  I
   mean, I'm sure that, due to heavy file editing, we'll sometimes have:

   #+property: var+   foo=1
   #+property: var+ , bar=2
   #+begin_src emacs-lisp
 (+ foo bar)
   #+end_src

 #+results:
 : 3

 #+begin_src emacs-lisp
   (org-entry-get (point) var t)
 #+end_src

 #+results:
 : foo=1, bar=2

 * overwriting a file-wide property
   :PROPERTIES:
   :var:  foo=7
   :END:

 #+begin_src emacs-lisp
   foo
 #+end_src

 #+results:
 : 7

 #+begin_src emacs-lisp
   (org-entry-get (point) var t)
 #+end_src

 #+results:
 : foo=7

 * appending to a file-wide property
   :PROPERTIES:
   :var+:  , baz=3
   :END:

To be honest, the only thing that I dislike is the comma in the above line.
Not intuitive at all. Quite hard to read.

Can't the comma be implicitly added by the `+' after the property name?

That would allow one to simply write:

   * appending to a file-wide property
 :PROPERTIES:
 :var+:baz=3
 :END:

and have the correct values.

 #+begin_src emacs-lisp
   (+ foo bar baz)
 #+end_src

 #+results:
 : 6

 #+begin_src emacs-lisp
   (org-entry-get (point) var t)
 #+end_src

 #+results:
 : foo=1, bar=2, baz=3

Thanks.

Best regards,
  Seb

-- 
Sebastien Vauban




Re: [O] About commit named Allow multi-line properties to be specified in property blocks

2011-11-08 Thread Rainer M Krug
On Tue, Nov 8, 2011 at 10:31 AM, Sebastien Vauban 
wxhgmqzgw...@spammotel.com wrote:

 Hi Eric,

 (Due to a high buzyness level, I've been a bit out of the discussion for
 one
 week or so)

 Eric Schulte wrote:
  The attached patch implements this latest propname+ suggestion.  When
  applied it results in the behavior shown below.
 
  I'm inclined to go with this as a solution moving forward.
 
  Thoughts?
 
  #+property: varfoo=1
  #+property: var+ , bar=2
  #+begin_src emacs-lisp
(+ foo bar)
  #+end_src

 So, in a way, adding the + after `var' is how you tell Org that this is an
 accumulated property?

 Two questions:

 1. Why not the + after the property keyword (property+)? I guess because
 it's
   more against other aspects of Org internals?  Anyway, putting + after the
   var sounds as right to me -- maybe better even if we consider that you
   declare var as accumulated, writing so.

 2. Must there be a first `var' without `+'?  Accepted, tolerated or wrong?
  I
   mean, I'm sure that, due to heavy file editing, we'll sometimes have:


Might be a good idea to tolerate this.



   #+property: var+   foo=1
   #+property: var+ , bar=2
   #+begin_src emacs-lisp
 (+ foo bar)
   #+end_src

  #+results:
  : 3
 
  #+begin_src emacs-lisp
(org-entry-get (point) var t)
  #+end_src
 
  #+results:
  : foo=1, bar=2
 
  * overwriting a file-wide property
:PROPERTIES:
:var:  foo=7
:END:
 
  #+begin_src emacs-lisp
foo
  #+end_src
 
  #+results:
  : 7
 
  #+begin_src emacs-lisp
(org-entry-get (point) var t)
  #+end_src
 
  #+results:
  : foo=7
 
  * appending to a file-wide property
:PROPERTIES:
:var+:  , baz=3
:END:

 To be honest, the only thing that I dislike is the comma in the above line.
 Not intuitive at all. Quite hard to read.

 Can't the comma be implicitly added by the `+' after the property name?


On the one hand, it might have one additional advantage:

  #+property: var   foo=This is a very long text
  #+property: var+ with even more.

Would foo be:
This is a very long text with even more

Could one make the , implicit, if the value follows the

x=y

style, while otherwise just concatenate the value to the one before?




 That would allow one to simply write:

   * appending to a file-wide property
 :PROPERTIES:
 :var+:baz=3
 :END:

 and have the correct values.

  #+begin_src emacs-lisp
(+ foo bar baz)
  #+end_src
 
  #+results:
  : 6
 
  #+begin_src emacs-lisp
(org-entry-get (point) var t)
  #+end_src
 
  #+results:
  : foo=1, bar=2, baz=3

 Thanks.

 Best regards,
  Seb

 --
 Sebastien Vauban





-- 
Rainer M. Krug, PhD (Conservation Ecology, SUN), MSc (Conservation Biology,
UCT), Dipl. Phys. (Germany)

Centre of Excellence for Invasion Biology
Stellenbosch University
South Africa

Tel :   +33 - (0)9 53 10 27 44
Cell:   +33 - (0)6 85 62 59 98
Fax (F):   +33 - (0)9 58 10 27 44

Fax (D):+49 - (0)3 21 21 25 22 44

email:  rai...@krugs.de

Skype:  RMkrug


Re: [O] About commit named Allow multi-line properties to be specified in property blocks

2011-11-08 Thread Sebastien Vauban
Hi Rainer,

Rainer M Krug wrote:
 The proposal is, when a property name ends in +, the value is appended
 to the corresponding property, rather than replacing it, so

  #+PROPERTY: var   foo=1
  #+PROPERTY: var   bar=2

 results in '((var . bar=2))

  #+PROPERTY: varfoo=1
  #+PROPERTY: var+ , bar=2

 results in '((var . foo=1, bar=2))

 This way subtree properties could be used as well, e.g.,

  #+PROPERTY: var foo=1

  * subtree
:PROPERTIES:
:var+: bar=2
:CUSTOM_ID: something
:END:

 I like that suggestion - it is clear, easy to understand, gives other
 advantages (you can unset variables in a subtree - which would be an
 added bonus) and does not require any large changes in org files.

How do you unset a var?  By resetting the list with a new var (without `+'),
and adding all the other valid vars?  If so, not really unsetting... You
simply void all vars, and create new definitions...

Best regards,
  Seb

-- 
Sebastien Vauban




Re: [O] About commit named Allow multi-line properties to be specified in property blocks

2011-11-08 Thread Rainer M Krug
On Tue, Nov 8, 2011 at 10:41 AM, Sebastien Vauban 
wxhgmqzgw...@spammotel.com wrote:

 Hi Rainer,

 Rainer M Krug wrote:
  The proposal is, when a property name ends in +, the value is appended
  to the corresponding property, rather than replacing it, so
 
   #+PROPERTY: var   foo=1
   #+PROPERTY: var   bar=2
 
  results in '((var . bar=2))
 
   #+PROPERTY: varfoo=1
   #+PROPERTY: var+ , bar=2
 
  results in '((var . foo=1, bar=2))
 
  This way subtree properties could be used as well, e.g.,
 
   #+PROPERTY: var foo=1
 
   * subtree
 :PROPERTIES:
 :var+: bar=2
 :CUSTOM_ID: something
 :END:
 
  I like that suggestion - it is clear, easy to understand, gives other
  advantages (you can unset variables in a subtree - which would be an
  added bonus) and does not require any large changes in org files.

 How do you unset a var?  By resetting the list with a new var (without
 `+'),
 and adding all the other valid vars?  If so, not really unsetting... You
 simply void all vars, and create new definitions...


Exactly - with unseting var, I don't refer to unsetting a single
variable, but all variables.

But as we have the var+, what about a var- to unset a single variable?



 Best regards,
  Seb

 --
 Sebastien Vauban





-- 
Rainer M. Krug, PhD (Conservation Ecology, SUN), MSc (Conservation Biology,
UCT), Dipl. Phys. (Germany)

Centre of Excellence for Invasion Biology
Stellenbosch University
South Africa

Tel :   +33 - (0)9 53 10 27 44
Cell:   +33 - (0)6 85 62 59 98
Fax (F):   +33 - (0)9 58 10 27 44

Fax (D):+49 - (0)3 21 21 25 22 44

email:  rai...@krugs.de

Skype:  RMkrug


Re: [O] [OT] s/mime / mail encryption

2011-11-08 Thread Ian Barton

On 03/11/11 18:02, Marcelo de Moraes Serpa wrote:

Thank you for sharing your experiences guys,

I only started thinking about this recently, when I had to send some
documents to a banker. The issue is that I'm sure most bankers are not
internet-savvy, they might not even know how to download something from
a website (the alternative would be to put the docs in a SSL-protected
URL with http basic auth). So in order to complete the transaction I had
to send the documents via email anyway. Noth



Unfortunately, you don't have any control over what they do with the 
encrypted document once they have received it. In all likleyhood they 
decrypt it and leave it in plain text on their hard drive. Or more 
likely print it out and stick it to their  screen next to the PostIt 
note with their login password:)


Ian.





Re: [O] Journal versus clock tables: Opposing requirements?

2011-11-08 Thread Carsten Dominik

On Nov 8, 2011, at 10:04 AM, Olaf Dietsche wrote:

 Tommy Kelly tommy.ke...@verilab.com writes:
 
 OK, that might be what I need then. I thought clock tables grouped
 things by headings, not by tags. I'll have a look at the manual.
 
 I'm trying the tagging thing within clock tables, but I can't get it
 working at all. I've attached a tag to a single headline, and checked
 that I've got that right by using C-c a m. Then I added a :tags item
 to my clock table block but it seems to have no effect. Is this valid:
 
 #+BEGIN: clocktable :maxlevel 2 :scope file :block thisweek :step week
 :indent :tags test_tag
 #+END:
 
 I've also tried :tags 'test_tag', :tags '+test_tag' and a bunch of
 other things, but nothing seems to do anything. What I was expecting
 was that my clock table, currently filled with lots of items, would be
 reduced to looking only at the single headline that I've tagged. But
 it's not -- it just stays as it was before.
 
 I haven't tried this myself, just looking at the manual. But playing
 around, it seems you need double quotes around your tags match.

Yes.  The clock table parameters are read as lisp syntax, and the
match is a string.

HTH

- Carsten

 
 Here's a simple example for a start:
 
 Tagged clock tables  -*- mode: org; fill-column: 78 -*-
 
 * Shopping:errands:
  :CLOCK:
  CLOCK: [2011-11-07 Mo 09:45]--[2011-11-07 Mo 09:50] =  0:05
  :END:
 * Cleaning  :house:
  :CLOCK:
  CLOCK: [2011-11-07 Mo 08:50]--[2011-11-07 Mo 09:05] =  0:15
  :END:
 * Kids   
 :children:
  :CLOCK:
  CLOCK: [2011-11-07 Mo 08:30]--[2011-11-07 Mo 08:50] =  0:20
  :END:
 * Homework   :children:
  :CLOCK:
  CLOCK: [2011-11-07 Mo 13:40]--[2011-11-07 Mo 14:05] =  0:25
  :END:
 * Exercises:health:
  :CLOCK:
  CLOCK: [2011-11-07 Mo 07:30]--[2011-11-07 Mo 07:50] =  0:20
  :END:
 
 #+BEGIN: clocktable :maxlevel 2 :scope file :tags health
 Clock summary at [2011-11-08 Di 09:57]
 
 | Headline | Time   |
 |--+|
 | *Total time* | *0:20* |
 |--+|
 | Exercises| 0:20   |
 #+END: clocktable
 
 #+BEGIN: clocktable :maxlevel 2 :scope file :tags children
 Clock summary at [2011-11-08 Di 09:58]
 
 | Headline |   Time |
 |--+|
 | *Total time* | *0:45* |
 |--+|
 | Kids |   0:20 |
 | Homework |   0:25 |
 #+END: clocktable
 
 Regards, Olaf

- Carsten






Re: [O] Journal versus clock tables: Opposing requirements?

2011-11-08 Thread Tommy Kelly
 I haven't tried this myself, just looking at the manual. But playing
 around, it seems you need double quotes around your tags match.

Ah OK, that works. But it turns out there was a second problem and it
may be a bug. It looks like any of the clocktable options after
:indent get ignored. So this works:

#+BEGIN: clocktable :maxlevel 2 :scope file :block thisweek :step week
:tags test_tag :indent
#+END:

But this doesn't (i.e. the :tags option is ignored)

#+BEGIN: clocktable :maxlevel 2 :scope file :block thisweek :step week
:indent :tags test_tag
#+END:

Tommy



Re: [O] About commit named Allow multi-line properties to be specified in property blocks

2011-11-08 Thread Sebastien Vauban
Hi Rainer,

Rainer M Krug wrote:
  * appending to a file-wide property
:PROPERTIES:
:var+:  , baz=3
:END:

 To be honest, the only thing that I dislike is the comma in the above line.
 Not intuitive at all. Quite hard to read.

 Can't the comma be implicitly added by the `+' after the property name?

 On the one hand, it might have one additional advantage:

   #+property: var   foo=This is a very long text
   #+property: var+ with even more.

I don't think such a construction would be tolerated. I guess you must write
a var name (foo, bar, baz, ...) after the `var+' keyword.

 Would foo be:
 This is a very long text with even more

To be accurate, it would have become:

  This is a very long textwith even more

if such a concatenation would be implied.

 Could one make the , implicit, if the value follows the

 x=y

 style, while otherwise just concatenate the value to the one before?

I guess this is going too far, as Babel is untyped: what about...

#+property: var   foo=2
#+property: var+  5

Does foo become equal to 25?

(I know I exaggerate somehow, but just to show I guess such extensions are
simply not possible without explicit types).

But, if not equal to 25, what would be expected?  An error, ...?

Best regards,
  Seb

-- 
Sebastien Vauban




Re: [O] Journal versus clock tables: Opposing requirements?

2011-11-08 Thread Carsten Dominik

On Nov 8, 2011, at 10:55 AM, Tommy Kelly wrote:

 I haven't tried this myself, just looking at the manual. But playing
 around, it seems you need double quotes around your tags match.
 
 Ah OK, that works. But it turns out there was a second problem and it
 may be a bug. It looks like any of the clocktable options after
 :indent get ignored. So this works:
 
 #+BEGIN: clocktable :maxlevel 2 :scope file :block thisweek :step week
 :tags test_tag :indent
 #+END:
 
 But this doesn't (i.e. the :tags option is ignored)
 
 #+BEGIN: clocktable :maxlevel 2 :scope file :block thisweek :step week
 :indent :tags test_tag


You need 

   :indent t

This is a property list, each key needs a value.

- Carsten



Re: [O] Journal versus clock tables: Opposing requirements?

2011-11-08 Thread Sebastien Vauban
Hi Carsten,

Carsten Dominik wrote:
 On Nov 8, 2011, at 10:55 AM, Tommy Kelly wrote:

 I haven't tried this myself, just looking at the manual. But playing
 around, it seems you need double quotes around your tags match.
 
 Ah OK, that works. But it turns out there was a second problem and it
 may be a bug. It looks like any of the clocktable options after
 :indent get ignored. So this works:
 
 #+BEGIN: clocktable :maxlevel 2 :scope file :block thisweek :step week
 :tags test_tag :indent
 #+END:
 
 But this doesn't (i.e. the :tags option is ignored)
 
 #+BEGIN: clocktable :maxlevel 2 :scope file :block thisweek :step week
 :indent :tags test_tag

 You need

:indent t

 This is a property list, each key needs a value.

This makes sense. But why did his first example work, then?  There is no `t'
either.

Best regards,
  Seb

-- 
Sebastien Vauban




Re: [O] About commit named Allow multi-line properties to be specified in property blocks

2011-11-08 Thread Rainer M Krug
On Tue, Nov 8, 2011 at 10:58 AM, Sebastien Vauban 
wxhgmqzgw...@spammotel.com wrote:

 Hi Rainer,

 Rainer M Krug wrote:
   * appending to a file-wide property
 :PROPERTIES:
 :var+:  , baz=3
 :END:
 
  To be honest, the only thing that I dislike is the comma in the above
 line.
  Not intuitive at all. Quite hard to read.
 
  Can't the comma be implicitly added by the `+' after the property name?
 
  On the one hand, it might have one additional advantage:
 
#+property: var   foo=This is a very long text
#+property: var+ with even more.

 I don't think such a construction would be tolerated. I guess you must
 write
 a var name (foo, bar, baz, ...) after the `var+' keyword.

  Would foo be:
  This is a very long text with even more

 To be accurate, it would have become:

  This is a very long textwith even more

 if such a concatenation would be implied.


Correct - missing space.



  Could one make the , implicit, if the value follows the
 
  x=y
 
  style, while otherwise just concatenate the value to the one before?

 I guess this is going too far, as Babel is untyped: what about...

#+property: var   foo=2
#+property: var+  5

 Does foo become equal to 25?

 (I know I exaggerate somehow, but just to show I guess such extensions are
 simply not possible without explicit types).


You definitely have a point here - so I opt for the implicit ,


Cheers,

Rainer

But, if not equal to 25, what would be expected?  An error, ...?

 Best regards,
  Seb

 --
 Sebastien Vauban





-- 
Rainer M. Krug, PhD (Conservation Ecology, SUN), MSc (Conservation Biology,
UCT), Dipl. Phys. (Germany)

Centre of Excellence for Invasion Biology
Stellenbosch University
South Africa

Tel :   +33 - (0)9 53 10 27 44
Cell:   +33 - (0)6 85 62 59 98
Fax (F):   +33 - (0)9 58 10 27 44

Fax (D):+49 - (0)3 21 21 25 22 44

email:  rai...@krugs.de

Skype:  RMkrug


Re: [O] Journal versus clock tables: Opposing requirements?

2011-11-08 Thread Carsten Dominik

On Nov 8, 2011, at 11:05 AM, Sebastien Vauban wrote:

 Hi Carsten,
 
 Carsten Dominik wrote:
 On Nov 8, 2011, at 10:55 AM, Tommy Kelly wrote:
 
 I haven't tried this myself, just looking at the manual. But playing
 around, it seems you need double quotes around your tags match.
 
 Ah OK, that works. But it turns out there was a second problem and it
 may be a bug. It looks like any of the clocktable options after
 :indent get ignored. So this works:
 
 #+BEGIN: clocktable :maxlevel 2 :scope file :block thisweek :step week
 :tags test_tag :indent
 #+END:
 
 But this doesn't (i.e. the :tags option is ignored)
 
 #+BEGIN: clocktable :maxlevel 2 :scope file :block thisweek :step week
 :indent :tags test_tag
 
 You need
 
   :indent t
 
 This is a property list, each key needs a value.
 
 This makes sense. But why did his first example work, then?  There is no `t'
 either.

Probably, :indent was perceived by the code as nil, but at least
it did not swallow the :tags key.

- Carsten


[O] OT: logging debian system changes (was: Re: org-mode are these two entries identical for org-mode?)

2011-11-08 Thread Olaf Dietsche
Jude DaShiell jdash...@shellworld.net writes:

 I tried an experiment and am glad I didn't save its results!  Results 
 are that you actually have to indent otherwise, all you have in the file 
 are the headlines once org-mode sees the file.  I have a newly installed 
 debian system on the first sata drive I used and I'm using org-mode to 
 log the  extras I install on the system as well as configuration changes 
 I make as they happen.

I don't want to argue you out of org-mode. ;-)

But for logging additional packages, you might look at tasksel(8). If
you create a description file of your packages, you can use this with
tasksel, when you set up a new system.
e.g. /usr/local/share/tasksel/local.desc:

Task: kids
Section: user
Description:
 Applications for kids.
Packages: list
 gcompris
 tuxpaint

Task: development
Section: user
Description: Development tools
 Tools needed for software development.
Packages: list
 emacs23
 emacs23-common-non-dfsg
 bbdb
 emacs-goodies-el
 yasnippet
 git
 gcc
 g++
 gdb
 gdb-doc

Task: net
Section: user
Description:
 Packages for networking and internet.
Packages: list
 xul-ext-noscript
 xul-ext-cookie-monster
 dovecot-imapd
 fetchmail

And logging configuration changes could be done with git(1). If you
checkin the base configuration in /etc, /var/lib/... you can always see changes
you made with git status and git diff.


 On Mon, 7 Nov 2011, Jude DaShiell wrote:

 * aptitude install emacs -r
   get emacs text editor.
 * aptitude install emacs -r
 get emacs text editor.

Regards, Olaf



Re: [O] Journal versus clock tables: Opposing requirements?

2011-11-08 Thread Sebastien Vauban
Hi Carsten,

Carsten Dominik wrote:
 On Nov 8, 2011, at 11:05 AM, Sebastien Vauban wrote:

 Hi Carsten,
 
 Carsten Dominik wrote:
 On Nov 8, 2011, at 10:55 AM, Tommy Kelly wrote:
 
 I haven't tried this myself, just looking at the manual. But playing
 around, it seems you need double quotes around your tags match.
 
 Ah OK, that works. But it turns out there was a second problem and it
 may be a bug. It looks like any of the clocktable options after
 :indent get ignored. So this works:
 
 #+BEGIN: clocktable :maxlevel 2 :scope file :block thisweek :step week
 :tags test_tag :indent
 #+END:
 
 But this doesn't (i.e. the :tags option is ignored)
 
 #+BEGIN: clocktable :maxlevel 2 :scope file :block thisweek :step week
 :indent :tags test_tag
 
 You need
 
   :indent t
 
 This is a property list, each key needs a value.
 
 This makes sense. But why did his first example work, then?  There is no `t'
 either.

 Probably, :indent was perceived by the code as nil, but at least
 it did not swallow the :tags key.

OK, clear.

Thanks,
  Seb

-- 
Sebastien Vauban




Re: [O] Journal versus clock tables: Opposing requirements?

2011-11-08 Thread Tommy Kelly
 Probably, :indent was perceived by the code as nil, but at least
 it did not swallow the :tags key.

It wasn't. I hadn't realized about the need for a value to the
property, but if it's omitted then it looks like :indent's value is
perceived as true, not nil (which is why I got on so long not
realizing the value was required).

Tommy



Re: [O] Journal versus clock tables: Opposing requirements?

2011-11-08 Thread Bernt Hansen
Tommy Kelly tommy.ke...@verilab.com writes:

 ... it depends on how often you require this weekly report...

 Ermm, weekly :-)

 It should be possible to write code that walks your agenda, visits the
 tasks, and copies and pastes the details to a temporary org buffer/file
 just for your chronological report.

 Absolutely. But as I've been thinking about this, I'm realizing that
 in fact a key input requirement (as opposed to my two output
 requirements -- chronology plus clock tables) is ease of entry. As I
 begin some new chunk of work, I don't want to have to hunt around for
 the most appropriate heading to clock into and begin writing notes
 under. As a result, what's happening is two things. First, I'm just
 falling back on your single Organization catch-all task; second, I'm
 not writing *any* notes.

 With a chronological journal, there's no decision to be made. You just
 start logging at the end (or start) of the journal. But maybe
 something in the org-capture area is what I need. I've tried it before
 and didn't get very far, but I'll have another look.

I tend to use capture mode to refile.org (all level 1 tasks) and then
refile them later to the appropriate place.  I clock time on the task
when I create it and sometimes I end the capture task with C-c C-c
(which stops the clock) and immediately switch back to it with F9-SPC in
my setup.  Sometime later I'll refile this item to the right place in
the tree.  I don't do that now - when I'm supposed to be working on it
but later when I have 2 minutes to spare :)

When I start something new it's C-M-r (or C-c r or whatever your capture
binding is) t or n (for Todo or Note) then start entering data in the
capture buffer that is being clocked.  C-c C-c when done and possible
switch back to it immediately with F9-SPC.

I never hunt around for where a task should live when I capture it - I
used to do that with multiple capture task targets and it was just too
slow.

Regards,
Bernt



Re: [O] About commit named Allow multi-line properties to be specified in property blocks

2011-11-08 Thread Darlan Cavalcante Moreira

Unless I have missed something in the e-mails, the new syntax is to
concatenate new variables to the var property. Not modifying the values
currently stored in some variable. That is,
  #+property: var   foo=2
  #+property: var+  5
(not specifying the variable name ) should not be allowed and
  #+property: var   foo=2
  #+property: var+  foo=5
  #+property: var+  bar=bar
should result in foo=5 and bar=bar. Is modifying a variable also a new
feature?

--
Darlan

At Tue, 8 Nov 2011 11:06:48 +0100,
Rainer M Krug r.m.k...@gmail.com wrote:
 
 [1  text/plain; ISO-8859-1 (7bit)]
 On Tue, Nov 8, 2011 at 10:58 AM, Sebastien Vauban 
 wxhgmqzgw...@spammotel.com wrote:
 
  Hi Rainer,
 
  Rainer M Krug wrote:
* appending to a file-wide property
  :PROPERTIES:
  :var+:  , baz=3
  :END:
  
   To be honest, the only thing that I dislike is the comma in the above
  line.
   Not intuitive at all. Quite hard to read.
  
   Can't the comma be implicitly added by the `+' after the property name?
  
   On the one hand, it might have one additional advantage:
  
 #+property: var   foo=This is a very long text
 #+property: var+ with even more.
 
  I don't think such a construction would be tolerated. I guess you must
  write
  a var name (foo, bar, baz, ...) after the `var+' keyword.
 
   Would foo be:
   This is a very long text with even more
 
  To be accurate, it would have become:
 
   This is a very long textwith even more
 
  if such a concatenation would be implied.
 
 
 Correct - missing space.
 
 
 
   Could one make the , implicit, if the value follows the
  
   x=y
  
   style, while otherwise just concatenate the value to the one before?
 
  I guess this is going too far, as Babel is untyped: what about...
 
 #+property: var   foo=2
 #+property: var+  5
 
  Does foo become equal to 25?
 
  (I know I exaggerate somehow, but just to show I guess such extensions are
  simply not possible without explicit types).
 
 
 You definitely have a point here - so I opt for the implicit ,
 
 
 Cheers,
 
 Rainer
 
 But, if not equal to 25, what would be expected?  An error, ...?
 
  Best regards,
   Seb
 
  --
  Sebastien Vauban
 
 
 
 
 
 -- 
 Rainer M. Krug, PhD (Conservation Ecology, SUN), MSc (Conservation Biology,
 UCT), Dipl. Phys. (Germany)
 
 Centre of Excellence for Invasion Biology
 Stellenbosch University
 South Africa
 
 Tel :   +33 - (0)9 53 10 27 44
 Cell:   +33 - (0)6 85 62 59 98
 Fax (F):   +33 - (0)9 58 10 27 44
 
 Fax (D):+49 - (0)3 21 21 25 22 44
 
 email:  rai...@krugs.de
 
 Skype:  RMkrug
 [2  text/html; ISO-8859-1 (quoted-printable)]
 



Re: [O] About commit named Allow multi-line properties to be specified in property blocks

2011-11-08 Thread Eric Schulte

 How do you unset a var?  By resetting the list with a new var
(without `+'),

See, the example in my original email, a property with var (no +)
wipes out any previously existing var properties.

 
 and adding all the other valid vars?  If so, not really
 unsetting... You simply void all vars, and create new definitions...


yes



 Exactly - with unseting var, I don't refer to unsetting a single
 variable, but all variables.

 But as we have the var+, what about a var- to unset a single variable?


This is not possible.  Up until this point we continue to treat the var
property as any other property, and we just allow the construction of a
long var value, such as foo=1, bar=2, baz=3.  Introducing a var- would
be a large departure from current property handling and would require
parsing lines like the above.

Best -- Eric




 Best regards,
  Seb

 --
 Sebastien Vauban




-- 
Eric Schulte
http://cs.unm.edu/~eschulte/



Re: [O] About commit named Allow multi-line properties to be specified in property blocks

2011-11-08 Thread Eric Schulte

  Could one make the , implicit, if the value follows the
 
  x=y
 
  style, while otherwise just concatenate the value to the one before?

 I guess this is going too far, as Babel is untyped: what about...

#+property: var   foo=2
#+property: var+  5

 Does foo become equal to 25?


yes

#+PROPERTY: var foo=2
#+PROPERTY: var+ 5

#+begin_src emacs-lisp
  foo
#+end_src

#+results:
: 25


 (I know I exaggerate somehow, but just to show I guess such
  extensions are simply not possible without explicit types).


I think by types you mean something more like syntactic parsing?  Babel
does have three types, strings, numbers, and lists.



 You definitely have a point here - so I opt for the implicit ,


Keep in mind that the above applies to *all* Org-mode properties, not
just variables, which is why I did not want to force an assumed comma
separator.

For example,

#+PROPERTY: Disks  1 2 3 4 5 6 7
#+PROPERTY: Disks+ 8 9 10 11 12 13

#+begin_src emacs-lisp
  org-file-properties
#+end_src

#+results:
| (var . foo=25) | (Disks . 1 2 3 4 5 6 78 9 10 11 12 13) |

Although in this case the 78 is certainly unexpected.  Perhaps inserting
an assumed space separator would be more intuitive?  If we were to go
that way it may be possible to allow variable specifications such as

#+PROPERTY: var foo=1 bar=2

in which case properties could be easily specified on multiple lines
using a default space separator.

If this seems like a good way to go I can try to update my previous
patch.

Thanks -- Eric



 Cheers,

 Rainer

 But, if not equal to 25, what would be expected?  An error, ...?

 Best regards,
  Seb

 --
 Sebastien Vauban




-- 
Eric Schulte
http://cs.unm.edu/~eschulte/



Re: [O] About commit named Allow multi-line properties to be specified in property blocks

2011-11-08 Thread Sebastien Vauban
Hi Darlan,

Darlan Cavalcante Moreira wrote:
 Unless I have missed something in the e-mails, the new syntax is to
 concatenate new variables to the var property. Not modifying the values
 currently stored in some variable. That is,
   #+property: var   foo=2
   #+property: var+  5
 (not specifying the variable name ) should not be allowed

By showing this example, I wanted to show that this proposition (of Rainer)
seemed wrong to me. This is much too complex, and I think there is no use case
to support such a thing.

 and
   #+property: var   foo=2
   #+property: var+  foo=5
   #+property: var+  bar=bar
 should result in foo=5 and bar=bar.

Yep -- iff the comma is implied (implicitly), what's not currently the case.

 Is modifying a variable also a new feature?

Not (to me).

Best regards,
  Seb

-- 
Sebastien Vauban




Re: [O] enhancements for org-agenda-to-appt

2011-11-08 Thread Daniel Clemente

Hi,
  I would find very useful your improvements to appt.

  I also think that appt needs to be a bit more intrusive. I once missed an 
appointment because appt didn't notify me about it (or notified me but didn't 
ask for my acknowledgement).
  Something I missed was a clear interface which said which notifications were 
still pending and which were already emitted. With that you would be certain 
that in some hours you will get the notifications you expect.


  Some comments to your ideas:


 Here the details, in the order of priority:
 
  1.) Warning period should be taken from timestamp
  That means, that the warntime must be passed to appt-add.
 
  2.) Warning period in hours and minutes
  -3h for 3 hours or -10M for 10 minutes should be possible.
 

  Do you really need to extend the org-mode timestamp format?
  There may be other ways to do that without extending the org-mode timestamp 
format.
  Like deciding acording to priority, for instance.: [#A] are to be notified 1 
hour before, [#B] 30 minutes before and [#C] 10 minutes
  But the extended timestamp format would be much more useful.


  3.) Notification must continue when timestamp is past
  Perhaps, the notification should be even more aggressive, when a task
  is overdue.
 

  I totally agree, as I said. More important than that is that appt should 
record whether the user acknowledget the notification or not, and remind him 
differently. E.g. „you should have finished this a long ago“ vs. „I'm tryingi 
to notify you this since a long ago“.

  4.) Easy modification of timestamps
  Often I get notified, that a task has to be done now, but the most
  obvious and easiest solution for me is: just do it tomorrow!
  Thus, when point is on a deadline line, M-right should advance the
  time by 1d, C-right by 1h, or similar.
  Decrementing with M-left and C-left should be possible too, but will
  surely be used less often... ;)
 

  I think you can already do that with „bulk scheduling“ from the agenda. Key: 
m m m B s
  Doing this from the notification window would to people „skipping“ reminders. 
(See the program workrave for a similar situation in which you can skip 
reminders).

  5.) org-check-deadlines must consider hours and minutes
  It should be possible, to show only overdue deadlines, even if they
  are overdue since 5 minutes.
 
  6.) Timestamps with hours and minutes
  When adding deadlines or schedules, there should be also the time,
  not only the date.
 
  How often would you need to synchronize org and appt in order to be so 
precise? Should it be automatic?

  7.) Switch from todo to done by clicking on the notification window
  When using `notifications-notify' this should be possible with the
  `:on-action' parameter.
 
  I would prefer the window to open an emacsclient window pointing to the task 
in order to close it myself and write a conclusion, all inside Emacs.

  8.) Configurable notification types
  For example:
  - email
  - notifications-notify
  - emacs-window (like the default in appt.el)
  - custom function
 
  Suggestion: a variable which maps some_tags_combination → action
  Then you „configure“ your tasks with tags, and then decide on how to notify 
each type of task.

  You can use the same task selection syntax as org-agenda-custom-commands, 
which allows to search for certain todo states, certain tags and certain 
properties.
  I have a todo state for the really important tasks and another one for the 
„it would be nice“ tasks; the latter are scheduled but don't require 
notification (I have more than 200 pendings tasks, that would make too many 
notifications).

  9.) Configurable notification period
  How often the notification function must be called (once per day,
  once per minute, etc...)
 
   Or even: each time that a task is scheduled or a timestamp is changed in 
org. Maybe this slows things down, but it would almoust guarantee real-time 
synchronization between org and appt

 10.) Configurable notification duration
  This applies only for emacs-window and notifications-notify: how
  long must the notification be visible.
 
   And ask for acknowledgment!
   It's also interesting to foresee what will happen when an unacknowledged 
notification waits for too long and another one comes up.

 11.) Crescendo notifications
  Imagine, deadline is in 10 days. So a silent notification once or
  twice per day, saying it's time to begin to work, could be nice.
  But when time is getting shorter, only one hour left, bells will
  ring and the whole screen will blink red and green...
 

   See also program workrave. If you don't follow its advice to take a rest for 
a while, it toots a horn which makes you feel somewhat guilty…
   A good feature though.


   
   Best of luck,

Daniel



Re: [O] problems with mathjax CDN and HTML export

2011-11-08 Thread Giovanni Ridolfi
Christian Moe m...@christianmoe.com writes:

Hi Christian, thank you for checking,

 On 11/7/11 5:02 PM, Giovanni Ridolfi wrote:
 the math snippets are always converted in HTML format e.g.:alpha; = 
 \frac{1}{Lsub0/sub}

 Do I understand correctly that this is your problem? 
yes.
 (Not very clear
 from your long example, which starts with the CDN service.)
sorry for that


 If so, I can't reproduce it. Your

 $$
 \alpha = \frac{1}{L_{0}} \left( \frac{L_2-L_1}{T_2-T_1} \right)
 = \frac{1}{L_0}\frac{\Delta L}{\Delta T}
 $$

 exports verbatim for me, and is correctly formatted.

I tried. Yes and no.

Yes, You're right. It is exported correctly and correctly formatted
if you export only *this* subheading. The subheading ** $$.

But, if you export the whole subtree, from the 
* mathjax test  heading, the equation is 
converted in HTML format e.g.:alpha; = \frac{1}{Lsub0/sub}

Giovanni



[O] Change options of source code blocks on-the-fly for the later Latex export?

2011-11-08 Thread Torsten Wagner
Hi,

I just trying minted and source code blocks do get nice formatted
fontified output in LaTeX export

#+source: test
#+begin_src c :exports code
/*
  Test
*/
int x = 10;
#+end_src

works fine. However, sometimes I would like to use different starting
numbers for the line-numbers. The minted package supports this by an
LaTeX-Environment option
e.g., \begin{minted}[firstnumber = 5]

How can I get firstnumber = 5 from org-mode into LaTeX. Since I would
have to change this several times within a file I would prefer an
rather easy method (rather then redefining the standard export
settings via org-export-latex-minted-options over and over again).
Other environments have access to certain options available via
#+ATTR_LaTeX: but this seems not to work for source code. I could use
plain LaTeX instead but would loose the ability to work and execute
the source code blocks.

Maybe its very easy to do, however, its rather late in this part of
the world and I can't see any solution at the moment.

Thanks a lot

Torsten



Re: [O] enhancements for org-agenda-to-appt

2011-11-08 Thread Samuel Wales
On 2011-11-08, Daniel Clemente n142...@gmail.com wrote:
   Do you really need to extend the org-mode timestamp format?
   There may be other ways to do that without extending the org-mode
 timestamp format.

I agree.  I would use a property.

The only issue with doing so that comes to mind is when you have more
than one active timestamp per header.  If this is important, I would
consider universal syntax (extensible syntax), which would allow a lot
more flexibility without additional parsing risk.

Samuel

-- 
The Kafka Pandemic: http://thekafkapandemic.blogspot.com
===
Bigotry against people with serious diseases is still bigotry.



Re: [O] Journal versus clock tables: Opposing requirements?

2011-11-08 Thread Bernt Hansen
Tommy Kelly tommy.ke...@verilab.com writes:

 ... it depends on how often you require this weekly report...

 Ermm, weekly :-)


Yes :) but if it's only for the next 3 weeks it's probably not worth the
coding effort.  If it's weekly for the indefinite future it might be.

-Bernt



Re: [O] Makefile restructuring

2011-11-08 Thread Achim Gratz

A more complete recipe for setting up a tracking branch to a remote
branch in git (assuming you've already cloned orgmode.git locally and
have a clean working directory):

$ git remote add -t Makefile remote-tableheadings 
git://repo.or.cz/org-mode/org-tableheadings.git
$ git fetch remote-tableheadings Makefile:local-Makefile
$ git checkout local-Makefile
$ git branch --track local-Makefile remote-tableheadings/Makefile
$ git config branch.local-Makefile.rebase true

Whenever you want to get changes from upstream, do a

$ git pull

When you just want to check if there are changes, do a

$ git remote update
$ git status


HTH,
Achim.
-- 
+[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]+

Factory and User Sound Singles for Waldorf Blofeld:
http://Synth.Stromeko.net/Downloads.html#WaldorfSounds




Re: [O] How to set up anniversaries/birthdays with org-contacts-anniversaries?

2011-11-08 Thread Marius Hofert
see here: 
http://stackoverflow.com/questions/8036948/how-to-set-up-birthdays-with-org-contacts-error-bad-sexp


On 2011-11-06, at 12:05 , Marius Hofert wrote:

 How can I set up anniversaries with org-contact?
 
 My agend.org file contains the following, as mentioned on the bottom of 
 http://julien.danjou.info/org-contacts.html
 
 #+STARTUP: showeverything
 * Birthdays
  %%(org-contacts-anniversaries)
 
 My contacts.org file contains (e.g.):
 
 * My contact   :my.tag:
 :PROPERTIES:
 :EMAIL:  my.cont...@my.address.org
 :URL:
 :WORK: 
 :HOME: 
 :MOBILE:
 :LOCATION:
 :BIRTHDAY: 2000-01-01
 :NOTE: 
 :END:
 
 When I access agenda view via C-c a a, I obtain:
 
 Bad sexp at line 3 in /Users/myusername/org/agenda.org: 
 (org-contacts-anniversaries) [7 times]
 
 Note that line three corresponds to %%(org-contacts-anniversaries)
 
 
 Cheers,
 
 Marius




Re: [O] org-capture-template: How to correctly capture email addresses?

2011-11-08 Thread Marius Hofert
see here: 
http://stackoverflow.com/questions/8037953/org-mode-how-to-correctly-capture-email-addresses


On 2011-11-06, at 11:49 , Marius Hofert wrote:

 Hi,
 
 I would like to capture contacts (name, email,..) with org-mode and thus 
 setup the following in .emacs:
 
 (setq org-capture-templates
  '((t TODO in ~/org/agenda.org - Tasks entry (file+headline 
 ~/org/agenda.org Tasks)
 * TODO %?\nSCHEDULED: %^t\n%U %a)
(c Contact in ~/org/contacts.org - Contact entry (file+headline 
 ~/org/contacts.org Contact)
 * %?%(org-contacts-template-name) %^g
 :PROPERTIES:
 :EMAIL: %(org-contacts-template-email)
 :URL:
 :WORK:
 :HOME:
 :MOBILE:
 :LOCATION:
 :BIRTHDAY: 
 :NOTE:
 :END:)))
 
 I can easily capture contacts with C-c c c, it prompts for the name, a tag, 
 and the email address. However, instead of an output like 
 
 * My contact :my.tag:
  :PROPERTIES:
  :EMAIL: my.cont...@my.mail.com
  :URL:
  :WORK:
  :HOME:
  :MOBILE:
  :LOCATION:
  :BIRTHDAY: 
  :NOTE:
  :END:
 
 I obtain:
 
 * My contact :my.tag:
  :PROPERTIES:
  :EMAIL:
  :URL:
  :WORK:
  :HOME:
  :MOBILE:
  :LOCATION:
  :BIRTHDAY: 
  :NOTE:
  :EMAIL: my.cont...@my.mail.com
  :END:
 
 So the problem is that the first :EMAIL: is ignored and instead a second 
 :EMAIL: is inserted before :END:. How can I obtain the correct output (as 
 described above)?
 
 Cheers,
 
 Marius





Re: [O] bug in odt export via mathml of equations containing ''

2011-11-08 Thread Jambunathan K

Hello Myles

The example that you have cited encounters issues on every step along
the way - plastex, mathtoweb and odt.

I have tried my best to be useful here. 

I sincerely appreciate you exercising the LaTeX to MathML conversion
facilities included in Org. I hope we get robust LaTeX-MathML
converters *ultimately*. I see that there is plenty of scope for the
LaTeX to MathML converters to improve and mature.

This is going to be a long mail. Read on.

#+TITLE: improvements.org
#+AUTHOR:Jambunathan K
#+EMAIL: kjambunat...@gmail.com
#+DATE:  2011-11-09 Wed
#+DESCRIPTION:
#+KEYWORDS:
#+LANGUAGE:  en
#+OPTIONS:   H:3 num:t toc:t \n:nil @:t ::t |:t ^:t -:t f:t *:t :t
#+OPTIONS:   TeX:t LaTeX:t skip:nil d:nil todo:t pri:nil tags:not-in-toc

#+EXPORT_SELECT_TAGS: export
#+EXPORT_EXCLUDE_TAGS: noexport
#+LINK_UP:   
#+LINK_HOME: 
#+XSLT:


* Improvements to LaTeX-MathML handling in ODF exporter

Firstly, I felt a need for some support infrastructure for working with
LaTeX fragments in the ODT exporter. I am listing few things that I have
added since our last interaction:

1. Dvipng images  Math formulae created from LaTeX fragments will now
   have the LaTeX fragment as metadata. i.e., In LibreOffice you can see
   the LaTeX source by Image/Equation-Right Click-Description

2. New interactive commands - M-x org-export-as-odf and M-x
   org-export-as-odf-and-open. With these commands you can mark a latex
   fragment and export it as a odf - OpenDocument formula -
   document. The MathML source will be available as part of kill ring
   after the export. (See the docstrings)

3. Embed OpenDocument formula within the exported document by providing
   a link to *.mathml or *.odf file as below.

#+CAPTION: cases with MathJaX
   [[./mathjax-cases.odf]]

   A link with neither caption or nor label will formatted inline type
   while one either or both of these attributes will be formatted as
   display.

 If an org file contains a latex equation with a '' in it then when it is
 exported to odt it makes dodgy xml.  Unzipping the odt, opening the
 content.xml and doing M-x rng-first-error gives the message:

 `' that is not markup must be entered as `amp;'

 To reproduce, insert this:

 \begin{equation}
 \delta_{mn} = 
  \begin{cases}
   1 \text{if $n=m$}\\
   0 \text{if $n\nem$}
  \end{cases}
 \end{equation}

 (which I got from here
 http://www.mathtoweb.com/cgi-bin/mathtoweb_users_guide.pl , search for
 'cases')

 into the file math-to-web-with-plastex.org in this post:
 http://permalink.gmane.org/gmane.emacs.orgmode/48815 and export as per
 instructions.

 There may be a similar error with equations containing '', ''.

#+TITLE: diagnosis.org
#+AUTHOR:Jambunathan K
#+EMAIL: kjambunat...@gmail.com
#+DATE:  2011-11-09 Wed
#+DESCRIPTION:
#+KEYWORDS:
#+LANGUAGE:  en
#+OPTIONS:   H:3 num:t toc:t \n:nil @:t ::t |:t ^:t -:t f:t *:t :t
#+OPTIONS:   TeX:t LaTeX:t skip:nil d:nil todo:t pri:nil tags:not-in-toc

#+EXPORT_SELECT_TAGS: export
#+EXPORT_EXCLUDE_TAGS: noexport
#+LINK_UP:   
#+LINK_HOME: 
#+XSLT:

#+STARTUP: hideblocks


* Diagnosis

1) User provided LaTeX fragment
   #+begin_src latex
 \begin{equation}
 \delta_{mn} = 
  \begin{cases}
   1 \text{if $n=m$}\\
   0 \text{if $n\nem$}
  \end{cases}
 \end{equation}
   #+end_src
2) Output from Plastex

   Note that plastex output includes a SPACE in two instances:
   - within `\text{blah}'
   - within `m$'

   #+begin_src latex
 \begin{equation}  \delta _{mn} = \begin{cases}  1  \text {if $n=m$}\\ 0  \text {if $n\nem $} \end{cases} \end{equation} 
   #+end_src
  #+begin_src latex
\begin{equation}  \delta _{mn} = \begin{cases}  1  \text{if $n=m$}\\ 0  \text{if $n\nem$} \end{cases} \end{equation} 
  #+end_src
3) Output from MathWeb
   The extraneous SPACE is unacceptable to MathWeb and it complains. 

   #+begin_src text
 Checking Syntax:  **

 -- found 1 syntax error(s) --

   **  (em) Nesting Error:  $..$ can not be
nested inside \begin{equation}..\end{equation}
unless it is within a \text{..} environment. 

   line:  1\begin{equation}  \delta _{mn} ...
   ^
   #+end_src

   If I remove the extraneous SPACEs by hand MathToWeb crashes.

   #+begin_src text
 Checking Syntax:  ***-- no errors --

  stand-alone math environments: [1] Converting:  1Exception in thread Thread-3 java.lang.ArrayIndexOutOfBoundsException: 1
 at MathToWeb.convertEachLatexMatrixToAMathMLExpression(MathToWeb.java:15511)
 at MathToWeb.doMatrixConversions(MathToWeb.java:3495)
 at MathToWeb.convertLatexToMathML(MathToWeb.java:2106)
 at ConvertLatexToMathMLThread.run(ConvertLatexToMathMLThread.java:64)
   #+end_src

   Question: Is the snippet output from plastex a valid LaTeX?
   Depending on the answer there is a bug in either plastex or
   mathtoweb.

   The moral of the story is that 

Re: [O] Makefile restructuring

2011-11-08 Thread Achim Gratz
Achim Gratz strom...@nexgo.de writes:

 A more complete recipe for setting up a tracking branch to a remote
 branch in git (assuming you've already cloned orgmode.git locally and
 have a clean working directory):

...which doesn't really work since I did a few experiments in the clone
and messed up the recipe by not checking the already existing
configuration.  So when you get the error message at step 4 you can
salvage it with:

$ git remote update
$ git branch --set-upstream local-Makefile remote-tableheadings/Makefile
$ git config branch.local-Makefile.rebase true

In a fresh clone that does not have pre-existing definitions and
configurations, this would be the right thing to do (and is a bit
shorter):

$ git remote add -t Makefile remote-tableheadings 
git://repo.or.cz/org-mode/org-tableheadings.git
$ git remote update
$ git branch --track local-Makefile remote-tableheadings/Makefile
$ git config branch.local-Makefile.rebase true
$ git checkout local-Makefile

I tested it on a completely fresh clone this time. :-) Sorry for the
confusion


Regards,
Achim.
-- 
+[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]+

SD adaptations for KORG EX-800 and Poly-800MkII V0.9:
http://Synth.Stromeko.net/Downloads.html#KorgSDada




Re: [O] How to set up anniversaries/birthdays with org-contacts-anniversaries?

2011-11-08 Thread Nick Dokos
Marius Hofert marius.hof...@math.ethz.ch wrote:

 see here: 
 http://stackoverflow.com/questions/8036948/how-to-set-up-birthdays-with-org-contacts-error-bad-sexp
 
 
 On 2011-11-06, at 12:05 , Marius Hofert wrote:
 
  How can I set up anniversaries with org-contact?
  
  My agend.org file contains the following, as mentioned on the bottom of 
  http://julien.danjou.info/org-contacts.html
  
  #+STARTUP: showeverything
  * Birthdays
   %%(org-contacts-anniversaries)
  
  My contacts.org file contains (e.g.):
  
  * My contact   :my.tag:
  :PROPERTIES:
  :EMAIL:  my.cont...@my.address.org
  :URL:
  :WORK: 
  :HOME: 
  :MOBILE:
  :LOCATION:
  :BIRTHDAY: 2000-01-01
  :NOTE: 
  :END:
  
  When I access agenda view via C-c a a, I obtain:
  
  Bad sexp at line 3 in /Users/myusername/org/agenda.org: 
  (org-contacts-anniversaries) [7 times]
  
  Note that line three corresponds to %%(org-contacts-anniversaries)
  

The org sexp handler issues this message whenever an error is signalled
when trying to evaluate the sexp.

In this case (as in most of these cases), the error is probably because
org-contacts-anniversaries is not defined, for whatever reason.

Try to eval

(org-contacts-anniversaries)

manually - what do you get? I get 

,
| Debugger entered--Lisp error: (void-function org-contacts-anniversaries)
|   (org-contacts-anniversaries)
|   eval((org-contacts-anniversaries) nil)
|   eval-last-sexp-1(nil)
|   eval-last-sexp(nil)
|   call-interactively(eval-last-sexp nil nil)
`

Then load org-contacts with

 (require 'org-contacts)

or similar, and try the eval again. I get nil as a result, but more
importantly, no error. Assuming that you get no error either, try the
agenda again.

Nick



Re: [O] bug in odt export via mathml of equations containing ''

2011-11-08 Thread Jambunathan K
Myles English mylesengl...@gmail.com writes:

 \begin{equation}
 \delta_{mn} = 
  \begin{cases}
   1 \text{if $n=m$}\\
   0 \text{if $n\nem$}
  \end{cases}
 \end{equation}

, From ftp://ftp.ams.org/ams/doc/amsmath/short-math-guide.pdf
|
| Note. The plain TEX form \matrix{...\cr...\cr} and the related commands
| \pmatrix, \cases should be avoided in LATEX (and when the amsmath
| package is loaded they are disabled).
`

Any idea what the above statement means? I have a strong feeling that
you picked the above stuff out of curiosity and hit a road-block right
away.

Btw, what is your general opinion on usability of MathToWeb vis-a-vis
ODT export. Do you think MathToWeb can be recommeded in org-odt texinfo
manual and may be bundled with the org release tarballs.
-- 



Re: [O] Makefile restructuring

2011-11-08 Thread Achim Gratz
Jambunathan K kjambunat...@gmail.com writes:
 If we reconcile what happens here with what is done in Makefile, may be
 we can uncover why certain macros in org-macs.el doesn't propagated to
 some set of files.

If byte-compile-directory is available in all versions of Emacs, then I
could certainly use it in the Makefile.  Not sure if I can get to it
before the weekend, but I will try it out soon-ish.

 Note that org-macs.el issue is increasingly reported only with emacs-23
 and not with emacs-24. One of the reason could be that emacs-24
 *already* has most of the macro definitions in the system path. This is
 not the case with emacs-23 installations which have (much?) older
 versions of org.

I may be missing what the org-macs.el issue is, precisely.

 From what I understand package manager compiles files in alphabetical
 order. It means that org-macs.el gets compiled after org-agenda.el.

With make (at least after make clean) it's exactly the same thing.
What I don't understand is if package manager uses the already
customized load-path or the bog-standard one, like make does via
emacs -Q.

 Also when eval-when-compile is done of org-macs.el - somewhere it should
 be done right? - I don't know which of the org-macs.el gets loaded. Is
 it system-installed one or the one in the distribution tar.

That would depend on which one it finds first, hence the question of
what load-path looks like at that point.


Regards,
Achim.
-- 
+[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]+

Factory and User Sound Singles for Waldorf Blofeld:
http://Synth.Stromeko.net/Downloads.html#WaldorfSounds




Re: [O] How to set up anniversaries/birthdays with org-contacts-anniversaries?

2011-11-08 Thread Marius Hofert
 
 The org sexp handler issues this message whenever an error is signalled
 when trying to evaluate the sexp.
 
 In this case (as in most of these cases), the error is probably because
 org-contacts-anniversaries is not defined, for whatever reason.
 
 Try to eval
 
(org-contacts-anniversaries)
 
 manually - what do you get? I get 
 

via M-x org-contacts-anniversaries? I get No match

 ,
 | Debugger entered--Lisp error: (void-function org-contacts-anniversaries)
 |   (org-contacts-anniversaries)
 |   eval((org-contacts-anniversaries) nil)
 |   eval-last-sexp-1(nil)
 |   eval-last-sexp(nil)
 |   call-interactively(eval-last-sexp nil nil)
 `
 
 Then load org-contacts with
 
 (require 'org-contacts)

Yes, I already had this in .emacs (and obtained No match)

 
 or similar, and try the eval again. I get nil as a result, but more
 importantly, no error. Assuming that you get no error either, try the
 agenda again.
 
 Nick

I found out that the error happens due to either one of two reasons:
1) I have a :BIRTHDAY: tag which is 1970 or 2037
2) I have an empty :BIRTHDAY: tag
Have you seen my link to stackoverflow above? I got help there and finally 
realized that it's linked to the problem discussed here (involving posts of 
you, too):
http://thread.gmane.org/gmane.emacs.orgmode/39206

Is that solved? Will it be (automatically) solved if Emacs (for Mac) learns how 
to use the Mac's 64 bit architecture?

Cheers,

Marius





Re: [O] How to set up anniversaries/birthdays with org-contacts-anniversaries?

2011-11-08 Thread Nick Dokos
Marius Hofert marius.hof...@math.ethz.ch wrote:

  
  The org sexp handler issues this message whenever an error is signalled
  when trying to evaluate the sexp.
  
  In this case (as in most of these cases), the error is probably because
  org-contacts-anniversaries is not defined, for whatever reason.
  
  Try to eval
  
 (org-contacts-anniversaries)
  
  manually - what do you get? I get 
  
 
 via M-x org-contacts-anniversaries? I get No match
 

No, via

 ESC ESC : (org-contacts-anniversaries) RET

or similar. M-x foo requires that foo is a command (aka an interactive
function): org-contacts-anniversaries is not.

  ,
  | Debugger entered--Lisp error: (void-function org-contacts-anniversaries)
  |   (org-contacts-anniversaries)
  |   eval((org-contacts-anniversaries) nil)
  |   eval-last-sexp-1(nil)
  |   eval-last-sexp(nil)
  |   call-interactively(eval-last-sexp nil nil)
  `
  
  Then load org-contacts with
  
  (require 'org-contacts)
 
 Yes, I already had this in .emacs (and obtained No match)
 
  
  or similar, and try the eval again. I get nil as a result, but more
  importantly, no error. Assuming that you get no error either, try the
  agenda again.
  
  Nick
 
 I found out that the error happens due to either one of two reasons:
 1) I have a :BIRTHDAY: tag which is 1970 or 2037
 2) I have an empty :BIRTHDAY: tag
 Have you seen my link to stackoverflow above? I got help there and finally 
 realized that it's linked to the problem discussed here (involving posts of 
 you, too):
 http://thread.gmane.org/gmane.emacs.orgmode/39206
 

Glanced at it, but didn't go far enough to read about those problems.

 Is that solved? Will it be (automatically) solved if Emacs (for Mac) learns 
 how to use the Mac's 64 bit architecture?
 

Not sure.

Nick

 Cheers,
 
 Marius
 
 



Re: [O] How to set up anniversaries/birthdays with org-contacts-anniversaries?

2011-11-08 Thread Marius Hofert
Okay, ESC ESC : (org-contacts-anniversaries) gives:


Debugger entered--Lisp error: (void-function diary-anniversary)
  diary-anniversary(10 25 1970)
  apply(diary-anniversary (10 25 1970))
  (and anniv (apply (quote diary-anniversary) anniv))
  (if (and anniv (apply (quote diary-anniversary) anniv)) (progn (push 
(format-spec format (\` ((108 \, (org-with-point-at ... ...)) (104 \, (car 
contact)) (121 \, (- ... ...)) (89 \, (let ... ...) --cl-var--)))
  (while (consp --cl-var--) (setq contact (car --cl-var--)) (setq anniv (let 
((anniv (cdr (assoc-string (or field org-contacts-birthday-property) (caddr 
contact) (when anniv (calendar-gregorian-from-absolute 
(org-time-string-to-absolute anniv) (if (and anniv (apply (quote 
diary-anniversary) anniv)) (progn (push (format-spec format (\` ((108 \, ...) 
(104 \, ...) (121 \, ...) (89 \, ... --cl-var--))) (setq --cl-var-- (cdr 
--cl-var--)))
  (let* ((--cl-var-- (org-contacts-filter)) (contact nil) (anniv nil) 
(--cl-var-- nil)) (while (consp --cl-var--) (setq contact (car --cl-var--)) 
(setq anniv (let ((anniv (cdr (assoc-string ... ... (when anniv 
(calendar-gregorian-from-absolute (org-time-string-to-absolute anniv) (if 
(and anniv (apply (quote diary-anniversary) anniv)) (progn (push (format-spec 
format (\` (... ... ... ...))) --cl-var--))) (setq --cl-var-- (cdr 
--cl-var--))) (nreverse --cl-var--))
  (catch (quote --cl-block-nil--) (let* ((--cl-var-- (org-contacts-filter)) 
(contact nil) (anniv nil) (--cl-var-- nil)) (while (consp --cl-var--) (setq 
contact (car --cl-var--)) (setq anniv (let ((anniv (cdr ...))) (when anniv 
(calendar-gregorian-from-absolute (org-time-string-to-absolute anniv) (if 
(and anniv (apply (quote diary-anniversary) anniv)) (progn (push (format-spec 
format (\` ...)) --cl-var--))) (setq --cl-var-- (cdr --cl-var--))) (nreverse 
--cl-var--)))
  (cl-block-wrapper (catch (quote --cl-block-nil--) (let* ((--cl-var-- 
(org-contacts-filter)) (contact nil) (anniv nil) (--cl-var-- nil)) (while 
(consp --cl-var--) (setq contact (car --cl-var--)) (setq anniv (let ((anniv 
...)) (when anniv (calendar-gregorian-from-absolute ... (if (and anniv 
(apply (quote diary-anniversary) anniv)) (progn (push (format-spec format ...) 
--cl-var--))) (setq --cl-var-- (cdr --cl-var--))) (nreverse --cl-var--
  (block nil (let* ((--cl-var-- (org-contacts-filter)) (contact nil) (anniv 
nil) (--cl-var-- nil)) (while (consp --cl-var--) (setq contact (car 
--cl-var--)) (setq anniv (let ((anniv (cdr ...))) (when anniv 
(calendar-gregorian-from-absolute (org-time-string-to-absolute anniv) (if 
(and anniv (apply (quote diary-anniversary) anniv)) (progn (push (format-spec 
format (\` ...)) --cl-var--))) (setq --cl-var-- (cdr --cl-var--))) (nreverse 
--cl-var--)))
  (loop for contact in (org-contacts-filter) for anniv = (let ((anniv (cdr 
(assoc-string (or field org-contacts-birthday-property) (caddr contact) 
(when anniv (calendar-gregorian-from-absolute (org-time-string-to-absolute 
anniv if (and anniv (apply (quote diary-anniversary) anniv)) collect 
(format-spec format (\` ((108 \, (org-with-point-at (cadr contact) 
(org-store-link nil))) (104 \, (car contact)) (121 \, (- (calendar-extract-year 
date) (calendar-extract-year anniv))) (89 \, (let ((years ...)) (format %d%s 
years (diary-ordinal-suffix years
  (let ((calendar-date-style (quote american)) (entry )) (unless format (setq 
format org-contacts-birthday-format)) (loop for contact in 
(org-contacts-filter) for anniv = (let ((anniv (cdr (assoc-string (or field 
org-contacts-birthday-property) (caddr contact) (when anniv 
(calendar-gregorian-from-absolute (org-time-string-to-absolute anniv if 
(and anniv (apply (quote diary-anniversary) anniv)) collect (format-spec format 
(\` ((108 \, (org-with-point-at (cadr contact) (org-store-link nil))) (104 \, 
(car contact)) (121 \, (- (calendar-extract-year date) (calendar-extract-year 
anniv))) (89 \, (let (...) (format %d%s years ...
  org-contacts-anniversaries()
  eval((org-contacts-anniversaries) nil)
  eval-expression((org-contacts-anniversaries) nil)
  call-interactively(eval-expression nil nil)





Re: [O] How to set up anniversaries/birthdays with org-contacts-anniversaries?

2011-11-08 Thread Jambunathan K
 Debugger entered--Lisp error: (void-function diary-anniversary)

There is a universal solution to this problem

M-x load-library RET diary TAB

and choose which of the options make most sense or try each one of them
in turn.

Note that in the above load-library you are using diary because it is
the prefix of function (or variable) which reported as void.

The load-library call unvoids the void things.






Re: [O] How to set up anniversaries/birthdays with org-contacts-anniversaries?

2011-11-08 Thread Marius Hofert
Thanks for the explanation. Is there also an equivalent solution by just 
adjusting .emacs?

 
On 2011-11-08, at 23:33 , Jambunathan K wrote:

 Debugger entered--Lisp error: (void-function diary-anniversary)
 
 There is a universal solution to this problem
 
 M-x load-library RET diary TAB
 
 and choose which of the options make most sense or try each one of them
 in turn.
 
 Note that in the above load-library you are using diary because it is
 the prefix of function (or variable) which reported as void.
 
 The load-library call unvoids the void things.
 
 
 




Re: [O] View inherited DEADLINEs in agenda

2011-11-08 Thread Brian van den Broek
On 7 November 2011 16:29, Carsten Dominik carsten.domi...@gmail.com wrote:

 On Nov 7, 2011, at 1:19 PM, Giovanni Ridolfi wrote:

 Fabrizio Chiarello fabrizio.chiare...@ieee.org writes:


 I have many tasks with a DEADLINE, and I wish to have their subtasks to
 inherit such DEADLINE. To this aim, I set:

  (setq org-use-property-inheritance (quote (DEADLINE)))


 The problem is that the agenda only shows deadlines for the tasks that
 define them

 is DEADLINE  a property that can be inherited?

 Deadlines can currently *not* be inherited.  I would probably advice
 against implementing this because of performance issues that would
 result for the construction of the agenda.

 - Carsten


Hi all,

Here's a thought: what about a function which scans a subtree of an
item that has a deadline and adds that same deadline to any
descendants that lack a deadline? It seems to me that this would, via
a one time user intervention, meet the OP's need, without the constant
overhead  about which Carsten is concerned.

It further occurred to me that invoked without arguments, it would
prompt the user for each item without deadline, with a prefix
argument, apply all the deadlines automatically, and, with a numeric
prefix n, automatically apply the alterations n-levels down.

Best,

Brian vdB



Re: [O] How to set up anniversaries/birthdays with org-contacts-anniversaries?

2011-11-08 Thread Nick Dokos
Marius Hofert marius.hof...@math.ethz.ch wrote:

 Okay, ESC ESC : (org-contacts-anniversaries) gives:
 
 
 Debugger entered--Lisp error: (void-function diary-anniversary)

So you need to load diary.el and associated stuff:

(require 'diary)

is probably enough.



Re: [O] How to set up anniversaries/birthdays with org-contacts-anniversaries?

2011-11-08 Thread Jambunathan K
Marius Hofert marius.hof...@math.ethz.ch writes:

 Thanks for the explanation. Is there also an equivalent solution by
 just adjusting .emacs?

C-h r
g Init Examples

Hint: search for load
Helpful tip: Learn to use Emacs Info system well.


  
 On 2011-11-08, at 23:33 , Jambunathan K wrote:

 Debugger entered--Lisp error: (void-function diary-anniversary)
 
 There is a universal solution to this problem
 
 M-x load-library RET diary TAB
 
 and choose which of the options make most sense or try each one of them
 in turn.
 
 Note that in the above load-library you are using diary because it is
 the prefix of function (or variable) which reported as void.
 
 The load-library call unvoids the void things.
 
 
 




-- 



Re: [O] About commit named Allow multi-line properties to be specified in property blocks

2011-11-08 Thread Eric Schulte
 Perhaps inserting an assumed space separator would be more intuitive?
 If we were to go that way it may be possible to allow variable
 specifications such as

 #+PROPERTY: var foo=1 bar=2

 in which case properties could be easily specified on multiple lines
 using a default space separator.

 If this seems like a good way to go I can try to update my previous
 patch.


I've updated the patch, the newest version is attached.  It results in
the following behavior.

#+property: var  foo=1
#+property: var+ bar=2

#+begin_src emacs-lisp
  (+ foo bar)
#+end_src

#+results:
: 3

#+begin_src emacs-lisp
  (org-entry-get (point) var t)
#+end_src

#+results:
: foo=1 bar=2

* overwriting a file-wide property
  :PROPERTIES:
  :var:  foo=7
  :END:

#+begin_src emacs-lisp
  foo
#+end_src

#+results:
: 7

#+begin_src emacs-lisp
  (org-entry-get (point) var t)
#+end_src

#+results:
: foo=7

* appending to a file-wide property
  :PROPERTIES:
  :var+:  baz=3
  :END:

#+begin_src emacs-lisp
  (+ foo bar baz)
#+end_src

#+results:
: 6

#+begin_src emacs-lisp
  (org-entry-get (point) var t)
#+end_src

#+results:
: foo=1 bar=2 baz=3
From 2a4bc429a38470b71baabf73d160359f8f87c9de Mon Sep 17 00:00:00 2001
From: Eric Schulte schulte.e...@gmail.com
Date: Mon, 7 Nov 2011 14:49:42 -0700
Subject: [PATCH] property names ending in plus accumulate

This results in the following behavior.

  #+property: var  foo=1
  #+property: var+ bar=2

  #+begin_src emacs-lisp
(+ foo bar)
  #+end_src

  #+results:
  : 3

  #+begin_src emacs-lisp
(org-entry-get (point) var t)
  #+end_src

  #+results:
  : foo=1 bar=2

  * overwriting a file-wide property
:PROPERTIES:
:var:  foo=7
:END:

  #+begin_src emacs-lisp
foo
  #+end_src

  #+results:
  : 7

  #+begin_src emacs-lisp
(org-entry-get (point) var t)
  #+end_src

  #+results:
  : foo=7

  * appending to a file-wide property
:PROPERTIES:
:var+:  baz=3
:END:

  #+begin_src emacs-lisp
(+ foo bar baz)
  #+end_src

  #+results:
  : 6

  #+begin_src emacs-lisp
(org-entry-get (point) var t)
  #+end_src

  #+results:
  : foo=1 bar=2 baz=3

* lisp/org.el (org-update-property-plist): Updates a given property
  list with a property name and a property value.
  (org-set-regexps-and-options): Use org-update-property-plist.
  (org-entry-get): Use org-update-property-plist.
* testing/examples/property-inheritance.org: Example file for testing
  appending property behavior.
* testing/lisp/test-property-inheritance.el: Tests of appending
  property behavior.
* lisp/ob.el (org-babel-balanced-split): Allow splitting on single
  characters as well as groups of two characters.
  (org-babel-parse-multiple-vars): Split variables on single spaces.
---
 lisp/ob.el|   13 --
 lisp/org.el   |   47 +++---
 testing/examples/property-inheritance.org |   36 +
 testing/lisp/test-property-inheritance.el |   61 +
 4 files changed, 138 insertions(+), 19 deletions(-)
 create mode 100644 testing/examples/property-inheritance.org
 create mode 100644 testing/lisp/test-property-inheritance.el

diff --git a/lisp/ob.el b/lisp/ob.el
index d94b4b6..a1526bc 100644
--- a/lisp/ob.el
+++ b/lisp/ob.el
@@ -1118,8 +1118,10 @@ instances of \[ \t]:\ set ALTS to '((32 9) . 58).
   (flet ((matches (ch spec) (or (and (numberp spec) (= spec ch))
 (member ch spec)))
 	 (matched (ch last)
-		  (and (matches ch (cdr alts))
-		   (matches last (car alts)
+		  (if (consp alts)
+		  (and (matches ch (cdr alts))
+			   (matches last (car alts)))
+		(matches ch alts
 (let ((balance 0) (partial nil) (lst nil) (last 0))
   (mapc (lambda (ch)  ; split on [] or () balanced instances of [ \t]:
 	  (setq balance (+ balance
@@ -1128,7 +1130,10 @@ instances of \[ \t]:\ set ALTS to '((32 9) . 58).
  (t 0
 	  (setq partial (cons ch partial))
 	  (when (and (= balance 0) (matched ch last))
-		(setq lst (cons (apply #'string (nreverse (cddr partial)))
+		(setq lst (cons (apply #'string (nreverse
+		 (if (consp alts)
+		 (cddr partial)
+		   (cdr partial
 lst))
 		(setq partial nil))
 	  (setq last ch))
@@ -1163,7 +1168,7 @@ shown below.
 (mapc (lambda (pair)
 	(if (eq (car pair) :var)
 		(mapcar (lambda (v) (push (cons :var (org-babel-trim v)) results))
-			(org-babel-balanced-split (cdr pair) '(44 . (32 9
+			(org-babel-balanced-split (cdr pair) 32))
 	  (push pair results)))
 	  header-arguments)
 (nreverse results)))
diff --git a/lisp/org.el b/lisp/org.el
index 5c4ea33..d74e994 100644
--- a/lisp/org.el
+++ b/lisp/org.el
@@ -4438,6 +4438,15 @@ in the #+STARTUP line, the corresponding variable, and the value to
 set this variable to if the option is found.  An optional forth element PUSH
 means to push this value onto the list in the variable.)
 
+(defun org-update-property-plist (key val 

Re: [O] How to set up anniversaries/birthdays with org-contacts-anniversaries?

2011-11-08 Thread Nick Dokos
Marius Hofert marius.hof...@math.ethz.ch wrote:

 Thanks for the explanation. Is there also an equivalent solution by just 
 adjusting .emacs?
 
  

If you are going to use emacs extensively, you probably should read the
emacs reference manual and maybe the emacs lisp introduction as
well.

M-x foo RET is entirely equivalent to evaluating

(foo)

which is a call to function foo. (foo) is the more general mechanism: it
works for any lisp function, M-x foo works iff foo is a command (aka an
interactive function). The form (foo) can be added to .emacs.

load-library is a command that takes an argument: the name of the library
to load. See its doc string for details. M-x load-library RET diary RET
is entirely equivalent to evaluating

(load-library diary)

This calls the function load-library with the string argument diary.
This form can be added to .emacs. Alternatively, you can use the
require form that I posted:

(require 'diary)

Note that load-library takes a string as argument, whereas require takes
a symbol.

Nick


 On 2011-11-08, at 23:33 , Jambunathan K wrote:
 
  Debugger entered--Lisp error: (void-function diary-anniversary)
  
  There is a universal solution to this problem
  
  M-x load-library RET diary TAB
  
  and choose which of the options make most sense or try each one of them
  in turn.
  
  Note that in the above load-library you are using diary because it is
  the prefix of function (or variable) which reported as void.
  
  The load-library call unvoids the void things.
  
  
  
 



Re: [O] How to set up anniversaries/birthdays with org-contacts-anniversaries?

2011-11-08 Thread Marius Hofert

On 2011-11-08, at 23:33 , Jambunathan K wrote:

 Debugger entered--Lisp error: (void-function diary-anniversary)
 
 There is a universal solution to this problem
 
 M-x load-library RET diary TAB
 
 and choose which of the options make most sense or try each one of them
 in turn.

I have:
1) diary-lib
2) diary-loaddefs

I chose the first one. After that, I could define a :BIRTHDAY: with year  1970 
and it correctly showed up in the agenda view! Seems to work! :-) 

Thanks a lot,

Marius

 
 Note that in the above load-library you are using diary because it is
 the prefix of function (or variable) which reported as void.
 
 The load-library call unvoids the void things.





Re: [O] How to set up anniversaries/birthdays with org-contacts-anniversaries?

2011-11-08 Thread Marius Hofert

On 2011-11-09, at 00:06 , Nick Dokos wrote:

 Marius Hofert marius.hof...@math.ethz.ch wrote:
 
 Thanks for the explanation. Is there also an equivalent solution by just 
 adjusting .emacs?
 
 
 
 If you are going to use emacs extensively, you probably should read the
 emacs reference manual and maybe the emacs lisp introduction as
 well.
 
 M-x foo RET is entirely equivalent to evaluating
 
 (foo)
 
 which is a call to function foo. (foo) is the more general mechanism: it
 works for any lisp function, M-x foo works iff foo is a command (aka an
 interactive function). The form (foo) can be added to .emacs.
 
 load-library is a command that takes an argument: the name of the library
 to load. See its doc string for details. M-x load-library RET diary RET
 is entirely equivalent to evaluating
 
 (load-library diary)
 
 This calls the function load-library with the string argument diary.
 This form can be added to .emacs. Alternatively, you can use the
 require form that I posted:
 
 (require 'diary)

I obtain (also for (load-library diary) ):
File error: Cannot open load file, diary

I assume I'm missing some diary.el (?). 

I'm wondering why diary is needed anyway? Julien does not specifically mention 
it:
http://julien.danjou.info/org-contacts.html

Cheers,

Marius


 
 Note that load-library takes a string as argument, whereas require takes
 a symbol.
 
 Nick
 
 
 On 2011-11-08, at 23:33 , Jambunathan K wrote:
 
 Debugger entered--Lisp error: (void-function diary-anniversary)
 
 There is a universal solution to this problem
 
 M-x load-library RET diary TAB
 
 and choose which of the options make most sense or try each one of them
 in turn.
 
 Note that in the above load-library you are using diary because it is
 the prefix of function (or variable) which reported as void.
 
 The load-library call unvoids the void things.
 
 
 
 




Re: [O] How to set up anniversaries/birthdays with org-contacts-anniversaries?

2011-11-08 Thread Marius Hofert
Okay, I assume it's (require 'diary-lib) then.


On 2011-11-09, at 00:13 , Marius Hofert wrote:

 
 On 2011-11-09, at 00:06 , Nick Dokos wrote:
 
 Marius Hofert marius.hof...@math.ethz.ch wrote:
 
 Thanks for the explanation. Is there also an equivalent solution by just 
 adjusting .emacs?
 
 
 
 If you are going to use emacs extensively, you probably should read the
 emacs reference manual and maybe the emacs lisp introduction as
 well.
 
 M-x foo RET is entirely equivalent to evaluating
 
 (foo)
 
 which is a call to function foo. (foo) is the more general mechanism: it
 works for any lisp function, M-x foo works iff foo is a command (aka an
 interactive function). The form (foo) can be added to .emacs.
 
 load-library is a command that takes an argument: the name of the library
 to load. See its doc string for details. M-x load-library RET diary RET
 is entirely equivalent to evaluating
 
 (load-library diary)
 
 This calls the function load-library with the string argument diary.
 This form can be added to .emacs. Alternatively, you can use the
 require form that I posted:
 
 (require 'diary)
 
 I obtain (also for (load-library diary) ):
 File error: Cannot open load file, diary
 
 I assume I'm missing some diary.el (?). 
 
 I'm wondering why diary is needed anyway? Julien does not specifically 
 mention it:
 http://julien.danjou.info/org-contacts.html
 
 Cheers,
 
 Marius
 
 
 
 Note that load-library takes a string as argument, whereas require takes
 a symbol.
 
 Nick
 
 
 On 2011-11-08, at 23:33 , Jambunathan K wrote:
 
 Debugger entered--Lisp error: (void-function diary-anniversary)
 
 There is a universal solution to this problem
 
 M-x load-library RET diary TAB
 
 and choose which of the options make most sense or try each one of them
 in turn.
 
 Note that in the above load-library you are using diary because it is
 the prefix of function (or variable) which reported as void.
 
 The load-library call unvoids the void things.
 
 
 
 
 

ETH Zurich
Dr. Marius Hofert
RiskLab, Department of Mathematics
HG E 65.2
Rämistrasse 101
8092 Zurich
Switzerland

Phone +41 44 632 2423
marius.hof...@math.ethz.ch
http://www.math.ethz.ch/~hofertj




Re: [O] How to set up anniversaries/birthdays with org-contacts-anniversaries?

2011-11-08 Thread Nick Dokos
Marius Hofert marius.hof...@math.ethz.ch wrote:

  
  (load-library diary)
  
  This calls the function load-library with the string argument diary.
  This form can be added to .emacs. Alternatively, you can use the
  require form that I posted:
  
  (require 'diary)
 
 I obtain (also for (load-library diary) ):
 File error: Cannot open load file, diary
 
 I assume I'm missing some diary.el (?). 
 

Nope, I'm wrong: diary-anniversary is in diary-lib, so the
correct form is

(load-library diary-lib)

or

(require 'diary-lib)



Re: [O] How to set up anniversaries/birthdays with org-contacts-anniversaries?

2011-11-08 Thread Marius Hofert
 (load-library diary)
 
 This calls the function load-library with the string argument diary.
 This form can be added to .emacs. Alternatively, you can use the
 require form that I posted:
 
 (require 'diary)
 
 I obtain (also for (load-library diary) ):
 File error: Cannot open load file, diary
 
 I assume I'm missing some diary.el (?). 
 
 
 Nope, I'm wrong: diary-anniversary is in diary-lib, so the
 correct form is
 
 (load-library diary-lib)
 
 or
 
 (require 'diary-lib)


okay, that's also what I tried and it worked. However, I still see the Bad 
sexp... error when there is a BIRTHDAY tag *without* date, so just a line 
containing :BIRTHDAY: But that's of course not a big issue.




Re: [O] How to set up anniversaries/birthdays with org-contacts-anniversaries?

2011-11-08 Thread Jonathan Leech-Pepin
:BIRTHDAY: without any date is an invalid date for the sexp.

org-contacts-anniversaries loops through all valid contacts (headlines with
an :EMAIL: property) for any that contain the :BIRTHDAY: property (by
default, this can be customized).

When there is no date associated the value is nil.

(calendar-gregorian-from-absolute
  (org-time-string-to-absolute anniv))

Where anniv is the date retrieved from :BIRTHDAY:. nil is not a valid date,
so the expression fails, giving you a bad sexp.

On Tue, Nov 8, 2011 at 6:25 PM, Marius Hofert marius.hof...@math.ethz.chwrote:

  (load-library diary)
 
  This calls the function load-library with the string argument diary.
  This form can be added to .emacs. Alternatively, you can use the
  require form that I posted:
 
  (require 'diary)
 
  I obtain (also for (load-library diary) ):
  File error: Cannot open load file, diary
 
  I assume I'm missing some diary.el (?).
 
 
  Nope, I'm wrong: diary-anniversary is in diary-lib, so the
  correct form is
 
  (load-library diary-lib)
 
  or
 
  (require 'diary-lib)


 okay, that's also what I tried and it worked. However, I still see the
 Bad sexp... error when there is a BIRTHDAY tag *without* date, so just a
 line containing :BIRTHDAY: But that's of course not a big issue.





[O] [babel bug]: cannot export examples which contain the word 'call'

2011-11-08 Thread Daniel Clemente

Hi,
  with latest org, the header at the end of this mail cannot be exported due to 
this error:

  signal(error (reference '_' not found in this buffer))
  error(reference '%s' not found in this buffer _)
  org-babel-ref-resolve(_())
  org-babel-ref-parse(results=_())
  #[(el) A:\203A\207\30A!\207 [el org-babel-ref-parse] 2]((:var . 
results=_()))
  mapcar(#[(el) A:\203 A\207\30A!\207 [el org-babel-ref-parse] 2] ((:var . 
results=_(
  org-babel-process-params(((:comments . ) (:shebang . ) (:cache . no) 
(:padline . ) (:noweb . no) (:tangle . no) (:exports . results) 
(:results . replace) (:var . results=_()) (:session . none) (:hlines . 
no) (:padnewline . yes)))


  It is due to the word „call“ which appears in the middle. If you avoid the 
word „call“, it exports.





* a test
#+BEGIN_EXAMPLE
(Pdb) p fingerprint
'adi\xc3\xb3s'
(Pdb) bt
  
/tmp/testbzr-YrnJ8d.tmp/bzrlib.tests.workingtree_implementations.test_parents.TestSetParents.test_utf8_symlink(WorkingTreeFormat4)/work/bzr(130)module()
- test(result)
  /usr/lib/python2.5/unittest.py(281)__call__()
- return self.run(*args, **kwds)
  /Werkstatt/bzr/bug_24yt5/bzrlib/tests/__init__.py(1293)run()
#+END_EXAMPLE







Greetings,
Daniel



[O] zotero plain, org-odt, and citations in general

2011-11-08 Thread Matt Price
Hi everyone,

I am about to start experimenting with Erik Hetzner's zotero-plain, which
allows the use of zotero as a bibliographic manager in emacs  especially
org-mode (https://bitbucket.org/egh/zotero-plain as well as a couple of
threads on this list, I think).  I'm wonderinghow other people have used
it, and in particular whether there's any way to preserve the zotero markup
across exports to odt especially. That is, I'd like to keep the original
citations embedded in the final odt, so that I can continue to use zotero
in an odt or doc file after it's been exported from org.

This would take me very , very close to a complete org-centric workflow
that still lets me produce documents for consumption by my MS-using
colleagues.  I really hope it's possible to do! If anyone has done it, I
would really love to hear about it.

Thanks,
Matt


Re: [O] BUG: org-todo-yesterday logs wrong date

2011-11-08 Thread Bernt Hansen
Geert Kloosterman g.j.klooster...@gmail.com writes:

 Hi all,

 On Wed, Oct 19, 2011 at 1:17 AM, Viktor Rosenfeld 
 listuse...@googlemail.com wrote:


 org-todo-yesterday and org-agenda-todo-yesterday log a note using
 the
 current timestamp and not a timestamp of 23:59 of yesterday's
 date.

 I'm using Org-Mode 7.7 pulled today from the git repository.



 I'm experiencing the same problem with the org-mode version I pulled
 from git today. 

 Switching back to the 7.7 tarball fixes the problem.

 Best regards,
 Geert Kloosterman
  

Git bisect identifies the following commit as the source of this
problem.

7d2d8f884b2e22e3056553ea68858fe4fc674427 is the first bad commit
commit 7d2d8f884b2e22e3056553ea68858fe4fc674427
Author: John Wiegley jo...@newartisans.com
Date:   Sat Aug 13 03:21:49 2011 -0500

Add customization variable `org-use-effective-time'

If non-nil, consider `org-extend-today-until' when creating timestamps.
For example, if `org-extend-today-until' is 8, and it's 4am, then the
effective time of any timestamps between midnight and 8am will be
23:59 of the previous day.

:04 04 a33f65040163763ed06996b9ffc18bcfc5884457 
0782571b08e0a128fa3b072b8b8edf177c001ca3 M  lisp

Regards,
Bernt



Re: [O] [babel bug]: cannot export examples which contain the word 'call'

2011-11-08 Thread Eric Schulte
Hi,

Thanks for reporting this issue, I've just pushed up a fix.

Cheers -- Eric

Daniel Clemente n142...@gmail.com writes:

 Hi,
   with latest org, the header at the end of this mail cannot be exported due 
 to this error:

   signal(error (reference '_' not found in this buffer))
   error(reference '%s' not found in this buffer _)
   org-babel-ref-resolve(_())
   org-babel-ref-parse(results=_())
   #[(el) A:\203A\207\30A!\207 [el org-babel-ref-parse] 2]((:var . 
 results=_()))
   mapcar(#[(el) A:\203 A\207\30A!\207 [el org-babel-ref-parse] 2] ((:var . 
 results=_(
   org-babel-process-params(((:comments . ) (:shebang . ) (:cache
 . no) (:padline . ) (:noweb . no) (:tangle . no) (:exports
 . results) (:results . replace) (:var . results=_()) (:session
 . none) (:hlines . no) (:padnewline . yes)))


   It is due to the word „call“ which appears in the middle. If you
 avoid the word „call“, it exports.





 * a test
 #+BEGIN_EXAMPLE
 (Pdb) p fingerprint
 'adi\xc3\xb3s'
 (Pdb) bt
   
 /tmp/testbzr-YrnJ8d.tmp/bzrlib.tests.workingtree_implementations.test_parents.TestSetParents.test_utf8_symlink(WorkingTreeFormat4)/work/bzr(130)module()
 - test(result)
   /usr/lib/python2.5/unittest.py(281)__call__()
 - return self.run(*args, **kwds)
   /Werkstatt/bzr/bug_24yt5/bzrlib/tests/__init__.py(1293)run()
 #+END_EXAMPLE







 Greetings,
 Daniel


-- 
Eric Schulte
http://cs.unm.edu/~eschulte/



[O] [PATCH] Add the ability to archive to the datetree.

2011-11-08 Thread Andrew Hyatt
* org.el (org-archive-location): Add documentation on new datetree
option.
* org-archive.el (org-archive-subtree): Add special handling
of datetree options to archive to datetree.

---
 lisp/org-archive.el |   21 +
 lisp/org.el |7 +++
 2 files changed, 24 insertions(+), 4 deletions(-)

diff --git a/lisp/org-archive.el b/lisp/org-archive.el
index 16c35cf..4df6f1e 100644
--- a/lisp/org-archive.el
+++ b/lisp/org-archive.el
@@ -213,13 +213,14 @@ this heading.
 (current-time)))
  category todo priority ltags itags atags
  ;; end of variables that will be used for saving context
- location afile heading buffer level newfile-p infile-p visiting)
+ location afile heading buffer level newfile-p infile-p visiting
+ datetree-date)

   ;; Find the local archive location
   (setq location (org-get-local-archive-location)
afile (org-extract-archive-file location)
heading (org-extract-archive-heading location)
-   infile-p (equal file (abbreviate-file-name afile)))
+   infile-p (equal file (abbreviate-file-name (or afile 
   (unless afile
(error Invalid `org-archive-location'))

@@ -230,6 +231,12 @@ this heading.
(setq buffer (current-buffer)))
   (unless buffer
(error Cannot access file \%s\ afile))
+  (when (string-match \\`datetree/ heading)
+   ;; Replace with ***, to represent the 3 levels of headings the
+   ;; datetree has.
+   (setq heading (string-replace-match \\`datetree/ heading ***))
+   (setq datetree-date (org-date-to-gregorian
+(or (org-entry-get nil CLOSED t) time
   (if (and ( (length heading) 0)
   (string-match ^\\*+ heading))
  (setq level (match-end 0))
@@ -262,6 +269,9 @@ this heading.
  (goto-char (point-max))
  (insert (format \nArchived entries from file %s\n\n
  (buffer-file-name this-buffer
+   (when datetree-date
+ (org-datetree-find-date-create datetree-date)
+ (org-narrow-to-subtree))
;; Force the TODO keywords of the original buffer
(let ((org-todo-line-regexp tr-org-todo-line-regexp)
  (org-todo-keywords-1 tr-org-todo-keywords-1)
@@ -285,7 +295,8 @@ this heading.
  ;; Heading not found, just insert it at the end
  (goto-char (point-max))
  (or (bolp) (insert \n))
- (insert \n heading \n)
+ ;; datetrees don't need to much spacing
+ (if datetree-date (insert heading) (insert \n heading \n))
  (end-of-line 0))
;; Make the subtree visible
(show-subtree)
@@ -296,7 +307,8 @@ this heading.
  (org-end-of-subtree t))
(skip-chars-backward  \t\r\n)
(and (looking-at [ \t\r\n]*)
-(replace-match \n\n)))
+;; datetree archives don't need so much spacing.
+(replace-match (if datetree-date \n \n\n
;; No specific heading, just go to end of file.
(goto-char (point-max)) (insert \n))
  ;; Paste
@@ -326,6 +338,7 @@ this heading.
  (setq n (concat ARCHIVE_ (upcase (symbol-name e
  (org-entry-put (point) n v)

+ (widen)
  ;; Save and kill the buffer, if it is not the same buffer.
  (when (not (eq this-buffer buffer))
(save-buffer
diff --git a/lisp/org.el b/lisp/org.el
index 6ee3b4e..9c80c9c 100644
--- a/lisp/org.el
+++ b/lisp/org.el
@@ -4046,6 +4046,13 @@ Here are a few examples:
Archive in file ./basement (relative path), as level 3 trees
below the level 2 heading \** Finished Tasks\.

+\~/org/datetree.org::datetree/* Finished Tasks\
+The \datetree/\ string is special, signifiying to
+archive items to the datetree.  Items are placed in
+either the CLOSED date of the item, or the current date
+if there is no CLOSED date.  The heading will be a
+subentry to the current date.
+
 You may set this option on a per-file basis by adding to the buffer a
 line like

-- 
1.7.3.1



Re: [O] zotero plain, org-odt, and citations in general

2011-11-08 Thread Jambunathan K

 Hi everyone,

 I am about to start experimenting with Erik Hetzner's zotero-plain,
 which allows the use of zotero as a bibliographic manager in emacs 
 especially org-mode (https://bitbucket.org/egh/zotero-plain as well
 as a couple of threads on this list, I think).

For Erik's benefit:
===

org-mode has a native ODT exporter implemented by org-odt.el. The
documentation - org-odt.pdf - can be seen *attached* to this mailing
list post: 
http://article.gmane.org/gmane.emacs.orgmode/48468

The following section - sec. no. 1.1.4 Applying Custom Styles - talks
about where the ODT exporter picks the style from.

Notes to self:
==

1. styles.odt is here.
   - https://bitbucket.org/egh/zotero-plain/src/66353860ebdd/python
   
   Styles seem to have rststyle as a prefix.

2. example.odt is here.
   - https://bitbucket.org/egh/zotero-plain/src/66353860ebdd/example

   Contains a bibiliographic content presumably created by zrst2odt

3. zrst2odt is here.
   - https://bitbucket.org/egh/zotero-plain/src/66353860ebdd/python/bin

4. Elisp code is here.
   - https://bitbucket.org/egh/zotero-plain/src/66353860ebdd/elisp

   1. org-zotero.el

  This permits insertion of zotero reference links *only* and
  opening them with a browser. 

  Specifically I don't see the translator of these links to
  individual backends like latex, html or more importantly ODT.

  #+begin_src emacs-lisp
(org-add-link-type TYPE optional FOLLOW EXPORT)
  #+end_src

   2. zotero.el

  This (apparently) permits download of data from firefox and
  importing it within Emacs.

I have an impression that I have is this:

org-rst-odt

I am not able to make up my mind quickly about whether there is support
for translating org-style zotero links to rst-stlye whatever.

Notes to Matt Price or other users of zotero + libreoffice
==

I see a post from you - titled zoteroOpenOfficeIntegration doesn't open
port? - in the zotero forums a few hours ago. Here is a link to
libreoffice related posts on zotero's forums.

http://forums.zotero.org/search/?PostBackAction=SearchKeywords=libreofficeType=CommentsbtnSubmit=Search

So I believe if you or someone could post a OpenOffice document -
created through zotero - which uses zotero-style citation and
references - to this mailing list or this very thread - these could be
used as a primer to export zotero links to ODT. (Similarly for other Org
supported backends).

It would be wonderful if the example uses as many of the zotero fields -
(as in database fields) - in as many usage contexts as possible.

General comments


1. Zotero supports many citation stlyes. So Org/Zotero integration could
   choose one citation style that is widely agreeable for one-off
   colloboration needs.

2. I don't know if importing Zotero stylenames verbatim in to org-odt's
   style file would pollute it - thereby preventing org-odt from
   getting in to Emacs proper.

   I am not competent to judge what the copyright and license terms of
   the stylenames used by zotero plugin are. I am seeing that zotero
   itself is AGPL so I believe it is Free as in Free Software.

3. Even if zotero's ODT style cannot be used by the ODT exporter due
   (2), I can cook up Org's own stlyenames for various citation fields
   and allow the user to remap Org* stlyenames to say Zotero* stlynames.

I see Org already has some(?) support for bibtex. Can anyone comment on
bibtex vs zotero? They seem to serve same purpose - citation
management. Can bibtex be used instead of zotero.

I am not a researcher or academic. So I would need help from potential
users for this to move forward.

   I'm wonderinghow other people have used it, and in particular
 whether there's any way to preserve the zotero markup across exports
 to odt especially. That is, I'd like to keep the original citations
 embedded in the final odt, so that I can continue to use zotero in an
 odt or doc file after it's been exported from org. 

 This would take me very , very close to a complete org-centric
 workflow that still lets me produce documents for consumption by my
 MS-using colleagues.  I really hope it's possible to do! If anyone
 has done it, I would really love to hear about it. 

 Thanks,
 Matt



-- 



Re: [O] bug in odt export via mathml of equations containing ''

2011-11-08 Thread Jambunathan K

The best alternative in LaTeX would be to use the \left\{ and
\right. (note the dot) construct as below[fn:4]. Unfortunately
MathToWeb fails miserably while MathJax succeeds with flying
colors.

#+srcname: exact-equivalent-of-cases
#+begin_src latex
  \begin{equation*}
\delta_{mn} = 
\left\{
\begin{smallmatrix}
1  \text{if } n=m \\
0  \text{if } n\nem
\end{smallmatrix}
\right.
  \end{equation*}
#+end_src

 [fn:4] For LaTeX, see the last example here:
 http://www.maths.tcd.ie/~dwilkins/LaTeXPrimer/Matrices.html

Adding a link to StarMath equivalent which is:
LHS = left lbrace insert-something-here right none 

See Adding a link to StarMath equivalent which is:
http://user.services.openoffice.org/en/forum/viewtopic.php?f=12t=17568
-- 



Re: [O] zotero plain, org-odt, and citations in general

2011-11-08 Thread Erik Hetzner
At Tue, 8 Nov 2011 21:06:37 -0500,
Matt Price wrote:
 
 Hi everyone,
 
 I am about to start experimenting with Erik Hetzner's zotero-plain, which
 allows the use of zotero as a bibliographic manager in emacs  especially
 org-mode (https://bitbucket.org/egh/zotero-plain as well as a couple of
 threads on this list, I think).  I'm wonderinghow other people have used
 it, and in particular whether there's any way to preserve the zotero markup
 across exports to odt especially. That is, I'd like to keep the original
 citations embedded in the final odt, so that I can continue to use zotero
 in an odt or doc file after it's been exported from org.
 
 This would take me very , very close to a complete org-centric workflow
 that still lets me produce documents for consumption by my MS-using
 colleagues.  I really hope it's possible to do! If anyone has done it, I
 would really love to hear about it.

Hi Matt,

org-mode support in Zotero plain has not received as much work
recently as the docutils (reStructuredText) support. Basically all
that one can do in org-mode at the moment is insert  update
citations, and following citation links to the entry in Zotero.

zot4rst (docutils) support can transform rst documents into odt
documents with citations generated by Zotero. [1]

It might be possible to implement something similar in the org-mode
Zotero, but I don’t know how, and it might be difficult.

best, Erik

1. However, it should be noted that this support is different from
that provided by the OpenOffice plugin, and one cannot edit a document
generated from a rst file using the Zotero/OpenOffice plugin.

Sent from my free software system http://fsf.org/.


Re: [O] zotero plain, org-odt, and citations in general

2011-11-08 Thread Jambunathan K

 Basically all that one can do in org-mode at the moment is insert 
 update citations, and following citation links to the entry in Zotero.

Can you or someone provide me how such an Org file with citation
definition and reference looks like?

 It might be possible to implement something similar in the org-mode
 Zotero, but I don’t know how, and it might be difficult.

Do you know who the author of zotero.el? The file header in zotero.el
has no author info.
https://bitbucket.org/egh/zotero-plain/src/66353860ebdd/elisp/zotero.el

Assuming that prior work in zotero.el is reasonably complete and usable
- in so far as retrieving all fields associated with a zotero reference
- getting citation sections and references in ODT export shouldn't be a
difficult issue.

I am making these comments as the author of org-odt.el.



Re: [O] [OT] Scanning for archiving

2011-11-08 Thread Pieter Praet
On Mon, 7 Nov 2011 18:44:24 +0100, Karl Voit devn...@karl-voit.at wrote:
 Hi!
 
 Inspired by «Total Recall»[3], a book of two MS Research guys, I
 started life logging on my own two months ago.
 

Dammit, that's been on my reading list for almost 2 years now, and
*still* it isn't available in ebook format.  One would think they'd walk
their talk [1], no?

 [...]
 * Pieter Praet pie...@praet.org wrote:
 
  Using PDF for scanned documents results in *huge* files with a seriously
  disappointing image quality.  
 
 I can not copy that at all:
 
 ,
 | vk@gary ~2d % l 2011-11-02_13-22-45.png
 | -rw--- 1 vk vk 103150 2011-11-02 13:22 2011-11-02_13-22-45.png
 | vk@gary ~2d % convert 2011-11-02_13-22-45.png 2011-11-02_13-22-45.pdf
 | vk@gary ~2d % l 2011-11-02_13-22-45.pdf
 | -rw-r--r-- 1 vk vk 96457 2011-11-07 18:12 2011-11-02_13-22-45.pdf
 | vk@gary ~2d %
 `
 
 In this example, the compression of PDF is much better than the
 original PNG one. PDF is only a container format.
 

The conversion to PDF has indeed reduced the filesize, but not for the
reasons you might think: If you don't explicitly provide ImageMagick's
`convert' with a compression level (`-quality' option), it will use a
default of 75%.  Thus I (perhaps incorrectly) infer that you've just
lost 25% of the image quality for a meager 7% reduction in filesize.


I do admit that the whole quality vs. filesize statement I made
regarding using PDF for scanned documents wasn't entirely correct:
I cut some corners.

The real issue is that most folks use their scanner software to save
directly to PDF, and for some reason, scanner software (especially the
proprietary variety) predominantly uses JPEG compression as default when
saving to PDF.

JPEG was developed for storing images with smooth transitions and a high
bit depth (i.e. photographs), not hard transitions and a low bit depth
(i.e. documents), so you're likely to suffer a noticeable degradation in
text quality, even when using 1:1 JPEG compression.

You're using PNG compression though, so the whole JPEG deal doesn't apply.

So, that just leaves the neverending stream of PDF security issues :)

  Consider storing your scans in DjVu format
  [1], which was developed specifically for this purpose.
 
 PDF is a common standard whereas DjVu is something I - as an
 advanced computer user - never faced before in real life. I am not
 sure whether any of my computers can handle DjVu files at all.
 

How about the Million Book Project / Universal Digital Library [2] ?
Even though every computing device is most likely to support PDF, their
collection is only available in TIFF and DjVu format.

The list of participants and partners [3] (not to mention the magnitude
and cost of their undertaking) is reason enough (for me, at least) to
assume that DjVu is deemed to be rather future-proof.

I'm guessing ISO standardization will be only a matter of time.

 The goals of DjVu sound great but I get everything with PDF too.
 Although I like the idea of OGG Vorbis, I re-ripped all my CDs using
 mp3 again because I could not use many music devices or music
 management software packages.
 

Ahhh, VHS vs. Betamax, over and over again...

Companies only succeed in getting everyone stuck with mediocre tools if
we allow them to.  You don't *need* all devices/software to support the
superior format.  Just get the ones that do (if there are any...), try
to enlighten the people in you monkeysphere [4], and then let the free
market do its work.  Joe Average Consumer will eventually follow (unless
pornography is at stake, apparently), and the industry will be right on
his tail.

 I stick to the format *any* computer can handle without special
 software products. [...]

Somehow this implies that *every* computer is infected with Adobe's
malware.  I find that rather disconcerting, to be honest :D

 [...] And I do think that I get a higher chance of
 being able to read my documents twenty years from now.
 

For your sake, I hope you're right!

 For scanned images I'd prefer PNG instead but the OS X Software of
 my OfficeJet offers me the ability to generate PDF files where an
 OCR software adds a searchable text layer above the scanned text.
 This is *very* important to me since I am able to do full text
 search on the content of my archived documents.
 

May be a bit less convenient in daily usage, but you could stick to your
preference of keeping all your scans in PNG format by keeping the OCR
output in a separate ASCII file:

  #+begin_src sh
for i in $(ls ${HOME}/msg/paper/inbox/*.png) ; do
tesseract ${i} ${i}.txt
done
  #+end_src

That way you can access your data even on text-only machines,
and full-text search is only a `grep' away.

 And I plan to archive *all* of my documents. Really all of them.
 

Then you'll probably be interested in Joey Hess' git-annex [5] to keep
your archive versioned and in sync across all your devices.

 Storage space does not matter (any more) to me since I have more
 disk