使用 siunitx 表示二维点

使用 siunitx 表示二维点

我想用 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}

相关内容