emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [O] [odt] equation labels


From: Myles English
Subject: Re: [O] [odt] equation labels
Date: Wed, 02 Nov 2011 13:18:17 +0000
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.3 (gnu/linux)

Jambunathan,

>> On Wed, 02 Nov 2011 01:09:41 +0530, Jambunathan K said:

  > Myles

  > (I have read the followup post to this set of questions)

  > Myles English <address@hidden> writes:
  >>>> On Mon, 31 Oct 2011 03:41:18 +0530, Jambunathan K said:
  >> 
  >> > Myles English <address@hidden> writes: >> I have found
  >> that Equations become labelled as Figures in the >> version I am
  >> using:
  >> >> 
  >> >> emacs 23.3.1 org-mode from git commit 71f1c1be (Oct 26) The test
  >> >> equations in latex-mathml.org in this message:
  >> >> 
  >> >>
  >> http://lists.gnu.org/archive/html/emacs-orgmode/2011-09/msg00198.html
  >> >> 
  >> >> are labelled as "Equation" in the odt files but when I export it
  >> >> fresh I get "Figure".
  >> 
  >> > This was a regression. I pushed a fix few moments ago. Could you
  >> > please pull again?
  >> 
  >> Thanks for the push, there are three things I notice now:
  >> 
  >> 1) my document won't open and causes libreoffice to crash! I get:
  >> "terminate called after throwing an instance of what():
  >> vector::_M_default_append" on the command line

  > 1. You are using custom styles for your latex fragment
  > 2. latex-to-mathml converter - as it stands today - assumes the
  > latex fragment is completed in and of itself and doesn't honor the
  > style settings.

  > Putting 1 and 2 together, I am assuming that the XML created by the
  > ODT emitter contains garbage which is causing LibreOffice to be
  > confused. In my observation, ill-formed XML triggers "file is
  > corrupt and should I repair the file?" from LibreOffice. A crash
  > seems strange to me.

There is (git from a couple of days ago) a problem with referring to
equations containing an underscore in the label, I am fairly sure it was
allowed before, e.g.:

--8<---------------cut here---------------start------------->8---
#+LABEL: Equation:new_eq
     \begin{equation}
     x=\sqrt{b}
     \end{equation}

Referring to an equation with an underscore: \ref{Equation:new_eq}
--8<---------------cut here---------------end--------------->8---

I get a libreoffice popup:

"Read Error. Format error discovered in the file in sub-document
content.xmlat 2236,92(row,col)."

I think it was many of these errors that caused the crash.

  > 1. http://article.gmane.org/gmane.emacs.orgmode/48714 - Above link
  > has my note on -ncf option to mathtoweb

  > 2. http://orgmode.org/worg/org-faq.html - Above link has a note on
  > how to debug corrupt odt files.  (Hint: search for corrupt)

  >> 2) the first equation in latex-mathml.org is not numbered, I would
  >> expect this if it was using a begin{equation*} environment but not
  >> a begin{equation}.

  > Currently the odt exporter doesn't peek in to the latex fragment and
  > infer what manner of equation it is. This is something that I could
  > take up ...

  > ,---- | (defvar org-latex-regexps | '(("begin" "^[
  > \t]*\\(\\\\begin{\\([a-zA-Z0-9\\*]+\\)[^\000]+?\\\\end{\\2}\\)" 1 t)
  > | ;; ("$" "\\([ (]\\|^\\)\\(\\(\\([$]\\)\\([^
  > \r\n,.$].*?\\(\n.*?\\)\\{0,5\\}[^ \r\n,.$]\\)\\4\\)\\)\\([
  > .,?;:'\")]\\|$\\)" 2 nil) | ;; \000 in the following regex is needed
  > for org-inside-LaTeX-fragment-p | ("$1" "\\([^$]\\|^\\)\\(\\$[^
  > \r\n,;.$]\\$\\)\\([- .,?;:'\")\000]\\|$\\)" 2 nil) | ("$"
  > "\\([^$]\\|^\\)\\(\\(\\$\\([^
  > \r\n,;.$][^$\n\r]*?\\(\n[^$\n\r]*?\\)\\{0,2\\}[^
  > \r\n,.$]\\)\\$\\)\\)\\([- .,?;:'\")\000]\\|$\\)" 2 nil) | ("\\("
  > "\\\\([^\000]*?\\\\)" 0 nil) | ("\\[" "\\\\\\[[^\000]*?\\\\\\]" 0
  > nil) | ("$$" "\\$\\$[^\000]*?\\$\\$" 0 nil)) | "Regular expressions
  > for matching embedded LaTeX.")  `----

Crikey!  That's quite a regexp.  I think the only consideration is
whether you want it to be consistent with pdf export.  Taking
consistency to an extreme could lead to a new #+begin_equation block
(<-- I haven't thought this through at all).  Having said that I am
happy with the way it works at the moment.

  >> 3) the second equation looks a bit like this:
  >> 
  >> x=root(b) (1) Radicals
  >> 
  >> but I would have expected something like:
  >> 
  >> x=root(b) Equation 1.: Radicals
  >> 
  >> Is there a new variable that I need to set to get (e.g.) "Equation
  >> 1."?

  > Being a non-latex user, I am not familiar with what the usual
  > practice is. If the latter option is how captioned equations are
  > normally typeset I can take it up. Can you confirm that the
  > expectations above are *not* your own but that of *any* user?

Actually I have changed my mind, it does look better like that, it is
just that is was different behaviour to what happened before.

Myles



reply via email to

[Prev in Thread] Current Thread [Next in Thread]