LaTeX booktabs 表格,列移位

LaTeX booktabs 表格,列移位

这是新手的问题。我正在寻找一种方法来对齐拉伸的最后一列。

寻找答案:具有自定义列间距的 booktabs

我尝试使用 LaTeX 在线表格生成器,我的表格可以正常工作。但列发生了偏移,我不知道如何使用 LaTeX 命令在 R Markdown 中调整或修复此问题。生成器使用起来有点麻烦,我宁愿自己动手。

据我所知,下面的命令是正确的,但我遗漏了一些东西。

\begin{tabular}{@{}llcc@{}} 暗示了 4 列的对齐,对吧?将最后一列向左对齐没有帮助。似乎表格底部的拉伸文本导致了它的拉伸?

\multicolumn{4}{l}规定应该有 4 列。

所以我想问题是如何将范围限制在底线上,比如在新行中继续下标?还是直接新建一行?

添加\multicolumn{4}{l}{\textit{Italics}: significant model}会返回错误。

代码:

\begin{table}[h]
\centering
\begin{tabular}{@{}llcc@{}}
\toprule
{\textbf{Parameter}} & \multicolumn{1}{l}{\textit{Null\_model}} & \multicolumn{1}{l}{\textit{Model 1}} & \multicolumn{1}{l}{\textit{Model 2}} \\ 

\midrule

Intercept          & .652            & -.976                        & -.983                   \\
Round              &   -.145         & .1082                        & .111                    \\
Treatment          &                 & \underline{5.875}            & \underline{5.653}       \\
Neuroticism        &                 &                              & .013                    \\
Neur * Treatment   &                 &                              & .019                    \\
Round * Treatment  &                 & \underline{-.955}            & \underline{-.909}       \\ 

\midrule

LogLikelihood      & -830.51         &  -826.4                      & \textbf{-825.92}        \\
Deviance           & 1661.0          & 1652.8                       & \textbf{1651.8}         \\
df residual        & \textbf{235}    & 233                          & 231                     \\
Akaike IC          & 1671.0          & \textbf{1666.8}              & 1669.8                  \\
Bayesian IC        & \textbf{1688.4} & 1691.2                       & 1701.2                  \\ 

\midrule

\multicolumn{4}{l}{\textbf{Bold}: most optimal values. \underline{Underlined}: significant predictor \textit{Italics}: significant model}                                                                                                                                                                                            
\end{tabular}
\end{table}

显示如下内容:

在此处输入图片描述

答案1

字符串

\textbf{Bold}: most optimal values. \underline{Underlined}: significant predictor \textit{Italics}: significant model

相当长。重要的是,比 4 列tabular环境的自然宽度宽得多。因此,第四列和最后一列必须比其自然宽度宽得多。

如何修复此问题?我建议你更换

\multicolumn{4}{l}{\textbf{Bold}: most optimal values. \underline{Underlined}: significant predictor \textit{Italics}: significant model}

\multicolumn{4}{@{}l}{\textbf{Bold}: most optimal values.}\\
\multicolumn{4}{@{}l}{\underline{Underlined}: significant predictor} \\
\multicolumn{4}{@{}l}{\textit{Italics}: significant model}

完整的 MWE (最小工作示例):

在此处输入图片描述

\documentclass{article}
\usepackage{booktabs}
\usepackage{tabularx}
\newcolumntype{C}{>{\centering\arraybackslash}X}

\newcommand\blurb{\textbf{Bold}: most optimal values. \underline{Underlined}: significant predictor \textit{Italics}: significant model}
\newlength\lengtha
\settowidth{\lengtha}{\blurb}

\begin{document}

\begin{table}[h]
\centering
\begin{tabular}{@{}lccc@{}}
\toprule
\textbf{Parameter} & 
\textit{Null model} & 
\textit{Model 1} & 
\textit{Model 2} \\

\midrule

Intercept          & .652            & -.976                        & -.983                   \\
Round              &   -.145         & .1082                        & .111                    \\
Treatment          &                 & \underline{5.875}            & \underline{5.653}       \\
Neuroticism        &                 &                              & .013                    \\
Neuroticism $\times$ Treatment   &                 &                              & .019                    \\
Round $\times$ Treatment  &                 & \underline{-.955}            & \underline{-.909}       \\

\midrule

LogLikelihood      & -830.51         &  -826.4                      & \textbf{-825.92}        \\
Deviance           & 1661.0          & 1652.8                       & \textbf{1651.8}         \\
df residual        & \textbf{235}    & 233                          & 231                     \\
Akaike IC          & 1671.0          & \textbf{1666.8}              & 1669.8                  \\
Bayesian IC        & \textbf{1688.4} & 1691.2                       & 1701.2                  \\

\midrule

\multicolumn{4}{@{}l}{\textbf{Bold}: most optimal values.}\\
\multicolumn{4}{@{}l}{\underline{Underlined}: significant predictor} \\
\multicolumn{4}{@{}l}{\textit{Italics}: significant model}
\end{tabular}
\end{table}
\end{document} 

顺便问一下,什么是“最优”值?最优值与(普通)最优值有何不同?:-)



附录回答 OP 的后续问题,关于如何使列宽相等,同时在表格材料的最后一行有一个较长的 1 行图例。首先:不要这样做。结果不值得。

但如果你坚持的话,这里有一种方法可以实现这个可疑的目标:使用tabularx环境并将其整体宽度设置为字符串的宽度

\textbf{Bold}: most optimal values. \underline{Underlined}: significant predictor \textit{Italics}: significant model

请参阅以下屏幕截图以了解此努力的结果。除了表格看起来很糟糕之外,绝对不能保证 1 行图例的宽度以及整个tabularx环境的宽度适合文本块的宽度。果然,tabularx以下屏幕截图中的环境比文本块更宽。

简而言之,不要这样做。

在此处输入图片描述

\documentclass{article}
\usepackage{booktabs}
\usepackage{tabularx}
\newcolumntype{C}{>{\centering\arraybackslash}X}

\newcommand\blurb{\textbf{Bold}: most optimal values. \underline{Underlined}: significant predictor \textit{Italics}: significant model}
\newlength\lengtha
\settowidth{\lengtha}{\blurb}

\begin{document}
\begin{table}[h]
\begin{tabularx}{\lengtha}{@{}lCCC@{}}
\toprule
\textbf{Parameter} & 
\textit{Null model} & \textit{Model 1} & \textit{Model 2} \\

\midrule

Intercept          & .652            & -.976                        & -.983                   \\
Round              &   -.145         & .1082                        & .111                    \\
Treatment          &                 & \underline{5.875}            & \underline{5.653}       \\
Neuroticism        &                 &                              & .013                    \\
Neur * Treatment   &                 &                              & .019                    \\
Round * Treatment  &                 & \underline{-.955}            & \underline{-.909}       \\

\midrule

LogLikelihood      & -830.51         &  -826.4                      & \textbf{-825.92}        \\
Deviance           & 1661.0          & 1652.8                       & \textbf{1651.8}         \\
df residual        & \textbf{235}    & 233                          & 231                     \\
Akaike IC          & 1671.0          & \textbf{1666.8}              & 1669.8                  \\
Bayesian IC        & \textbf{1688.4} & 1691.2                       & 1701.2                  \\

\midrule

\multicolumn{4}{@{}l@{}}{\blurb}
\end{tabularx}
\end{table}
\end{document} 

答案2

这个答案不能解决您的问题(它已由@Mico 答案 +1 解决),而是为您的表格设计提供了新的方面。它可能对您来说很有趣。

我会用粗体文本强调粗体和带下划线的数字,并通过包中的使用***使用来区分它们。对于列类型,我会使用包中的列:\tnotethreeparttableSsiunitx

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{siunitx}
\usepackage{booktabs, makecell, threeparttable}
\renewcommand\theadfont{\normalsize\itshape}
\renewcommand\theadgape{}
\usepackage{caption}

\usepackage{xcolor}
\usepackage{etoolbox}

\begin{document}
    \begin{table}[h]
    \centering
\renewcommand{\bfseries}{\color{teal!30!black}\fontseries{b}\selectfont}
\robustify\bfseries
\newrobustcmd\B{\bfseries}
    \begin{threeparttable}
\begin{tabular}{@{}l*{3}{S[table-format=4.3,
                           group-four-digits,
                           mode=text,
                           detect-weight,
                           table-align-text-post=false,
                           table-space-text-post={**}]}
                @{}}
    \toprule
        &   \multicolumn{3}{c}{Significant models}                       \\
    \cmidrule{2-4}
\textbf{Parameter}
            &   {\thead{Null\_model}}
                        &   {\thead{Model 1}}
                                &   {\thead{Model 2}}                   \\
    \midrule
Intercept   &   .652    & -.976 & -.983                                 \\
Round       &   -.145   & .1082 & .111                                  \\
Treatment   &           & \B  5.875\tnote{**}   & \B 5.653\tnote{**}    \\
Neuroticism &           &                       & .013                  \\
Neur * Treatment
            &           &                       & .019                  \\
Round * Treatment
            &           & \B 955\tnote{**}      & \B -.909\tnote{**}    \\
\midrule
LogLikelihood
            & -830.51   &  -826.4               & \B -825.92\tnote{*}   \\
Deviance    & 1661.0    & 1652.8                & \B 1651.8\tnote{*}    \\
df residual & \B 235\tnote{*}
                        & 233                   & 231                   \\
Akaike IC   & 1671.0    & \B 1666.8\tnote{*}    & 1669.8                \\
Bayesian IC & \B 1688.4\tnote{*}
                        & 1691.2                & 1701.2                \\
    \midrule
\end{tabular}
\begin{tablenotes}[para]\footnotesize
    \item[*]:   most optimal values.
    \item[**]:  significant predictor
\end{tablenotes}
\end{threeparttable}
    \end{table}
\end{document}

这使:

在此处输入图片描述

相关内容