垂直表格线与书页标签不连续

垂直表格线与书页标签不连续

我在 LaTeX 中创建了一个表格,但边框有些问题。边框保持打开状态,而我希望它们关闭。此外,在最后一行,我希望垂直线消失,即我希望最后一行只有一列。有人可以修复它吗?这是我的代码和我的表格:

\documentclass{article}
\usepackage{booktabs}

 \begin{document}

 \begin{table} [h!]
\begin{center}
\begin{tabular}{|l|c|c|c|c|}
\hline
Parameters  & \multicolumn{2}{c}{Model 1} & \multicolumn{2}{c}{Model 2}\\ 
    \midrule

&  Coefficient & 95\% CI
&   Coefficient & 95\% CI \\ 
    \midrule

   $\beta_{concern_2}$  &   $0.190^{\ast}$ & (0.113, 0.268) & 0.171 & (0.100, 0.241)\\
   $\beta_{concern_3}$   &  0.117 &  (0.043, 0.191)  & 0.117 & (0.050, 0.183)\\ 
    $\beta_{concern_4}$ & 0.210  &  (0.139, 0.281)  & 0.190 & (0.127, 0.253)\\ 
     $\beta_{concern_5}$ & 0.204 & (0.135, 0.273)   & 0.111 & ( 0.049, 0.173)\\  
    $\beta_{breath_2}$  &  0.157 & (0.07,8 0.236) & 0.208 & (0.136, 0.280) \\
     $\beta_{breath_3}$ & 0.115 & (0.041, 0.189) & 0.100 & (0.034, 0.166) \\
    $\beta_{breath_4}$ & 0.236 &  (0.160, 0.311) & 0.301 & ( 0.234, 0.368)\\  
    $\beta_{breath_5}$ & 0.092 & (0.020, 0.163) & 0.079 & (0.015, 0.144) \\
   $\beta_{weath_2}$  &   0.164 & ( 0.092, 0.236) & 0.137 & (0.071, 0.203) \\
    $\beta_{weath_3}$  & 0.160 &  (0.089, 0.231) & 0.199 & (0.135, 0.263) \\
   $\beta_{weath_4}$ &  0.141 & (0.067, 0.215) & 0.133 & (0.066, 0.199) \\
    $\beta_{weath_5}$ & 0.176 & (0.103, 0.249) &  0.257 & (0.191, 0.323)\\ 
    $\beta_{sleep_2}$  & 0.111 & (0.036, 0.187) & 0.135 & (0.068 0.203)  \\ 
    $\beta_{sleep_3}$  & 0.110 & (0.036 0.184) & 0.176 &  0.110 0.242 \\   
    $\beta_{sleep_4}$  &  0.131 & (0.056 0.205 & 0.162 & 0.095 0.229 \\  
    $\beta_{sleep_5}$  & 0.011 & (-0.064, 0.086) & 0.034 & (-0.033, 0.101) \\ 
    $\beta_{act_2}$ &  0.135 & (0.060, 0.209) & 0.033 & (-0.033, 0.100) \\
    $\beta_{act_3}  $ &0.195 & (0.121, 0.269) & 0.203 & ( 0.137, 0.268)\\  
    $\beta_{act_4}  $ & 0.214 & ( 0.139, 0.290) & 0.254 & (0.186 0.321) \\ 
    $\beta_{act_5}  $ & 0.224 & (0.154, 0.294) & 0.158 & (0.095, 0.221) \\
\hline
    & *statistically significant at 5\% level \\
\hline
\end{tabular}
\caption{Regression Coefficients of model 1 and model 2 }
\label{beta}
\end{center}
\end{table}

 \end{document}

答案1

这是设计使然:作者booktabs讨厌表格中的垂直规则,我完全同意他的观点。您可以对间距参数采取行动,即

  • \abovetopsep(默认为 0pt),用于\toprule
  • \belowbottomsep(默认为 0pt),用于\bottomrule
  • \aboverulesep(默认为 0.4ex),用于 a 之上\midrule\cmidrule或者\bottomrule
  • \belowrulesep(默认为 0.65ex),在 a 下方使用\midrule\cmidrule或者\toprule

它们都是固定长度(不允许plusminus规范,而且它们也没有意义)。

通过(本地)将这些参数设置为零,垂直规则将匹配,但booktabs根本不使用命令会更简单:更重 \toprule并且\bottomrule完全不合适。

不要使用垂直线,这样表格的外观就会立即得到改善。

\documentclass{article}
\usepackage{amsmath}
\usepackage{booktabs}
\usepackage{array}
\newcolumntype{L}{>{$}l<{$}}
\newcolumntype{C}{>{$}c<{$}}
\newcolumntype{R}{>{$}r<{$}}
\newcommand{\nm}[1]{\textnormal{#1}}

\begin{document}

\begin{table} [h!]
\centering
\begin{tabular}{LCRCR}
\toprule
\multicolumn{1}{l}{Parameters} &
\multicolumn{2}{c}{Model 1}    &
\multicolumn{2}{c}{Model 2}    \\ 
\cmidrule(lr){2-3}
\cmidrule(lr){4-5}

&
\multicolumn{1}{c}{Coefficient} &
\multicolumn{1}{c}{95\% CI}     &
\multicolumn{1}{c}{Coefficient} &
\multicolumn{1}{c}{95\% CI}     \\
\midrule

\beta_{\nm{concern}_2} & 0.190\makebox[0pt][l]{$^{\ast}$} 
                               & ( 0.113, 0.268) & 0.171 & ( 0.100, 0.241) \\
\beta_{\nm{concern}_3} & 0.117 & ( 0.043, 0.191) & 0.117 & ( 0.050, 0.183) \\
\beta_{\nm{concern}_4} & 0.210 & ( 0.139, 0.281) & 0.190 & ( 0.127, 0.253) \\
\beta_{\nm{concern}_5} & 0.204 & ( 0.135, 0.273) & 0.111 & ( 0.049, 0.173) \\  
\beta_{\nm{breath}_2}  & 0.157 & ( 0.078, 0.236) & 0.208 & ( 0.136, 0.280) \\
\beta_{\nm{breath}_3}  & 0.115 & ( 0.041, 0.189) & 0.100 & ( 0.034, 0.166) \\
\beta_{\nm{breath}_4}  & 0.236 & ( 0.160, 0.311) & 0.301 & ( 0.234, 0.368) \\
\beta_{\nm{breath}_5}  & 0.092 & ( 0.020, 0.163) & 0.079 & ( 0.015, 0.144) \\
\beta_{\nm{weath}_2}   & 0.164 & ( 0.092, 0.236) & 0.137 & ( 0.071, 0.203) \\
\beta_{\nm{weath}_3}   & 0.160 & ( 0.089, 0.231) & 0.199 & ( 0.135, 0.263) \\
\beta_{\nm{weath}_4}   & 0.141 & ( 0.067, 0.215) & 0.133 & ( 0.066, 0.199) \\
\beta_{\nm{weath}_5}   & 0.176 & ( 0.103, 0.249) & 0.257 & ( 0.191, 0.323) \\
\beta_{\nm{sleep}_2}   & 0.111 & ( 0.036, 0.187) & 0.135 & ( 0.068, 0.203) \\ 
\beta_{\nm{sleep}_3}   & 0.110 & ( 0.036, 0.184) & 0.176 & ( 0.110, 0.242) \\   
\beta_{\nm{sleep}_4}   & 0.131 & ( 0.056, 0.205) & 0.162 & ( 0.095, 0.229) \\  
\beta_{\nm{sleep}_5}   & 0.011 & (-0.064, 0.086) & 0.034 & (-0.033, 0.101) \\ 
\beta_{\nm{act}_2}     & 0.135 & ( 0.060, 0.209) & 0.033 & (-0.033, 0.100) \\
\beta_{\nm{act}_3}     & 0.195 & ( 0.121, 0.269) & 0.203 & ( 0.137, 0.268) \\  
\beta_{\nm{act}_4}     & 0.214 & ( 0.139, 0.290) & 0.254 & ( 0.186, 0.321) \\ 
\beta_{\nm{act}_5}     & 0.224 & ( 0.154, 0.294) & 0.158 & ( 0.095, 0.221) \\
\midrule[\heavyrulewidth]
\multicolumn{5}{l}{\footnotesize$^*$ statistically significant at 5\% level} \\
\bottomrule
\end{tabular}
\caption{Regression Coefficients of model 1 and model 2}\label{beta}
\end{table}



\end{document}

我做出了一些显著的改变。

  1. 下标是直立的,是单词

  2. 通过使用表格本身的特征可以改善对齐方式;例如,第三列和第五列右对齐,因为仅在第一个坐标中有减号;如果减号也出现在第二个坐标中或标题更宽,则情况就不会如此。

  3. 通过\cmidrule它更容易显示标题如何对列进行分组。

  4. 使用了一个技巧来避免 * 占用空间。

  5. 使用一个array技巧来在数学模式下设置所有列,确保减号按原样打印。

  6. \centering用于代替center环境(增加垂直空间)。

在此处输入图片描述

如果需要将“95%CI”更改为“95%贝叶斯区间”,最好将长短语拆分为两行:修改块

\multicolumn{1}{c}{Coefficient} &
\multicolumn{1}{c}{95\% CI}     &
\multicolumn{1}{c}{Coefficient} &
\multicolumn{1}{c}{95\% CI}     \\
\midrule

进入

\multicolumn{1}{c}{Coefficient} & \multicolumn{1}{c}{95\% Bayesian} &
\multicolumn{1}{c}{Coefficient} & \multicolumn{1}{c}{95\% Bayesian} \\
                                & Interval                          &
                                & Interval                          \\
\midrule

答案2

当问题是让垂直线看起来好看时,我认为“不要使用垂直线”这个答案不是很有建设性。因此,如果您只想修改水平线的宽度并且不愿意使用书本标签,这里有一个解决方案:

\documentclass{article}
\usepackage{array}

\begin{document}

\begin{table} [h!]
\centering
\begin{tabular}{|l|c|c|c|c|}
\hline
Parameters  & \multicolumn{2}{c}{Model 1} & \multicolumn{2}{c}{Model 2}\\ 
    \noalign{\hrule height 1.5pt}

&  Coefficient & 95\% CI
&   Coefficient & 95\% CI \\ 
    \noalign{\hrule height 1.5pt}

   $\beta_{concern_2}$  &   $0.190^{\ast}$ & (0.113, 0.268) & 0.171 & (0.100, 0.241)\\
   $\beta_{concern_3}$   &  0.117 &  (0.043, 0.191)  & 0.117 & (0.050, 0.183)\\ 
    $\beta_{concern_4}$ & 0.210  &  (0.139, 0.281)  & 0.190 & (0.127, 0.253)\\ 
     $\beta_{concern_5}$ & 0.204 & (0.135, 0.273)   & 0.111 & ( 0.049, 0.173)\\  
    $\beta_{breath_2}$  &  0.157 & (0.07,8 0.236) & 0.208 & (0.136, 0.280) \\
     $\beta_{breath_3}$ & 0.115 & (0.041, 0.189) & 0.100 & (0.034, 0.166) \\
    $\beta_{breath_4}$ & 0.236 &  (0.160, 0.311) & 0.301 & ( 0.234, 0.368)\\  
    $\beta_{breath_5}$ & 0.092 & (0.020, 0.163) & 0.079 & (0.015, 0.144) \\
   $\beta_{weath_2}$  &   0.164 & ( 0.092, 0.236) & 0.137 & (0.071, 0.203) \\
    $\beta_{weath_3}$  & 0.160 &  (0.089, 0.231) & 0.199 & (0.135, 0.263) \\
   $\beta_{weath_4}$ &  0.141 & (0.067, 0.215) & 0.133 & (0.066, 0.199) \\
    $\beta_{weath_5}$ & 0.176 & (0.103, 0.249) &  0.257 & (0.191, 0.323)\\ 
    $\beta_{sleep_2}$  & 0.111 & (0.036, 0.187) & 0.135 & (0.068 0.203)  \\ 
    $\beta_{sleep_3}$  & 0.110 & (0.036 0.184) & 0.176 &  0.110 0.242 \\   
    $\beta_{sleep_4}$  &  0.131 & (0.056 0.205 & 0.162 & 0.095 0.229 \\  
    $\beta_{sleep_5}$  & 0.011 & (-0.064, 0.086) & 0.034 & (-0.033, 0.101) \\ 
    $\beta_{act_2}$ &  0.135 & (0.060, 0.209) & 0.033 & (-0.033, 0.100) \\
    $\beta_{act_3}  $ &0.195 & (0.121, 0.269) & 0.203 & ( 0.137, 0.268)\\  
    $\beta_{act_4}  $ & 0.214 & ( 0.139, 0.290) & 0.254 & (0.186 0.321) \\ 
    $\beta_{act_5}  $ & 0.224 & (0.154, 0.294) & 0.158 & (0.095, 0.221) \\

\hline
    & *statistically significant at 5\% level \\
\hline
\end{tabular}
\caption{Regression Coefficients of model 1 and model 2 }
\label{beta}
\end{table}

\end{document}

\midrule\toprule\bottomrule将被替换\noalign{\hrule height 1.5pt}为您所需的宽度。

您还可以在表格参数中使用!{\vrule width 2pt}而不是 来设置垂直线的宽度。|

我知道这个解决方案不是最佳的,但它可以解决问题,我希望它会有所帮助。

答案3

作为@冰球在他的回答中说道,布兰登·库岑斯基评论,这里的回复没有建设性,也没有回答问题。

在书标中使用垂直线的方法是(尽管不鼓励这样做)减少中间线上方和下方的空间:

 \aboverulesep=0ex
 \belowrulesep=0ex

这会使你的表格稍微拥挤,因此,要返回到常规表格线高度,你应该使用以下命令拉伸数组:

\renewcommand{\arraystretch}{SF}

其中 SF 是拉伸因子(使用 SF>1.0)。

为了以防万一,你应该在序言中添加这几行。

希望这能回答你的问题。

答案4

booktabs垂直线总是连续的,如果你使用tblrtalltblrlongtblr环境的规则tabularray包裹:

\documentclass{article}
\usepackage[a4paper,margin=2cm]{geometry}

\usepackage{xcolor,hyperref}
\hypersetup{colorlinks}

\usepackage{tabularray}
\UseTblrLibrary{booktabs}

\begin{document}

\section{First Solution with \texttt{tblr} Environment}

\begin{table}[h!]
\centering
\begin{tblr}{|l|c|c|c|c|}
\toprule
  Parameters & \SetCell[c=2]{c} Model 1 & & \SetCell[c=2]{c} Model 2 & \\ 
\midrule
             &  Coefficient & 95\% CI     &  Coefficient & 95\% CI \\ 
\midrule
   $\beta_{concern_2}$ & $0.190^{\ast}$ & (0.113, 0.268) & 0.171 & (0.100, 0.241)\\
   $\beta_{concern_3}$ & 0.117 &  (0.043, 0.191)  & 0.117 & (0.050, 0.183)\\ 
   $\beta_{concern_4}$ & 0.210 &  (0.139, 0.281)  & 0.190 & (0.127, 0.253)\\ 
   $\beta_{concern_5}$ & 0.204 & (0.135, 0.273)   & 0.111 & ( 0.049, 0.173)\\  
   $\beta_{breath_2}$  & 0.157 & (0.07,8 0.236) & 0.208 & (0.136, 0.280) \\
   $\beta_{breath_3}$  & 0.115 & (0.041, 0.189) & 0.100 & (0.034, 0.166) \\
\midrule
    & *Statistically significant at 5\% level \\
\bottomrule
\end{tblr}
\caption{Regression Coefficients of model 1 and model 2}
\label{alpha}
\end{table}

\section{Second Solution with \texttt{talltblr} Environment}

\begin{table}[h!]
\centering
\begin{talltblr}[
  caption = {Regression Coefficients of model 1 and model 2},
  label = {beta},
  note{*} = {Statistically significant at 5\% level.},
]{|l|c|c|c|c|}
\toprule
  Parameters & \SetCell[c=2]{c} Model 1 & & \SetCell[c=2]{c} Model 2 & \\ 
\midrule
             &  Coefficient & 95\% CI     &  Coefficient & 95\% CI \\ 
\midrule
   $\beta_{concern_2}$ & 0.190\rlap{\TblrNote{*}} & (0.113, 0.268) & 0.171 & (0.100, 0.241)\\
   $\beta_{concern_3}$ & 0.117 &  (0.043, 0.191)  & 0.117 & (0.050, 0.183)\\ 
   $\beta_{concern_4}$ & 0.210 &  (0.139, 0.281)  & 0.190 & (0.127, 0.253)\\ 
   $\beta_{concern_5}$ & 0.204 & (0.135, 0.273)   & 0.111 & ( 0.049, 0.173)\\  
   $\beta_{breath_2}$  & 0.157 & (0.07,8 0.236) & 0.208 & (0.136, 0.280) \\
   $\beta_{breath_3}$  & 0.115 & (0.041, 0.189) & 0.100 & (0.034, 0.166) \\
\bottomrule
\end{talltblr}
\end{table}

\end{document}

在此处输入图片描述

相关内容