将 siunitx 中的 \percent 单位重新定义为仅在运行文本中的“百分比”

将 siunitx 中的 \percent 单位重新定义为仅在运行文本中的“百分比”

我需要重新定义\percent单位,siunitx使其在运行文本中显示为“百分比”,但在表格和方程式中仍显示为“%”。我认为一定有一个选项,但我查看了软件包文档,没有找到任何选项。

答案1

我不知道是否有方法可以确定您是否在表中。什么exist 是一种检查您是否处于数学模式的方法;您可以执行以下操作:

\documentclass{article}
\usepackage{siunitx}

\DeclareSIUnit{\textpercent}{percent}
\newcommand{\autopercent}{\ifmmode\,\si{\percent}\else\si{\textpercent}\fi}

\begin{document}

This is in text: 12~\autopercent; and you have to use \verb|{}| after the 
command as in 5~\autopercent{} if you have a space after. In equation:
\[
A = 14\autopercent
\]

\end{document}

在此处输入图片描述

相关内容