tkz-tab 中的错误默认行为

tkz-tab 中的错误默认行为

以下 MWE

\documentclass[12pt]{standalone}
\usepackage{tkz-tab}

\begin{document}
    
    \begin{tikzpicture}
    \tikzset{arrow style/.style   = {>->, line width=1pt}}
    \tkzTabColors[backgroundcolor=yellow!20]
    \tkzTabInit[color, colorT = yellow!20, colorC = lightgray!20!, colorL = gray!40, 
      colorV = lightgray!20,espcl=3]{$x$ /1,$f'(x)$ /1,$f(x)$ /2}
      {$-\infty$ , $-2$ ,$2$, $+\infty$}%
    \tkzTabLine {,- , d,h , d,+ , }
    \tkzTabVar{+/ $+\infty$, -H/ $0$ /, -/$0$ ,+/ $+\infty$ /}%
    \end{tikzpicture}
            
\end{document}

产生以下

在此处输入图片描述

我认为此处 H 的默认行为是错误的。正如您可以从表格第三行的 -2 下的图像中清楚看到的那样,绘制了线,而 2 下没有绘制。虽然我可以填补这个空白(编写更多代码),但我认为 H 不应该以这种方式工作。

有什么方法可以使用 tkz-tab 中的本机命令在第 3 行的 2 下绘制第二条线而不与零重叠?

附言:虽然我可以想到生成同一张表的另一种方法,但我想看到一种使用 tkz-tab 包中的命令的方法。

答案1

根据文档,您的表格一切正常。它本来就应该这样绘制。不过,如果您想在禁区末端画一条线,您可以手动进行,就像我在下面的示例中所做的那样。

tkz-tab 内部绘制

\documentclass[border=3.141592mm]{standalone}
\usepackage{tkz-tab}

\begin{document}
    
    \begin{tikzpicture}[double distance=2pt]
        \tikzset{arrow style/.style   = {>->, line width=1pt}}
        \tkzTabColors[backgroundcolor=yellow!20]
        \tkzTabInit[color, colorT = yellow!20, colorC = lightgray!20!, colorL = gray!40, 
          colorV = lightgray!20,espcl=3]{$x$ /1,$f'(x)$ /1,$f(x)$ /2}
          {$-\infty$ , $-2$ ,$2$, $+\infty$}%
          
        \draw (N32) -- (N33); <----------------- HERE!
        
        \tkzTabLine {,- , d,h , d,+ , }
        \tkzTabVar{+/ $+\infty$, -H/ $0$ /, -/$0$ ,+/ $+\infty$ /}%
    \end{tikzpicture}
            
\end{document}

您肯定知道,通过写入help\tkzTabInit您可以访问节点名称。然后您只需要draw在缺少行的节点之间写入有用的命令。

相关内容