字幕包是否与 xltabular 不兼容?

字幕包是否与 xltabular 不兼容?

我使用xltabular来处理tabularx多页表格。我查看了各种选项,这个似乎是最新的,也是我可以使用的一个。

但是,我无法让自定义字幕与之配合使用。这是 MWE。它可以编译,但是一旦我取消注释该\captionsetup命令,它就不再编译。有人知道该如何修复吗?

我努力了:

  1. [longtable]其作为类型放入\captionsetup(因为理论上xltabular确实加载longtable)。

  2. 将其移动\label到底部,但这会让人xltabular感到不安,因为出于某种原因,xltabular它仅适用于标题括号内的标签。

  3. 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。但在这个版本的表格中(没有太大区别),它将两个\hlines 排版在一起。

\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} 

在此处输入图片描述

相关内容