From: Nicolas Goaziou <n.goaziou@gmail.com>
To: Eric Schulte <schulte.eric@gmail.com>
Cc: Org Mode <emacs-orgmode@gnu.org>
Subject: Re: [patch] overprotective begin/end during latex export
Date: Sun, 13 Jun 2010 17:41:23 +0200 [thread overview]
Message-ID: <87ocffszx8.wl%n.goaziou@gmail.com> (raw)
In-Reply-To: <87pqzvqzbg.fsf@gmail.com>
[-- Attachment #1: Type: text/plain, Size: 1470 bytes --]
>>>>> Eric Schulte writes:
Hello,
> I've run across the following bug a couple of times before, but have
> finally had a chance to really distill it. When exporting the following
> --8<---------------cut here---------------start------------->8---
> #+TITLE: latex environments bug
> there is markup /out here/
> #+LaTeX: \begin{enumerate}
> but *no markup* in here
> #+LaTeX: \end{enumerate}
> and markup _down here_ as well
> --8<---------------cut here---------------end--------------->8---
> everything works as expected, except that the
> but *no markup* in here
> line is *not* exported to LaTeX, but is rather copied verbatim into the
> final LaTeX file.
It is because org-latex.el doesn't check if \begin{enumerate} is
already protected or not. Thus, it treats it as if it was some plain
LaTeX code inside the file.
In other words,
#+LaTeX: \begin{enumerate}
*bold*
#+LaTeX: \end{enumerate}
is the same as
\begin{enumerate}
*bold*
\end{enumerate}
In this case, org-latex protects everything between \begin and \end,
making it impossible to apply modifications to the text in-between.
With the following patch, org-latex will not protect an environment
coming from a #+LaTeX: instruction.
Btw, a bug I described some day ago (about org-latex badly exporting
lists when an equation spans across two lines) is also about
over protection. I have a workaround, but I still don't understand
why protection is needed for lists.
HTH,
--
Nicolas
[-- Attachment #2: 0001-org-latex.el-do-not-protect-environments-already-pro.patch --]
[-- Type: application/octet-stream, Size: 1361 bytes --]
From 8a8478180971f61370a9257c48f0c36aa3ac5952 Mon Sep 17 00:00:00 2001
From: Nicolas Goaziou <n.goaziou@gmail.com>
Date: Sun, 13 Jun 2010 17:21:59 +0200
Subject: [PATCH] org-latex.el : do not protect environments already protected.
Environments coming from latex backend specific instructions (#+LaTeX)
are already protected and won't be treated as normal environments.
---
lisp/org-latex.el | 5 +++--
1 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/lisp/org-latex.el b/lisp/org-latex.el
index 50f5299..edc05c6 100644
--- a/lisp/org-latex.el
+++ b/lisp/org-latex.el
@@ -1984,7 +1984,8 @@ The conversion is made depending of STRING-BEFORE and STRING-AFTER."
;; Preserve latex environments
(goto-char (point-min))
(while (re-search-forward "^[ \t]*\\\\begin{\\([a-zA-Z]+\\*?\\)}" nil t)
- (let* ((start (progn (beginning-of-line) (point)))
+ (org-if-unprotected
+ (let* ((start (progn (beginning-of-line) (point)))
(end (and (re-search-forward
(concat "^[ \t]*\\\\end{"
(regexp-quote (match-string 1))
@@ -1992,7 +1993,7 @@ The conversion is made depending of STRING-BEFORE and STRING-AFTER."
(point-at-eol))))
(if end
(add-text-properties start end '(org-protected t))
- (goto-char (point-at-eol)))))
+ (goto-char (point-at-eol))))))
;; Preserve math snippets
--
1.7.1
[-- Attachment #3: Type: text/plain, Size: 201 bytes --]
_______________________________________________
Emacs-orgmode mailing list
Please use `Reply All' to send replies to the list.
Emacs-orgmode@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-orgmode
next prev parent reply other threads:[~2010-06-13 15:41 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-06-13 5:25 [bug] overprotective begin/end during latex export Eric Schulte
2010-06-13 15:41 ` Nicolas Goaziou [this message]
2010-06-13 16:25 ` [patch] " Eric Schulte
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
List information: https://www.orgmode.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87ocffszx8.wl%n.goaziou@gmail.com \
--to=n.goaziou@gmail.com \
--cc=emacs-orgmode@gnu.org \
--cc=schulte.eric@gmail.com \
/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 public inbox
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).