Hi Tom, Thanks for the informative list. I had no idea LaTeX supported so many table options. How about I update the patch so that is supports the following sets of mutually exclusive options... - longtable :: wraps the table in a longtable with no table or tabular wrappers -- already implemented - table* :: replaces =table= wrapper with =table*= wrapper, contains an inner tabular wrapper - tabular[xy] :: specifies the inner tabular wrapping environment, only one can be specified
so for example, the following #+begin_src org #+CAPTION: A wide table #+LABEL: tbl:wide #+ATTR_LaTeX: table* tabulary align=l|lp{3cm}r|l | ... | ... | | ... | ... | #+end_src results in the following #+begin_src latex \begin{table*}[htb] \caption{A wide table} \label{tbl:wide} \begin{center} \begin{tabulary}{l|lp{3cm}r|l} 1 & 2 & 3 \\ 4 & 5 & 6 \\ \end{tabulary} \end{center} \end{table*} #+end_src Then the next question would be how to insert a =figure*= instead of a simple =figure= environment. Thanks -- Eric Thomas S. Dye <t...@tsdye.com> writes: > 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 "\\<longtable\\>" attr)) >> + tblenv (if (and attr (stringp attr) >> + (string-match (regexp-quote "table*") attr)) >> + "table*" "table") >> align (and attr (stringp attr) >> (string-match "\\<align=\\([^ \t\n\r]+\ >> \)" 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 _______________________________________________ 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