![使用 siunitx 格式化重量百分比 (wt.%)](https://linux22.com/image/342213/%E4%BD%BF%E7%94%A8%20siunitx%20%E6%A0%BC%E5%BC%8F%E5%8C%96%E9%87%8D%E9%87%8F%E7%99%BE%E5%88%86%E6%AF%94%20(wt.%25).png)
当表达诸如按重量计 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)”都相当不错。但如果您的目标是找到一个所有出版物都能接受的解决方案,那么许多出版物都不会接受“质量百分比”的任何变体。