Hi,
To produce documents in something approaching my organization's house
style, I need to be able to style the headers of tables. It's nice that
orgtbl has the functionality for this, but the call to orgtbl-to-latex
has a hard-coded list of parameters with no possibility for extension.
With the attached patch, I am able to put e.g.
#+BIND: org-export-latex-tables-orgtbl-extra-parameters (:hfmt
"\\multicolumn{1}{c}{\\bf\\color{white}\\cellcolor{blue}%s}")
in the header of my document, and tables throughout the document all
pick up this style.
I daresay that this is not the optimal way of doing things; while this
solves my immediate problem there is likely to be a more general way of
doing things.
>From 68160f0c7c54309e76d882f871ad01a019e9acab Mon Sep 17 00:00:00 2001
From: Christophe Rhodes <[email protected]>
Date: Thu, 19 May 2011 13:20:43 +0100
Subject: [PATCH 2/2] allow customization of table headers in latex export
* lisp/org-latex.el (org-export-latex-tables-orgtbl-extra-parameters): New
variable.
(org-export-latex-tables): Use it in call to orgtbl-to-latex.
---
lisp/org-latex.el | 14 ++++++++++----
1 files changed, 10 insertions(+), 4 deletions(-)
diff --git a/lisp/org-latex.el b/lisp/org-latex.el
index 516ee12..243cf84 100644
--- a/lisp/org-latex.el
+++ b/lisp/org-latex.el
@@ -325,6 +325,11 @@ When nil, grouping causes only separation lines between groups."
:group 'org-export-latex
:type 'boolean)
+(defcustom org-export-latex-tables-orgtbl-extra-parameters nil
+ "Extra parameters to pass to orgtbl-to-latex."
+ :group 'org-export-latex
+ :type 'plist)
+
(defcustom org-export-latex-low-levels 'itemize
"How to convert sections below the current level of sectioning.
This is specified by the `org-export-headline-levels' option or the
@@ -1929,15 +1934,16 @@ The conversion is made depending of STRING-BEFORE and STRING-AFTER."
align))
(orgtbl-to-latex
lines
- `(:tstart nil :tend nil
- :hlend ,(if longtblp
- (format "\\\\
+ (append org-export-latex-tables-orgtbl-extra-parameters
+ `(:tstart nil :tend nil
+ :hlend ,(if longtblp
+ (format "\\\\
\\hline
\\endhead
\\hline\\multicolumn{%d}{r}{Continued on next page}\\
\\endfoot
\\endlastfoot" (length org-table-last-alignment))
- nil)))
+ nil))))
(if (not longtblp) (format "\n\\end{%s}" tabular-env))
(if longtblp "\n" (if org-export-latex-tables-centered
"\n\\end{center}\n" "\n"))
--
1.7.2.5
Best,
Christophe