在百分比后添加“+”会导致化学纯度和 siunitx 发生冲突

在百分比后添加“+”会导致化学纯度和 siunitx 发生冲突

我用siunitx它来描述一些化学纯度。我想描述的纯度是由化学公司以 99.9+ % 出售的(我确信这不是最好的描述方式)。当我尝试使用它来描述它时,siunitx它停止了pdflatex

\SI{99.9+}{\percent}

有没有什么办法可以解决这个问题siunitx

答案1

使用的选项是parse-numbers=false。但是,也许有稍微好一点的方法来呈现符号(或不那么糟糕):

\documentclass[convert,varwidth,border=2]{standalone}
\usepackage{siunitx}
\newcommand{\smallplus}{\raisebox{.3ex}{$\mkern1mu\scriptstyle+$}}
\newcommand{\smallerplus}{\raisebox{.45ex}{$\mkern1mu\scriptscriptstyle+$}}
\begin{document}
\SI[parse-numbers=false]{99.9+}{\percent}

\SI[parse-numbers=false]{99.9\smallplus}{\percent}

\SI[parse-numbers=false]{99.9\smallerplus}{\percent}
\end{document}

在此处输入图片描述

答案2

另一种可能性是将该符号添加到允许符号列表中:

\documentclass{article}
\usepackage{siunitx}
\newcommand\plus{+}
% egreg's nicer versions:
\newcommand\smallplus{\raisebox{.3ex}{$\mkern1mu\scriptstyle+$}}
\newcommand\smallerplus{\raisebox{.45ex}{$\mkern1mu\scriptscriptstyle+$}}

\sisetup{
  input-protect-tokens=\plus\smallplus\smallerplus,
  input-symbols=\plus\smallplus\smallerplus
}

\begin{document}

\SI{99.9\plus}{\percent}

\SI{99.9\smallplus}{\percent}

\SI{99.9\smallerplus}{\percent}

\end{document}

相关内容