
Как выровнять текст в таблицах по вертикали, например, «Автор 1 (год)», и как добавить символы ввода между словами в таблицах, чтобы текст располагался друг под другом, как в случае со словами «Война», «Революция» и «Гражданские беспорядки»?
\begin{table}[H]
\caption{Three levels of political risks}
\label{tab:rcpol}
\footnotesize
\begin{tabularx}{\linewidth}{@{} c *{3}{>{\centering\arraybackslash}X} @{}}
\toprule
\textbf{References} & \textbf{Macro risks} & \textbf{Meso risks} & \textbf{Micro risks} \\
\midrule
Author 1 (Year)
& Corruption
& Government intervention
& Expropriation;
Nationalisation of assets
\\ \midrule
Author 2 (Year)
& War; Revolution; Civil disorders
& \multicolumn{2}{>{\hsize=\dimexpr2\hsize+2\tabcolsep+\arrayrulewidth
\centering\arraybackslash}X}{%
Inconsistent government policies }
\\
\bottomrule
\end{tabularx}
\end{table}
решение1
Внутри X
столбца типа можно использовать \linebreak
для вставки переносов строк. Внутри обычной ячейки можно использовать \begin{tabular}{@{} <col> @{}}<content>\end{tabular}
конструкцию для вставки переносов строк (или использовать \makecell
из makecell
пакета, который делает то же самое).
Если вы хотите использовать определение , \\
как если бы оно было внутри \centering
среды, вы могли бы также использовать >{\centering\let\mynewline\\\arraybackslash}X
в своей преамбуле и в своей таблице \mynewline
вместо \linebreak
.
Что касается вертикального выравнивания X
ячеек текста: вы можете изменить определение , чтобы \tabularxcolumn
использовать m
вместо p
столбцов текста для вертикально центрированного содержимого.
\documentclass[]{article}
\usepackage{tabularx}
\usepackage{booktabs}
% change the column type of tabularx to use `m` instead of `p` for the vertical
% centering:
\renewcommand\tabularxcolumn[1]{m{#1}}
\begin{document}
\begin{table}
\caption{Three levels of political risks}
\label{tab:rcpol}
\footnotesize
\begin{tabularx}{\linewidth}{@{} c *{3}{>{\centering\arraybackslash}X} @{}}
\toprule
\textbf{References} & \textbf{Macro risks} & \textbf{Meso risks} & \textbf{Micro risks} \\
\midrule
Author 1 (Year)
& Corruption
& Government intervention
& Expropriation;
Nationalisation of assets
\\ \midrule
Author 2 (Year)
& War; Revolution; Civil disorders
& \multicolumn{2}{>{\hsize=\dimexpr2\hsize+2\tabcolsep+\arrayrulewidth
\centering\arraybackslash}X}{%
Inconsistent government policies }
\\
author & En-\linebreak forcing\linebreak line\linebreak breaks
\\
\begin{tabular}[]{@{}c@{}}
line\\breaks\\in\\a\\normal\\cell
\end{tabular}
& other cell & other cell
\\
\bottomrule
\end{tabularx}
\end{table}
\end{document}