使用 siunitx 在单位之间添加点

使用 siunitx 在单位之间添加点

我不明白何时在单位之间放置一个点。在下面的例子中,为什么和siunitx之间没有点,而和之间却有一个点?\kilogram\meter ^ 2\newton\meter

如何使单位的书写同质化?

PS:我也发现点和单元之间的空间太重要了,如何减小它?

% !TeX encoding = utf8
% !TeX spellcheck = fr

% !Tex program = Xelatex + shell-escape

\documentclass%
[%
paper=a4
,fontsize=11pt % common are 10, 11 or 12
,headings=normal
%,parskip
,numbers=noendperiod % 2.3.1 vs 2.3.1. (no dot after the last chapter number)
,twoside=true
,toc=bibliography % Bibliography appears in Table of Contents (without a number)
,toc=listof % List of Figures and List of Tables appear in Table of Contents
,version=last % Use latest version of the KOMA-Script
,enabledeprecatedfontcommands
,div=18
]%
{scrbook}

\usepackage{fontspec}

\usepackage{mathpazo}
\setmainfont
     [ BoldFont       = texgyrepagella-bold.otf ,
       ItalicFont     = texgyrepagella-italic.otf ,
       BoldItalicFont = texgyrepagella-bolditalic.otf ]
     {texgyrepagella-regular.otf}


\usepackage[french]{babel} 

\usepackage{tikz}
\usepackage{siunitx}
\sisetup{output-decimal-marker={,},group-minimum-digits=4,abbreviations}
\sisetup{inter-unit-product=\ensuremath{{}\cdot{}}}

\begin{document}
\SI{100}{\metre\per\second}
\SI{100}{\newton\metre\second\tothe{-2}}
\SI{100}{\newton\metre}
\SI{100}{\kilogram\metre^2}
$\SI{100}{\kilogram\metre\tothe{2}}$
\end{document}

答案1

siunitx软件包有两种“模式”:一种是所有单元都以宏的形式给出,另一种是单元中有文字材料。在后一种情况下,格式非常有限:根本无法进行基于宏的单元可以进行的那种处理。当您添加^2而不是 时\squared,您将强制使用“文字模式”,并且软件包无法添加单元间信息。

答案2

因此,Joseph 的解决方案在使用宏时有效,但我在使用“文字模式”时遇到了同样的问题。siunitx还提供了一种在文字模式下通过在单位之间放置句点或波浪号来添加间距的方法。因此,您可以执行以下任一选项来添加间距:

  • \unit{kg.m^2}或者\unit{kg~m^2}
  • \unit{\kilogram\meter\squared}

请参阅siunitx 文档

答案3

请参阅该软件包文档的第 4.10 节siunitx。只需修改选项:

\unit[inter-unit-product = \ensuremath{{}\cdot{}}]{kg.m^2}

相关内容