tabularray:在排版沒有標題或 LOT 條目的表格時,使用「caption」套件來格式化表格標題

tabularray:在排版沒有標題或 LOT 條目的表格時,使用「caption」套件來格式化表格標題

我正在編寫一個較長的文檔,分為\frontmatter\mainmatter使用該類scrbook。雖然應該為 mainmatter 中提供的表格產生表格標題和 LOT 條目,但對於 frontmatter 中給出的表格,這兩個項目都需要被省略/抑制(例如縮寫列表、符號列表...)。

此外,為了使表格、圖形、清單等具有一致的標題格式,我決定依賴該caption套件。

使用該caption包來格式化表格標題tabularray,如以下幾個地方所詳細說明的:

類似地,在多個實例中描述了建立沒有標題和 LOT 條目的表:

如果你寫entry=none,tabularray套件不會在表格列表中新增條目。因此,caption=text,entry=none 類似於 longtable 中的 \caption[]{text} 。如果你寫label=none,tabularray套件將不會步進表計數器,並將caption-tag和caption-sep元素(見下文)設為空。因此,caption=text,entry=none,label=none 類似於 longtable 中的 \caption*{text},除了計數器之外。

雖然這兩種方法在單獨使用時都有效(我可能錯過了一些邊緣情況),但我無法將其組合使用。

我缺什麼?如何使用該caption套件來格式化tabularray表格的標題,同時支援文件中沒有標題的表格和 LOT 條目(在 frontmatter 中)和「普通」表格(在 mainmatter 中)?

微量元素:

\documentclass{scrbook}
\usepackage[english]{babel}

\usepackage[
    font={footnotesize, sf},
    labelfont={bf},
]{caption}

\usepackage{tabularray}
\usepackage{tblr-extras}
\UseTblrLibrary{booktabs}
\UseTblrLibrary{caption}

% remove continuation line at table footer
\DefTblrTemplate{contfoot-text}{default}{}

% define table template with empty captions on first and continued table instances,
% remove continuation line in footer
\DeclareTblrTemplate{caption}{nocaptemplate}{}
\DeclareTblrTemplate{capcont}{nocaptemplate}{}
\DefTblrTemplate{contfoot}{nocaptemplate}{}

% use table template to define new theme
\NewTblrTheme{mytabletheme}{
  \SetTblrTemplate{caption}{nocaptemplate}{}
  \SetTblrTemplate{capcont}{nocaptemplate}{}
  \SetTblrTemplate{caption-lot}{empty}
}

\begin{document}

\frontmatter

\chapter{First Chapter in Frontmatter}

This chapter contains a table without any caption, label or LOT entry:
\begin{itemize}
    \item \texttt{entry = none}
    \item \texttt{label = none}
\end{itemize}

Problem: (Empty) caption and LOT entry are provided, when using \texttt{caption} and \texttt{tblr-extras} packages for formatting. Uncomment corresponding lines in header to see that is it working without the these two packages.

\begin{longtblr}[
    entry = none,
    label = none,
    % apply theme to obtain table without caption on continued table
    theme = mytabletheme,
    ]{
        colspec={
            l
            X[l]
        },
        rowhead = 1, rowfoot = 0,
    }
    \toprule
    column 1 & column 2 \\
    \midrule
    a & b \\
    \pagebreak
    a & b \\
    \bottomrule
\end{longtblr}

\listoftables

\mainmatter

\chapter{First Chapter in Mainmatter}

This chapter contains a table with caption, label and LOT entry.

\begin{longtblr}[
    caption = {The first table with caption},
    entry = {The first table with caption},
    label = {tbl:first_table_with_caption},
    ]{
        colspec={
            l
            X[l]
        },
        rowhead = 1, rowfoot = 0,
    }
    \toprule
    column 1 & column 2 \\
    \midrule
    a & b \\
    \pagebreak
    a & b \\
    \bottomrule
\end{longtblr}

\end{document}

相關內容