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
_______________________________________________
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