使用 siunitx 自定义字体系列

使用 siunitx 自定义字体系列

我正在尝试在文档中设置一些相对较大的表格。我使用 fontspec 创建了一个新的字体系列,仅用于设置表格。具体来说,我使用 Bell Centennial 字体来设置表格。

我已经用以下方式定义了字体系列:

\newfontfamily\bellcentennial[
    Path = fonts/BC/ ,
    Extension = .otf ,
    UprightFont = *-Address ,
    BoldFont = *-NameNum
]{BellCentennialStd}

我的问题是,我不知道如何设置 siunitx 来使用\bellcentennial字体系列。使用detect-family只会给我标准数学罗马字体。

这应该是一个可接受的 MWE:

\documentclass{article}
\usepackage{fontspec}
\usepackage{siunitx}

\newfontfamily\bellcentennial[
    Path = fonts/BC/ ,
    Extension = .otf ,
    UprightFont = *-Address ,
    BoldFont = *-NameNum
]{BellCentennialStd}

\begin{document}
\begin{table}
    \centering
\begingroup
    \bellcentennial
    \fontsize{6pt}{6pt}
    \selectfont
    \begin{tabular}{r S S}
        \multicolumn{1}{c}{\textbf{Label}} & \multicolumn{2}{c}{\textbf{Numbers}} \\
        Foo & 1.2 & 3.4 \\
        Bar & 5.6 & 7.8 \\
        Baz & 9.0 & 12.34 \\
        Qux & 56.789 & 0.0 \\
    \end{tabular}
\endgroup
    \caption{The most wonderous of tables.}
    \label{tab:tableytabletable}
\end{table}
\end{document}
\end{table}

当然,除非您拥有 Bell Centennial 字体并使用与我相同的文件夹结构,否则您将必须重新定义\bellcentennial字体系列的定义才能在本地工作。

我确信在设置 siunitx 时我遗漏了一些明显的东西,但我不确定从哪里开始寻找。

答案1

重新定义什么text-rm

我把字体改成了一种非常独特的字体,没有你的那种。

\documentclass{article}
\usepackage{fontspec}
\usepackage{siunitx}

\newfontfamily\bellcentennial[
%    Path = fonts/BC/ ,
%    Extension = .otf ,
%    UprightFont = *-Address ,
%    BoldFont = *-NameNum
%]{BellCentennialStd}
  Ligatures=TeX
]{Futura}

\begin{document}
\begin{table}
\sisetup{detect-all,text-rm=\bellcentennial}
\centering
\begingroup\fontsize{6pt}{6pt}\bellcentennial

\begin{tabular}{r S S}
  \multicolumn{1}{c}{\textbf{Label}} & \multicolumn{2}{c}{\textbf{Numbers}} \\
  Foo & 1.2 & 3.4 \\
  Bar & 5.6 & 7.8 \\
  Baz & 9.0 & 12.34 \\
  Qux & 56.789 & 0.0 \\
\end{tabular}

\endgroup

\caption{The most wonderous of tables.}\label{tab:tableytabletable}
\end{table}
\end{document}

在此处输入图片描述

相关内容