Colocar una sola celda de una tabla

Colocar una sola celda de una tabla

Quiero poner el "iii" en el medio de la celda. Entonces recurro a \multicolumn para modificar una sola celda.

Mi código inicial es

\documentclass{article}
\begin{document}

\begin{tabular}{|r | l | p{5cm}  }
\hline
aaa & \multicolumn{2}{c|}{bbb ccc} \\
\cline{1-1}
ddd & \multicolumn{2}{c|}{eee f\mbox{}f\mbox{}f\mbox{} }\\
\hline
ggg & hhh                    & \multicolumn{1}{c|}{iii} \\
\hline
\end{tabular}

\end{document}

Pero las columnas 2 y 3 se vuelven estrechas. Entonces cambié las líneas 4 y 6 y el código completo quedó en:

\documentclass{article}
\begin{document}

\begin{tabular}{|r | l | p{5cm}  }
\hline
aaa & \multicolumn{2}{c|}{bbb ccc} \\
\cline{1-1}
ddd & \multicolumn{2}{c|}{eee f\mbox{}f\mbox{}f\mbox{} }\\
\hline
ggg & hhh                    & \multicolumn{1}{p(5cm)}{iii} \\
\hline
\end{tabular}

\end{document}

Pero toda la mesa se vuelve estrecha. ¿Qué debo hacer para cambiar tal situación?

Respuesta1

Con la ayuda de makecell(y microtipo para desactivar las ligaduras, mira aquí:https://tex.stackexchange.com/a/439652/134144) puede obtener el siguiente MWE:

ingrese la descripción de la imagen aquí

\documentclass{article}
\usepackage{makecell}

\usepackage{microtype}
\DisableLigatures[f]{encoding = *, family = *}
\begin{document}

\begin{tabular}{|r | l | p{5cm}  |}
\hline
aaa & \multicolumn{2}{l|}{bbb ccc} \\
\cline{1-1}
ddd & \multicolumn{2}{l|}{eee fff }\\
\hline
ggg & hhh                    & \makecell[cc]{iii} \\
\hline
\end{tabular}
\end{document}

Dado que la alineación centrada horizontal y verticalmente ( [cc]) es la opción predeterminada, makecellesta opción también se puede omitir ( \makecell{iii}) sin cambiar el resultado anterior.

información relacionada