[Tex/LaTex] Auto-fit table column widths based on content

automationcolumnstableswidth

Is there any solution in LaTeX tables that implements similar functionality to MSWord's AutoFit?

enter image description here

Best Answer

Have a look at the tabulary package. Its description reads:

The package defines a tabular*-like tabulary environment, taking a ‘total width’ argument as well as the column specifications. It then defines column types L, C, R and J for variable width columns (\raggedright', \centering, \raggedleft, and normally justified). In contrast to tabularx's X columns, the width of each column is weighted according to the natural width of the widest cell in the column.

In my example, I also use the ragged2e package to allow for hyphenation within the table cells.

\documentclass{article}

\renewcommand{\arraystretch}{1.5}

\usepackage{tabulary}

\usepackage[newcommands]{ragged2e}

\begin{document}

\begin{tabulary}{0.8\textwidth}{LLL}
Definition and Validation of Dynamic Video Reframing based on & Definition and Validation of & Definition and Validation of Dynamic \\
Definition and Validation of Dynamic & Definition and Validation of & Definition and Validation of \\
\end{tabulary}

\end{document}

enter image description here

(Fixed a bug in an earlier version of this post that had a missing '\'.)