以下 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
根据文档,您的表格一切正常。它本来就应该这样绘制。不过,如果您想在禁区末端画一条线,您可以手动进行,就像我在下面的示例中所做的那样。
\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
在缺少行的节点之间写入有用的命令。