Как сделать автоматические переносы строк с помощью tabularx и makecell?♀

Как сделать автоматические переносы строк с помощью tabularx и makecell?♀

Я использую пакеты tabularxи makecellдля эстетики моих таблиц. Я использовал Xтип столбцов для столбцов с длинными текстами и \makecell{...}для переносов строк в ячейки. Но когда я пытаюсь использовать оба вместе, эффект столбцов Xне работает.

В MWE я бы хотел, чтобы длинный текст, гм, 3-я строка 1-й строки и последний столбец, автоматически разрывались. Есть ли помощь?

\documentclass{article}
\usepackage{tabularx}
\usepackage{blindtext}
\usepackage{booktabs}
\usepackage{makecell}

\begin{document}

\begin{table}[h]
\footnotesize
\centering
\caption{Table's caption}%
\label{tab:Example}%
\begin{tabularx}{\linewidth}{lcX}%
\toprule
\textbf{Head 1} & \textbf{Head 2}   & \textbf{Head 3} \\
\midrule
Row 1           & 1                 & \makecell[lt]{Line 1\\Line 2\\\blindtext} \\
Row 2           & 2                 & \makecell[lt]{Line 1\\Line 2\\Line 3}     \\
\bottomrule
\end{tabularx}
\end{table}

\end{document}

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

решение1

Вы также можете использовать \makecell[Xt]{...}(хотя, как сказал @DavidCarlisle, это не имеет особого смысла):

\documentclass{article}
\usepackage{tabularx}
\usepackage{blindtext}
\usepackage{booktabs}
\usepackage{makecell}

\begin{document}

\begin{table}
\footnotesize
\centering
\caption{Table's caption}%
\label{tab:Example}%
\begin{tabularx}{\linewidth}{lcX}%
\toprule
\textbf{Head 1} & \textbf{Head 2}   & \textbf{Head 3} \\
\midrule
Row 1           & 1                 & \makecell[Xt]{Line 1\\Line 2\\\blindtext} \\
Row 2           & 2                 & \makecell[lt]{Line 1\\Line 2\\Line 3}     \\
\bottomrule
\end{tabularx}
\end{table}
\end{document}

решение2

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

\documentclass{article}
\usepackage{tabularx}
\usepackage{blindtext}
\usepackage{booktabs}
\usepackage{makecell}

\begin{document}

\begin{table}[htp] % not [h]
\footnotesize
\centering
\caption{Table's caption}%
\label{tab:Example}%
\begin{tabularx}{\linewidth}{lcX}%
\toprule
\textbf{Head 1} & \textbf{Head 2}   & \textbf{Head 3} \\
\midrule
Row 1           & 1                 &
Line 1

Line 2

\blindtext
\\
Row 2           & 2                 &
Line 1

Line 2

Line 3
\\
\bottomrule
\end{tabularx}
\end{table}

\end{document}

решение3

Как говорит @DavidCarlisle, я раньше \newlineрешал эту проблему

\documentclass{article}
\usepackage{tabularx}
\usepackage{blindtext}
\usepackage{booktabs}
\usepackage{makecell}

\begin{document}

\begin{table}[h]
\footnotesize
\centering
\caption{Table's caption}%
\label{tab:Example}%
\begin{tabularx}{\linewidth}{lcX}%
\toprule
\textbf{Head 1} & \textbf{Head 2}   & \textbf{Head 3} \\
\midrule
Row 1           & 1                 & Line 1\newline Line 2\newline\blindtext\\
Row 2           & 2                 & \makecell[lt]{Line 1\\Line 2\\Line 3}     \\
\bottomrule
\end{tabularx}
\end{table}

\end{document}

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

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