Well, as you can see with my exchange with Suvayu I got past the error. Yet I still have a strange problem. Your solution works on a small test file, but not on my large (~ 13k words) document. The conversion of "text" to "page" just doesn't happen.

I do have a special style file, so I thought that might be the issue. But even when I remove the line #+ODT_STYLES_FILE: "book.ott"
 from the head of the file, there still seems to be no conversion.

Puzzled,

Dan



On Wed, Nov 20, 2013 at 4:33 PM, Christian Moe <mail@christianmoe.com> wrote:

I said:

> You can do cross-references with ordinary links. Have a look at the
> manual section 4.2, "Internal links". However, what you get out of the
> box is textual references to e.g. section headings, not page
> references. You can change that for each reference individually by
> right-clicking on them in LibreOffice. There should be a way to get page
> references by default, but off the cuff, I'm not sure how.

Well, here's one way to get those page references, using filters:

(defun my-odt-filter-pagerefs (text backend info)
       "Make page references, not textual references in ODT export."
       (when (org-export-derived-backend-p backend 'odt)
             (replace-regexp-in-string "text:reference-format=\"text\"" "text:reference-format=\"page\"" text)))

(add-to-list 'org-export-filter-link-functions
                  'my-odt-filter-pagerefs)

(Whee! I just wrote my first export filter.)

Org doesn't know what the page number will be, so when you open the
document in e.g. LibreOffice, you still have to update fields (Tools >
Update) before you see page numbers.

Yours,
Christian