tkz-fct 上的表面问题

tkz-fct 上的表面问题

我正在使用这个很棒的工具 tkz-fct 来创建漂亮的文档,但最近我得到了一个奇怪的结果。这是我的文档:

\documentclass[10pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{calc}
\usepackage{color}
\usepackage{pifont}                     %pour utiliser la police Ding
\usepackage[left=1.5cm,right=1.5cm,top=2cm,bottom=2cm]{geometry} %marges du document
\usepackage[french]{babel}
\usepackage[usenames,dvipsnames]{xcolor}
\usepackage[L]{thmbox}
\usepackage{eurosym}
\usepackage{enumitem}               %pour modifer itemize et enumerate
\usepackage{amsmath,amsfonts,amssymb}
\usepackage{mathrsfs}               %pour utiliser mathscr
\usepackage{array,multirow,makecell}
\usepackage{fancyhdr}               %package pour modifier les en-têtes
\usepackage{fancybox}               %pour boîtes spéciales
\usepackage{tikz,tkz-tab,tkz-fct}
\usepackage{tikz-dependency}        %permet de créer des schemas
\usepackage{sectsty}                %permet de modifier les styles des sections (voir \sectionfont l.21)
\usepackage{fourier-orns}
\usepackage{shadethm}               %pour theoremes en gris
\setcellgapes{1pt}
\makegapedcells
\newcolumntype{R}[1]{>{\raggedleft\arraybackslash }b{#1}}   %pour redéfinir les colonnes dans tabular
\newcolumntype{L}[1]{>{\raggedright\arraybackslash }b{#1}}
\newcolumntype{C}[1]{>{\centering\arraybackslash }b{#1}}
\renewcommand{\thesection}{\Roman{section}} %permet de changer la numérotation en chiffres romains des sections
\newshadetheorem{defi}{Définition}  %crée un nouveau type de théorème
\newshadetheorem{thm}{Théorème}
\newshadetheorem{ppte}{Propriété}
\sectionfont{\sectionrule{3ex}{3pt}{-1.5ex}{1pt}} %mettre un trait de séparation dans les sections (package sectsty)
\pagestyle{fancy} %style en-têtes
\lhead{} %en-tête gauche
\chead{Lois à densité} %en-tête centrale
\rhead{T\up{ale}} %en-tête droite
\begin{document}
\begin{tikzpicture}
     \tkzInit[xmin=-4,xmax=4,ymax=1]
     \tkzDrawX[label={},noticks]
     %\tkzDrawY
     \tkzFct[domain=-2:2]{exp(-x**2)}
     \tkzDrawArea[color=blue, domain = -0.5:1]
     \tkzText(-1,0.75){$\mathscr{C}_{f}$}
\end{tikzpicture}
\end{document}

但是从现在开始,它不会产生我想要的结果,因为表面从点(-0.5,f(-0.5))开始,而不是从-0.5到1的积分。这是结果的图片: 结果

这显然不是我想要的,现在这种情况已经扩展到我之前“正常”的所有“旧”文档。除了更新我的 Tex 发行版外,我认为我没有做任何特别的事情...如果有人有想法?

答案1

\documentclass[10pt,a4paper]{article}
\usepackage{tkz-fct}
\begin{document}
\begin{tikzpicture}
     \tkzInit[xmin=-4,xmax=4,ymax=1]
     \tkzDrawX[label={},noticks]
     \tkzFct[domain=-2:2]{exp(-x**2)}
     \tkzDrawArea[color=blue, domain = -0.5:1]
\end{tikzpicture}
\end{document}

问题出现在 pgf 3.0 中。使用 pgf 2.1 结果是正确的。我需要做一些调查来找到错误

这里有一个解决方案,但我不知道为什么结果与 pgf 3.0 不同

问题出在tkz-fct.sty中的代码:

        (\tkz@ba,0)--plot [id = \tkz@fct@id]%
       function{(\tkzFctgnuLast)/\tkz@init@ystep}--(\tkz@bb,0);

您需要用以下代码替换此代码

    plot [id = \tkz@fct@id]%
    function{(\tkzFctgnuLast)/\tkz@init@ystep} -- (\tkz@bb,0) -- (\tkz@ba,0) ;

或者

     plot [id = \tkz@fct@id]%
     function{(\tkzFctgnuLast)/\tkz@init@ystep} -- (\tkz@bb,0) -- (\tkz@ba,0) -- cycle;

可能的方法是找到 tkz-fct 1.16 c 并替换代码,或者您可以从我的网站下载版本 1.18 c:

tkz-fct 1.18 c

现在我需要了解为什么?

相关内容