Позиционирование отдельной ячейки таблицы

Позиционирование отдельной ячейки таблицы

Я хочу поместить "iii" в середину ячейки. Поэтому я обращаюсь к \multicolumn, чтобы изменить одну ячейку.

Мой первоначальный код:

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

Но столбцы 2 и 3 стали узкими. Поэтому я изменил строки 4 и 6, и весь код превратился в:

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

Но вся таблица становится узкой. Что мне сделать, чтобы изменить такую ​​ситуацию?

решение1

С помощьюmakecell (и микротипа для деактивации лигатур, см. здесь:https://tex.stackexchange.com/a/439652/134144) вы можете получить следующую MWE:

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

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

Поскольку выравнивание по центру по горизонтали и вертикали ( [cc]) является значением по умолчанию, makecellэту опцию можно также опустить ( \makecell{iii}), не изменяя приведенный выше вывод.

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