Como conseguir uma quebra de linha automática em tabularx com \multicolumn?

Como conseguir uma quebra de linha automática em tabularx com \multicolumn?

Estou trabalhando tabularxe agora gostaria de combinar todas as 3 células de uma linha em uma única, mas meu texto é bastante longo e não sei como fazer para fazer quebra automática de linha no texto neste ambiente . Alguém sabe o que devo fazer?

\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}

insira a descrição da imagem aqui

Responder1

Use Xcolunas e uma pcoluna para a última parte.

\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}

insira a descrição da imagem aqui

Responder2

O que proponho é uma solução de limpeza. Ou seja:

  1. Removido o espaçamento extra das laterais da mesa
  2. Removido tabularxporque nenhuma coluna X é usada
  3. Para a nova coluna que usei @{}m{\textwidth}@{}de fato:

    a. livrar @{}-se do espaçamento extra

    b. dá \textwidtha amplitude necessária (ajustável para obter o melhor efeito)

    c. as mespecificações permitem que a célula hifenize

  4. Livrei-me de todos os separadores verticais por serem feios e por prejudicarem a legibilidade

  5. Usei as booktabsregras porque elas são mais sofisticadas
  6. linhas horizontais extras removidas (no máximo é possívelconsiderara midruleantes da célula longa

Então aqui está o código

\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}

E uma amostra

insira a descrição da imagem aqui

Responder3

Use p{\dimexpr0.93\linewidth+4\tabcolsep}para a largura e. claro que não 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}

insira a descrição da imagem aqui

Com tabularxisso deveria ser:

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

informação relacionada