更改表格列的布局

更改表格列的布局

我创建了这个表格,但我对布局不满意。“音乐”列太靠右了。有没有办法让“歌剧”、“小歌剧”和“音乐”列分布在更均匀的大列中?你能跟上我的思路吗?如果能找到解决方案就太好了。谢谢。

\begin{table}[h!]
\centering

\begin{tabular}{lccc}
\noalign{%
\setlength{\arrayrulewidth}{1.1pt}%
\let\noalign\empty
\hline
}%
\rowcolor[HTML]{D7D7D7} & \multicolumn{3}{c}{\textbf{CAGR der Veranstaltungsentwicklung in \%}}  \\
\rowcolor[HTML]{D7D7D7} \textbf{Theater} & \textbf{Oper} & \textbf{Operette} & \textbf{Musical} \\ 
\hline
Staatstheater & -1,15 & -3,16 & 5,55 \\
Landestheater & -1,21 & -5,45 & -1,66 \\
Stadttheater & -1,71 & -2,48 & -3,09 \\
fusionierte Theater & -1,90 & -3,86 & -1,28 \\
\hline
\end{tabular}
\caption[Entwicklung der Musiktheaterveranstaltungszahlen der Theater der Studie 1 im Zeitraum 2008/2009 bis 2017/2018]{Entwicklung der Musiktheaterveranstaltungszahlen der Theater der Studie 1 im Zeitraum 2008/2009 bis 2017/2018}
\label{tab:entwickl_veranstaltung_alle_Theater}
\end{table}

在此处输入图片描述

答案1

更好的解决方案是tabularray包裹:

\documentclass{article}
\usepackage{xcolor}
\usepackage{tabularray}
\UseTblrLibrary{siunitx}
\begin{document}

With \verb!hspan=even! option:

\begin{table}[h!]
\centering
\begin{tblr}{
  colspec = {lccc},
  row{1-2} = {gray9,font=\bfseries},
  cell{1}{2} = {c=3}{c}, % multicolumn
  hspan = even, % distribute extra space evenly
}
\hline[1.1pt]
                      & CAGR der Veranstaltungsentwicklung in \% & &  \\
  Theater             & Oper  & Operette & Musical \\ 
\hline
  Staatstheater       & -1,15 & -3,16    &  5,55   \\
  Landestheater       & -1,21 & -5,45    & -1,66   \\
  Stadttheater        & -1,71 & -2,48    & -3,09   \\
  fusionierte Theater & -1,90 & -3,86    & -1,28   \\
\hline
\end{tblr}
\caption[Entwicklung der Musiktheaterveranstaltungszahlen der Theater der Studie 1 im Zeitraum 2008/2009 bis 2017/2018]{Entwicklung der Musiktheaterveranstaltungszahlen der Theater der Studie 1 im Zeitraum 2008/2009 bis 2017/2018}
\label{tab:entwickl_veranstaltung_alle_Theater}
\end{table}

With \verb!hspan=even! option and \verb!siunitx! library:

\begin{table}[h!]
\centering
\begin{tblr}{
  colspec = {l*{3}{S[table-format=-1.2]}},
  row{1-2} = {gray9,font=\bfseries},
  cell{1}{2} = {c=3}{c}, % multicolumn
  hspan = even, % distribute extra space evenly
}
\hline[1.1pt]
                      & {{{CAGR der Veranstaltungsentwicklung in \%}}} & & \\
  Theater             & {{{Oper}}}  & {{{Operette}}} & {{{Musical}}} \\ 
\hline
  Staatstheater       & -1,15 & -3,16    &  5,55   \\
  Landestheater       & -1,21 & -5,45    & -1,66   \\
  Stadttheater        & -1,71 & -2,48    & -3,09   \\
  fusionierte Theater & -1,90 & -3,86    & -1,28   \\
\hline
\end{tblr}
\caption[Entwicklung der Musiktheaterveranstaltungszahlen der Theater der Studie 1 im Zeitraum 2008/2009 bis 2017/2018]{Entwicklung der Musiktheaterveranstaltungszahlen der Theater der Studie 1 im Zeitraum 2008/2009 bis 2017/2018}
\label{tab:entwickl_veranstaltung_alle_Theater}
\end{table}

\end{document}

在此处输入图片描述

答案2

我将使用\makecell指令来对长标题进行换行。

在此处输入图片描述

\documentclass{article}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage[table]{xcolor}
\usepackage{makecell}
\usepackage[locale=DE]{siunitx}
\begin{document}

\begin{table}[h!]
\centering
\begin{tabular}{ l *{3}{S[table-format=-1.2]} }
\noalign{%
\setlength{\arrayrulewidth}{1.1pt}%
\let\noalign\empty
\hline
}%
\rowcolor[HTML]{D7D7D7} 
& \multicolumn{3}{c}{\bfseries \makecell{CAGR der Veranstaltungs-\\entwicklung, in \%}}  \\ 
\cline{2-4}
\rowcolor[HTML]{D7D7D7}  
\textbf{Theater} & {\textbf{Oper}} & {\textbf{Operette}} & {\textbf{Musical}} \\ 
\hline
Staatstheater & -1,15 & -3,16 & 5,55 \\
Landestheater & -1,21 & -5,45 & -1,66 \\
Stadttheater  & -1,71 & -2,48 & -3,09 \\
fusionierte Theater & -1,90 & -3,86 & -1,28 \\
\hline
\end{tabular}
\caption[Entwicklung der Musiktheaterveranstaltungszahlen der Theater der Studie 1 im Zeitraum 2008/2009 bis 2017/2018]{Entwicklung der Musiktheaterveranstaltungszahlen der Theater der Studie 1 im Zeitraum 2008/2009 bis 2017/2018}
\label{tab:entwickl_veranstaltung_alle_Theater}
\end{table}
\end{document}

答案3

我建议对最后三列使用S列类型 fromsiunitx并固定其宽度。我还擅自更改了前两行的灰色阴影。

    \documentclass{article}
    \usepackage{calc} 
    \usepackage{siunitx}
    \usepackage{caption} 
    \usepackage[table, svgnames]{xcolor}

    \begin{document}

    \begin{table}[h!]
    \centering
    \sisetup{table-format=-1.2, table-number-alignment=center, copy-decimal-marker, table-column-width=2cm}
    \captionsetup{labelfont=sc}
    \caption[Entwicklung der Musiktheaterveranstaltungszahlen der Theater der Studie 1 im Zeitraum 2008/2009 bis 2017/2018]{Entwicklung der Musiktheaterveranstaltungszahlen der Theater der Studie 1 im Zeitraum 2008/2009 bis 2017/2018}
    \label{tab:entwickl_veranstaltung_alle_Theater}
    \begin{tabular}{lSSS}
    \noalign{%
    \setlength{\arrayrulewidth}{1.1pt}%
    \let\noalign\empty
    \hline
    }%
    \rowcolor{Gainsboro!50!Lavender} \multicolumn{4}{r}{\textbf{CAGR der Veranstaltungsentwicklung in \%}} \\
    \rowcolor{Gainsboro!50!Lavender}\textbf{Theater} & {\bfseries Oper} & {\bfseries Operette} & {\bfseries Musical} \\
    \hline
    Staatstheater & -1,15 & -3,16 & 5,55 \\
    Landestheater & -1,21 & -5,45 & -1,66 \\
    Stadttheater & -1,71 & -2,48 & -3,09 \\
    fusionierte Theater & -1,90 & -3,86 & -1,28 \\
    \hline
    \end{tabular}
    \end{table}

    \end{document} 

在此处输入图片描述

答案4

我现在帮助了自己

\usepackage{array}

\newcolumntype{L}[1]{>{\raggedright\let\newline\\\arraybackslash\hspace{0pt}}m{#1}}
\newcolumntype{C}[1]{>{\centering\let\newline\\\arraybackslash\hspace{0pt}}m{#1}}
\newcolumntype{R}[1]{>{\raggedleft\let\newline\\\arraybackslash\hspace{0pt}}m{#1}}

\begin{table}[h!]
\centering
\small
\begin{tabular}{ l  C{2.1cm}  C{2.1cm}  C{2.1cm} }

...

相关内容