我使用xltabular
来处理tabularx
多页表格。我查看了各种选项,这个似乎是最新的,也是我可以使用的一个。
但是,我无法让自定义字幕与之配合使用。这是 MWE。它可以编译,但是一旦我取消注释该\captionsetup
命令,它就不再编译。有人知道该如何修复吗?
我努力了:
将
[longtable]
其作为类型放入\captionsetup
(因为理论上xltabular
确实加载longtable
)。将其移动
\label
到底部,但这会让人xltabular
感到不安,因为出于某种原因,xltabular
它仅适用于标题括号内的标签。tabularx
尝试过之前和之后的加载xltabular
(可能没有必要,而且没有帮助)。事实上,我多次重新排列了所有包的顺序……甚至先做标题和选项也不起作用。
有人知道该怎么解决吗?我有很多标题,我宁愿在序言中更改一次,而不是更改每个标题……
\documentclass[11pt]{article}
\usepackage{xltabular}
\usepackage{caption}
\DeclareCaptionLabelSeparator*{mysep}{:\\}
% \captionsetup { font ={small,sc,onehalfspacing},
% labelfont ={bf,sc},
% labelsep =newline,
% tableposition =top,
% skip =5pt}
\begin{document}
% Table
%
\newcolumntype{L}[1]{>{\hsize=#1\hsize\raggedright\arraybackslash}X}%
\begin{xltabular}{\textwidth}{ L{0.1} L{0.15} L{2.8} L{0.95} }
\caption{Blah blah blah. \label{tab:blah}}\\
\hline\hline \multicolumn{2}{c}{Ref}&Focus&Approach\\\hline
\endfirsthead
\multicolumn{4}{l}{\dots Continued}\\
\hline\hline \multicolumn{2}{c}{Ref}&Focus&Approach\\\hline
\endhead
\multicolumn{4}{l}{\dots Continued}\\
\endfoot
\endlastfoot
B & Blah & Words Words Words & More Words \\
B & Blah & Words Words Words & More words \\
\hline\hline
\end{xltabular}
\end{document}
编辑以询问两个后续问题:
这个 MWE 在我的测试文档中也能正常工作,但由于某些未知原因,第一个标题以斜体排版......这让我很困惑。
第二:在我的实际文档中,表格的第一个版本\hline
正确地排版了 double。但在这个版本的表格中(没有太大区别),它将两个\hline
s 排版在一起。
\newcolumntype{C}[1]{>{\hsize=#1\hsize\centering\arraybackslash}X}%
\newcolumntype{M}[1]{>{$}#1<{$}}
\begin{xltabular}{\textwidth}{ M{C{0.25}} L{1.75} }
\caption{Sets used in ($\mathcal{M}$).\label{tab:set} }\\
\hline\hline
Symbol & Description \\ \hline
\endfirsthead
\multicolumn{2}{l}{\dots Continued}\\
\hline\hline
Symbol & Description \\ \hline
\endhead
\multicolumn{2}{r}{Continued\dots}
\endfoot
\endlastfoot
\mathcal{A} & blah, $a$ \\
\mathcal{D} & blah, $d$ \\
\hline\hline
\end{xltabular}
MWE 和我所有荒谬的快捷方式!如果我不使用快捷方式,我的一些方程式会变得非常长。:-( 没有它们基本上无法阅读。
\documentclass[11pt]{article}
\usepackage[usenames,dvipsnames,table]{xcolor}
\usepackage{setspace}
\usepackage{xltabular}
\usepackage{caption}
\DeclareCaptionLabelSeparator*{mysep}{:\\}
\captionsetup { font ={small,sc,onehalfspacing},
labelfont ={bf,sc},
labelsep =mysep,
tableposition =top,
skip =5pt}
\begin{document}
\newcolumntype{L}[1]{>{\hsize=#1\hsize\raggedright\arraybackslash}X}%
\newcolumntype{C}[1]{>{\hsize=#1\hsize\centering\arraybackslash}X}%
\newcolumntype{M}[1]{>{$}#1<{$}}
\newcommand{\bfsc} [1] {\textbf{\sc{#1}}} % Consistent table heading format
\newcommand{\mc} [1] {\mathcal{#1}}
\newcommand{\cmctr}[3]
{\rowcolor{#1}\multicolumn{#2}{c}{\sc{#3}} \\ \hline}
\newcommand{\lp} {\left(}
\newcommand{\rp} {\right)}
\newcommand{\aij} {\lp i,j \rp}
\begin{xltabular}{\textwidth}{ M{C{0.25}} L{1.75} }
\caption{Sets used in ($\mc{M}$). \label{tab:set} }\\
\hline\hline
\bfsc{Symbol} & \bfsc{Description} \\ \hline
\endfirsthead
\multicolumn{2}{l}{\dots Continued}\\
\hline\hline
\bfsc{Symbol} & \bfsc{Description} \\ \hline
\endhead
\multicolumn{2}{r}{Continued\dots}
\endfoot
\endlastfoot
\cmctr{gray!30}{2}{Sets}
\mc{A} & blah, $\aij$ \\
\mc{D} & blah, $d$ \\
\hline\hline
\end{xltabular}
\end{document}
其结果为:
答案1
有一个非常简单的修复方法:setspace
当您想要使用时加载\onehalfspacing
。我借此机会\hline
用 中的规则替换了 s booktabs
,这为规则添加了一些垂直填充,并且具有可变的厚度。
\documentclass[11pt]{article}
\usepackage{setspace}
\usepackage{xltabular}
\usepackage{caption, booktabs}
\DeclareCaptionLabelSeparator*{mysep}{:\\}
\captionsetup { font ={small, sc, onehalfspacing},%
labelfont ={bf,sc},
labelsep =mysep, %newline,
tableposition =top,
skip =5pt}
\begin{document}
% Table
%
\newcolumntype{L}[1]{>{\hsize=#1\hsize\raggedright\arraybackslash}X}%
\begin{xltabular}{\textwidth}{ L{0.1} L{0.15} L{2.8} L{0.95} }
\caption{Blah blah blah. And some more text to see if onehalfspacing works in a caption \label{tab:blah}}\\
\toprule\midrule \multicolumn{2}{c}{Ref}&Focus&Approach\\\midrule
\endfirsthead
\multicolumn{4}{l}{\dots Continued}\\
\toprule\midrule \multicolumn{2}{c}{Ref}&Focus&Approach\\\hline
\endhead
\multicolumn{4}{l}{\dots Continued}\\
\endfoot
\endlastfoot
B & Blah & Words Words Words & More Words \\
B & Blah & Words Words Words & More words \\
\midrule\midrule
\end{xltabular}
\end{document}