Lo que usaría

Lo que usaría

¿Cómo puedo fusionar dos celdas en una sola celda de una tabla?

Por ejemplo, me gustaría fusionar la celda "456" de la siguiente manera.

tabla esperada

\documentclass[journal]{IEEEtran}
\begin{document}

\begin{table}[h]
\captionof{table}{Test Table}
\label{tab:table_x} 
\noindent\begin{tabularx}{\columnwidth} { |
  c |
  c |
  >{\raggedright\arraybackslash}X |
}
  \hline
  \textbf{A} & \textbf{B} & \textbf{C}  \\
  \hline
  abc  & def & ghi \\
  \hline
  123  & 456 & mno \\
  \hline
   jkl  & 456 & 789 \\
  \hline
  xxx  & yyy & zzz \\
  \hline
\end{tabularx}
\end{table}

\end{document}

Tabla actual:

tabla actual

Respuesta1

Si desea hacer esto tabularxcon todas esas reglas (no me gustan, hacen que una tabla se vea desordenada, no ordenada ni legible), le sugiero que use los paquetes hhline(ofrece un mejor espaciado que \cline) y multirow. También utilicé arrayy \extrarowheightpara obtener un mejor espaciado entre las reglas horizontales (están demasiado cerca en LaTeX predeterminado).

\documentclass[journal]{IEEEtran}

\usepackage{tabularx}
\usepackage{hhline}
\usepackage{multirow}
\usepackage{array}
\setlength\extrarowheight{1pt}

\begin{document}
\begin{table}[h]
\caption{Test Table\label{tab:table_x}}
\noindent\begin{tabularx}{\columnwidth} { |
  c |
  c |
  >{\raggedright\arraybackslash}X |
}
  \hline
  \textbf{A} & \textbf{B} & \textbf{C}  \\
  \hline
  abc  & def & ghi \\
  \hline
  123  &     & mno \\
  \hhline{|-|~|-|}
  jkl  & \multirow{-2}{*}[-.5\arrayrulewidth]{456} & 789 \\
  \hline
  xxx  & yyy & zzz \\
  \hline
\end{tabularx}
\end{table}
\end{document}

ingrese la descripción de la imagen aquí

Para obtener exactamente la tabla que muestra en su imagen (más o menos, no es exactamente el mismo espaciado) no use tabularxmás que un normal tabular:

\documentclass[journal]{IEEEtran}

\usepackage{hhline}
\usepackage{multirow}
\usepackage{array}
\setlength\extrarowheight{1pt}

\begin{document}
\begin{table}[h]
\centering
\caption{Test Table\label{tab:table_x}}
\begin{tabular}{ | c | c | c | }
  \hline
  \textbf{A} & \textbf{B} & \textbf{C}  \\
  \hline
  abc  & def & ghi \\
  \hline
  123  &     & mno \\
  \hhline{|-|~|-|}
  jkl  & \multirow{-2}{*}[-.5\arrayrulewidth]{456} & 789 \\
  \hline
  xxx  & yyy & zzz \\
  \hline
\end{tabular}
\end{table}
\end{document}

ingrese la descripción de la imagen aquí


Lo que usaría

En lugar de reglas verticales (y reglas después de cada línea), usaría las booktabsreglas. Si necesito "fusionar" celdas, las pondría en la primera columna (si corresponde) y simplemente las agregaría \addlinespacedespués de cada bloque. Datos significativos (como datos numéricos) No omitiría ni fusionaría celdas, pero repetiría:

\documentclass[journal]{IEEEtran}

\usepackage{tabularx}
\usepackage{booktabs}

\begin{document}
\begin{table}[h]
\centering
\caption{Test Table\label{tab:table_x}}
\begin{tabularx}{\columnwidth} { c c >{\raggedright\arraybackslash}X }
  \toprule
  \textbf{A} & \textbf{B} & \textbf{C}  \\
  \midrule
  abc  & def & ghi \\
       & 456 & mno \\
  \addlinespace
  jkl  & 456 & 789 \\
  \addlinespace
  xxx  & yyy & zzz \\
  \bottomrule
\end{tabularx}
\end{table}
\end{document}

ingrese la descripción de la imagen aquí

Respuesta2

Su código no es realmente reproducible, ya que tiene algunos errores (falta un paquete). Eche un vistazo a mi aproximación:

\documentclass[journal]{IEEEtran}
\usepackage{multirow} % <-- added package
\usepackage{tabularx}
\begin{document}

\begin{table}[h]
\caption{Test Table}
\label{tab:table_x} 
\noindent\begin{tabularx}{\columnwidth} { |
  c |
  c |
  >{\raggedright\arraybackslash}X |
}
  \hline
  \textbf{A} & \textbf{B} & \textbf{C}  \\
  \hline
  abc  & def & ghi \\
  \hline
  123  & \multirow{2}{*}{456} & mno \\ % <-- merged cell
  \cline{1-1}\cline{3-3} % <-- added rule
  jkl  & & 789 \\ % <-- merged cell
  \hline
  xxx  & yyy & zzz \\
  \hline
\end{tabularx}
\end{table}

\end{document}

ingrese la descripción de la imagen aquí

Respuesta3

Puedes hacerlo muy fácilmente usando el nuevo paquete tabularray.

\documentclass[journal]{IEEEtran}
\usepackage{tabularray}

\begin{document}

\begin{table}[h]
  \caption{Test Table}
  \label{tab:table_x}
  \centering
  \begin{tblr}{
      colspec = {QQQ},
      hlines,
      vlines,
      columns={c},
      rows={m},
      cell{3}{2} = {r=2,c=1}{c},
      row{1}={font=\bfseries},
    }
    A   & B   & C   \\
    abc & def & ghi \\
    123 & 456 & mno \\
    jkl & 456 & 789 \\
    xxx & yyy & zzz \\
  \end{tblr}

\end{table}


\end{document}

ingrese la descripción de la imagen aquí

información relacionada