* Latex export postamble
@ 2012-04-13 12:16 Pedro Silva
2012-04-14 23:40 ` Pedro Silva
0 siblings, 1 reply; 2+ messages in thread
From: Pedro Silva @ 2012-04-13 12:16 UTC (permalink / raw)
To: Org Mode
Is it possible to insert text just before \end{document} on export,
similarly to org-export-html-postamble?
I'd like to do this on a capture target file that contains the following
at the end:
\bibliography{references}
New capture entries keep getting inserted below it, which makes the
references section appear in the middle of the document if I forget to
move it to the end again.
Or maybe there is another way to make this work?
Pedro
--
Don't try to have the last word. You might get it.
-- Lazarus Long
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: Latex export postamble
2012-04-13 12:16 Latex export postamble Pedro Silva
@ 2012-04-14 23:40 ` Pedro Silva
0 siblings, 0 replies; 2+ messages in thread
From: Pedro Silva @ 2012-04-14 23:40 UTC (permalink / raw)
To: emacs-orgmode
Pedro Silva <psilva+org@pedrosilva.pt> writes:
> Is it possible to insert text just before \end{document} on export,
> similarly to org-export-html-postamble?
>
> I'd like to do this on a capture target file that contains the following
> at the end:
>
> \bibliography{references}
>
> New capture entries keep getting inserted below it, which makes the
> references section appear in the middle of the document if I forget to
> move it to the end again.
>
> Or maybe there is another way to make this work?
Looking at the relevant code in contrib/org-exp-bibtex.el, I managed to
produce the following, which *almost* works:
(defun org-export-bibliography-preprocess ()
"Insert \bibliography and \bibliographystyle commands at end
of buffer if keyword `#+BIBLIOGRAPHY <file> <style>' is present in
buffer when exporting via latex backend."
(interactive)
(save-excursion
(goto-char (point-min))
(while (re-search-forward "^#\\+BIBLIOGRAPHY:[ \t]+\\(\\S-+\\)[ \t]+\\(\\S-+\\)\\([^\r\n]*\\)" nil t)
(let ((file (match-string 1))
(style (match-string 2)))
(when (eq org-export-current-backend 'latex)
(goto-char (point-max))
(insert
(concat "\n#+LATEX: \\bibliographystyle{" style "}"
"\n#+LATEX: \\bibliography{" file "}\n")))))))
(add-hook 'org-export-preprocess-hook 'org-export-bibliography-preprocess)
Unfortunately, it inserts the latex directives twice, one near the top
of the buffer, and the other one at its end, as expected. Any ideas why
that is?
Pedro
--
Any government will work if authority and responsibility are equal and
coordinate. This does not insure "good" government; it simply insures
that it will work. But such governments are rare--most people want to
run things but want no part of the blame. This used to be called the
"backseat-driver syndrome."
-- Lazarus Long
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2012-04-14 23:40 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-04-13 12:16 Latex export postamble Pedro Silva
2012-04-14 23:40 ` Pedro Silva
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).