How do I specify tables in my Markdown document using pandoc syntax?
Asked Answered
V

2

27

I have a markdown document I'm processing with the pandoc tool to generate HTML and PDF documents. I'm trying to include a table in the document. Regular markdown doesn't support tables, but pandoc does. I've tried copy-pasting the definition of a table from the pandoc documentation into my source document, but when running it through the pandoc program the resulting document is all crammed into one big table.

Can anyone show me a pandoc table that renders properly?

Volga answered 28/12, 2010 at 13:53 Comment(0)
E
42
# Points about Tweedledee and Tweedledum

Much has been made of the curious features of 
Tweedledee and Tweedledum.  We propose here to
set some of the controversy to rest and to uproot
all of the more outlandish claims.

    .      Tweedledee       Tweedledum
--------   --------------   ----------------
Age        14               14
Height     3'2"             3'2"
Politics   Conservative     Conservative
Religion   "New Age"        Syrian Orthodox
---------  --------------   ----------------

Table: T.-T. Data


# Mussolini's role in my downfall

--------------------------------------------------------------------
             *Drugs*         *Alcohol*           *Tobacco*
----------   -------------   -----------------   --------------------
    Monday     3 Xanax        2 pints             3 cigars,  
                                                  1 hr at hookah bar

   Tuesday    14 Adderall     1 Boone's Farm,     1 packet Drum
                              2 Thunderbird

 Wednesday    2 aspirin       Tall glass water    (can't remember)
---------------------------------------------------------------------

Table:  *Tableau des vices*, deluxe edition


# Points about the facts

In recent years, more and more attention has been 
paid to opinion, less and less to what were formerly 
called the cold, hard facts.  In a spirit of traditionalism, 
we propose to reverse the trend. Here are some of our results.

-------     ------ ----------   -------
     12     12        12             12
    123     123       123           123
      1     1          1              1
---------------------------------------

Table:  Crucial Statistics


# Recent innovations (1): False presentation

Some, moved by opinion and an irrational lust for novelty, 
would introduce a non-factual element into the data, 
perhaps moving all the facts to the left:

-------     ------ ----------   -------
12          12     12           12
123         123    123          123
1           1      1            1
---------------------------------------

Table: Crucial "Statistics"

# Recent innovations (2): Illegitimate decoration

Others, preferring their facts to be *varnished*, 
as we might say, will tend to 'label' the columns

Variable    Before During       After
---------   ------ ----------   -------
12          12     12           12
123         123    123          123
1000        1000   1000         1000
----------------------------------------

# Recent innovations (3): "Moderate" decoration

Or, maybe, to accompany this 'spin' with a centered or centrist representation: 

 Variable    Before  During       After
----------  ------- ----------   -------
 12          12      12           12
 123         123     123          123
 1           1       1            1
-----------------------------------------


# The real enemy

Some even accompany these representations with a bit of leftwing 
clap-trap, suggesting the facts have drifted right:


------------------------------------------------------
  Variable       Before            During       After
----------  -----------        ----------     -------
 12                  12                12          12
              -- Due to
                baleful 
              bourgeois
              influence

  123               123               123          123
              -- Thanks
              to the 
              renegade 
               Kautsky

  1                   1                 1            1
              -- All a 
              matter of
            sound Party
             discipline
-------------------------------------------------------

Table: *"The conditions are not ripe, comrades; they are **overripe**!"*

# The Truth

If comment be needed, let it be thus:  the facts have drifted left.


------------------------------------------------------------------------
 Variable   Before             During            After
----------  -------------      ----------        ----------------------
 12         12                 12                12
            (here's            (due to           (something to do
            where the rot      lapse of          with Clinton and
            set in )           traditional       maybe the '60's)
                               values)

 123        123                123               123
            (too much          (A=440?)
            strong drink)

 1          1                  1                 1
                                                 (Trilateral Commission?)
--------------------------------------------------------------------------

Table: *The Decline of Western Civilization*
Ethical answered 30/12, 2010 at 19:40 Comment(2)
Thanks, that works fine. My problem was I had a horizontal ruler (----) included in the document before the tables. If you do that, the resulting layout in HTML is completely broken.Volga
Whoever wrote those examples is a literary genious.Lupine
F
0

Another option is to use GitHub markdown tables which are easier to format since they don't require alignment with empty space characters,

  • You can create tables with pipes | and hyphens -. Hyphens are used to create each column's header, while pipes separate each column. You must include a blank line before your table in order for it to correctly render.
  • The pipes on either end of the table are optional.
  • Cells can vary in width and do not need to be perfectly aligned within columns. There must be at least three hyphens in each column of the header row.
  • You can align text to the left, right, or center of a column by including colons : to the left, right, or on both sides of the hyphens within the header row.
  • pipe characters within cell's text need to be escaped

enter image description here

and the above table format renders in Stackoverflow too...

Command Description Notes
git status List all new or modified files this right aligned
git diff Show file differences that haven't been staged This is a literal |

Pandoc is able to convert GitHub flavoured markdown,

pandoc --from=gfm --to:pdf -o table.pdf table.md

Flowered answered 1/7, 2024 at 7:6 Comment(0)

© 2022 - 2025 — McMap. All rights reserved.