From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas S. Dye Subject: Re: allow table* specification with #+ATTR_LaTeX: Date: Wed, 15 Dec 2010 18:27:34 -1000 Message-ID: <49811CBB-F1B1-4031-B26D-A7E9709F1661@tsdye.com> References: <8739pyraaq.fsf@cs.unm.edu> Mime-Version: 1.0 (Apple Message framework v936) Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes Content-Transfer-Encoding: 7bit Return-path: Received: from [140.186.70.92] (port=52130 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PT5RP-0001xf-Ma for emacs-orgmode@gnu.org; Wed, 15 Dec 2010 23:27:44 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1PT5RO-0002wb-Dz for emacs-orgmode@gnu.org; Wed, 15 Dec 2010 23:27:43 -0500 Received: from oproxy2-pub.bluehost.com ([67.222.39.60]:60446) by eggs.gnu.org with smtp (Exim 4.71) (envelope-from ) id 1PT5RO-0002wV-5D for emacs-orgmode@gnu.org; Wed, 15 Dec 2010 23:27:42 -0500 In-Reply-To: <8739pyraaq.fsf@cs.unm.edu> 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: Eric Schulte Cc: Org Mode Hi Eric, It would be great to have a more general solution. Tables are hard to typeset, so it might take a while to come up with a good specification. Here is what I know about the LaTeX side of things. ** LaTeX destinations for an Org-mode table *** Environments for typesetting a table - table placed in the output where it occurs in the input - all of these environments can be used on their own **** tabular standard LaTeX environment, doesn't break across pages, no caption **** tabularx extended environment that can automatically calculate column widths and wrap text within table cells, doesn't break across pages, no caption **** tabulary like tabularx, but tries harder to come up with optimal column widths **** supertabular extended tabular environment that breaks across pages, includes caption **** supertabular* like supertabular, but for wide tables in a multicolumn page layout **** mpsupertabular like supertabular, but also handles footnotes within the table **** mpsupertabular* like mpsupertabular, but for multicolumn page layouts **** longtable extended tabular environment that breaks across pages and includes a caption, but can't be used in a multicolumn page layout *** Environment for floating a table and adding a caption floats a table typeset by some other environment to a place in the output that LaTeX determines appropriate, probably not where it occurs in the input **** =table=, single column document typically wraps a =tabular=, =tabularx=, or =tabulary= environment **** =table*=, multi-column document typically wraps a =tabular=, =tabularx=, or =tabulary= environment *** "Typical" uses In our report production work we regularly use seven setups: - table or table* wrapped around tabularx or tabular - longtable - tabular or tabularx on their own hth, Tom On Dec 15, 2010, at 11:33 AM, Eric Schulte wrote: > Hi, > > The attached patch allows the use of table* latex tables from within > Org > mode documents using the attr_latex lines, for example > > #+CAPTION: A wide table > #+LABEL: tbl:wide > #+ATTR_LaTeX: table* align=l|lp{3cm}r|l > | ... | ... | > | ... | ... | > > Should this be added, or should we put together a more general > solution > for different types of table environments? Currently only longtable > is > supported. Also, is there already a way to do this that I have > missed? > > Thanks -- Eric > > diff --git a/lisp/org-latex.el b/lisp/org-latex.el > index a261171..b7f48d3 100644 > --- a/lisp/org-latex.el > +++ b/lisp/org-latex.el > @@ -1741,7 +1741,7 @@ The conversion is made depending of STRING- > BEFORE and STRING-AFTER." > (org-table-last-column-widths (copy-sequence > org-table-last-column- > widths)) > fnum fields line lines olines gr colgropen line-fmt align > - caption shortn label attr floatp placement longtblp) > + caption shortn label attr floatp placement longtblp > tblenv) > (if org-export-latex-tables-verbatim > (let* ((tbl (concat "\\begin{verbatim}\n" raw-table > "\\end{verbatim}\n"))) > @@ -1758,6 +1758,9 @@ The conversion is made depending of STRING- > BEFORE and STRING-AFTER." > 'org-label raw-table) > longtblp (and attr (stringp attr) > (string-match "\\" attr)) > + tblenv (if (and attr (stringp attr) > + (string-match (regexp-quote "table*") attr)) > + "table*" "table") > align (and attr (stringp attr) > (string-match "\\ \)" attr) > (match-string 1 attr)) > @@ -1821,7 +1824,8 @@ The conversion is made depending of STRING- > BEFORE and STRING-AFTER." > (concat > (if longtblp > (concat "\\begin{longtable}{" align "}\n") > - (if floatp (format "\\begin{table}%s\n" > placement))) > + (if floatp > + (format "\\begin{%s}%s\n" tblenv placement))) > (if floatp > (format > "\\caption%s{%s} %s" > @@ -1852,7 +1856,7 @@ The conversion is made depending of STRING- > BEFORE and STRING-AFTER." > "\n\\end{center}\n" > "\n")) > (if longtblp > "\\end{longtable}" > - (if floatp "\\end{table}")))) > + (if floatp (format "\\end{%s}" tblenv))))) > "\n\n")))))))) > > (defun org-export-latex-convert-table.el-table () > _______________________________________________ > 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