siunitx 在 pgfplots 标签描述无限循环?

siunitx 在 pgfplots 标签描述无限循环?

回答y 轴单位 tikz,我首先想到了这个解决方案:

\documentclass[border=10pt]{standalone}
\usepackage{tikz}
\usepackage{pgfplots}\pgfplotsset{compat=1.13}
\usepackage{siunitx}
\begin{document}
\begin{tikzpicture}[
    ]
    \begin{axis}[%
    xmin=1,
    xmax=5,
    xtick={\empty},
    ymin=4,
    ymax=6,
    axis background/.style={fill=white},
    %yticklabel={$\pgfmathprintnumber{\tick}$~V}      %% this works
    yticklabel={\SI{\pgfmathprintnumber{\tick}}{V}}   %% this hangs 
    ]
    \addplot [color=blue, forget plot]
    table[row sep=crcr]{%
        1   4.1\\
        2   4.9\\
        3   5\\
        5   5.6\\
    };
\end{axis}     
\end{tikzpicture}
\end{document}

这意味着,我使用了\SI{}{}密钥yticklabel。不幸的是,这似乎创建了一个无限循环:编译挂起:

[...]
 (/usr/share/texlive/texmf-dist/tex/latex/beamer/translator/dicts/translator-bas
ic-dictionary/translator-basic-dictionary-English.dict)
(/usr/share/texlive/texmf-dist/tex/latex/siunitx/siunitx-abbreviations.cfg)

...唯一的出路就是打断它。

是否可以修复此问题?或者这只是操作员(我)的错误?

答案1

直接使用 \tick并使用 siunitx 工具对数字进行舍入,例如\SI[round-mode = places,round-precision = 1]{\tick}{V}

\documentclass[border=10pt]{standalone}
\usepackage{tikz}
\usepackage{pgfplots}\pgfplotsset{compat=1.13}
\usepackage{siunitx}
\begin{document}
\begin{tikzpicture}[
    ]
    \begin{axis}[%
    xmin=1,
    xmax=5,
    xtick={\empty},
    ymin=4,
    ymax=6,
    axis background/.style={fill=white},
    yticklabel={\SI[round-mode = places,round-precision = 1]{\tick}{V}}   
    ]
    \addplot [color=blue, forget plot]
    table[row sep=crcr]{%
        1   4.1\\
        2   4.9\\
        3   5\\
        5   5.6\\
    };
\end{axis}     
\end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容