![变体表](https://linux22.com/image/408093/%E5%8F%98%E4%BD%93%E8%A1%A8.png)
我已经安装了用于制作函数符号和变量表的软件包tkz-tab
。符号没问题,但是当我尝试制作变量表时,例如像这样:
\documentclass[10pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[czech]{babel}
\usepackage[T1]{fontenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{tkz-tab} %loads tikz
\begin{document}
\begin{tikzpicture}
\tkzTabInit{$x$ / 1 , $f(x)$ / 2}{$-\infty$, $-5$, $-3$, $2$, $+\infty$}
\tkzTabVar{-/ $-\infty$, +C/ $0$, +H/ $0$, D-/ $-10$, +/ $+\infty$}
\end{tikzpicture}
\end{document}
它写道:
包 pgf 错误:没有已知的名为 F11 的形状。有关详细信息,请参阅 pgf 包。
我应该怎么办?
答案1
您有解决方案...您的问题出现时带有babel
和选项czech
。您有三个解决方案。最好的\usetikzlibrary{babel}
是 或您可以避免使用babel
,最后另一个解决方案是lualatex
使用polyglossia
。
在下面的代码中,我使用了“help”选项向您显示我的包创建的所有节点。这允许您轻松自定义表格。
% !TEX TS-program = lualatex
\documentclass{standalone}
\usepackage[utf8]{inputenc}
\usepackage{polyglossia}
\setmainlanguage{czech}
\usepackage[T1]{fontenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{tkz-tab}
\begin{document}
\begin{tikzpicture}
\tkzTabInit[help]{$x$ / 1 , $f(x)$ / 2}{$-\infty$, $-5$, $-3$, $2$, $+\infty$}
\tkzTabVar{-/ $-\infty$, +C/ $0$, +H/ $0$, D-/ $-10$, +/ $+\infty$}
\end{tikzpicture}
\end{document}
你可以喜欢黑色温和使用 xscale
和yscale
\begin{tikzpicture}[yscale=.5,xscale=.8]
\tkzTabInit{$x$ / 1 ,$f(x)$ / 2}{$-\infty$, $-5$, $-3$, $2$, $+\infty$}
\tkzTabVar{-/ $-\infty$, +C/ $0$, +H/ $0$, D-/ $-10$, +/ $+\infty$}
\end{tikzpicture}
您还可以添加样式,例如TikZ
因为它在Tikz
后面tkz-tab
\begin{tikzpicture}[yscale=.5,xscale=.8]
\tikzset{h style/.append style = {%
pattern=north east lines,pattern color=purple}}
\tkzTabInit{$x$ / 1 ,$f(x)$ / 2}{$-\infty$, $-5$, $-3$, $2$, $+\infty$}
\tkzTabVar{-/ $-\infty$, +C/ $0$, +H/ $0$, D-/ $-10$, +/ $+\infty$}
\end{tikzpicture}
答案2
新答案
使用包中的宏-
禁用字符简写可以使其正常工作。\shorthandoff
babel
\documentclass[10pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[czech]{babel}
\usepackage[T1]{fontenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{tkz-tab} %loads tikz
\begin{document}
\shorthandoff{-}
\begin{tikzpicture}
\tkzTabInit{$x$ / 1 , $f(x)$ / 2}{$-\infty$, $-5$, $-3$, $2$, $+\infty$}
\tkzTabVar{-/ $-\infty$, +C/ $0$, +H/ $0$, D-/ $-10$, +/ $+\infty$}
\end{tikzpicture}
\shorthandon{-}
\end{document}
旧答案
它通过添加 tikz 的 babel 库来工作:\usetikzlibrary{babel}
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[czech]{babel}
\usepackage[T1]{fontenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{tkz-tab}
\usetikzlibrary{babel}
\begin{document}
\begin{tikzpicture}
\tkzTabInit{$x$ / 1 , $f(x)$ / 2}{$-\infty$, $-5$, $-3$, $2$, $+\infty$}
\tkzTabVar{-/ $-\infty$, +C/ $0$, +H/ $0$, D-/ $-10$, +/ $+\infty$}
\end{tikzpicture}
\end{document}
答案3
如果有人喜欢普通的 TikZ。我稍微调整了节点0
和的位置。根据需要-10
使用xscale
和。yscale
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{patterns}
\begin{document}
\begin{tikzpicture}[yscale=.8,xscale=1.75]
\begin{scope}[shift={(-.5,.5)}]
\fill[pattern=north east lines,pattern color=violet] (3.5,-1) rectangle +(1,-3);
\draw (0,0) rectangle +(6,-4) (0,-1)--+(0:6) (1,0)--+(-90:4);
\draw[gray] (2.5,-1)--+(-90:3) (3.5,-1)--+(-90:3) (4.5,-1)--+(-90:3);
\end{scope}
\path
(0,0) node{$x$} % <<< line 1
++(0:1) node{$-\infty$}
++(0:1) node{$-5$}
++(0:1) node{$-3$}
++(0:1) node{$2$}
++(0:1) node{$+\infty$};
\path[nodes={fill=white,inner sep=2pt}]
(0,-2) node{$f(x)$} % <<< line 2
++(0:1) +(-90:1) node (A) {$-\infty$}
++(0:1) +(90:.5) node (B) {$0$}
++(0:1) +(90:.5) node (C) {$0$}
++(0:1) +(-90:.5) node (D) {$-10$}
++(0:1) +(90:1) node (E) {$+\infty$};
\draw[-stealth,blue] (A)--(B);
\draw[-stealth,blue] (B)--(C);
\draw[-stealth,blue] (D)--(E);
\end{tikzpicture}
\end{document}