![如何对齐具有不同前缀的表列表](https://linux22.com/image/361484/%E5%A6%82%E4%BD%95%E5%AF%B9%E9%BD%90%E5%85%B7%E6%9C%89%E4%B8%8D%E5%90%8C%E5%89%8D%E7%BC%80%E7%9A%84%E8%A1%A8%E5%88%97%E8%A1%A8.png)
我的记忆是用法语写的,但其中一节包含一篇英文文章。因此,表格的标题有两种样式:“Tableau”和“Table”,如附图所示。我可以用不同的前缀对齐这些标题吗?此外,我可以修改标题编号和标题文本之间的间距吗?下面的链接提供了 MWE。
\documentclass[letterpaper,12pt,oneside,final]{book}
\usepackage[english,frenchb]{babel} % le langage par défaut est le dernier de la liste, c'est-à-dire français
\usepackage{multirow}
\usepackage{booktabs}
\begin{document}
\renewcommand\listtablename{LISTE DES TABLEAUX}
{%
\let\oldnumberline\numberline%
\renewcommand{\numberline}{\tablename~\oldnumberline}%
\listoftables%
}
\newpage
\begin{table}[htp]
\centering
\caption{Forces volontaires maximales $F_{max}$(N)}\label{table:Fmax}
\begin{tabular}{c|llll|c|llll}
\toprule
Sujets & \multicolumn{4}{c}{Muscles pour FE} & Sujets & \multicolumn{4}{c}{Muscles pour FE} \\
DT & BB & BR & BL & TB & SHCP & BB & BR & BL & TB\\
\midrule
1 & *1 & & & & 1 & 28 & 9 & 103 & 287 \\
2 & 86 & 100 & 380 & 1027 & 2 & 314 & 50 & 332 & 925 \\
3 & 194 & 40 & 113 & 688 & 3 & 59 & 84 & 183 & 650 \\
\bottomrule
\end{tabular}
\end{table}
\begin{otherlanguage}{english}
\begin{table}[htp]
\centering
\caption{LOOCV results}\label{table:LOOCVresults}
\begin{tabular}{c|cccc}
\toprule
\multirow{2}{*}{Muscles} & \multicolumn{4}{c}{PCC values $\pm$standard deviations} \\
& \parbox{3cm}{Crowninshield's cost-function} & Forster's cost-function & KEB cost-function & \parbox{3cm}{EMG-driven method}\\
\midrule
BB & 0.82 $\pm$ 0.13 & 0.81 $\pm$ 0.13 & 0.85 $\pm$ 0.12 & 1 \\
BR & 0.65 $\pm$ 0.15 & 0.62 $\pm$ 0.17 & 0.65 $\pm$ 0.15 & 1 \\
BL & 0.45 $\pm$ 0.12 & 0.48 $\pm$ 0.12 & 0.82 $\pm$ 0.12 & 1 \\
TB & 0.60 $\pm$ 0.12 & 0.66 $\pm$ 0.12 & 0.78 $\pm$ 0.07 & 1 \\
\bottomrule
\end{tabular}
\end{table}
\end{otherlanguage}
\end{document}
答案1
我把你的\numberline
重新定义改为
\renewcommand{\numberline}{\def\tmp{\tablename~\oldnumberline}\zz\tmp}%
\def\zz#1#2{\makebox[1in][l]{#1{#2}}}
这是一个恰好奏效的技巧。我\zz
在重新定义中传递一个参数\numerline
,但定义\zz
要接受 2 个参数。因此,它会抓取输入流中的下一个内容作为其第二个参数,该参数恰好是表号。然后它将组合设置在框内。已编辑以重新#2
组合\zz
。
\makebox
这是 MWE。枚举表号和标题之间的间隙将由为(此处为)留出多少空间决定1in
。
\documentclass[letterpaper,12pt,oneside,final]{book}
\usepackage[english,frenchb]{babel} % le langage par défaut est le dernier de la liste, c'est-à-dire français
\usepackage{multirow}
\usepackage{booktabs}
\begin{document}
\renewcommand\listtablename{LISTE DES TABLEAUX}
{%
\let\oldnumberline\numberline%
\renewcommand{\numberline}{\def\tmp{\tablename~\oldnumberline}\zz\tmp}%
\def\zz#1#2{\makebox[1in][l]{#1{#2}}}
\listoftables%
}
\newpage
\begin{table}[htp]
\centering
\caption{Forces volontaires maximales $F_{max}$(N)}\label{table:Fmax}
\begin{tabular}{c|llll|c|llll}
\toprule
Sujets & \multicolumn{4}{c}{Muscles pour FE} & Sujets & \multicolumn{4}{c}{Muscles pour FE} \\
DT & BB & BR & BL & TB & SHCP & BB & BR & BL & TB\\
\midrule
1 & *1 & & & & 1 & 28 & 9 & 103 & 287 \\
2 & 86 & 100 & 380 & 1027 & 2 & 314 & 50 & 332 & 925 \\
3 & 194 & 40 & 113 & 688 & 3 & 59 & 84 & 183 & 650 \\
\bottomrule
\end{tabular}
\end{table}
\begin{otherlanguage}{english}
\def\blob{
\begin{table}[htp]
\centering
\caption{LOOCV results}\label{table:LOOCVresults}
\begin{tabular}{c|cccc}
\toprule
\multirow{2}{*}{Muscles} & \multicolumn{4}{c}{PCC values $\pm$standard deviations} \\
& \parbox{3cm}{Crowninshield's cost-function} & Forster's cost-function & KEB cost-function & \parbox{3cm}{EMG-driven method}\\
\midrule
BB & 0.82 $\pm$ 0.13 & 0.81 $\pm$ 0.13 & 0.85 $\pm$ 0.12 & 1 \\
BR & 0.65 $\pm$ 0.15 & 0.62 $\pm$ 0.17 & 0.65 $\pm$ 0.15 & 1 \\
BL & 0.45 $\pm$ 0.12 & 0.48 $\pm$ 0.12 & 0.82 $\pm$ 0.12 & 1 \\
TB & 0.60 $\pm$ 0.12 & 0.66 $\pm$ 0.12 & 0.78 $\pm$ 0.07 & 1 \\
\bottomrule
\end{tabular}
\end{table}
}
\blob\blob\blob\blob\blob\blob\blob\blob\blob
\end{otherlanguage}
\end{document}
如果目标是让它们右对齐,请将 更改为[l]
。[r]
定义[1in]
中的框大小\zz
可能需要调整。