emacs-orgmode
[Top][All Lists]
Advanced

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

[Orgmode] [bug] overprotective begin/end during latex export


From: Eric Schulte
Subject: [Orgmode] [bug] overprotective begin/end during latex export
Date: Sat, 12 Jun 2010 22:25:07 -0700
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.2 (gnu/linux)

Hi,

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.

I've isolated the culprit down into this nice little self-contained
block of emacs-lisp from org-latex.el

--8<---------------cut here---------------start------------->8---
  ;; 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)))
           (end (and (re-search-forward
                      (concat "^[ \t]*\\\\end{"
                              (regexp-quote (match-string 1))
                              "}") nil t)
                     (point-at-eol))))
      (if end
          (add-text-properties start end '(org-protected t))
        (goto-char (point-at-eol)))))
--8<---------------cut here---------------end--------------->8---

it seems that by the time this code is run, the #+LaTeX: prefixes have
been removed, and the latex exporter has no way to distinguish something
like

--8<---------------cut here---------------start------------->8---
#+LaTeX: \begin{itemize}
- first
- second
- third
#+LaTeX: \begin{itemize}
--8<---------------cut here---------------end--------------->8---

from something like

--8<---------------cut here---------------start------------->8---
\begin{itemize}
\item first
\item second
\item third
\end{itemize}
--8<---------------cut here---------------end--------------->8---

I'm not sure how this should be dealt with, but I thought I'd bring it
up.

Best -- Eric



reply via email to

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