* [odt] equation labels
@ 2011-10-28 1:23 Myles English
2011-10-30 22:11 ` Jambunathan K
0 siblings, 1 reply; 22+ messages in thread
From: Myles English @ 2011-10-28 1:23 UTC (permalink / raw)
To: emacs-orgmode
Hello {Jambunathan},
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)
(?I'm not sure if it is the most recent version of contrib/org-odt as
the README.org says "This release is is as good as org-20110613" etc)
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".
Thank you for the recent MathML stuff by the way.
Myles
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [odt] equation labels
2011-10-28 1:23 [odt] equation labels Myles English
@ 2011-10-30 22:11 ` Jambunathan K
2011-10-31 11:54 ` Myles English
0 siblings, 1 reply; 22+ messages in thread
From: Jambunathan K @ 2011-10-30 22:11 UTC (permalink / raw)
To: emacs-orgmode
Myles English <mylesenglish@gmail.com> writes:
> Hello {Jambunathan},
>
> 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?
> (?I'm not sure if it is the most recent version of contrib/org-odt as
> the README.org says "This release is is as good as org-20110613" etc)
I have not updated README.org for a while and please ignore whatever it
claims. You are using the right version of odt. So no worries.
> Thank you for the recent MathML stuff by the way.
>
> Myles
>
>
--
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [odt] equation labels
2011-10-30 22:11 ` Jambunathan K
@ 2011-10-31 11:54 ` Myles English
2011-11-01 11:17 ` Myles English
2011-11-01 19:39 ` Jambunathan K
0 siblings, 2 replies; 22+ messages in thread
From: Myles English @ 2011-10-31 11:54 UTC (permalink / raw)
To: emacs-orgmode
>> On Mon, 31 Oct 2011 03:41:18 +0530, Jambunathan K said:
> Myles English <mylesenglish@gmail.com> 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
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}.
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."?
Just to be explicit, the test file latex-mathml.org I am referring to
contains:
#+TITLE: latex-mathml.org
#+AUTHOR: Jambunathan K
#+EMAIL: address@hidden
#+DATE: 2011-09-09 Fri
#+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:
* LaTeX Fragments
** LaTeX Fragment1
# See org-format-latex-options
There is a equation down below.
\begin{equation}
e = \frac{1}{2}mv^2
\end{equation}
** LaTeX Fragment2
#+CAPTION: Radicals
#+LABEL: Equation:1
\begin{equation}
x=\sqrt{b}
\end{equation}
If $a^2=b$ and \( b=2 \), then the solution must be either $$
a=+\sqrt{2} $$ or \[ a=-\sqrt{2} \].
Myles
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [odt] equation labels
2011-10-31 11:54 ` Myles English
@ 2011-11-01 11:17 ` Myles English
2011-11-01 19:39 ` Jambunathan K
1 sibling, 0 replies; 22+ messages in thread
From: Myles English @ 2011-11-01 11:17 UTC (permalink / raw)
To: emacs-orgmode
>> On Mon, 31 Oct 2011 11:54:35 +0000, Myles English said:
>> On Mon, 31 Oct 2011 03:41:18 +0530, Jambunathan K said:
>> Myles English <mylesenglish@gmail.com> 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
> 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}.
> 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
Alright, points 2 and 3 are cleared up by me understanding that the
asterisk in \begin{equation*} has no visible effect, and that instead of
having "Equation 1.:" in the caption below the formula, there is a "(1)"
on the RHS.
Point 1 is entirely my own problem.
Myles
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [odt] equation labels
2011-10-31 11:54 ` Myles English
2011-11-01 11:17 ` Myles English
@ 2011-11-01 19:39 ` Jambunathan K
2011-11-01 19:49 ` Jambunathan K
2011-11-02 13:18 ` Myles English
1 sibling, 2 replies; 22+ messages in thread
From: Jambunathan K @ 2011-11-01 19:39 UTC (permalink / raw)
To: emacs-orgmode
Myles
(I have read the followup post to this set of questions)
Myles English <mylesenglish@gmail.com> writes:
>>> On Mon, 31 Oct 2011 03:41:18 +0530, Jambunathan K said:
>
> > Myles English <mylesenglish@gmail.com> 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.
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.")
`----
> 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?
> Just to be explicit, the test file latex-mathml.org I am referring to
> contains:
>
> #+TITLE: latex-mathml.org
> #+AUTHOR: Jambunathan K
> #+EMAIL: address@hidden
> #+DATE: 2011-09-09 Fri
> #+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:
>
> * LaTeX Fragments
>
> ** LaTeX Fragment1
> # See org-format-latex-options
>
> There is a equation down below.
>
> \begin{equation}
> e = \frac{1}{2}mv^2
> \end{equation}
>
> ** LaTeX Fragment2
>
> #+CAPTION: Radicals
> #+LABEL: Equation:1
> \begin{equation}
> x=\sqrt{b}
> \end{equation}
>
> If $a^2=b$ and \( b=2 \), then the solution must be either $$
> a=+\sqrt{2} $$ or \[ a=-\sqrt{2} \].
>
>
> Myles
>
>
--
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [odt] equation labels
2011-11-01 19:39 ` Jambunathan K
@ 2011-11-01 19:49 ` Jambunathan K
2011-11-02 13:18 ` Myles English
1 sibling, 0 replies; 22+ messages in thread
From: Jambunathan K @ 2011-11-01 19:49 UTC (permalink / raw)
To: emacs-orgmode
>> 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 ...
As thing stand today, to produce a numbered equation just attach
#+LABEL: to it. This is how odt exporter determines when a formula is
numbered or not.
--
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [odt] equation labels
2011-11-01 19:39 ` Jambunathan K
2011-11-01 19:49 ` Jambunathan K
@ 2011-11-02 13:18 ` Myles English
[not found] ` <mylesenglish@gmail.com>
1 sibling, 1 reply; 22+ messages in thread
From: Myles English @ 2011-11-02 13:18 UTC (permalink / raw)
To: emacs-orgmode
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 <mylesenglish@gmail.com> writes:
>>>> On Mon, 31 Oct 2011 03:41:18 +0530, Jambunathan K said:
>>
>> > Myles English <mylesenglish@gmail.com> 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
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [odt] equation labels
[not found] ` <mylesenglish@gmail.com>
@ 2011-11-02 13:38 ` Nick Dokos
2011-11-02 14:49 ` Myles English
2011-11-02 14:52 ` Nick Dokos
1 sibling, 1 reply; 22+ messages in thread
From: Nick Dokos @ 2011-11-02 13:38 UTC (permalink / raw)
To: emacs-orgmode; +Cc: nicholas.dokos
Myles English <mylesenglish@gmail.com> wrote:
>
> 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.:
>
> #+LABEL: Equation:new_eq
> \begin{equation}
> x=\sqrt{b}
> \end{equation}
>
> Referring to an equation with an underscore: \ref{Equation:new_eq}
>
> I get a libreoffice popup:
>
> "Read Error. Format error discovered in the file in sub-document
> content.xmlat 2236,92(row,col)."
>
I can reproduce that and it may be a consequence of a change that
I introduced at the top level export engine about six months ago.
Let me take a look.
Nick
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [odt] equation labels
2011-11-02 13:38 ` Nick Dokos
@ 2011-11-02 14:49 ` Myles English
0 siblings, 0 replies; 22+ messages in thread
From: Myles English @ 2011-11-02 14:49 UTC (permalink / raw)
To: emacs-orgmode
Nick,
>> On Wed, 02 Nov 2011 09:38:20 -0400, Nick Dokos said:
> Myles English <mylesenglish@gmail.com> wrote:
>>
>> 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.:
>>
>> #+LABEL: Equation:new_eq \begin{equation} x=\sqrt{b} \end{equation}
>>
>> Referring to an equation with an underscore: \ref{Equation:new_eq}
>>
>> I get a libreoffice popup:
>>
>> "Read Error. Format error discovered in the file in sub-document
>> content.xmlat 2236,92(row,col)."
>>
> I can reproduce that and it may be a consequence of a change that I
> introduced at the top level export engine about six months ago. Let
> me take a look.
> Nick
I may be mistaken but I think it became broken more recently, circa 7th
Oct.
Myles
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [odt] equation labels
[not found] ` <mylesenglish@gmail.com>
2011-11-02 13:38 ` Nick Dokos
@ 2011-11-02 14:52 ` Nick Dokos
2011-11-02 18:21 ` Jambunathan K
1 sibling, 1 reply; 22+ messages in thread
From: Nick Dokos @ 2011-11-02 14:52 UTC (permalink / raw)
To: emacs-orgmode; +Cc: nicholas.dokos
Myles English <mylesenglish@gmail.com> wrote:
>
> Nick,
>
> >> On Wed, 02 Nov 2011 09:38:20 -0400, Nick Dokos said:
>
> > Myles English <mylesenglish@gmail.com> wrote:
> >>
> >> 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.:
> >>
> >> #+LABEL: Equation:new_eq \begin{equation} x=\sqrt{b} \end{equation}
> >>
> >> Referring to an equation with an underscore: \ref{Equation:new_eq}
> >>
> >> I get a libreoffice popup:
> >>
> >> "Read Error. Format error discovered in the file in sub-document
> >> content.xmlat 2236,92(row,col)."
> >>
>
> > I can reproduce that and it may be a consequence of a change that I
> > introduced at the top level export engine about six months ago. Let
> > me take a look.
>
> > Nick
>
> I may be mistaken but I think it became broken more recently, circa 7th
> Oct.
>
OK - phew (although I may not be out of the woods yet). It seems that the
underscore in the link is interpreted as a subscript:
,----
| ...
| Referring to an equation with an underscore: <text:sequence-ref text:ref-name="Equation:new<text:span text:style-name="OrgSubscript">eq</text:span>"/>
`----
Thanks,
Nick
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [odt] equation labels
2011-11-02 14:52 ` Nick Dokos
@ 2011-11-02 18:21 ` Jambunathan K
2011-11-02 21:33 ` Myles English
0 siblings, 1 reply; 22+ messages in thread
From: Jambunathan K @ 2011-11-02 18:21 UTC (permalink / raw)
To: Myles English; +Cc: nicholas.dokos, emacs-orgmode
>> >> 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.:
>> >>
>> >> #+LABEL: Equation:new_eq \begin{equation} x=\sqrt{b} \end{equation}
>> >>
>> >> Referring to an equation with an underscore: \ref{Equation:new_eq}
>> >>
>> >> I get a libreoffice popup:
>> >>
>> >> "Read Error. Format error discovered in the file in sub-document
>> >> content.xmlat 2236,92(row,col)."
>> >>
> OK - phew (although I may not be out of the woods yet). It seems that the
> underscore in the link is interpreted as a subscript:
>
> ,----
> | ...
> | Referring to an equation with an underscore: <text:sequence-ref
> | text:ref-name="Equation:new<text:span
> | text:style-name="OrgSubscript">eq</text:span>"/>
> `----
Nick, Thanks for debugging this and isolating the root cause.
Myles, I have pushed a fix few minutes ago. Hope things are OK now.
--
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [odt] equation labels
2011-11-02 18:21 ` Jambunathan K
@ 2011-11-02 21:33 ` Myles English
0 siblings, 0 replies; 22+ messages in thread
From: Myles English @ 2011-11-02 21:33 UTC (permalink / raw)
To: emacs-orgmode
>> On Wed, 02 Nov 2011 23:51:31 +0530, Jambunathan K said:
>> >> 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.:
>> >>
>> >> #+LABEL: Equation:new_eq \begin{equation} x=\sqrt{b} \end{equation}
>> >>
>> >> Referring to an equation with an underscore: \ref{Equation:new_eq}
>> >>
>> >> I get a libreoffice popup:
>> >>
>> >> "Read Error. Format error discovered in the file in sub-document
>> >> content.xmlat 2236,92(row,col)."
>> >>
>> OK - phew (although I may not be out of the woods yet). It seems
>> that the underscore in the link is interpreted as a subscript:
>>
>> ,---- | ... | Referring to an equation with an underscore:
>> <text:sequence-ref | text:ref-name="Equation:new<text:span |
>> text:style-name="OrgSubscript">eq</text:span>"/> `----
> Nick, Thanks for debugging this and isolating the root cause.
> Myles, I have pushed a fix few minutes ago. Hope things are OK now.
References work fine now, Thanks.
Myles
^ permalink raw reply [flat|nested] 22+ messages in thread
* session with python-mode.el complains of void py-toggle-shells
@ 2013-01-23 2:47 Myles English
2013-01-23 4:11 ` Nick Dokos
0 siblings, 1 reply; 22+ messages in thread
From: Myles English @ 2013-01-23 2:47 UTC (permalink / raw)
To: Emacs-orgmode
Hi,
I think it should be possible to execute a python block in a session
using python-mode.el but get this message:
"Symbol's function definition is void: py-toggle-shells"
Using the latest git head and opening this file with:
$ emacs -Q thisfile.org
then executing these src blocks in order, shows the problem:
#+BEGIN_SRC emacs-lisp
(require 'org)
(org-babel-do-load-languages
'org-babel-load-languages
'((python . t)))
#+END_SRC
#+RESULTS:
| (python . t) |
* A heading
This works okay:
#+begin_src python :results output :session a
import sys
#+end_src
#+RESULTS:
Try with python3:
#+begin_src elisp
(setq org-babel-python-command "python3"
py-python-command "python3"
)
#+end_src
#+RESULTS:
: python3
works also:
#+begin_src python :results output :session a
import sys
#+end_src
#+RESULTS:
Try using python-mode.el:
#+begin_src elisp
(setq org-babel-python-mode 'python-mode)
(load-file "/usr/share/emacs/site-lisp/python-mode.el")
#+end_src
#+RESULTS:
: t
#+begin_src python :results output :session a
import sys
#+end_src
Gives this *Message*:
org-babel-python-initiate-session-by-key: Symbol's function definition
is void: py-toggle-shells
Do I need to configure something else?
Thanks,
Myles
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: session with python-mode.el complains of void py-toggle-shells
2013-01-23 2:47 session with python-mode.el complains of void py-toggle-shells Myles English
@ 2013-01-23 4:11 ` Nick Dokos
2013-01-23 12:46 ` [PATCH] " Myles English
2013-01-23 13:00 ` Bastien
0 siblings, 2 replies; 22+ messages in thread
From: Nick Dokos @ 2013-01-23 4:11 UTC (permalink / raw)
To: Myles English; +Cc: Emacs-orgmode
Myles English <mylesenglish@gmail.com> wrote:
> Hi,
>
> I think it should be possible to execute a python block in a session
> using python-mode.el but get this message:
>
> "Symbol's function definition is void: py-toggle-shells"
>
> Using the latest git head and opening this file with:
>
> $ emacs -Q thisfile.org
>
> then executing these src blocks in order, shows the problem:
>
> #+BEGIN_SRC emacs-lisp
> (require 'org)
> (org-babel-do-load-languages
> 'org-babel-load-languages
> '((python . t)))
> #+END_SRC
>
> #+RESULTS:
> | (python . t) |
>
> * A heading
>
> This works okay:
>
> #+begin_src python :results output :session a
> import sys
> #+end_src
>
> #+RESULTS:
>
> Try with python3:
>
> #+begin_src elisp
> (setq org-babel-python-command "python3"
> py-python-command "python3"
> )
> #+end_src
>
> #+RESULTS:
> : python3
>
> works also:
>
> #+begin_src python :results output :session a
> import sys
> #+end_src
>
> #+RESULTS:
>
> Try using python-mode.el:
>
> #+begin_src elisp
> (setq org-babel-python-mode 'python-mode)
> (load-file "/usr/share/emacs/site-lisp/python-mode.el")
> #+end_src
>
> #+RESULTS:
> : t
>
> #+begin_src python :results output :session a
> import sys
> #+end_src
>
> Gives this *Message*:
>
> org-babel-python-initiate-session-by-key: Symbol's function definition
> is void: py-toggle-shells
>
> Do I need to configure something else?
>
I get in trouble much sooner than you do: when evaluating the first code
block. The error in my case was that run-python was called with the
wrong number of args (from the same function: it's a couple of lines
before py-toggle-shells is called). I'm running
GNU Emacs 24.3.50.2 (x86_64-unknown-linux-gnu, GTK+ Version 2.24.4) of 2012-12-29
and run-python does indeed need a required arg in this version:
,----
| run-python is an interactive autoloaded compiled Lisp function in
| `python.el'.
|
| (run-python CMD &optional DEDICATED SHOW)
|
| Run an inferior Python process.
| Input and output via buffer named after
| `python-shell-buffer-name'. If there is a process already
| running in that buffer, just switch to it.
`----
So I changed the call to
(run-python py-python-command)
and then all the code blocks could execute with no problem. Has
run-python changed signature recently?
This may or may not be the problem you are running into however.
Nick
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [PATCH] session with python-mode.el complains of void py-toggle-shells
2013-01-23 4:11 ` Nick Dokos
@ 2013-01-23 12:46 ` Myles English
2013-01-23 13:04 ` Bastien
2013-01-23 13:00 ` Bastien
1 sibling, 1 reply; 22+ messages in thread
From: Myles English @ 2013-01-23 12:46 UTC (permalink / raw)
To: nicholas.dokos; +Cc: Emacs-orgmode
Hi Nick,
Nick Dokos writes:
> Myles English <mylesenglish@gmail.com> wrote:
>> I think it should be possible to execute a python block in a session
>> using python-mode.el but get this message:
>>
>> "Symbol's function definition is void: py-toggle-shells"
I have made a bit of progress with the patch below. The breakage may
have been due to changes in python-mode.el . The patch works for
versions 6.0.10 and 6.1.0.
> I get in trouble much sooner than you do: when evaluating the first code
> block. The error in my case was that run-python was called with the
> wrong number of args (from the same function: it's a couple of lines
> before py-toggle-shells is called). I'm running
>
> GNU Emacs 24.3.50.2 (x86_64-unknown-linux-gnu, GTK+ Version 2.24.4) of 2012-12-29
>
> and run-python does indeed need a required arg in this version:
>
> ,----
> | run-python is an interactive autoloaded compiled Lisp function in
> | `python.el'.
> |
> | (run-python CMD &optional DEDICATED SHOW)
> |
> | Run an inferior Python process.
> | Input and output via buffer named after
> | `python-shell-buffer-name'. If there is a process already
> | running in that buffer, just switch to it.
> `----
>
> So I changed the call to
>
>
> (run-python py-python-command)
>
> and then all the code blocks could execute with no problem. Has
> run-python changed signature recently?
Doing git blame ob-python.el shows that not much has changed in that
file over the last couple of years.
> This may or may not be the problem you are running into however.
I have made some progress and the patch below passes this test:
#+BEGIN_SRC emacs-lisp
(add-to-list 'load-path
"~/.emacs.d/plugins/org-mode/lisp")
(require 'org)
(org-babel-do-load-languages
'org-babel-load-languages
'((python . t)))
(setq org-babel-python-mode 'python-mode)
#+END_SRC
#+begin_src python :results output :session a
import sys
#+end_src
#+begin_src python :results output :session a
print(sys.path)
#+end_src
Patch:
--- lisp/ob-python.el
+++ lisp/ob-python.el
@@ -32,7 +32,7 @@
(declare-function org-remove-indentation "org" )
(declare-function py-shell "ext:python-mode" (&optional argprompt))
-(declare-function py-toggle-shells "ext:python-mode" (arg))
+(declare-function py-toggle-shell "ext:python-mode" (arg))
(declare-function run-python "ext:python" (&optional cmd noshow new))
(defvar org-babel-tangle-lang-exts)
@@ -162,16 +162,17 @@ then create. Return the initialized session."
;; Make sure that py-which-bufname is initialized, as otherwise
;; it will be overwritten the first time a Python buffer is
;; created.
- (py-toggle-shells py-default-interpreter)
+ (py-toggle-shell py-default-interpreter)
;; `py-shell' creates a buffer whose name is the value of
;; `py-which-bufname' with '*'s at the beginning and end
(let* ((bufname (if (and python-buffer (buffer-live-p python-buffer))
(replace-regexp-in-string ;; zap surrounding *
"^\\*\\([^*]+\\)\\*$" "\\1" python-buffer)
(concat "Python-" (symbol-name session))))
- (py-which-bufname bufname))
- (py-shell)
- (setq python-buffer (concat "*" bufname "*"))))
+ (py-buffer-name bufname))
+ (setq python-buffer (concat "*" bufname "*"))
+ (py-shell nil nil nil nil nil python-buffer)
+ ))
(t
(error "No function available for running an inferior Python")))
(setq org-babel-python-buffers
Myles
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: session with python-mode.el complains of void py-toggle-shells
2013-01-23 4:11 ` Nick Dokos
2013-01-23 12:46 ` [PATCH] " Myles English
@ 2013-01-23 13:00 ` Bastien
1 sibling, 0 replies; 22+ messages in thread
From: Bastien @ 2013-01-23 13:00 UTC (permalink / raw)
To: nicholas.dokos; +Cc: Myles English, Emacs-orgmode
Nick Dokos <nicholas.dokos@hp.com> writes:
> (run-python py-python-command)
>
> and then all the code blocks could execute with no problem. Has
> run-python changed signature recently?
Yes, from Emacs 24.1 to Emacs 24.2.
I fixed this, thanks.
--
Bastien
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [PATCH] session with python-mode.el complains of void py-toggle-shells
2013-01-23 12:46 ` [PATCH] " Myles English
@ 2013-01-23 13:04 ` Bastien
2013-01-23 18:02 ` Andreas Röhler
0 siblings, 1 reply; 22+ messages in thread
From: Bastien @ 2013-01-23 13:04 UTC (permalink / raw)
To: Myles English; +Cc: andreas, nicholas.dokos, Emacs-orgmode
Hi Myles,
thanks for digging into this.
I'm copying Andreas as the maintainer of python-mode.el.
Myles English <mylesenglish@gmail.com> writes:
> --- lisp/ob-python.el
> +++ lisp/ob-python.el
> @@ -32,7 +32,7 @@
>
> (declare-function org-remove-indentation "org" )
> (declare-function py-shell "ext:python-mode" (&optional argprompt))
> -(declare-function py-toggle-shells "ext:python-mode" (arg))
> +(declare-function py-toggle-shell "ext:python-mode" (arg))
If this function's name changed, there should be an alias in
python-mode.el.
> (declare-function run-python "ext:python" (&optional cmd noshow new))
>
> (defvar org-babel-tangle-lang-exts)
> @@ -162,16 +162,17 @@ then create. Return the initialized session."
> ;; Make sure that py-which-bufname is initialized, as otherwise
> ;; it will be overwritten the first time a Python buffer is
> ;; created.
> - (py-toggle-shells py-default-interpreter)
> + (py-toggle-shell py-default-interpreter)
> ;; `py-shell' creates a buffer whose name is the value of
> ;; `py-which-bufname' with '*'s at the beginning and end
> (let* ((bufname (if (and python-buffer (buffer-live-p python-buffer))
> (replace-regexp-in-string ;; zap surrounding *
> "^\\*\\([^*]+\\)\\*$" "\\1" python-buffer)
> (concat "Python-" (symbol-name session))))
> - (py-which-bufname bufname))
> - (py-shell)
> - (setq python-buffer (concat "*" bufname "*"))))
> + (py-buffer-name bufname))
> + (setq python-buffer (concat "*" bufname "*"))
> + (py-shell nil nil nil nil nil python-buffer)
> + ))
The docstring of py-shell doesn't say much about why python-buffer
would be needed as an argument here. Is it so?
If yes, we need to make this compatible with previous versions of
python-mode.el.
(The argument PY-BUFFER-NAME is not documented in latest
python-mode.el)
Andreas, can you help sorting this out?
Thanks,
--
Bastien
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [PATCH] session with python-mode.el complains of void py-toggle-shells
2013-01-23 13:04 ` Bastien
@ 2013-01-23 18:02 ` Andreas Röhler
2013-01-24 14:10 ` Bastien
0 siblings, 1 reply; 22+ messages in thread
From: Andreas Röhler @ 2013-01-23 18:02 UTC (permalink / raw)
To: Bastien; +Cc: Myles English, Emacs-orgmode, nicholas.dokos
Am 23.01.2013 14:04, schrieb Bastien:
> Hi Myles,
>
> thanks for digging into this.
>
> I'm copying Andreas as the maintainer of python-mode.el.
>
> Myles English <mylesenglish@gmail.com> writes:
>
>> --- lisp/ob-python.el
>> +++ lisp/ob-python.el
>> @@ -32,7 +32,7 @@
>>
>> (declare-function org-remove-indentation "org" )
>> (declare-function py-shell "ext:python-mode" (&optional argprompt))
>> -(declare-function py-toggle-shells "ext:python-mode" (arg))
>> +(declare-function py-toggle-shell "ext:python-mode" (arg))
>
Hi Bastien,
> If this function's name changed, there should be an alias in
> python-mode.el.
>
right
>> (declare-function run-python "ext:python" (&optional cmd noshow new))
>>
>> (defvar org-babel-tangle-lang-exts)
>> @@ -162,16 +162,17 @@ then create. Return the initialized session."
>> ;; Make sure that py-which-bufname is initialized, as otherwise
>> ;; it will be overwritten the first time a Python buffer is
>> ;; created.
>> - (py-toggle-shells py-default-interpreter)
>> + (py-toggle-shell py-default-interpreter)
>> ;; `py-shell' creates a buffer whose name is the value of
>> ;; `py-which-bufname' with '*'s at the beginning and end
>> (let* ((bufname (if (and python-buffer (buffer-live-p python-buffer))
>> (replace-regexp-in-string ;; zap surrounding *
>> "^\\*\\([^*]+\\)\\*$" "\\1" python-buffer)
>> (concat "Python-" (symbol-name session))))
>> - (py-which-bufname bufname))
>> - (py-shell)
>> - (setq python-buffer (concat "*" bufname "*"))))
>> + (py-buffer-name bufname))
>> + (setq python-buffer (concat "*" bufname "*"))
>> + (py-shell nil nil nil nil nil python-buffer)
>> + ))
>
> The docstring of py-shell doesn't say much about why python-buffer
> would be needed as an argument here. Is it so?
>
> If yes, we need to make this compatible with previous versions of
> python-mode.el.
>
> (The argument PY-BUFFER-NAME is not documented in latest
> python-mode.el)
>
> Andreas, can you help sorting this out?
>
> Thanks,
>
Okay, I'll dig into.
For the moment: assume this code should not be needed, python-mode.el should act that all.
But let me have a closer look,
Cheers,
Andreas
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [PATCH] session with python-mode.el complains of void py-toggle-shells
2013-01-23 18:02 ` Andreas Röhler
@ 2013-01-24 14:10 ` Bastien
2013-02-21 20:08 ` Andreas Röhler
2013-02-22 8:25 ` Andreas Röhler
0 siblings, 2 replies; 22+ messages in thread
From: Bastien @ 2013-01-24 14:10 UTC (permalink / raw)
To: Andreas Röhler; +Cc: Myles English, Emacs-orgmode, nicholas.dokos
Hi Andreas,
Andreas Röhler <andreas.roehler@online.de> writes:
> Okay, I'll dig into.
>
> For the moment: assume this code should not be needed,
> python-mode.el should act that all. But let me have a closer look,
Great, thanks a lot!
--
Bastien
^ permalink raw reply [flat|nested] 22+ messages in thread
* Re: [PATCH] session with python-mode.el complains of void py-toggle-shells
2013-01-24 14:10 ` Bastien
@ 2013-02-21 20:08 ` Andreas Röhler
2013-02-22 8:25 ` Andreas Röhler
1 sibling, 0 replies; 22+ messages in thread
From: Andreas Röhler @ 2013-02-21 20:08 UTC (permalink / raw)
To: emacs-orgmode
[-- Attachment #1: Type: text/plain, Size: 384 bytes --]
Am 24.01.2013 15:10, schrieb Bastien:
> Hi Andreas,
>
> Andreas Röhler <andreas.roehler@online.de> writes:
>
>> Okay, I'll dig into.
>>
>> For the moment: assume this code should not be needed,
>> python-mode.el should act that all. But let me have a closer look,
>
> Great, thanks a lot!
>
So let's start with this...
BTW, being deeply impressed by org-mode and babel in special.
[-- Attachment #2: ob-python.el.diff --]
[-- Type: text/x-patch, Size: 994 bytes --]
commit e7a5839b5a10d0a27e26b8f1d16296f4c20a1350
Author: Andreas Roehler <andreas.roehler@online.de>
Date: Thu Feb 21 20:46:49 2013 +0100
Depend default python-mode from existing feature
The former
(if (featurep 'xemacs) 'python-mode 'python)
makes a wrong assumption, as python-mode.el provides 'python-mode
which does not depend from use of XEmacs
A next step should enable users to choose environment via defcustom
diff --git a/lisp/ob-python.el b/lisp/ob-python.el
index 02d762c..1b3b892 100644
--- a/lisp/ob-python.el
+++ b/lisp/ob-python.el
@@ -43,7 +43,7 @@
(defvar org-babel-python-command "python"
"Name of the command for executing Python code.")
-(defvar org-babel-python-mode (if (featurep 'xemacs) 'python-mode 'python)
+(defvar org-babel-python-mode (if (featurep 'python-mode) 'python-mode 'python)
"Preferred python mode for use in running python interactively.
This will typically be either 'python or 'python-mode.")
^ permalink raw reply related [flat|nested] 22+ messages in thread
* Re: [PATCH] session with python-mode.el complains of void py-toggle-shells
2013-01-24 14:10 ` Bastien
2013-02-21 20:08 ` Andreas Röhler
@ 2013-02-22 8:25 ` Andreas Röhler
2013-02-23 9:29 ` Bastien
1 sibling, 1 reply; 22+ messages in thread
From: Andreas Röhler @ 2013-02-22 8:25 UTC (permalink / raw)
To: emacs-orgmode; +Cc: Bastien
[-- Attachment #1: Type: text/plain, Size: 353 bytes --]
Am 24.01.2013 15:10, schrieb Bastien:
> Hi Andreas,
>
> Andreas Röhler <andreas.roehler@online.de> writes:
>
>> Okay, I'll dig into.
>>
>> For the moment: assume this code should not be needed,
>> python-mode.el should act that all. But let me have a closer look,
>
> Great, thanks a lot!
>
ob-python.el patch again
better provision for XEmacs users
[-- Attachment #2: ob-python.el.diff --]
[-- Type: text/x-patch, Size: 1039 bytes --]
commit 0fd2ac7ede3d7c8602a0a71fe1dc1678773baee4
Author: Andreas Roehler <andreas.roehler@online.de>
Date: Fri Feb 22 09:08:28 2013 +0100
Depend default python-mode from existing feature
The former
(if (featurep 'xemacs) 'python-mode 'python)
makes a wrong assumption, as python-mode.el provides 'python-mode
which does not depend from use of XEmacs
python-mode.el should provide a defcustom still to choose environment
TINYCHANGE
diff --git a/lisp/ob-python.el b/lisp/ob-python.el
index 02d762c..c9118e9 100644
--- a/lisp/ob-python.el
+++ b/lisp/ob-python.el
@@ -43,7 +43,7 @@
(defvar org-babel-python-command "python"
"Name of the command for executing Python code.")
-(defvar org-babel-python-mode (if (featurep 'xemacs) 'python-mode 'python)
+(defvar org-babel-python-mode (if (or (featurep 'python-mode)(featurep 'xemacs)) 'python-mode 'python)
"Preferred python mode for use in running python interactively.
This will typically be either 'python or 'python-mode.")
^ permalink raw reply related [flat|nested] 22+ messages in thread
* Re: [PATCH] session with python-mode.el complains of void py-toggle-shells
2013-02-22 8:25 ` Andreas Röhler
@ 2013-02-23 9:29 ` Bastien
0 siblings, 0 replies; 22+ messages in thread
From: Bastien @ 2013-02-23 9:29 UTC (permalink / raw)
To: Andreas Röhler; +Cc: emacs-orgmode
Hi Andreas,
Andreas Röhler <andreas.roehler@easy-emacs.de> writes:
> ob-python.el patch again
I applied a more complete patch, turning `org-babel-python-command'
and `org-babel-python-mode' into defcustoms.
`org-babel-python-mode' will not default to 'python-mode until
'python-mode is featured, so users will typically want to set
this variable, exposing it as a defcustom is useful IMO.
Thanks for the patch!
--
Bastien
^ permalink raw reply [flat|nested] 22+ messages in thread
end of thread, other threads:[~2013-02-23 10:48 UTC | newest]
Thread overview: 22+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-01-23 2:47 session with python-mode.el complains of void py-toggle-shells Myles English
2013-01-23 4:11 ` Nick Dokos
2013-01-23 12:46 ` [PATCH] " Myles English
2013-01-23 13:04 ` Bastien
2013-01-23 18:02 ` Andreas Röhler
2013-01-24 14:10 ` Bastien
2013-02-21 20:08 ` Andreas Röhler
2013-02-22 8:25 ` Andreas Röhler
2013-02-23 9:29 ` Bastien
2013-01-23 13:00 ` Bastien
-- strict thread matches above, loose matches on Subject: below --
2011-10-28 1:23 [odt] equation labels Myles English
2011-10-30 22:11 ` Jambunathan K
2011-10-31 11:54 ` Myles English
2011-11-01 11:17 ` Myles English
2011-11-01 19:39 ` Jambunathan K
2011-11-01 19:49 ` Jambunathan K
2011-11-02 13:18 ` Myles English
[not found] ` <mylesenglish@gmail.com>
2011-11-02 13:38 ` Nick Dokos
2011-11-02 14:49 ` Myles English
2011-11-02 14:52 ` Nick Dokos
2011-11-02 18:21 ` Jambunathan K
2011-11-02 21:33 ` Myles English
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.