调整表格列

调整表格列

我正在尝试制作带有文字的表格(这是为了中世纪的角色扮演)。

\begin{tabular}{ l l l l }
Delikt & Leichte Strafe & Mittlere Strafe & Schwere Strafe \\
Angriff auf einen Geweihten & Brandzeichnung & Blendung oder Abschneiden von Zungen oder Hand & Tod \\
Anstiftung zu Aufruhr &  Brandzeichnung & Tod &  Tod durch Rädern \\
Aufwiegelung & Bis zu 10 Stockhiebe & Pranger & Verbannung \\
\end{tabular}

提前非常感谢您。

如何创建相等的列?在 MS Word 中,可以调整列以使它们都具有相同的宽度,但是 LaTeX 也可以做到这一点吗?

答案1

您可以使用p(或mb)列类型来规定列宽。例如,您可以将表格写成:

\documentclass{article}
\usepackage{geometry}
\usepackage{booktabs}
\usepackage{tabularx}
\begin{document}
\centering
\begin{tabular}{ *{4}{>{\raggedright\arraybackslash}p{9em}} }
Delikt  & Leichte Strafe & Mittlere Strafe & Schwere Strafe \\
Angriff auf einen Geweihten 
        & Brandzeichnung 
            & Blendung oder Abschneiden von Zungen oder Hand 
                & Tod \\
Anstiftung zu Aufruhr 
        &  Brandzeichnung 
            & Tod 
                &  Tod durch Rädern \\
Aufwiegelung 
        & Bis zu 10 Stockhiebe 
            & Pranger 
                & Verbannung \\
\end{tabular}
\end{document}

这使

在此处输入图片描述

如您所见,在这种情况下,单元格中的长文本会被分成多行。

原始答案 但是,看看使用tabularray带有库的包是否能siunitx给出可接受的(更好的)结果:

\documentclass{article}
\usepackage[skip=0.333\baselineskip,
            font=small, labelfont=bf]{caption}
\usepackage{tabularray}
\UseTblrLibrary{siunitx}

\begin{document}
    \begin{table}[ht]
    \centering
    \caption{Vertical and lateral stresses of mortar.}
    \label{tab:c}
\begin{tblr}{hlines, vlines,
             colspec = {Q[l, wd=5em] *{3}{Q[c, wd=5em, si={table-format=1.2}]}},
              row{1} = {font=\bfseries}
             }
        & {{{Item 1}}} 
                & {{{Item 2}}} 
                    & {{{Item 3}}}  \\  
Group1  & 0.8   & 0.1   & 0.1       \\
Group2  & 0.1   & 0.8   & 0.1       \\
Group3  & 0.1   & 0.1   & 0.8       \\
Group4  & 0.34  & 0.33  & 0.33      \\
\end{tblr}
    \end{table}
\end{document}

在此处输入图片描述

编辑: 哎呀,我错误地复制了@WinnieNotThePooh 的回答中的表格。好吧,它可能充当一些类似表格的骨架,其中包含您希望按小数点对齐的数字。

使用您的表格(您显示有问题的片段)时,使用tabularray包的可能解决方案可以是:

\documentclass{article}
\usepackage{geometry}
\usepackage[ngerman]{babel}
\usepackage{ragged2e}
\usepackage[skip=0.333\baselineskip,
            font=small, labelfont=bf]{caption}
\usepackage{tabularray}
\UseTblrLibrary{booktabs}

\begin{document}
    \begin{table}[ht]
    \centering
    \caption{Vertical and lateral stresses of mortar.}
    \label{tab:c}
\begin{tblr}{ colsep = 3pt,
             colspec = {@{} *{4}{X[cmd=\RaggedRight]} @{}},
              row{1} = {font=\small\bfseries}
             }
    \toprule
Delikt  & Leichte Strafe 
                & Mittlere Strafe 
                        & Schwere Strafe        \\
    \midrule
Angriff auf einen Geweihten
        & Brandzeichnung
                & Blendung oder Abschneiden von Zungen oder Hand
                        & Tod                   \\
Anstiftung zu Aufruhr
        &  Brandzeichnung
                & Tod   &  Tod durch Rädern     \\
Aufwiegelung
        & Bis zu 10 Stockhiebe
                & Pranger
                        & Verbannung            \\
    \bottomrule
\end{tblr}
    \end{table}
\end{document}

编译结果为:

在此处输入图片描述

如果您将表格中的字体大小减小到\small(通过在后面添加此命令\begin{table}),您将获得更好的文本填充效果。在这种情况下,表格将如下所示:

在此处输入图片描述

答案2

取自这里 例 4.12

在此处输入图片描述

\documentclass{article}    
\usepackage[left=1.5cm,right=1.5cm,top=1.5cm,bottom=2cm,bindingoffset=0cm]{geometry}
\usepackage{graphicx}
\usepackage{booktabs}
\usepackage{tabularx}
\begin{document}
\begin{table}[!ht]
\caption{Vertical and lateral stresses of mortar.}
\vspace{0.5cm}
\begin{tabularx}{\textwidth}{|X | X | X | X|}
\hline
& Item1 & Item2 & Item3 \\ \hline
Group1 & 0.8 & 0.1 & 0.1 \\
Group2 & 0.1 & 0.8 & 0.1 \\
Group3 & 0.1 & 0.1 & 0.8 \\
Group4 & 0.34 & 0.33 & 0.33 \\ 
\hline
\end{tabularx}
\label{c}
\end{table}
\end{document}

相关内容