emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Carsten Dominik <carsten.dominik@gmail.com>
To: Rainer M Krug <r.m.krug@gmail.com>
Cc: emacs-orgmode <emacs-orgmode@gnu.org>
Subject: Re: [BABEL] Bugin :session? Export html - works --- export pdf not
Date: Fri, 9 Jul 2010 10:00:22 +0200	[thread overview]
Message-ID: <CCC6C351-12F6-4C07-9029-0FB067CB5B4C@gmail.com> (raw)
In-Reply-To: <AANLkTim6XQ-LJ87L9fOae9g9Rtiax-2AkGZbO4IB8O2U@mail.gmail.com>


On Jul 9, 2010, at 9:21 AM, Rainer M Krug wrote:

>
>
> On Thu, Jul 8, 2010 at 8:40 PM, Eric Schulte  
> <schulte.eric@gmail.com> wrote:
> Hi Rainer,
>
> Hi Eric
>
>
> I am aware of this problem, and although I don't know any a good
> solution, I do have a good workaround (example attached [1]).
>
> That workaround looks really good - thanks. Much better then  
> putting :session at the beginning of each source block.
>
>
> The problem is that org-latex removes all of the #+ lines from the
> beginning of any Org-mode file which has headlines as part of the  
> export
> process.  This means that by the time it's Babel's turn to run code
> blocks, the #+BABEL line has been removed, and the session is not set.
> If there are no headlines, then this problem does not arise.
>
> OK - that explains.
>
>
> I sent in a patch last week, [2] but it's application would have  
> broken
> other features of the latex export, I've yet to work out a good  
> solution
> to this.
>
> There is a decent work-around.  Whenever there are no headlines, then
> the #+BABEL: line works fine on LaTeX export, when there are  
> headlines,
> then header arguments can be placed as properties in the headlines to
> the same effect.
>
> Would it be possible to issue a warning if a #+BABEL line is  
> stripped by LaTeX? If I think back, this stripping cost me quite  
> some time to figure out why things are working differently when  
> exporting to LaTeX then html.

No, we really need to fix this.

Can someone please try if the following patch does fix this issue?

diff --git a/lisp/org-latex.el b/lisp/org-latex.el
index 70298fd..3cfa36c 100644
--- a/lisp/org-latex.el
+++ b/lisp/org-latex.el
@@ -1221,9 +1221,16 @@ If END is non-nil, it is the end of the region."
  	    :timestamps (plist-get opt-plist :timestamps)
  	    :footnotes (plist-get opt-plist :footnotes)))
  	(org-unmodified
-	 (let ((inhibit-read-only t))
-	   (add-text-properties pt (max pt (1- end))
-				'(:org-license-to-kill t))))))))
+	 (let ((inhibit-read-only t)
+	       (limit (max pt (1- end))))
+	   (add-text-properties pt limit
+				'(:org-license-to-kill t))
+	   (save-excursion
+	     (goto-char pt)
+	     (while (re-search-forward "^[ \t]*#+.*\n?" limit t)
+	       (remove-text-properties (match-beginning 0) (match-end 0)
+				'(:org-license-to-kill t))))))))))
+	

  (defvar org-export-latex-header-defs nil
    "The header definitions that might be used in the LaTeX body.")


Thanks

- Carsten



>
>
>
> Cheers -- Eric
>
> Cheers,
>
> Rainer
>
>
> Rainer M Krug <r.m.krug@gmail.com> writes:
>
> > Hi
> >
> > I have the attached org file.
> >
> > It seems that when exporting to a pdf, the :session argument is  
> ignored, as
> > I get a
> > Org-Babel Error Output buffer with:
> > Error: object 'x' not found
> > Execution halted
> >
> > and an Org-Babel Error buffer with the same text, and the  
> resulting pdf does
> > only show the code..
> >
> > HTML export, works as expected.
> >
> > If I put :session *R_test* behind #+begin_src (R2.org) it works.
> >
> > Cheers,
> >
> > Rainer
>
> Footnotes:
> [1]
>
>
> [2]  http://thread.gmane.org/gmane.emacs.orgmode/27081
>
>
>
>
>
> -- 
> NEW GERMAN FAX NUMBER!!!
>
> Rainer M. Krug, PhD (Conservation Ecology, SUN), MSc (Conservation  
> Biology, UCT), Dipl. Phys. (Germany)
>
> Centre of Excellence for Invasion Biology
> Natural Sciences Building
> Office Suite 2039
> Stellenbosch University
> Main Campus, Merriman Avenue
> Stellenbosch
> South Africa
>
> Cell:           +27 - (0)83 9479 042
> Fax:            +27 - (0)86 516 2782
> Fax:            +49 - (0)321 2125 2244
> email:          Rainer@krugs.de
>
> Skype:          RMkrug
> Google:         R.M.Krug@gmail.com
>
> _______________________________________________
> 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

- Carsten

  reply	other threads:[~2010-07-09  8:00 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-07-08 10:42 [BABEL] Bugin :session? Export html - works --- export pdf not Rainer M Krug
2010-07-08 18:40 ` Eric Schulte
2010-07-09  7:21   ` Rainer M Krug
2010-07-09  8:00     ` Carsten Dominik [this message]
2010-07-09 15:54       ` 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=CCC6C351-12F6-4C07-9029-0FB067CB5B4C@gmail.com \
    --to=carsten.dominik@gmail.com \
    --cc=emacs-orgmode@gnu.org \
    --cc=r.m.krug@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).