以下 LaTeX 文档保存在路径为 的文件中~/test.tex
。
\documentclass[tikz,border=1cm]{standalone}
%\usetikzlibrary{fit}
\begin{document}
\begin{tikzpicture}
\draw (0,0) rectangle (1,1);
% \node[draw, fit=(0,0) (1,1)] {};
\end{tikzpicture}
\end{document}
当在终端执行以下命令时:
cd ~
pdflatex 测试
在路径 处生成一个 PDF 文件~/test.pdf
。在 PDF 查看器中打开时,文件显示如下:
如果现在取消注释这两行注释,并pdflatex test
重新运行该命令,则执行会失败,并且文件~/test.log
包含以下代码片段:
! Argument of \pgfkeys@@normal has an extra }.
<inserted text>
\par
l.9 \node[draw, fit=(0,0) (1,1)]
{};
?
! Emergency stop.
<inserted text>
\par
l.9 \node[draw, fit=(0,0) (1,1)]
{};
End of file on the terminal!
为什么执行失败?我该如何修复该问题?
答案1
要使用数字坐标,您必须隐藏,
Ti钾[]=
Z 解析器(如果您在坐标规范中使用任何一个,那么您应该执行相同的操作)。
该fit
库通常与符号坐标或(更常见的是)节点名称一起使用(在这种情况下,它使用节点的地理坐标):
\documentclass[tikz,border=1cm]{standalone}
\usetikzlibrary{fit}
\begin{document}
\begin{tikzpicture}
\draw (0,0) coordinate(a) rectangle (1,1) coordinate(b);
\node[draw=red, fit=(a) (b)] {};
\node[draw=blue, dashed, fit={(0,0) (1,1)}, inner sep=1pt] {};
\node[draw=green, fit={([xshift=0.5cm]a) (b)}] {};
\end{tikzpicture}
\end{document}
注意inner sep
效果。