tkz-fct 和 log(x) 函数的奇怪行为

tkz-fct 和 log(x) 函数的奇怪行为

我不知道 repo 是否:https://github.com/tkz-sty/tkz-fct是否处于活动状态。所以我提出了一个问题,并在这里提出了一个问题。

操作系统:Win11 21H2 TexLive 2021 tkz-fct:1.7c

这是我的最小工作示例:

\documentclass{article}
\usepackage{tkz-fct}
\begin{document}
\begin{tikzpicture}
  \tkzInit[ymax=1.6, ymin=-1.6]
  % \tkzGrid
  \tkzDrawXY
  \tkzLabelX
  \tkzFct[domain= 0.01:10]{log(x)}
\end{tikzpicture}
\end{document}

编译后latexmk -pdf -shell-escape,我得到:

图像

一切都是正确的,我的意思是图形与 x 轴相交于 (1, 0),然而在我添加了一个之后xstep,事情发生了变化:

\documentclass{article}
\usepackage{tkz-fct}
\begin{document}
\begin{tikzpicture}
  \tkzInit[ymax=1.6, ymin=-1.6, xstep=3]
  % \tkzGrid
  \tkzDrawXY
  \tkzLabelX
  \tkzFct[domain= 0.01:10]{log(x)}
\end{tikzpicture}
\end{document}

图像

该图形仍然与 x 轴相交于第一个点 (3, 0),而不是 (1, 0)。

由于我不熟悉 Gnuplot,所以我无法调试它是 tkz 问题还是 gnuplot 问题。

答案1

对于函数表达式,应该使用 log(\x) ,而不是 log(x)

\documentclass{article}
\usepackage{tkz-fct}
\begin{document}
\begin{tikzpicture}
  \tkzInit[ymax=1.6, ymin=-1.6, xstep=3]
  % \tkzGrid
  \tkzDrawXY
  \tkzLabelX
  \tkzFct[domain= 0.01:10]{log(\x)} % log(x) ---> log(\x)
\end{tikzpicture}
\end{document}

在此处输入图片描述

答案2

这个问题已经解决了,在文档tkz-fct描述中\tkzFct,有一句法语:

该函数利用 gnuplot 语法创建。 x 是变量,因为如果xstep1 不同,则在这种情况下变量是\x

翻译成英文后:

该函数使用 gnuplot 的语法给出。x 是变量,除非xstep不同于 1,在这种情况下变量是\x

log(\x)因此我必须使用log(x),正如@ljguo提到的。

相关内容