如何绘制不占用空间的 TikZ 图

如何绘制不占用空间的 TikZ 图

我是 TikZ 新手,我有一个简单的问题。如何绘制无边框图表?换句话说,我需要一些不会取代文本的东西。类似于使用宽度和高度为 {0,0} 的常规 LaTeX 图片实现的效果。这是我需要的图表的一个最小示例:

\documentclass[a4paper]{report}
\usepackage{tikz}
\begin{document}
\begin{picture}(0,0)(0,0)
  \put(0,3){\vector(1,0){60}}
\end{picture}
Picture
\tikz{\draw [->] (0,0) -- (0:80pt);}
TikZ
\end{document}

结果如下:

例如 http://ubuntuone.com/1Kgnezgx4gUSZ9sgJIcjJR

我希望 TikZ 的向量(以及一般的环境)位于单词上方,而不是取代它。与图片类似。我觉得有一个简单的解决方案,但我似乎找不到它。

谢谢

答案1

您可以使用以下overlay选项:

\tikz[overlay]{\draw [->] (0,0) -- (0:80pt);}

如果您想提出错误,该baseline选项可能会有所帮助:

\tikz[overlay,baseline=-0.8ex]{\draw [->] (0,0) -- (0:80pt);}

overlay该选项还remember picture提供了一些不错的功能,例如在当前页面的绝对位置进行绘图

\tikz[remember picture, overlay]{\draw (current page.center) circle [radius=10mm];}

(其中current page有矩形的锚点node)或连接两张图片

\tikz[remember picture,baseline=(first.base)]{\node [blue] (first) {First Node};}
Some regular Text her in this line.

A new paragraph and more text, ending with a
\tikz[remember picture,baseline=(second.base)]{\node [blue] (second) {second Node};}.

\tikz[remember picture, overlay]{\draw [blue,<->] (first) to[bend left] (second);}

连接图片

答案2

\documentclass[a4paper]{report}
\usepackage{tikz}
\begin{document}
\begin{picture}(0,0)(0,0)
  \put(0,3){\vector(1,0){60}}
\end{picture}
Picture

\makebox(0,0){\put(0,3){\vector(1,0){60}}}
Picture

\makebox[0pt][l]{\tikz\draw [->] (0,0) -- (0:80pt);}
TikZ

\tikz\draw [overlay,->] (0,0) -- (0:80pt);
TikZ
\end{document}

相关内容