From: Rasmus <rasmus@gmx.us>
To: emacs-orgmode@gnu.org
Subject: Re: [bug?, org-element] latex-environment delimiters must be at BOL
Date: Fri, 18 Jul 2014 17:49:49 +0200 [thread overview]
Message-ID: <87vbqu1xb6.fsf@gmx.us> (raw)
In-Reply-To: <87iomxjvyv.fsf@nicolasgoaziou.fr> (Nicolas Goaziou's message of "Wed, 16 Jul 2014 15:04:40 +0200")
Hi Nicolas,
Nicolas Goaziou <mail@nicolasgoaziou.fr> writes:
> Rasmus <rasmus@gmx.us> writes:
>
>> Looking at org-element-latex-environment-parser LaTeX environments are
>> recognized as "[ \t]*\\\\begin{\\([A-Za-z0-9]+\\*?\\)}" (for start)
>> and "^[ \t]*\\\\end{%s}[ \t]*$" (for the end).
>>
>> However, for e.g. small equations one might want to write
>>
>> (*) \begin{equation} PLACEHOLDER \end{equation},
>>
>> i.e. in one line. This fails to be recognized as the latter regexp is
>> not satisfied. For code generated by humans this is not an issue.
>> However, e.g. SymPy generates code in the (*) format. Prefixing (*)
>> with "#+LATEX:" will prevent ox-html from recognizing it.
>>
>> Should org-element try to catch one-line environments as the one
>> above? Or is it "a can of worms"?
>
> I think allowing them is possible, as long as \end{equation} ends the
> last line (with trailing whitespaces tolerated).
>
> I assume that, for simplicity, PLACEHOLDER could be longer than one
> line, too.
>
> If Bastien agrees and if you want to provide a patch, please be sure to
> include tests in test-org-element.el, and appropriate changes to "Org
> Syntax" document. The manual may need to be updated, too.
Thanks for your comments.
I changed a couple of things, and org-element now recognizes what I
wanted it to recognize. Next step: don't break anything.
To test for immediate breakages I do:
1. Install latest version of org (beta_8.3-15-g224105) on my /usr
folder and start emacs -q. Run tests as specified in
testing/readme. I get 12 failed (1 unexpected).
2. Load my modified org-element.el file and rerun tests.
The only new fail is this one, that is to be expected to fail.
(should-not
(eq 'latex-environment
(org-test-with-temp-text "\\begin{env}{arg} something\nvalue\n\\end{env}"
(org-element-type (org-element-at-point)))))
Hence, my question is: Can I now assume that my modification are now
somewhat safe wrt. the current Org syntax?
I have a case that I worry a bit about, namely broken LaTeX code with
mismatching no. of begin/end tags:
Consider:
#+begin_src org
\begin{equation} x^2_3
\begin{equation} x^2_3 \end{equation}
#+end_src
With my patch, this will produce (*):
#+begin_src latex
\begin{equation} x^2_3
\begin{equation} x^2_3 \end{equation}
#+end_src latex
Before it would produce
#+begin_src latex
\begin{equation} x\(^{\text{2}}_{\text{3}}\)
\begin{equation} x\(^{\text{2}}_{\text{3}}\) \end{equation}
#+end_src latex
Both will break when compiled. With some more newlines in the
Org-code, I can get this without my patches
#+begin_src latex
\begin{equation}
x^2_3
\begin{equation}
x^2_3
\end{equation}
#+end_src latex
which is identical to (*) to a LaTeX compiler.
Should I worry about such changes to behavior?
I will write some tests and review the two documents you mention and
submit a patch ASAP.
Cheers,
Rasmus
--
I hear there's rumors on the, uh, Internets. . .
next prev parent reply other threads:[~2014-07-18 15:50 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-07-10 11:54 [bug?, org-element] latex-environment delimiters must be at BOL Rasmus
2014-07-16 13:04 ` Nicolas Goaziou
2014-07-18 15:49 ` Rasmus [this message]
2014-07-20 17:49 ` Nicolas Goaziou
2014-07-21 9:29 ` Rasmus
2014-07-22 7:54 ` Nicolas Goaziou
2014-07-22 9:08 ` Rasmus
2014-07-22 10:03 ` Nicolas Goaziou
2014-07-22 13:28 ` Rasmus
2014-07-23 8:29 ` Nicolas Goaziou
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87vbqu1xb6.fsf@gmx.us \
--to=rasmus@gmx.us \
--cc=emacs-orgmode@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.