From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sebastian Hofer Subject: Problem with sectioning function for LaTeX export Date: Sun, 18 Apr 2010 12:05:26 +0200 Message-ID: Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Return-path: Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1O3RS7-0003mA-Fx for emacs-orgmode@gnu.org; Sun, 18 Apr 2010 06:10:11 -0400 Received: from [140.186.70.92] (port=38906 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1O3RS4-0003hg-0A for emacs-orgmode@gnu.org; Sun, 18 Apr 2010 06:10:10 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1O3RS1-0006VG-Ux for emacs-orgmode@gnu.org; Sun, 18 Apr 2010 06:10:07 -0400 Received: from lo.gmane.org ([80.91.229.12]:45113) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1O3RS1-0006V2-Kz for emacs-orgmode@gnu.org; Sun, 18 Apr 2010 06:10:05 -0400 Received: from list by lo.gmane.org with local (Exim 4.69) (envelope-from ) id 1O3RS0-0008Fl-4E for emacs-orgmode@gnu.org; Sun, 18 Apr 2010 12:10:04 +0200 Received: from d91-128-22-36.cust.tele2.at ([91.128.22.36]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Sun, 18 Apr 2010 12:10:04 +0200 Received: from sebhofer by d91-128-22-36.cust.tele2.at with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Sun, 18 Apr 2010 12:10:04 +0200 List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: emacs-orgmode@gnu.org 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() org-export-latex-sub() org-export-latex-global((()))) 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