编译代码时, PGFplots 中的内联计算exp(\tick)
出现错误Could not parse input
\documentclass[margin=1cm]{standalone}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{loglogaxis}
[
log number format code/.code={\pgfmathprintnumber[sci,sci zerofill,precision=3]{exp(\tick)}}, % GIVES A 'COULD NOT PARSE INPUT' ERROR!
xtick={1,100}
]
\addplot[no marks,domain=10^0:10^5] {x};
\end{loglogaxis}
\end{tikzpicture}
\end{document}
我该如何解决这个问题?
答案1
正如宏名所暗示的那样,它是一个漂亮的打印机,而不是数学解析器。您需要在外部进行数学运算并将结果提供给它。但是,如果您进行常规的 TikZ 解析,数字太大而无法处理。因此,您需要打开 TikZfpu
进行数学运算并将其关闭。
log number format code/.code={%
\pgfkeys{/pgf/fpu}%
\pgfmathparse{exp(\tick)}%
\pgfmathprintnumber[sci,sci zerofill,precision=3]{\pgfmathresult}%
\pgfkeys{/pgf/fpu=false}%
}