emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Rens Oliemans <hallo@rensoliemans.nl>
To: Richard H Stanton <rhstanton@berkeley.edu>, emacs-orgmode@gnu.org
Subject: Re: How to specify column alignment in LaTeX table output?
Date: Thu, 09 Jan 2025 11:17:25 +0100	[thread overview]
Message-ID: <87wmf4qoju.fsf@rensoliemans.nl> (raw)
In-Reply-To: <D08A555A-DF90-4062-A9EE-8B81E6E7EB3B@berkeley.edu>

Richard H Stanton <rhstanton@berkeley.edu> writes:

> Here’s a table in my org document:
>
> #+ATTR_LATEX: :align rrrr :options [htbp]
> #+begin_table
> |-------+--------+-----------+------------|
> |  Tier | Number |     Total | % of Total |
> |-------+--------+-----------+------------|
> |     1 |      4 |  8,700.00 |      57.39 |
> |     2 |     19 |  5,398.00 |      35.61 |
> |     3 |     24 |  1,061.40 |       7.00 |
> |-------+--------+-----------+------------|
> | Total |     47 | 15,159.40 |     100.00 |
> |-------+--------+-----------+------------|
> #+end_table
>
> I want all the columns to be right-aligned (as they are in the org document), but when exported to LaTeX/PDF, the “Total” column in the output table is left aligned instead. Here’s the relevant section of the .tex document generated during PDF export:

Remove the #+begin_table and #+end_table parts: table isn't a valid block type.
'C-C C-,' (org-insert-structure-template) shows you what blocks are valid.

A table is simply defined via lines starting with '|'. This should work:

#+ATTR_LATEX: :align rrrr
|-------+--------+-----------+------------|
|  Tier | Number |     Total | % of Total |
|-------+--------+-----------+------------|
|     1 |      4 |  8,700.00 |      57.39 |
|     2 |     19 |  5,398.00 |      35.61 |
|     3 |     24 |  1,061.40 |       7.00 |
|-------+--------+-----------+------------|
| Total |     47 | 15,159.40 |     100.00 |
|-------+--------+-----------+------------|

Also, I think your :options is a bit weird. Your exported LaTeX code seems fine,
but that's a side effect of you having the #+begin_table blocks, I _think_ Org
creates a special 'table' environment based on your block name ('table'), which
makes your :options work. See "(org) Special blocks in LaTeX export" in the
manual.

To make your desired placement work with a "correct" table, see "(org) Tables in
LaTeX export" and the documentation of ':placement':

    ‘:float’
    ‘:placement’
         The table environments by default are not floats in LaTeX.  To make
         them floating objects use ‘:float’ with one of the following
         options: ‘t’ (for a default ‘table’ environment), ‘sideways’ (for a
         ‘sidewaystable’ environment), ‘multicolumn’ (to span the table
         across multiple columns of a page in a ‘table*’ environment) and
         ‘nil’.  In addition to these three values, ‘:float’ can pass
         through any arbitrary value, for example a user-defined float type
         with the ‘float’ LaTeX package.

         LaTeX floats can also have additional layout ‘:placement’
         attributes.  These are the usual ‘[h t b p ! H]’ permissions
         specified in square brackets.  Note that for ‘:float sideways’
         tables, the LaTeX export backend ignores ‘:placement’ attributes.

I think that this org snippet is what you are looking for:

#+ATTR_LATEX: :align rrrr :float t :placement [htbp]
|-------+--------+-----------+------------|
|  Tier | Number |     Total | % of Total |
|-------+--------+-----------+------------|
|     1 |      4 |  8,700.00 |      57.39 |
|     2 |     19 |  5,398.00 |      35.61 |
|     3 |     24 |  1,061.40 |       7.00 |
|-------+--------+-----------+------------|
| Total |     47 | 15,159.40 |     100.00 |
|-------+--------+-----------+------------|

-- 
Best,
Rens


  reply	other threads:[~2025-01-09 10:17 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-01-09  9:38 How to specify column alignment in LaTeX table output? Richard H Stanton
2025-01-09 10:17 ` Rens Oliemans [this message]
2025-01-09 15:02   ` Richard H Stanton

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.orgmode.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87wmf4qoju.fsf@rensoliemans.nl \
    --to=hallo@rensoliemans.nl \
    --cc=emacs-orgmode@gnu.org \
    --cc=rhstanton@berkeley.edu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).