Estou escrevendo um documento mais longo dividido \frontmatter
e \mainmatter
usando a scrbook
classe. Embora tanto uma legenda de tabela quanto uma entrada LOT devam ser geradas para tabelas fornecidas no assunto principal, ambos os itens precisam ser omitidos/suprimidos para tabelas fornecidas no frontmatter (pense, por exemplo, lista de abreviações, lista de símbolos ...).
Além disso, para ter uma formatação consistente de legendas para tabelas, figuras, listagens etc., decidi contar com o caption
pacote.
Utilizando o caption
pacote para formatar a legenda das tabularray
tabelas conforme elaborado em diversos locais como:
- Como copiar automaticamente a formatação de \usepackage{caption} para a legenda do tabularray?
- Use o estilo de legenda definido com o pacote de legenda no longtblr do tabularray
- Continuação das legendas da tabela
Da mesma forma, a criação de tabelas sem legenda e entrada LOT é descrita em vários casos:
tabularray
manual do (https://ftp.rrzn.uni-hannover.de/pub/mirror/tex-archive/macros/latex/contrib/tabularray/tabularray.pdf, final da seção 4.1):
Se você escrever entry=none, o pacote tabularray não adicionará uma entrada na Lista de Tabelas. Portanto caption=text,entry=none é semelhante a \caption[]{text} em tabela longa. Se você escrever label=none, o pacote tabularray não percorrerá o contador da tabela e definirá os elementos caption-tag e caption-sep (veja abaixo) como vazios. Portanto caption=text,entry=none,label=none é semelhante a \caption*{text} em tabela longa, exceto pelo contador.
- Como faço para omitir a legenda de uma tabela continuada na segunda página usando tabularray
- Remova o rótulo da tabela em “longtblr”
Embora ambas as abordagens funcionem quando usadas sozinhas (talvez eu tenha perdido alguns casos extremos), não consigo que funcionem em combinação.
o que estou perdendo? Como posso usar o caption
pacote para formatar as legendas de uma tabularray
tabela suportando tanto tabelas sem legendas e entradas LOT (no frontmatter) quanto tabelas "normais" (no mainmatter) do meu documento?
MWE:
\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}