Wie kann ich bei Verwendung von Tabularx Text in Tabellen vertikal zentrieren und Einträge hinzufügen?

Wie kann ich bei Verwendung von Tabularx Text in Tabellen vertikal zentrieren und Einträge hinzufügen?

Wie zentriere ich Text in Tabellen vertikal, beispielsweise „Autor 1 (Jahr)“, und wie füge ich Zeilen zwischen Wörtern in Tabellen ein, sodass die Texte untereinander verlaufen, beispielsweise bei den Wörtern „Krieg“, „Revolution“ und „Zivilunruhen“?

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

Bildbeschreibung hier eingeben

Antwort1

Innerhalb einer XTypspalte können Sie \linebreakZeilenumbrüche einfügen. Innerhalb einer normalen Zelle können Sie ein \begin{tabular}{@{} <col> @{}}<content>\end{tabular}Konstrukt zum Einfügen von Zeilenumbrüchen verwenden (oder \makecellaus dem makecellPaket verwenden, das dasselbe tut).

Wenn Sie die Definition von so verwenden möchten, \\wie sie innerhalb einer Umgebung wäre , können Sie in Ihrer Präambel und in Ihrer Tabelle \centeringauch anstelle von verwenden .>{\centering\let\mynewline\\\arraybackslash}X\mynewline\linebreak

XWas die vertikale Ausrichtung von Typzellen betrifft : Sie können die Definition ändern, um anstelle von Typspalten für vertikal zentrierten Inhalt \tabularxcolumnzu verwenden .mp

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

Bildbeschreibung hier eingeben

verwandte Informationen