使用 siunitx 格式化重量百分比 (wt.%)

使用 siunitx 格式化重量百分比 (wt.%)

当表达诸如按重量计 90% 的值时,我看到论文使用所有这些格式:

  • 90 重量%
  • 90 重量%
  • 90 重量 %
  • 90 重量%
  • 90 重量百分比
  • 90 重量百分比

可能还有更多。如何使用该siunitx包来处理这些格式,而无需手动重新格式化以适应每种样式?

答案1

定义新的单位名称:

\documentclass{article}

\usepackage{siunitx}

\DeclareSIUnit{\wtpercent}{wt\%}
%\DeclareSIUnit{\wtpercent}{wt.\%}
%\DeclareSIUnit{\wtpercent}{wt\%}
%\DeclareSIUnit{\wtpercent}{wt~\%}
%\DeclareSIUnit{\wtpercent}{wt-\%}
%\DeclareSIUnit{\wtpercent}{wt.~percent\%}
%\DeclareSIUnit{\wtpercent}{weight~percent}

\begin{document}

\SI{90}{\wtpercent} 

\end{document}

然后您可以通过切换注释行来选择所需的行。

如果您还想支持数字和单位之间带有连字符的形式,则必须使用个人命令:

\documentclass{article}

\usepackage{siunitx}

\DeclareSIUnit{\wtpercent}{wt\%}
%\DeclareSIUnit{\wtpercent}{wt.\%}
%\DeclareSIUnit{\wtpercent}{wt\%}
%\DeclareSIUnit{\wtpercent}{wt-\%}
%\DeclareSIUnit{\wtpercent}{wt.~percent\%}
%\DeclareSIUnit{\wtpercent}{weight~percent}
\NewDocumentCommand{\SIwt}{O{}m}{\SI[#1]{#2}{\wtpercent}

% for the hyphen between the number and the unit
% uncomment the following lines and comment out
% all preceding ones
%\DeclareSIUnit{\wtpercent}{wt~\%}
%\NewDocumentCommand{\SIwt}{O{}m}{\SI[number-unit-separator={-},#1]#2}{\wtpercent}}

\begin{document}

\SIwt{90}

\end{document}

答案2

对你的问题的“回答”略有不同。ISO 和 NIST 建议不要使用重量/体积/物质的量百分比或任何其他变体,因为它会将信息与单位混淆。

请参阅指南的 7.10.2:https://www.nist.gov/publications/guide-use-international-system-units-si

因为 % 符号仅仅代表一个数字,所以给它附加信息是没有意义的(见第 7.4 节)。因此,必须避免使用诸如“重量百分比”、“质量百分比”、“体积百分比”或“物质的量百分比”等短语。同样,必须避免写成“% (m/m)”、“% (重量)”、“% (V/V)”、“% (体积)”或“% (mol/mol)”。首选形式是“质量分数为 0.10”或“质量分数为 10%”...

这是一种冗长的方式,建议您改用:

The mass fraction is \qty{90}{\percent}

我个人更喜欢最能表达含义的表示方法,而“wt%”或“% (m/m)”都相当不错。但如果您的目标是找到一个所有出版物都能接受的解决方案,那么许多出版物都不会接受“质量百分比”的任何变体。

相关内容