完全左对齐的三部分表格单元格的第一列对齐失败

完全左对齐的三部分表格单元格的第一列对齐失败

我有一张长表格,高度为页面高度的 0.75 倍。我希望所有列都左对齐。我尝试了以下方法:

\documentclass{cta-author}

\usepackage{booktabs}
\usepackage{subcaption}
\usepackage{threeparttable}
\usepackage{pifont}
\usepackage{hyperref}


\begin{document}
\begin{table}[htp]

\begin{threeparttable}
\caption{My table}\label{tab:1}
\begin{tiny}
\begin{tabular}[width=\linewidth]{p{0.12\linewidth}p{0.3\linewidth}p{0.06\linewidth}p{0.07\linewidth}p{0.09\linewidth}p{0.09\linewidth}}
\toprule
Paper&method&p1&p2&p3&p4\\
\midrule 


\cite{c1} &method1 method1 method 1&\checkmark & \checkmark&\checkmark &\ding{55}\\
\rule{0pt}{4ex}

\cite{c2} &method2&\checkmark &\checkmark &\ding{55}&\ding{55}\\
\rule{0pt}{4ex}

\cite{c3}&method3 method3 method3 method3 &\ding{55} & \checkmark &\checkmark &\ding{55}\\
\rule{0pt}{4ex}
\midrule
my experiment test 123&method 4 method4&\checkmark &\ding{55} & \checkmark &\checkmark\\
\bottomrule
\end{tabular}
\begin{tablenotes}
\item *note
\end{tablenotes}


\end{tiny}
\end{threeparttable}
\end{table}


\end{document}

但是使用这个,除了包含论文引文的第一列之外,所有列都左对齐。当我尝试使用lp而不是p\begin{tabular}[width=\linewidth]{lp{0.12\linewidth}lp{0.3\linewidth}lp{0.06\linewidth}lp{0.07\linewidth}lp{0.09\linewidth}lp{0.09\linewidth}})时,虽然所有单元格都正确地左对齐,但我的表格宽度超过一列,并且违反了第二列的上下文。如何在两列页面中拥有一列宽度左对齐的三部分表格?

我正在使用 IET 论文模板IET-Submission-DoubleColumn-Template

这是我的第一列出现问题(所有其他列都左对齐): 在此处输入图片描述

我在这里使用了 Foxit 网格线,但在 TexWorks pdf 输出中是相同的。

答案1

第一列中部分单元格(但不是全部)略微缩进的原因在于您没有\rule{0pt}{4ex}用字符终止前几行的指令%。TeX 会将指令后面的换行符转换\rule{0pt}{4ex}为空格,这就是表格中显示的内容。

我还会将 替换\begin{tabular}[width=\linewidth]{...}\begin{tabular*}{\linewidth}{@{\extracolsep{\fill}} ...},并且与之相关的\end{tabular}\end{tabular*}

一个单独的问题:由于您不使用\tnote说明,所以我不清楚您为什么使用tablenotes环境。

在此处输入图片描述

\documentclass{article}% %% I don't have the "cta-author" document class file(s)

\usepackage{booktabs}
\usepackage[skip=0.333\baselineskip]{caption}
\usepackage{threeparttable}
\usepackage{pifont}

\usepackage{array} % for "\newcolumntype" macro
\newcolumntype{P}[1]{>{\raggedright\arraybackslash}p{#1}}
\newcolumntype{C}[1]{>{\centering\arraybackslash}p{#1}}

\usepackage{hyperref}
\begin{document}

\begin{table}[htp]
\begin{threeparttable}
\caption{My table}\label{tab:1}
%\tiny %% why "\tiny"?
\begin{tabular*}{\linewidth}{@{\extracolsep{\fill}} 
  P{0.20\linewidth} P{0.30\linewidth} *{4}{C{0.06\linewidth}} }
\toprule
Paper&method&p1&p2&p3&p4\\
\midrule 
\cite{c1} &method1 method1 method1\tnote{*}&\ding{51} & \ding{51}&\ding{51}&\ding{55}\\
\rule{0pt}{4ex}% % <-- note the comment symbol at end of line
\cite{c2} &method2&\ding{51}&\ding{51}&\ding{55}&\ding{55}\\
\rule{0pt}{4ex}% % <-- note the comment symbol at end of line
\cite{c3}&method3 method3 method3 method3 &\ding{55} & \ding{51} &\ding{51} &\ding{55}\\
\midrule % <-- "\midrule" must come before "\rule{0pt}{4ex}"
\rule{0pt}{4ex}% % <-- note the comment symbol at end of line
my experiment test 123&method 4 method4&\ding{51} &\ding{55} & \ding{51} &\ding{51}\\
\bottomrule
\end{tabular*}

\smallskip
\begin{tablenotes}[flushleft]
\item[*] Note
\end{tablenotes}

\end{threeparttable}
\end{table}
\end{document}

答案2

  • 抱歉,我没有记录您使用的类。我将其替换为article
  • 对我来说不是很清楚,除了错误使用表格宽度和rule表格行之间的距离之外,你的问题是什么
  • 如果您希望拥有更多垂直空间,可以使用\addlinespacebooktabs它可以有更多垂直空间的选项,例如在行\addlinespace[4ex]之间插入垂直空间4x(为什么您喜欢有这么多空间?)

在此处输入图片描述

\documentclass{article}%{cta-author}
\usepackage{pifont}
\usepackage{amssymb}
\usepackage{array, booktabs, threeparttable}
\usepackage[skip=1ex]{caption}
\usepackage{hyperref}


\begin{document}
    \begin{table}[htp]
    \setlength\tabcolsep{0pt}
\begin{threeparttable}
\caption{My table}
\label{tab:1}
\begin{tabular*}{\linewidth}{@{\extracolsep{\fill}}
                             l >{\raggedright}p{0.5\linewidth} c c c c}
    \toprule
Paper       & method    
                & p1            & p2            & p3            & p4        \\
    \midrule
\cite{c1}   & method1 method1 method 1                        
                & \checkmark    & \checkmark    & \checkmark    & \ding{55} \\
    \addlinespace
\cite{c2}   & method2
                & \checkmark    & \checkmark    & \ding{55}     & \ding{55} \\
    \addlinespace
\cite{c3}   & method3 method3 method3 method3 method3 method3 method3 method3 
                & \ding{55}     & \checkmark    & \checkmark    & \ding{55} \\
    \midrule
my experiment test 123
            & method4 method4
                & \checkmark    & \ding{55}     & \checkmark    & \checkmark\\
\bottomrule
\end{tabular*}
\begin{tablenotes}[flushleft]\footnotesize
\item *note
\end{tablenotes}
\end{threeparttable}
    \end{table}
\end{document}

相关内容