I have a table with long text and found a way to get rid of the issue where one has to do line-breaks manually. Here is the code for a very simple version of this layout:
\usepackage{booktabs} % for toprule, midrule and bottomrule
\begin{table*}[t]
\centering
\begin{tabular}{l l}
\toprule
Category & Description \\
\midrule
\parbox[t]{.10\textwidth}{A} & \parbox[t]{.90\textwidth}{PUT DESCRIPTION HERE. PUT DESCRIPTION HERE. PUT DESCRIPTION HERE. PUT DESCRIPTION HERE. PUT DESCRIPTION HERE.}\\
\bottomrule
\end{tabular}
\caption{A table that adapts}
\end{table*}
I often create tables that have this general format: two columns that expand over the full text width of the page and that divide into two parts (like here, 10-90, but also adapted based on the size of the text in the first column).
Is there a way to turn this into a command (or is there perhap already a command) so that I do not have to write the parbox for every cell?
Also, it would be nice to simplify this so that I only have to declare the size of one cell (10%) to define the remainder (90%) implicitly for all cells.
Any ideas how to do this efficiently?

\textwidthbut a\textwidth-4\tabcolsep(2\tabcolsepper column), if you add vertical lines and thearraypackage is loaded each vertical line takes an additional\arrayrulewidth. – Skillmon Sep 24 '18 at 16:42\newlinesolution is covered there as well. – user202729 Apr 11 '23 at 14:33