多行被切断

多行被切断

我确实需要multirow在我的某个表格中使用,但不幸的是我无法让它工作。文本被截断并且没有垂直对齐。

我的代码有什么问题?

\documentclass[12pt,a4paper]{scrartcl} 
\usepackage{float}
\usepackage{caption}
\usepackage{siunitx}
\usepackage[table]{xcolor}
\usepackage{tabularx}
\usepackage{multicol}
\usepackage{multirow}
\usepackage{makecell}
\usepackage{booktabs}

\begin{document}
    \begin{table}[H]
        \centering
        \captionabove{Abstände der Nebenmaxima vom Hauptmaxima in den Beugungsbildern der Gitter A bis D}
        \label{tab:abstaende}
        \vspace{-10px}
        \rowcolors{2}{gray!10}{white}
        \begin{tabularx}{\linewidth}{ c c c c c m{0px} }
            \toprule \rowcolor{white}
                \multirowcell{2}[0.5ex]{Ordnung des \\ Nebenmaximums}  &   \multicolumn{4}{c}{Abstände vom Hauptmaximum [\si{mm}]}     &\\ \rowcolor{white}
                &   Gitter A    &   Gitter B    &   Gitter C    &   Gitter D        &\\[6pt]
            \midrule    
            \num{1}     &   \num[separate-uncertainty = true]{3.8 \pm 1}        &   \num[separate-uncertainty = true]{3.9 \pm 1}    &   \num[separate-uncertainty = true]{5.6 \pm 1}    &   \num[separate-uncertainty = true]{5.8 \pm 1}    &\\

            \num{2}     &   \num[separate-uncertainty = true]{7.8 \pm 1}            &   \num[separate-uncertainty = true]{7.7 \pm 1}    &   \num[separate-uncertainty = true]{11.6 \pm 1}   &   \num[separate-uncertainty = true]{11.8 \pm 1}   &\\

            \num{3}     &   \num[separate-uncertainty = true]{11.4 \pm 1}           &   \num[separate-uncertainty = true]{11.6 \pm 1}   &   \num[separate-uncertainty = true]{17.3 \pm 1}   &   \num[separate-uncertainty = true]{17.5 \pm 1}   &\\

            \num{4}     &   \num[separate-uncertainty = true]{15.4 \pm 1}   &   \num[separate-uncertainty = true]{15.4 \pm 1}   &   \num[separate-uncertainty = true]{23.3 \pm 1}   &   \num[separate-uncertainty = true]{23.5 \pm 1}   &\\

            \num{5}     &   \num[separate-uncertainty = true]{19.1 \pm 1}   &   \num[separate-uncertainty = true]{19.3 \pm 1}   &   \num[separate-uncertainty = true]{28.8 \pm 1}   &   \num[separate-uncertainty = true]{29.0 \pm 1}   &\\

            \num{6}     &   \num[separate-uncertainty = true]{23.2 \pm 1}   &   \num[separate-uncertainty = true]{23.0 \pm 1}   &   \num[separate-uncertainty = true]{34.7 \pm 1}   &   \num[separate-uncertainty = true]{34.9 \pm 1}   &\\

            \bottomrule \rowcolor{white}
        \end{tabularx}
    \end{table}
\end{document}

提前致谢!

在此处输入图片描述

答案1

第二行\multirowcell被行颜色覆盖。\multirow与表格颜色一起使用时,将\multirow条目放在最后一行,并使用否定nrows参数,如下所示:

    \toprule \rowcolor{white}
        &   \multicolumn{4}{c}{Abstände vom Hauptmaximum [\si{mm}]}     &\\ \rowcolor{white}
      \multirowcell{-2}[0.5ex]{Ordnung des \\ Nebenmaximums}   &   Gitter A    &   Gitter B    &   Gitter C    &   Gitter D        &\\[6pt]
    \midrule    

答案2

只需稍微重新格式化一下。我太慢了……

% arara: pdflatex

\documentclass[12pt]{scrartcl} 
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage{caption}
\usepackage{siunitx}
\sisetup{separate-uncertainty=true}
\usepackage[table]{xcolor}
\usepackage{multirow}
\usepackage{booktabs}

\begin{document}
\begin{table}
    \centering
    \caption{Abstände der Nebenmaxima vom Hauptmaxima in den Beugungsbildern der Gitter A bis D}
    \label{tab:abstaende}
    \rowcolors{2}{gray!10}{white} 
    \begin{tabular}{%
        S[table-format={1.0}] 
        S[table-format={2.1}, table-figures-uncertainty=1]
        S[table-format={2.1}, table-figures-uncertainty=1]
        S[table-format={2.1}, table-figures-uncertainty=1]
        S[table-format={2.1}, table-figures-uncertainty=1]
        }
        \toprule
        & \multicolumn{4}{c}{Abstände vom Hauptmaximum in \si{\milli\metre}} \\
        \multirow{-2}{*}{\begin{tabular}{@{}l@{}}Ordnung des\\Nebenmaximums\end{tabular}} & {Gitter A} & {Gitter B} & {Gitter C} & {Gitter D} \\
        \midrule  
        1 & 3.8  \pm 1 & 3.9  \pm 1 & 5.6  \pm 1 & 5.8  \pm 1 \\
        2 & 7.8  \pm 1 & 7.7  \pm 1 & 11.6 \pm 1 & 11.8 \pm 1 \\
        3 & 11.4 \pm 1 & 11.6 \pm 1 & 17.3 \pm 1 & 17.5 \pm 1 \\
        4 & 15.4 \pm 1 & 15.4 \pm 1 & 23.3 \pm 1 & 23.5 \pm 1 \\
        5 & 19.1 \pm 1 & 19.3 \pm 1 & 28.8 \pm 1 & 29.0 \pm 1 \\
        6 & 23.2 \pm 1 & 23.0 \pm 1 & 34.7 \pm 1 & 34.9 \pm 1 \\
        \bottomrule
    \end{tabular}
\end{table}
\end{document}

答案3

只需将 放在\multirow最后一行,行数为负数。我使用S中的列类型改进了您的表格siunitx,并简化了其编码。不需要 tabularx,因为您不使用列类型。我用中的X简单 替换了它,因此标题具有表格的宽度。最后一点:由于这些规则(和)周围的填充, 中的规则在彩色单元格的顶部和底部留下了一条细白条。有 的解决方法,它也有可变宽度规则而没有填充,但我作弊了,在必要时删除了此填充。tabularthreeparttablebooktabs\aboverulesep\belowrulesepmakecell

\documentclass[12pt,a4paper]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{float}
\usepackage{caption}
\usepackage{siunitx}
\usepackage{tabularx}
\usepackage{multicol}
\usepackage{multirow}
\usepackage{makecell, booktabs,  threeparttable}
\usepackage[table]{xcolor}

\begin{document}

\begin{table}[H]
    \centering
    \sisetup{table-format=2.1 (2), table-number-alignment=center,  separate-uncertainty = true,  table-figures-uncertainty=1,  %
     table-align-uncertainty}
    \begin{threeparttable}
    \captionabove{Abstände der Nebenmaxima vom Hauptmaxima in den Beugungsbildern der Gitter A bis D}
    \label{tab:abstaende}
    \vspace{-10px}
    \rowcolors{1}{white}{gray!10}
    \begin{tabular}{c*{4}{S} m{0px}}%
        \toprule
         & \multicolumn{4}{c}{Abstände vom Hauptmaximum [\si{mm}]} &\\
         \addlinespace
       \cellcolor{white}  \multirowcell{-2}{Ordnung des \\ Nebenmaximums} & {Gitter A} & {Gitter B} & {Gitter C} & {Gitter D} &\\[6pt]
        \noalign{\vspace{-\aboverulesep}}\midrule
        \num{1} & 3.8 (10) & 3.9  (10) & 5.6  (10) & 5.8  (10) &\\
        \num{2} & 7.8  (10) & 7.7  (10) & 11.6  (10) & 11.8  (10) &\\
        \num{3} & 11.4  (10) & 11.6  (10) & 17.3  (10) & 17.5  (10) &\\
        \num{4} & 15.4  (10) & 15.4  (10) & 23.3  (10) & 23.5  (10) &\\
        \num{5} & 19.1  (10) & 19.3  (10) & 28.8  (10) & 29.0  (10) &\\
        \num{6} & 23.2  (10) & 23.0  (10) & 34.7  (10) & 34.9  (10) &\\[-\aboverulesep]
        \bottomrule
    \end{tabular}
    \end{threeparttable}
\end{table}

\end{document} 

在此处输入图片描述

答案4

我想你想获得这样的东西:

在此处输入图片描述

编辑: 的组合皮特·范奥斯特鲁姆拉里法里我的第一个版本的答案(在答案的底部)为上面的表格图片提供了更简洁的代码:

\documentclass[12pt,a4paper]{scrartcl}
\usepackage{caption}
\usepackage{siunitx}
\usepackage[table]{xcolor}
\usepackage{booktabs, multirow, tabularx}
\belowrulesep=0pt
\aboverulesep=0pt    
\newcolumntype{C}{>{\centering\arraybackslash}X}
\newcommand\mcx[1]{\multicolumn{1}{C}{#1}}% new

\begin{document}
    \begin{table}
\renewcommand\arraystretch{1.2}
    \centering
\captionabove{Abstände der Nebenmaxima vom Hauptmaxima in den Beugungsbildern der Gitter A bis D}
    \label{tab:abstaende}
    \vspace{-10px}
    \rowcolors{2}{white}{gray!10}
\begin{tabularx}{\linewidth}{    C 
                            *{4}{S[table-format=2.1 (2),% from LaRiFaRi 
                                   separate-uncertainty = true,  
                                   table-figures-uncertainty=1]}}
    \toprule
    \rowcolor{white} % next dour lines from Piet van Oostrum
  & \multicolumn{4}{c}{Abstände vom Hauptmaximum [\si{mm}]}     \\
    \rowcolor{white}
\multirow{-2}{=}{Ordnung des Nebenmaximums}
  & \mcx{Gitter A} & \mcx{Gitter B} & \mcx{Gitter C} & \mcx{Gitter D}  \\
    \midrule % table content from LaRiFaRi
1 & 3.8  \pm 1 & 3.9  \pm 1 & 5.6  \pm 1 & 5.8  \pm 1 \\
2 & 7.8  \pm 1 & 7.7  \pm 1 & 11.6 \pm 1 & 11.8 \pm 1 \\
3 & 11.4 \pm 1 & 11.6 \pm 1 & 17.3 \pm 1 & 17.5 \pm 1 \\
4 & 15.4 \pm 1 & 15.4 \pm 1 & 23.3 \pm 1 & 23.5 \pm 1 \\
5 & 19.1 \pm 1 & 19.3 \pm 1 & 28.8 \pm 1 & 29.0 \pm 1 \\
6 & 23.2 \pm 1 & 23.0 \pm 1 & 34.7 \pm 1 & 34.9 \pm 1 \\
     \bottomrule 
\end{tabularx}
    \end{table}
\end{document}

与第一版答案相比,\num表中的用语被替换为S被建议的列类型拉里法里,行颜色按建议使用皮特·范奥斯特鲁姆,为表格列的宽度相等提供新命令\mcx

第一个版本: 至少使用tabularx一列必须是X类型。为了居中,我定义了新的列类型C(参见下面的 MWE)。第一列的使用num{...}不是必需的,对于其他列,设置在加载sinunitx包时定义

而且multirowrowcolors不能很好地协同工作。所以我将rowcolor命令添加到每个彩色行。arraystretch增加了,并且为了使表格看起来更好,将上下垂直空间规则booktabs设置为零。

最后一栏目的目的不明确。我将其删除,因为是多余的。

\documentclass[12pt,a4paper]{scrartcl}
%\usepackage{float}
\usepackage{caption}
\usepackage[separate-uncertainty = true]{siunitx}
\usepackage[table]{xcolor}
\usepackage{tabularx}
\usepackage{multicol}
\usepackage{booktabs, multirow}
\belowrulesep=0pt
\aboverulesep=0pt

\newcolumntype{C}{>{\centering\arraybackslash}X}

\begin{document}
    \begin{table}%[H]
\renewcommand\arraystretch{1.2}
        \centering
\captionabove{Abstände der Nebenmaxima vom Hauptmaxima in den Beugungsbildern der Gitter A bis D}
        \label{tab:abstaende}
        \vspace{-10px}
\begin{tabularx}{\linewidth}{ C C C C C}
    \toprule 
%    \rowcolor{white}
\multirow{2}{=}{Ordnung des \\ Nebenmaximums}
    &   \multicolumn{4}{c}{Abstände vom Hauptmaximum [\si{mm}]}     \\
    &   Gitter A    &   Gitter B    &   Gitter C    &   Gitter D    \\
    \midrule
\rowcolor{gray!10}
1   &   \num{3.8 \pm 1}        
        &   \num{3.9 \pm 1}
            &   \num{5.6 \pm 1}
                &   \num{5.8 \pm 1}    \\
2   &   \num{7.8 \pm 1}
        &   \num{7.7 \pm 1}
            &   \num{11.6 \pm 1}
                &   \num{11.8 \pm 1}   \\
\rowcolor{gray!10}
3   &   \num{11.4 \pm 1}
        &   \num{11.6 \pm 1}
            &   \num{17.3 \pm 1}
                &   \num{17.5 \pm 1}   \\
4   &   \num{15.4 \pm 1}
        &   \num{15.4 \pm 1}
            &   \num{23.3 \pm 1}
                &   \num{23.5 \pm 1}   \\
\rowcolor{gray!10}
5   &   \num{19.1 \pm 1}
        &   \num{19.3 \pm 1}
            &   \num{28.8 \pm 1}
                &   \num{29.0 \pm 1}   \\
6   &   \num{23.2 \pm 1}
        &   \num{23.0 \pm 1}
            &   \num{34.7 \pm 1}
                &   \num{34.9 \pm 1}   \\
    \bottomrule 
        \end{tabularx}
    \end{table}
\end{document}

相关内容