スペースを占有しない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 のベクトル (および一般的な環境) が単語の上にあり、単語を移動しないようにしたいと思います。Picture の場合と同様です。これには簡単な解決策があると思いますが、見つけることができません。

ありがとう

答え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)または2つの絵をつなげる

\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}

関連情報