如何增加 pgfplots 中单位组件之间的间距?

如何增加 pgfplots 中单位组件之间的间距?

我正在使用库pgfplots中的(版本 1.12)units。当我创建单位标签时\si{molecules \cm^{-2}},结果显示“分子”和“厘米”之间没有任何间距。当我使用相同的\si{molecules \cm^{-2}}在普通文本中使用相同的标签时,我获得适当的间距。MWE 和生成的图像如下:

\documentclass{standalone}
\usepackage{siunitx}
\usepackage{pgfplots}
\pgfplotsset{compat=1.12}
\usepgfplotslibrary{units}
\begin{document}%
\begin{tikzpicture}%
\begin{axis}[xlabel=quantity,x unit=\si{molecules \cm^{-2}}]%
\addplot coordinates {(0,0) (1,1) (2,3)};
\end{axis}%
\end{tikzpicture}%
\end{document}

缺乏间距

如何在“molecules”和“cm”之间留出一些空白?

答案1

为分子定义一个新的 siunit,无论如何都应该这样做。然后,让 pgfplots 将 unitpart 发送给 siunitx,让它控制排版。

在此处输入图片描述

\documentclass[border=6pt]{standalone}
\usepackage{siunitx}
\usepackage{pgfplots}
\pgfplotsset{compat=1.12}
\usepgfplotslibrary{units}
\DeclareSIUnit{\molecules}{molecules}
\pgfplotsset{unit code/.code 2 args={\si{#1#2}}}
\sisetup{per-mode=power}
\DeclareSIUnit{\molrate}{\molecules\per\centi\meter\squared}%for convenience
\begin{document}%
\begin{tikzpicture}%
    \begin{axis}[xlabel=quantity,x unit=\molecules\per\centi\meter\squared]%
        \addplot coordinates {(0,0) (1,1) (2,3)};
    \end{axis}%
\end{tikzpicture}%
\end{document}

您也可以将整个事物定义为一个单元,以方便使用。这可能会节省一些输入,并确保您的工作一致。

相关内容