我想知道该siunitx
包是否提供了在单位后添加形容词的可能性,以获得带连字符的复合形容词。
例如,在排版“一条10公里长的道路”时,我想将形容词作为可选参数传递给\SI{1}{\kilo\meter}
,如\SI[[adj=long]{1}{\kilo\meter}
,而不必输入\SI{1}{\kilo\meter}-long
。
请理解,语法没有任何问题\SI{1}{\kilo\meter}-long
。只是“感觉”用连字符连接命令和单词是错误的。此外,我认为这会让更正变得更直接一些。
如果没有提供此功能,那么软件包的作者是否想到了或者计划实现此功能?
答案1
你可以定义自己的宏:
\newcommand*\SIadj[4][]{\SI[#1]{#3}{#4}-#2}
并将其用作
\SIadj{long}{1}{\kilo\metre}
如果你想防止连字符使用
\newcommand*\SIadj[4][]{\mbox{\SI[#1]{#3}{#4}-#2}}
或者
\newcommand*\SIadj[4][]{\SI[#1]{#3}{#4}\hbox{-}#2}