![siunitx 中附加单位的间距](https://linux22.com/image/373291/siunitx%20%E4%B8%AD%E9%99%84%E5%8A%A0%E5%8D%95%E4%BD%8D%E7%9A%84%E9%97%B4%E8%B7%9D.png)
我想用 siunitx 写地理位置。我认为在这种表示法中,数字和度数符号之间不应该有空格,度数符号和 N/S 或 E/W 表示法之间也不应该有空格,就像摄氏度一样。所以我通常会53,5$^\circ$N
在普通的 LaTeX 中输入。
我尝试通过使用 siunitx 编写以下内容来实现这一点:
\documentclass{report}
\usepackage{siunitx}
\sisetup{output-decimal-marker={,}}
\DeclareSIUnit{\north}{N}
\begin{document}
\noindent
\SI{53,5}{\degree}\\
\SI{53,5}{\degree\north}\\
53,5$^\circ$N
\end{document}
但我得到的是:
我不明白为什么 siunitx 要在数字和度数符号之间以及度数符号和 N 之间添加空格。
答案1
这些不是单位,严格意义,但siunitx
足够灵活:
\documentclass{article}
\usepackage{siunitx}
\sisetup{output-decimal-marker={,}}
\DeclareSIUnit{\north}{\degree N}
\DeclareSIUnit{\south}{\degree S}
\DeclareSIUnit{\east}{\degree E}
\DeclareSIUnit{\west}{\degree W}
\NewDocumentCommand{\xtude}{O{}mm}{%
\SI[number-unit-product={},#1]{#2}{#3}%
}
\begin{document}
The latitude is \xtude{53,5}{\north}
The longitude is \xtude{45.3}{\east}
\end{document}