当加粗电子表格计算时,如何让电子表格和 siunitx 顺利共存?

当加粗电子表格计算时,如何让电子表格和 siunitx 顺利共存?

我找不到办法来解决这个恼人的极端情况。

在这个例子中,正确地spreadtab给出了值cell(foo)+cell(bar),但是如果在那个单元格中使用siunitx则不会执行其操作,因为为了使示例能够编译,我被迫隐藏计算(显然)。\bfseriesspreadtabsiunitx

所显示的值20.687应为20.69。并且数字未对齐。小数点位置错误。

我怎样才能安抚spreadtab两者siunitx

在电子表格中将数字与 siunitx 对齐,包括计算出的数字看起来是同样的问题,但唯一的答案并没有描述令人满意的解决方案。

有人可以建议一个解决方法吗?

\documentclass[12pt]{standalone}
\usepackage{siunitx}
\usepackage{spreadtab}

\RequirePackage{unicode-math}
\setmainfont[Scale=0.93]{TeX Gyre Schola}
\setmathfont[Scale=0.93]{TeX Gyre Schola Math}

\begin{document}
\begin{spreadtab}{{tabular}{S[table-format=6.2, round-mode=places, round-precision=2, detect-weight=true]}}
  tag(foo) 10.343\\
  tag(bar) 10.344\\
  cell(foo)+cell(bar)\\
  \bfseries :={cell(foo)+cell(bar)}\\
\end{spreadtab}
\end{document}

答案1

siunitx 使用数学来打印数字,因此您需要一个 boldmath 字体。要么切换到文本模式,要么定义一个粗体数学版本:

\documentclass[12pt]{standalone}
\usepackage{siunitx}
\usepackage{spreadtab}

\RequirePackage{unicode-math}
\setmainfont[Scale=0.93]{TeX Gyre Schola}
\setmathfont[Scale=0.93]{TeX Gyre Schola Math}
\setmathfont{TeX Gyre Schola Math}[version=bold,FakeBold=2]
\begin{document}

\begin{spreadtab}{{tabular}{S[table-format=6.2, round-mode=places, round-precision=2, detect-weight=true]}}
  tag(foo) 10.343\\
  tag(bar) 10.344\\
  cell(foo)+cell(bar)\\
  \bfseries :={cell(foo)+cell(bar)}\\
\end{spreadtab}
\end{document}

在此处输入图片描述

相关内容