Как добиться автоматического переноса строки в tabularx с помощью \multicolumn?

Как добиться автоматического переноса строки в tabularx с помощью \multicolumn?

Я работаю с tabularxи теперь я хотел бы объединить все 3 ячейки одной строки в одну, но мой текст довольно длинный и я не знаю, как заставить его сделать автоматический перенос строки в тексте в этой среде. Кто-нибудь знает, что мне делать?

\documentclass[10pt,a4paper,final,twoside]{book}
\usepackage{amsmath}

\usepackage{tabularx}
\usepackage{makecell}
\usepackage{multirow}

\usepackage{multicol}
\setlength{\columnsep}{1.5cm}
\setlength{\columnseprule}{0.2pt}

\usepackage{polyglossia}
\setmainlanguage{french}

  \begin{document}
  \begin{center}
    \begin{tabularx}{1.\linewidth}{|p{.31\linewidth} | p{.31\linewidth} |     p{.31\linewidth} |}
    \hline 
    \textbf{Ernout/Meillet\textsubscript{4}} & \textbf{REW\textsubscript{3}} & \textbf{DÉRom}  \\ 
    \hline 
    apert\={u}ra & ap\u{e}rt\={u}ra & \makecell[l]{*/aper\textquotesingle t-ur-a/\\\hspace{4pt} $\longrightarrow$ I. */aper\textquotesingle t-ur-a/  \\ \hspace{4pt} $\longrightarrow$ II. */oper\textquotesingle t-ur-a/} \\ 
    \hline
    \multicolumn{3}{|c|}{Les issues romanes ont été subdivisées selon les deux types dont elles relèvent : */aper't-ur-a/ (I.) et */oper't-ur-a/ (II.). I. représente une évolution phonétique régulière de protorom. */aper't-ur-a/ et il existe en italien, romanche, espagnol, asturien, galicien et portugais....  }   \\
    \hline 
    \end{tabularx} 
    \end{center}

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

решение1

Для последней части используйте Xстолбцы и столбец.p

\documentclass[10pt,a4paper,final,twoside]{book}
\usepackage{amsmath}

\usepackage{tabularx}
\usepackage{makecell}
\usepackage{polyglossia}

\setmainlanguage{french}

\begin{document}

\begin{center}

\begin{tabularx}{\linewidth}{|X|X|X|}
\hline 
\textbf{Ernout/Meillet\textsubscript{4}} & \textbf{REW\textsubscript{3}} & \textbf{DÉRom}  \\ 
\hline 
apert\={u}ra & ap\u{e}rt\={u}ra & 
  \makecell[l]{%
    */aper\textquotesingle t-ur-a/\\
    \hspace{4pt} $\longrightarrow$ I. */aper\textquotesingle t-ur-a/ \\
    \hspace{4pt} $\longrightarrow$ II. */oper\textquotesingle t-ur-a/
  } \\
\hline
\multicolumn{3}{|p{\dimexpr\linewidth-2\tabcolsep-2\arrayrulewidth}|}{%
  Les issues romanes ont été subdivisées selon les deux types dont elles
  relèvent: */aper't-ur-a/ (I.) et */oper't-ur-a/ (II.). I. représente
  une évolution phonétique régulière de protorom. */aper't-ur-a/ et il
  existe en italien, romanche, espagnol, asturien, galicien et portugais....  } \\
\hline 
\end{tabularx} 
\end{center}

\end{document}

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

решение2

Я предлагаю решение по очистке. IE:

  1. Убраны лишние отступы по бокам таблицы.
  2. Удалено, tabularxтак как столбцы X не используются.
  3. Для новой колонки я @{}m{\textwidth}@{}фактически использовал:

    а. @{}избавиться от лишних пробелов

    б) \textwidthобеспечивает необходимую ширину (можно настроить для достижения наилучшего эффекта)

    c. mспецификация позволяет ячейке переносить

  4. Избавился от всех вертикальных разделителей из-за их уродливости и ухудшения читаемости.

  5. Использовал booktabsправила, потому что они более изящны.
  6. удалены лишние горизонтальные линии (максимум одна может быть)учитыватьа midruleперед длинной ячейкой

Итак, вот код

\documentclass[10pt,a4paper,final,twoside]{book}
\usepackage{amsmath}

\usepackage{tabularx, booktabs}
\usepackage{makecell}
\usepackage{multirow}

\usepackage{multicol}
\setlength{\columnsep}{1.5cm}
\setlength{\columnseprule}{0.2pt}

\usepackage{polyglossia}
\setmainlanguage{french}

  \begin{document}
  \begin{center}
    \begin{tabular}{@{}p{.31\linewidth} p{.31\linewidth}  p{.31\linewidth}@{}}
\toprule
    \textbf{Ernout/Meillet\textsubscript{4}} & \textbf{REW\textsubscript{3}} & \textbf{DÉRom}  \\ 
    \midrule 
    apert\={u}ra & ap\u{e}rt\={u}ra & \makecell[l]{*/aper\textquotesingle t-ur-a/\\\hspace{4pt} $\longrightarrow$ I. */aper\textquotesingle t-ur-a/  \\ \hspace{4pt} $\longrightarrow$ II. */oper\textquotesingle t-ur-a/} \\ 

    \multicolumn{3}{@{}m{\textwidth}@{}}{Les issues romanes ont été subdivisées selon les deux types dont elles relèvent : */aper't-ur-a/ (I.) et */oper't-ur-a/ (II.). I. représente une évolution phonétique régulière de protorom. */aper't-ur-a/ et il existe en italien, romanche, espagnol, asturien, galicien et portugais....  }   \\
    \bottomrule 
    \end{tabular} 
    \end{center}

    \end{document}

И образец

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

решение3

Используйте p{\dimexpr0.93\linewidth+4\tabcolsep}для ширины и, конечно же, нет tabularx:

\documentclass[10pt,a4paper,final,twoside]{book}
\usepackage{amsmath}

\usepackage{tabularx}
\usepackage{makecell}
\usepackage{multirow}

\usepackage{multicol}
\setlength{\columnsep}{1.5cm}
\setlength{\columnseprule}{0.2pt}

\usepackage{polyglossia}
\setmainlanguage{french}

\begin{document}

\begin{center}
    \begin{tabular}{|*3{p{.31\linewidth} |}}\hline 
    \textbf{Ernout/Meillet\textsubscript{4}} & \textbf{REW\textsubscript{3}} & 
    \textbf{DÉRom}  \\ \hline 
            apert\={u}ra & ap\u{e}rt\={u}ra & \makecell[l]{*/aper\textquotesingle 
            t-ur-a/\\\hspace{4pt} $\longrightarrow$ I. */aper\textquotesingle t-ur-a/  \\ 
    \hspace{4pt} $\longrightarrow$ II. */oper\textquotesingle t-ur-a/} \\ \hline
\multicolumn{3}{|p{\dimexpr0.93\linewidth+4\tabcolsep}|}{Les issues romanes ont été 
subdivisées selon les deux 
types dont elles relèvent : */aper't-ur-a/ (I.) et */oper't-ur-a/ (II.). I. 
            représente une évolution phonétique régulière de protorom. */aper't-ur-a/ et 
            il existe en italien, romanche, espagnol, asturien, galicien et portugais....  
            }   \\\hline 
\end{tabular} 
\end{center}
\end{document}

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

С tabularxним должно быть:

\begin{tabularx}{\linewidth}{|X|X|X|}\hline 
... 
\multicolumn{3}{|p{\dimexpr\linewidth-2\tabcolsep}|}{...}
 ...
\end{tabularx}

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