![避免在 pgfmathparse 条件赋值中使用零对数](https://linux22.com/image/334151/%E9%81%BF%E5%85%8D%E5%9C%A8%20pgfmathparse%20%E6%9D%A1%E4%BB%B6%E8%B5%8B%E5%80%BC%E4%B8%AD%E4%BD%BF%E7%94%A8%E9%9B%B6%E5%AF%B9%E6%95%B0.png)
如何避免! Package PGF Math Error: I cannot calculate the logarithm of '0' (in ' 0>1 ? ln(0) : 0').
以下代码中的错误消息?如果可能的话,我想用一个来评估该语句\pgfmathparse{...}
。
\documentclass{article}
\usepackage{tikz}
\begin{document}
\def\var{0}
\pgfmathparse { \var>1 ? ln(\var) : \var}\pgfmathresult
\end{document}
答案1
您可以在 ln 中添加另一个保护并给出一个安全值(此处为 1),使用什么非错误值并不重要,因为它不会影响外部保护的结果
\documentclass{article}
\usepackage{tikz}
\begin{document}
\def\var{0}
\pgfmathparse { \var>1 ? ln(\var>1 ? \var:1) : \var}\pgfmathresult
\def\var{1}
\pgfmathparse { \var>1 ? ln(\var>1 ? \var:1) : \var}\pgfmathresult
\def\var{2}
\pgfmathparse { \var>1 ? ln(\var>1 ? \var:1) : \var}\pgfmathresult
\end{document}