我想用 SI 单位来表示空间中的二维点,例如(2,1mm; 2mm)
或(2,1; 2)mm
,无论哪种在印刷术世界中被认为是最好的。
有没有合适的方法来实现这一点siunitx
?或者我只能这样做
(\SI{2}{mm}; \SI{2}{mm})
问题的关键在于我不知道如何用文本中的单位最好地表示二维点,因此具有合理默认值的预定义命令会很有用。
编辑:我正在寻找一种能够轻松适应不同国家且不破坏一致性的答案。
答案1
这里有两种写法。第一种更灵活,因为它设置了毫米的默认输出,可以通过可选参数更改。第二种更简单,但也是我在教科书中见过的唯一一种写法。
至于在小数点为逗号的国家/地区书写混乱的问题,我看过的大多数书籍中,他们以与世界其他地方相同的方式书写 2D 和 3D 点,将小数点改为点。我不知道这是否适用于所有国家/地区,但这是挪威的做法。我已为此添加了代码,使用\sisetup
。
它现在使用\SIlist
和,\numlist
正如评论中所要求的那样。 -command\sisetup{}
应该放在里面\NewDocumentCommand
,用括号括住内容,这样它只会影响命令,而不是全局更改。
当然,也可以直接将其完整地写出来。例如:
一道篱笆长3米,宽5米。
这完全取决于你到底在写什么。
输出
代码
\documentclass[11pt]{article}
\usepackage{siunitx}
\usepackage{xparse}
\sisetup{list-pair-separator= {; }}
\NewDocumentCommand{\Point}{mmo}{%
\IfNoValueTF{#3}%
{%
\mbox{(\numlist{#1;#2})}%% mboxes are here just to stop linebreak within a point.
}{%
\mbox{(\SIlist{#1;#2}{#3})}%
}%
}
\begin{document}
We have a point at \Point{2.2}{3} and another point at \Point{5}{6.66}[\centi\metre].
Alternatively, one could write:
A fence is \SI{3.3}{\metre} long and \SI{5,7}{\metre} wide.
\end{document}