emacs-orgmode
[Top][All Lists]
Advanced

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

[Orgmode] Problem with sectioning function for LaTeX export


From: Sebastian Hofer
Subject: [Orgmode] Problem with sectioning function for LaTeX export
Date: Sun, 18 Apr 2010 12:05:26 +0200
User-agent: Mozilla/5.0 (Macintosh; U; PPC Mac OS X 10.4; en-US; rv:1.9.1.9) Gecko/20100317 Thunderbird/3.0.4

Hi all,
I'm trying to write my own sectioning function for latex export of my CV. What it does is to read out some property of the given headline and pass it to a latex command:

(defun my-org-cv-sectioning (lvl heading)
  (let ((year)
        (formatlist)
        (cleanheading (substring-no-properties heading 1)))
    (with-current-buffer (org-find-base-buffer-visiting "cv.org")
      (let ((headingpoint (find-custom-id cleanheading)))
        (if headingpoint
            (progn
              (goto-char headingpoint)
              (setq year (org-entry-get nil "YEAR"))))))
    (setq formatlist (nth (- 1 lvl) my-org-cv-sectioning-list))
    (list cleanheading
          (format (car formatlist) (if year year "") cleanheading)
          (format (car (cdr formatlist)) (if year year "") cleanheading))))

The function find-custom-id returns the point of the heading, my-org-cv-sectioning list contains the customized latex commands. As you may see, I'm an elisp newbie, so excuse the coding style, or even better, make suggestions for improvements! There might be a much nicer way to read out the wanted properties (also cf. point 2 below), so if you have any suggestions on that, I would be glad to hear them!

Anyway, there are currently two problems:

- The function reads out the properties correctly, but the export command throws an error. So I guess I'm not getting the format of the output right, but I can't really make sense of the description in the org-export-latex-classes docstring. Currently the function is returning something like this: ("Heading" ("\section[year]{Heading}" "\section*[year]{Heading}")). Isn't this what it's supposed to look like? The error message is the following:

Debugger entered--Lisp error: (wrong-type-argument stringp nil)
  format(nil "Heading" "")
  org-export-latex-subcontent(<snipped>)
  org-export-latex-sub(<snipped>)
  org-export-latex-global(((<snipped>))))
  org-export-as-latex(nil nil nil "*Org LaTeX Export*")
  org-export-as-latex-to-buffer(nil)
  call-interactively(org-export-as-latex-to-buffer)
  org-export(nil)
  call-interactively(org-export nil nil)

- As you can see I am using org-find-base-buffer-visiting find the buffer of the org file, but of course its argument can't stay hardcoded like this. I could also use the org mapping function, but still I would need filename. Can someone give me a hint how to solve this in a nice way?

Thanks for any help and thanks to Carsten for his incredible work! I keep getting surprised be the capabilities of org-mode almost every day.
Cheers, Sebastian





reply via email to

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