尝试使用 \pgfmathparse 进行解析时出错

尝试使用 \pgfmathparse 进行解析时出错

我正在尝试使用 \pgfmathparse 来评估以下表达式,但是收到错误消息:

\pgfmathparse{\sqrt{{5.8186/{\pi}}}}\pgfmathresult\

知道为什么吗?

答案1

命令\sqrt\pi用于排版平方根符号和希腊字母 pi,而不是用于计算值。

您可以使用不同的方法:

\documentclass{article}
\usepackage{xfp}

\begin{document}

\fpeval{sqrt(5.8186/pi)}

\fpeval{round(sqrt(5.8186/pi),5)}

\fpeval{trunc(sqrt(5.8186/pi),5)}

\end{document}

无需执行两个步骤。

在此处输入图片描述

与标准Unix程序的结果进行比较bc

> echo 'sqrt(5.8186/(4*a(1)))' | bc -l
1.36092538507774348937

答案2

pgf/TikZ 中的数学表达式使用与 TeX 数学排版不同的语法(sqrt而不是\sqrtpi而不是\pi、用括号而不是大括号):

\documentclass[tikz]{standalone}

\begin{document}
  \pgfmathparse{sqrt(5.8186/pi)}%
  \pgfmathresult

  % Rounding, three fractional digits
  \pgfmathparse{round(1000*sqrt(5.8186/pi))/1000}%
  \pgfmathresult
\end{document}

结果

相关内容