有几个类似的问题(见这里和这里) 关于表格过满的问题\hboxes
,siunitx
但都没有解决/解释以下问题。考虑一下这个 MWE:
\documentclass{article}
\usepackage{booktabs}
\usepackage{siunitx}
\begin{document}
\begin{table}[t!]%
\centering%
\sisetup{detect-none, mode=math, table-format=+1.1, table-auto-round}%
\begin{tabular}{ls[table-alignment=left]SSSS}%
\toprule%
A & \newton & 0.32 & 3.8 & -4.5 & -0.6 \\%
B & \newton & -0.12 & 1.1 & -1.6 & -1.0 \\%
C & \milli\metre & -2.45 & -7.0 & 2.3 & -4.3 \\%
\bottomrule%
\end{tabular}%
\end{table}%
\end{document}
当使用 pdfLaTeX 进行编译时,\hbox
日志文件中会出现过多的语句(但是这些语句不会被拾取/标记TeXniCenter
为警告)。
当table-format
选项改变时table-format=+2.1
,警告仍然存在,但table-format=+3.1
警告突然从日志文件中消失。
我有两个问题:
- 为什么
table-format=+1.1
或会在日志文件中+2.1
产生过满\hbox
消息,而 不会table-format=+3.1
?我是否误解了siunitx
文档? - 为什么 pdfLaTeX 警告没有像 LaTeX 警告那样出现?这是 TeXnicCenter 特有的现象还是更普遍的行为?
答案1
键table-format
用于设置siunitx
在表格列中为数字保留多少空间。因此,它应该为该列中的最大条目保留足够的空间。格式与数字相同,输入由相同的代码处理。因此,如果您需要为符号保留空间,则建议使用-
而不是,因为标准设置在解析过程中会被“丢弃”。因此(可能)只会为小数点标记前一位和小数点标记后一位保留空间,而不会为符号保留空间。+
+
+1.1
如果您留出足够的空间,即使是“错误类型”,您也会看到警告消失。因此,像 这样的内容-2.1
将保留(在大多数情况下)与 相同的空间+3.1
,因为输入的“数字”和符号的宽度相同。因此,过度指定数字可能会消除警告,但代价是失去对实际发生情况的适当控制。
溢出框警告将出现在日志中,来自 TeX,而不是 LaTeX。它们如何呈现取决于您使用的编辑器。