askill
booktabs

booktabsSafety 100Repository

LaTeX booktabs/tabularx/multirow/longtable packages for professional tables. Use when helping users create well-formatted tables, multi-page tables, or improve table appearance.

3 stars
1.2k downloads
Updated 2/14/2026

Package Files

Loading files...
SKILL.md

booktabs + tabularx + multirow + longtable — Professional Tables

CTAN: https://ctan.org/pkg/booktabs | https://ctan.org/pkg/tabularx
Manual: texdoc booktabs

Setup

\usepackage{booktabs}    % professional horizontal rules
\usepackage{tabularx}    % auto-width columns
\usepackage{multirow}    % cells spanning rows
\usepackage{longtable}   % multi-page tables
\usepackage{colortbl}    % colored rows/cells (optional)
\usepackage{siunitx}     % number alignment (optional)

Ugly vs Professional — Before/After

❌ Bad Table

\begin{tabular}{|l|c|r|}
\hline
Name & Score & Grade \\ \hline
Alice & 95 & A \\ \hline
Bob & 82 & B \\ \hline
Carol & 78 & C \\ \hline
\end{tabular}

✅ Good Table

\begin{tabular}{lcc}
\toprule
Name  & Score & Grade \\
\midrule
Alice & 95    & A \\
Bob   & 82    & B \\
Carol & 78    & C \\
\bottomrule
\end{tabular}

Rules: Never use vertical lines. Never use \hline. Use \toprule, \midrule, \bottomrule.

booktabs Rules

CommandUse
\topruleTop of table (thicker)
\midruleBetween header and body
\bottomruleBottom of table (thicker)
\cmidrule(lr){2-4}Partial rule spanning columns 2–4
\addlinespaceExtra vertical space (group separator)
\addlinespace[5pt]Custom extra space

cmidrule Trimming

\cmidrule(l){1-2}   % trim left
\cmidrule(r){3-4}   % trim right
\cmidrule(lr){2-3}  % trim both
\cmidrule{1-4}      % no trim

Grouped Rows Example

\begin{tabular}{llr}
\toprule
Category & Item   & Price \\
\midrule
Fruit    & Apple  & 1.20 \\
         & Banana & 0.80 \\
\addlinespace
Dairy    & Milk   & 2.50 \\
         & Cheese & 4.00 \\
\bottomrule
\end{tabular}

tabularx — Auto-Width Columns

% X columns expand to fill \textwidth
\begin{tabularx}{\textwidth}{lXr}
\toprule
ID & Description & Price \\
\midrule
1  & A very long description that will wrap automatically & \$10 \\
2  & Short & \$20 \\
\bottomrule
\end{tabularx}
Column typeBehavior
l, c, rFixed (natural width)
XExpands to fill remaining space (left-aligned)
>{\centering\arraybackslash}XCentered X column
>{\raggedleft\arraybackslash}XRight-aligned X column
p{3cm}Paragraph, fixed width

multirow

\usepackage{multirow}

\begin{tabular}{lcr}
\toprule
\multirow{2}{*}{Name} & \multicolumn{2}{c}{Scores} \\
\cmidrule(l){2-3}
 & Math & English \\
\midrule
Alice & 95 & 88 \\
Bob   & 72 & 91 \\
\bottomrule
\end{tabular}

Syntax: \multirow{nrows}{width}{content} — use * for auto width.

\multicolumn{ncols}{alignment}{content} — built into LaTeX.

Complex Header Example

\begin{tabular}{lcccccc}
\toprule
& \multicolumn{3}{c}{Treatment A} & \multicolumn{3}{c}{Treatment B} \\
\cmidrule(lr){2-4} \cmidrule(lr){5-7}
Subject & Pre & Post & $\Delta$ & Pre & Post & $\Delta$ \\
\midrule
1 & 5.2 & 3.1 & $-2.1$ & 4.8 & 4.5 & $-0.3$ \\
2 & 6.1 & 2.8 & $-3.3$ & 5.5 & 5.2 & $-0.3$ \\
\bottomrule
\end{tabular}

longtable — Multi-Page Tables

\usepackage{longtable}

\begin{longtable}{lcc}
% Header for first page
\toprule
Name & Value & Unit \\
\midrule
\endfirsthead

% Header for continuation pages
\multicolumn{3}{l}{\textit{Continued from previous page}} \\
\toprule
Name & Value & Unit \\
\midrule
\endhead

% Footer for all pages except last
\midrule
\multicolumn{3}{r}{\textit{Continued on next page}} \\
\endfoot

% Footer for last page
\bottomrule
\endlastfoot

% Data rows
Alpha   & 1.0 & m \\
Beta    & 2.5 & kg \\
% ... many more rows ...
Omega   & 9.9 & s \\

\caption{Long experimental data.}
\label{tab:longdata}
\end{longtable}

Note: longtable replaces tabular entirely (not inside table environment). Caption and label go inside.

colortbl — Row and Cell Coloring

\usepackage{colortbl}
\usepackage[table]{xcolor}  % or load xcolor with table option

% Colored row
\rowcolor{blue!10}
Alice & 95 & A \\

% Colored cell
Alice & \cellcolor{green!20} 95 & A \\

% Alternating row colors (xcolor table option)
\rowcolors{2}{gray!10}{white}  % start at row 2, alternate
\begin{tabular}{lcc}
\toprule
\rowcolor{white}  % override for header
Name & Score & Grade \\
\midrule
Alice & 95 & A \\  % gray
Bob & 82 & B \\    % white
Carol & 78 & C \\  % gray
\bottomrule
\end{tabular}

siunitx S Columns — Number Alignment

\usepackage{siunitx}

\begin{tabular}{l S[table-format=3.2] S[table-format=1.3]}
\toprule
{Material} & {Density} & {Error} \\
\midrule
Steel      & 785.00    & 0.050 \\
Aluminum   & 270.00    & 0.120 \\
Titanium   & 450.00    & 0.008 \\
Gold       & 1932.00   & 0.300 \\
\bottomrule
\end{tabular}

S column: Aligns numbers by decimal point. Wrap text headers in {...}.

S optionExampleMeaning
table-format3.23 digits . 2 decimals
table-format+2.1e3sign, digits, exponent
round-modeplacesRound to decimal places
round-precision2Number of decimal places

Full Example — Publication-Quality Table

\begin{table}[htbp]
  \centering
  \caption{Performance comparison of algorithms.}
  \label{tab:comparison}
  \begin{tabular}{l S[table-format=2.1] S[table-format=3.0] c}
    \toprule
    {Method} & {Accuracy (\%)} & {Time (ms)} & {Converged?} \\
    \midrule
    Baseline   & 72.3 & 150 & Yes \\
    Improved   & 85.1 & 230 & Yes \\
    Proposed   & 91.7 &  98 & Yes \\
    \addlinespace
    Oracle     & 99.2 &  45 & N/A \\
    \bottomrule
  \end{tabular}
\end{table}

Common Pitfalls

ProblemCauseFix
Vertical linesUsing `` in column spec
\hlineOld habitUse \toprule/\midrule/\bottomrule
Table too wideToo many columnsUse tabularx with X columns, or \resizebox
longtable in tableIncompatiblelongtable replaces table environment
\multirow misalignedRow height differencesAdd \rule{0pt}{2.5ex} or adjust manually
S column header errorText in S columnWrap header in {...}
Footnotes in table\footnote fails in tabularUse \tablefootnote (tablefootnote pkg) or threeparttable
booktabs + colortbl gapsRules have gaps with colorAdd \abovetopsep=0pt or use \arrayrulecolor

Tips

  • Three rules only: \toprule, \midrule, \bottomrule — almost never need more
  • Use \addlinespace to group rows visually instead of extra rules
  • Put \caption above the table (convention for tables, unlike figures)
  • \small or \footnotesize before tabular to shrink wide tables
  • threeparttable package for proper table footnotes
  • \arraystretch to adjust row height: \renewcommand{\arraystretch}{1.2}

Install

Download ZIP
Requires askill CLI v1.0+

AI Quality Score

93/100Analyzed 2/19/2026

High-quality LaTeX table reference skill covering booktabs, tabularx, multirow, longtable, colortbl, and siunitx packages. Excellent completeness with setup instructions, extensive code examples, before/after comparisons, command reference tables, common pitfalls, and tips. Well-organized and highly actionable for creating professional LaTeX tables. CTAN links provide authoritative references. Minor improvement would be adding tags for discoverability. No internal-only indicators - appears to be a public skill."

100
95
85
90
95

Metadata

Licenseunknown
Version-
Updated2/14/2026
Publisherigbuend

Tags

No tags yet.