2014-05-25 35 views
2
\documentclass{article} 
\usepackage{tikz} 

\begin{document} 
\begin{tikzpicture} 
\draw[help lines] grid (4,3); 
\coordinate (X) at (3,3); 
\draw[red ,thick,xshift=-10] (1,1 -| X) -- (2,2 -| X); 
\draw[blue,thick,xshift=-10] (1,1 -| 3,3) -- (2,2 -| 3,3); 
\end{tikzpicture} 
\end{document} 

output這個tikz代碼爲什麼會產生兩個單獨的行?

看來,當由name指定的座標xshift=-10沒有任何效果。這是爲什麼?

回答

1

的答案就在那Xxshift=-10改造的範圍定義 - 見here的細節以及可能here - 即節點X定義和具有的範圍開始前的固定位置然後轉換僅適用於範圍內新定義的節點。

實例可以澄清的東西:延伸範圍,以包括的X定義示出了僅具有一個線預期的行爲:

\documentclass{article} 
\usepackage{tikz} 

\begin{document} 
    \begin{tikzpicture} 
    \draw[help lines] grid (4,3); 
     \begin{scope}[xshift=-10] 
     \coordinate (X) at (3,3); 
     \draw[red ,thick] (1,1 -| X) -- (2,2 -| X); 
     \draw[blue,thick] (1,1 -| 3,3) -- (2,2 -| 3,3); 
     \end{scope} 
    \end{tikzpicture} 
\end{document} 

生產:

expected output - single line

相關問題