我有以下问题:
我希望表格上方的标题从左侧开始对齐,而不是与空格对齐。以下是从我的项目中复制粘贴的 MWE:
\documentclass[a4paper,fleqn]{cas-dc}
\usepackage[numbers]{natbib}
\usepackage{graphicx}
\begin{document}
\maketitle
\begin{table*}[pos=t]
\caption{Observed results of the user study.}
\label{tab:Result_time}
\resizebox{\textwidth}{!}{%
\begin{tabular}{lllllllllllll}
\toprule
& & \textbf{P1} & \textbf{P2} & \textbf{P3} & \textbf{P4} & \textbf{P5} & \textbf{P6} & \textbf{P7} & \textbf{P8} & \textbf{P9} & \textbf{P10} & \textbf{P11} \\ \midrule
\multicolumn{1}{c}{\multirow{3}{*}{\textbf{Scenario 1}}} & Accuracy & 100\% & 50\% & 100\% & 0\% & 100\% & 100\% & 100\% & 0\% & 100\% & 50\% & 100\% \\
\multicolumn{1}{c}{} & Time Taken & 18:13 & 15:40 & 16:26 & 20:32 & 17:10 & 18:08 & 16:22 & 18:50 & 12:18 & 16:27 & 15:41 \\
\multicolumn{1}{c}{} & Number of queries & 18 & 10 & 11 & 15 & 7 & 12 & 16 & 22 & 12 & 10 & 15 \\ \midrule
\textbf{Scenario 2} & Time Taken & 7:35 & 8:39 & 10:20 & 10:41 & 9:47 & 14:28 & 12:24 & 18:28 & 8:29 & 9:11 & 8:24 \\ \midrule
\textbf{Scenario 3} & Time Taken & 6:21 & 4:50 & 5:42 & 7:18 & 4:30 & 4:52 & 4:27 & 5:15 & 5:04 & 6:12 & 5:48
\\
\bottomrule
\end{tabular}
}
\end{table*}
\end{document}
我尝试添加\captionsetup{justification=justified}
但没有成功。
答案1
els-cas
在加载类时初始化一些变量(在本例中是保存标题框宽度的变量),这发生在设置页面几何之前,因此标题不知道文本宽度发生了变化(这是另一个错误)。
\textwidth
当使用两列表格时,您需要明确说明使用的宽度\begin{table*}[width=\textwidth]
,但您可以在序言中使用它来全局设置它:
\AtBeginDocument{\setlength{\FullWidth}{\textwidth}}
这将修复els-cas
的值\textwidth
(感谢 egreg 指出这一点)。另外,不要重新缩放表格。就这样。
在您的文档中:
\documentclass[a4paper,fleqn]{cas-dc}
\usepackage[numbers]{natbib}
\usepackage{graphicx}
\AtBeginDocument{\setlength{\FullWidth}{\textwidth}}
\begin{document}
\maketitle
\begin{table*}[pos=t,width=\textwidth]
\caption{Observed results of the user study.}
\label{tab:Result_time}
\begin{tabular}{@{}*{13}{l}@{}}
\toprule
& & \textbf{P1} & \textbf{P2} & \textbf{P3} & \textbf{P4} & \textbf{P5} & \textbf{P6} & \textbf{P7} & \textbf{P8} & \textbf{P9} & \textbf{P10} & \textbf{P11} \\ \midrule
\multicolumn{1}{@{}c}{\multirow{3}{*}{\textbf{Scenario 1}}} & Accuracy & 100\% & 50\% & 100\% & 0\% & 100\% & 100\% & 100\% & 0\% & 100\% & 50\% & 100\% \\
\multicolumn{1}{@{}c}{} & Time Taken & 18:13 & 15:40 & 16:26 & 20:32 & 17:10 & 18:08 & 16:22 & 18:50 & 12:18 & 16:27 & 15:41 \\
\multicolumn{1}{@{}c}{} & Number of queries & 18 & 10 & 11 & 15 & 7 & 12 & 16 & 22 & 12 & 10 & 15 \\ \midrule
\textbf{Scenario 2} & Time Taken & 7:35 & 8:39 & 10:20 & 10:41 & 9:47 & 14:28 & 12:24 & 18:28 & 8:29 & 9:11 & 8:24 \\ \midrule
\textbf{Scenario 3} & Time Taken & 6:21 & 4:50 & 5:42 & 7:18 & 4:30 & 4:52 & 4:27 & 5:15 & 5:04 & 6:12 & 5:48
\\
\bottomrule
\end{tabular}
\end{table*}
\end{document}
答案2
无关:
- 不要使用比例框来将表格容纳到文本宽度中。而是让 LaTeX 计算大小
\tabcolsep
,@{\extracolsep{\fill}}
如果需要,减少表格中使用的字体大小(在您的情况下不需要) - 由于从 MWE 可以看出,您有一个列文档,因此您可以使用简单
table
环境。此时您还没有报告问题:
\documentclass[a4paper,fleqn]{cas-dc}
\usepackage[numbers]{natbib}
%---------------- show page layout. don't use in a real document!
\usepackage{showframe}
\renewcommand\ShowFrameLinethickness{0.15pt}
\renewcommand*\ShowFrameColor{\color{red}}
%---------------------------------------------------------------%
\usepackage{lipsum}
\begin{document}
\lipsum[11]
\begin{table}[pos=ht]
\caption{Observed results of the user study. \lipsum[66]}
\label{tab:Result_time}
\setlength\tabcolsep{0pt}
\begin{tabular*}{\linewidth}{@{\extracolsep{\fill}} lllllllllllll }
\toprule
& & \textbf{P1} & \textbf{P2} & \textbf{P3} & \textbf{P4} & \textbf{P5}
& \textbf{P6} & \textbf{P7} & \textbf{P8} & \textbf{P9} & \textbf{P10}
& \textbf{P11} \\ \midrule
\multicolumn{1}{c}{\multirow{3}{*}{\textbf{Scenario 1}}}
& Accuracy
& 100\% & 50\% & 100\% & 0\% & 100\%
& 100\% & 100\% & 0\% & 100\% & 50\%
& 100\% \\
& Time Taken
& 18:13 & 15:40 & 16:26 & 20:32 & 17:10
& 18:08 & 16:22 & 18:50 & 12:18 & 16:27
& 15:41 \\
& Number of queries
& 18 & 10 & 11 & 15 & 7
& 12 & 16 & 22 & 12 & 10
& 15 \\ \midrule
\textbf{Scenario 2}
& Time Taken
& 7:35 & 8:39 & 10:20 & 10:41 & 9:47
& 14:28 & 12:24 & 18:28 & 8:29 & 9:11
& 8:24 \\ \midrule
\textbf{Scenario 3}
& Time Taken
& 6:21 & 4:50 & 5:42 & 7:18 & 4:30
& 4:52 & 4:27 & 5:15 & 5:04 & 6:12
& 5:48 \\
\bottomrule
\end{tabular*}
\end{table}
\end{document}
给出期望的结果: