Как задать ширину столбца, чтобы таблица автоматически выравнивалась по объединенным ячейкам?

Как задать ширину столбца, чтобы таблица автоматически выравнивалась по объединенным ячейкам?

Я хочу сделать таблицу в формате, который я показал ниже. На данный момент ширина столбцов разная, и таблица слишком широкая для страницы. Выглядит это так: введите описание изображения здесь

То, что я пытаюсь сделать, это

1) сделайте таблицу такой же ширины, как и текст, чтобы она занимала максимальное пространство на полях

2) установите, что столбцы 2, 3 и 4, содержащие результаты, имеют одинаковую ширину.

\begin{table}[H] \centering \caption{X} \label{X}
\begin{tabular}{cccc}
        \textbf{References} & \textbf{Results 1} & \textbf{Results 2} & \textbf{Results 3} \\\hline\hline

    Author (Year)
    & 
    Answer Answer 
    & 
    Answer Answer Answer Answer 
    & 
        \begin{tabular}{c} 
        Answer Answer Answer Answer Answer Answer  \\
        Answer Answer Answer  \\ 
        \end{tabular} 
    \\\hline

    Author (Year) & 
        \begin{tabular}{c} 
        Answer \\ 
        Answer \\ 
        \end{tabular}
    &
    Answer Answer 
    &
        \begin{tabular}{c} 
        Answer Answer Answer  \\ 
        Answer Answer Answer  \\ 
        \end{tabular}
    \\\hline   

    Author (Year) & 
    \begin{tabular}{c} 
    Answer \\ 
    Answer \\ 
    Answer \\ 
    \end{tabular} 
    &
    \multicolumn{2}{c}{Answer Answer Answer Answer Answer Answer Answer Answer }
    \\\hline 
\end{tabular}
\end{table}

решение1

при этом tabularxнет необходимости вкладывать таблицы:

\documentclass{article}
\usepackage{geometry}
\usepackage{booktabs, tabularx}
\usepackage[skip=1ex]{caption}

\begin{document}
    \begin{table}[htb]
    \caption{X} 
    \label{X}
\begin{tabularx}{\linewidth}{@{} l *{3}{>{\centering\arraybackslash}X} @{}}
    \toprule
\textbf{References} & \textbf{Results 1} & \textbf{Results 2} & \textbf{Results 3}  \\
    \midrule
Author (Year)       
    &  Answer Answer    
        &   Answer Answer Answer Answer
            &   Answer Answer Answer Answer Answer Answer 

                Answer Answer Answer                                                \\
    \midrule
Author (Year) 
    &   Answer 

        Answer
        &   Answer Answer
            &   Answer Answer Answer 
                Answer Answer Answer                                                \\
    \midrule
Author (Year) 
    &   Answer

        Answer

        Answer
        &   \multicolumn{2}{>{\hsize=\dimexpr2\hsize+2\tabcolsep\relax
                              \centering\arraybackslash}X}{%
            Answer Answer Answer Answer Answer Answer Answer Answer }               \\
    \bottomrule
\end{tabularx}
    \end{table}
\end{document}

введите описание изображения здесь

вместо горизонтально центрированных ячеек текста я бы предпочел выровнять по левому краю, т.е. вместо >{\centering\arraybackslash}Xиспользования>{\raggedright\arraybackslash}X

Связанный контент