longtable 和 floatrow:忽略字体命令

longtable 和 floatrow:忽略字体命令

如果我同时加载longtable( ltxtable) 和floatrow\sffamily则会被忽略,并且表格将以罗马字体排版。如果我禁用,则floatrow一切都会按预期工作。 floatrows\RawFloats命令在这里不起作用,无法作为解决方案。插入时,我只收到错误消息。

以下是示例代码:

\documentclass[]{scrbook}

\usepackage{ltxtable} %
\usepackage{filecontents} %
\usepackage{floatrow}
\usepackage{caption} %

\listfiles

\begin{document}

% Creation of the table in a separate file
\begin{filecontents}{content/longtable.tex}
\begin{longtable}{>{\itshape}l*{2}{X}}
\captionabove{longtable tabular with tabularx columns} \\
  \hline
  title & title \\ \hline
\endhead
  \hline
\endlastfoot
description   & content & \\
\end{longtable}
\end{filecontents}

% Loading of the table from the separate file
{
  \small\renewcommand{\arraystretch}{1.4}\sffamily
  \LTXtable{\textwidth}{content/longtable.tex}
}
\end{document}

结果如下

在此处输入图片描述

知道如何恢复表格中的无衬线字体吗?

答案1

floatrow包控制浮动对象内容的字体以及longtables 的字体,因此您必须将其添加\floatsetup[table]{font=sf}到您的序言中(并可能\sffamily从 的重新定义中删除\arraystretch)。有关详细信息,请参阅手册的第 3.1.2 节。

\documentclass[]{scrbook}

\usepackage{ltxtable} %
\usepackage{filecontents} %
\usepackage{floatrow}
\floatsetup[table]{font=sf}
\usepackage{caption} %

\listfiles

\begin{document}

% Creation of the table in a separate file
\begin{filecontents}{longtable.tex}
\begin{longtable}{>{\itshape}l*{2}{X}}
\captionabove{longtable tabular with tabularx columns} \\
  \hline
  title & title \\ \hline
\endhead
  \hline
\endlastfoot
description   & content & \\
\end{longtable}
\end{filecontents}

% Loading of the table from the separate file
{
  \small\renewcommand{\arraystretch}{1.4}
  \LTXtable{\textwidth}{longtable.tex}
}
\end{document}

在此处输入图片描述

编辑:如果您还想更改标题字体,请使用包\captionsetup提供的宏caption

\captionsetup[table]{labelfont=sf,font=sf}

在此处输入图片描述

相关内容