public inbox archive for pandoc-discuss@googlegroups.com
 help / color / mirror / Atom feed
From: John MacFarlane <fiddlosopher-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
To: pandoc-discuss-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
Subject: Re: Cleaner Table Formatting when converting from Markdown to Latex?
Date: Wed, 31 May 2023 21:47:52 -0700	[thread overview]
Message-ID: <FE0FFCDC-57EF-40FE-BCE9-2887A94088C0@gmail.com> (raw)
In-Reply-To: <92BA4BD2-C13C-4B5E-80BB-A8C7D3782FAC-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>

PS. If you don't worry about the too-wide issue, then you can "fix" it with this lua filter:

function Table(el)
  for _,spec in ipairs(el.colspecs) do
    spec[2] = nil -- set width to nil for a "simple" table
  end
  return el
end


> On May 31, 2023, at 9:43 PM, John MacFarlane <fiddlosopher-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:
> 
> You are getting relative widths specified because the table is wide.  (Previously we didn't do this and people complained that their tables extended beyond the edge of the margin or even the page.)  If the table is not wide, you get a simple table:
> 
> \begin{longtable}[]{@{}lllll@{}}
> \toprule\noalign{}
> & Mon & Tue & Wed & Thu \\
> \midrule\noalign{}
> \endhead
> \bottomrule\noalign{}
> \endlastfoot
> Week 1 & Example & Example & Example & Example \\
> Week 2 & Example & Example & Example & Example \\
> Week 3 & Example & Example & Example & Example \\
> Week 4 & Example & Example & Example & Example \\
> \end{longtable}
> 
> 
> 
>> On May 31, 2023, at 12:08 PM, 'RM' via pandoc-discuss <pandoc-discuss-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org> wrote:
>> 
>> Sometimes pandoc adds a load of undesired guff into the latex tables. 
>> 
>> Is there a way to signal to pandoc that I want it to "cleanly" convert the markdown tables to latex instead of adding all sorts of bizarre formatting?
>> 
>> Example:
>> 
>> Consider the following markdown table:
>> 
>> |        | Mon     | Tue     | Wed     | Thu     | Fri     | Sat     | Sun     | Notes   |
>> |--------|---------|---------|---------|---------|---------|---------|---------|---------|
>> | Week 1 | Example | Example | Example | Example | Example | Example | Example | Example |
>> | Week 2 | Example | Example | Example | Example | Example | Example | Example | Example |
>> | Week 3 | Example | Example | Example | Example | Example | Example | Example | Example |
>> | Week 4 | Example | Example | Example | Example | Example | Example | Example | Example |
>> 
>> 
>> Version 2.16 sensibly converts the markdown table to:
>> 
>> \begin{longtable}[]{@{}lllllllll@{}}
>> \toprule
>> & Mon & Tue & Wed & Thu & Fri & Sat & Sun & Notes \\
>> \midrule
>> \endhead
>> Week 1 & Example & Example & Example & Example & Example & Example &
>> Example & Example \\
>> Week 2 & Example & Example & Example & Example & Example & Example &
>> Example & Example \\
>> Week 3 & Example & Example & Example & Example & Example & Example &
>> Example & Example \\
>> Week 4 & Example & Example & Example & Example & Example & Example &
>> Example & Example \\
>> \bottomrule
>> \end{longtable}
>> 
>> 
>> 
>> 
>> While the latest version (3.1.2) converts it to this mess:
>> 
>> \begin{longtable}[]{@{}
>>> {\raggedright\arraybackslash}p{(\columnwidth - 16\tabcolsep) * \real{0.1000}}
>>> {\raggedright\arraybackslash}p{(\columnwidth - 16\tabcolsep) * \real{0.1125}}
>>> {\raggedright\arraybackslash}p{(\columnwidth - 16\tabcolsep) * \real{0.1125}}
>>> {\raggedright\arraybackslash}p{(\columnwidth - 16\tabcolsep) * \real{0.1125}}
>>> {\raggedright\arraybackslash}p{(\columnwidth - 16\tabcolsep) * \real{0.1125}}
>>> {\raggedright\arraybackslash}p{(\columnwidth - 16\tabcolsep) * \real{0.1125}}
>>> {\raggedright\arraybackslash}p{(\columnwidth - 16\tabcolsep) * \real{0.1125}}
>>> {\raggedright\arraybackslash}p{(\columnwidth - 16\tabcolsep) * \real{0.1125}}
>>> {\raggedright\arraybackslash}p{(\columnwidth - 16\tabcolsep) * \real{0.1125}}@{}}
>> \toprule\noalign{}
>> \begin{minipage}[b]{\linewidth}\raggedright
>> \end{minipage} & \begin{minipage}[b]{\linewidth}\raggedright
>> Mon
>> \end{minipage} & \begin{minipage}[b]{\linewidth}\raggedright
>> Tue
>> \end{minipage} & \begin{minipage}[b]{\linewidth}\raggedright
>> Wed
>> \end{minipage} & \begin{minipage}[b]{\linewidth}\raggedright
>> Thu
>> \end{minipage} & \begin{minipage}[b]{\linewidth}\raggedright
>> Fri
>> \end{minipage} & \begin{minipage}[b]{\linewidth}\raggedright
>> Sat
>> \end{minipage} & \begin{minipage}[b]{\linewidth}\raggedright
>> Sun
>> \end{minipage} & \begin{minipage}[b]{\linewidth}\raggedright
>> Notes
>> \end{minipage} \\
>> \midrule\noalign{}
>> \endhead
>> \bottomrule\noalign{}
>> \endlastfoot
>> Week 1 & Example & Example & Example & Example & Example & Example &
>> Example & Example \\
>> Week 2 & Example & Example & Example & Example & Example & Example &
>> Example & Example \\
>> Week 3 & Example & Example & Example & Example & Example & Example &
>> Example & Example \\
>> Week 4 & Example & Example & Example & Example & Example & Example &
>> Example & Example \\
>> \end{longtable}
>> 
>> (And this isn't simply an issue with later versions. I've noticed 2.16 adds the guff to some tables, too. Though whatever algo it's using to make that choice differs between versions. )
>> 
>> 
>> I'd like all of my tables to be converted to the "clean" format. Is there an argument I can use to make that happen?
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> -- 
>> You received this message because you are subscribed to the Google Groups "pandoc-discuss" group.
>> To unsubscribe from this group and stop receiving emails from it, send an email to pandoc-discuss+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org
>> To view this discussion on the web visit https://groups.google.com/d/msgid/pandoc-discuss/532e15c3-6027-45bd-b0ba-7393632f2dc9n%40googlegroups.com.
> 


      parent reply	other threads:[~2023-06-01  4:47 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-05-31 19:08 'RM' via pandoc-discuss
     [not found] ` <532e15c3-6027-45bd-b0ba-7393632f2dc9n-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>
2023-05-31 21:16   ` 'RM' via pandoc-discuss
2023-06-01  4:43   ` John MacFarlane
     [not found]     ` <92BA4BD2-C13C-4B5E-80BB-A8C7D3782FAC-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2023-06-01  4:47       ` John MacFarlane [this message]

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

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

  git send-email \
    --in-reply-to=FE0FFCDC-57EF-40FE-BCE9-2887A94088C0@gmail.com \
    --to=fiddlosopher-re5jqeeqqe8avxtiumwx3w@public.gmane.org \
    --cc=pandoc-discuss-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org \
    /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.
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 NNTP newsgroup(s).