Hello guys. I don't like how *longtable* handle with tables, spanning across pages without needing, so I took advantage of the filtering mechanism and I did a filter in python to generate the tables in a more traditional way (in the sense of Latex) and I'm sharing with you below. Please make suggestions, I did the things a few hardcoded because I didn't see other way. To understand what the filter do, let's say I have a file with the following table: *test.mkd* Code Name ------ ------ 1 Pandoc 2 Latex 3 Writer Table: My *best* tools The normal generated latex code would be *test-longtable.tex* \begin{longtable}[c]{@{}cl@{}} \toprule\addlinespace Code & Name \\\addlinespace \midrule\endhead 1 & Pandoc \\\addlinespace 2 & Latex \\\addlinespace 3 & Writer \\\addlinespace \bottomrule \addlinespace \caption{My \emph{best} tools} \end{longtable} But using the filter, the latex code will be *test-tabular.tex* \begin{table}[ht] \caption{My \emph{best} tools} \begin{tabular}{@{}cl@{}} \toprule Code & Name \\\midrule 1 & Pandoc \\ 2 & Latex \\ 3 & Writer \\ \bottomrule \end{tabular} \end{table} Note I put \caption above as is more common to my writings. *filter.py* import pandocfilters as pf def latex(s): return pf.RawBlock('latex', s) def inlatex(s): return pf.RawInline('latex', s) def tbl_caption(s): return pf.Para([inlatex(r'\caption{')] + s + [inlatex('}')]) def tbl_alignment(s): aligns = { "AlignDefault": 'l', "AlignLeft": 'l', "AlignCenter": 'c', "AlignRight": 'r', } return ''.join([aligns[e['t']] for e in s]) def tbl_headers(s): result = s[0][0]['c'][:] for i in range(1, len(s)): result.append(inlatex(' & ')) result.extend(s[i][0]['c']) result.append(inlatex(r' \\\midrule')) return pf.Para(result) def tbl_contents(s): result = [] for row in s: para = [] for col in row: para.extend(col[0]['c']) para.append(inlatex(' & ')) result.extend(para) result[-1] = inlatex(r' \\' '\n') return pf.Para(result) def do_filter(k, v, f, m): if k == "Table": return [latex(r'\begin{table}[ht]' '\n' r'\centering' '\n'), tbl_caption(v[0]), latex(r'\begin{tabular}{@{}%s@{}}' % tbl_alignment(v[1]) + ('\n' r'\toprule')), tbl_headers(v[3]), tbl_contents(v[4]), latex(r'\bottomrule' '\n' r'\end{tabular}'), latex(r'\end{table}')] if __name__ == "__main__": pf.toJSONFilter(do_filter) -- Wagner Macedo -- 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 post to this group, send email to pandoc-discuss-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To view this discussion on the web visit https://groups.google.com/d/msgid/pandoc-discuss/CAKGY2P%3D5brJ1YHcGq_G_oc1Zsp6ZCXf6SDVVH9n2wUBG8uLF4A%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.