Tikz 图像总是向右移动,并且 xshift、yshift 和 shift 不起作用

Tikz 图像总是向右移动,并且 xshift、yshift 和 shift 不起作用

您好,我一直在用 Tikz 绘图,并且想将此 Tikz 图像的位置设置在页面的开头,但似乎 tikzpicture 卡在了页面顶部约 3 厘米处,右侧约 4 厘米处,并且 xshift 和 yshift 命令不起作用,尽管 rotate、xscale 和 yscale 命令可以正常工作,而且我希望移动的曲线是使用“hobby”Tikz 库构建的。

这是我的代码:

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{hobby}

\begin{document}

\begin{tikzpicture}[scale =0.5,yscale=-1.1, xscale=1.2]

\draw [rotate=-12] (1.93,2.85) to [curve  through ={(4.09,2.77)..
(3.16,0.15)..(0.45,1.68)..(2.37,6.57)..(8.41,7.82)..(12.30,8.08)}]
(13.36,8.6) .. controls (14.45,8) and (15.50,7.8) .. (19.08,7.96) to
[curve  through ={(23.36,8.97)..(25.39,10.67)}] (25.22,12.77) 
.. controls (24.22,9.9) and (21.65,10.45)..(21.09,12.27) to [curve
through ={(23.46,15.72)..(27.28,12.86)..(25.40,8.13)..(21.72,6.40)..
(16.44,5.93)..(15.3,5.79)}] (14.49,5.31) .. controls (14.18,5.5) and 
(14,5.67)..(13.3,5.82) to [curve  through ={(12.4,5.92)..(8.55,5.89)..
(5.9,5.75)..(2.01,4.06)}] (1.93,2.85) ;


\end{tikzpicture}

\end{document}

答案1

这个问题已经讨论过了这里长篇大论。我同意 Henri Menke 的观点,认为没有必要重写 TiZ 得到一个紧密的边界框。您可以使用这个问题的答案来纠正这个问题。另一种可能的解决方法是根据曲线经过的点来设置边界框。

\documentclass{article}
\usepackage[showframe]{geometry}
\usepackage{tikz}
\usetikzlibrary{hobby,decorations.markings}

\begin{document}
\noindent
\begin{tikzpicture}[scale =0.5,yscale=-1.1, xscale=1.2]
\begin{scope}[overlay]
\draw [rotate=-12,postaction={decorate,decoration={markings,
mark=between positions 0 and 1 step 0.005 with {\coordinate (x\pgfkeysvalueof{/pgf/decoration/mark info/sequence number});}}}] 
(1.93,2.85) to [curve  through ={(4.09,2.77)..
(3.16,0.15)..(0.45,1.68)..(2.37,6.57)..(8.41,7.82)..(12.30,8.08)}]
(13.36,8.6) .. controls (14.45,8) and (15.50,7.8) .. (19.08,7.96) to
[curve  through ={(23.36,8.97)..(25.39,10.67)}] (25.22,12.77) 
.. controls (24.22,9.9) and (21.65,10.45)..(21.09,12.27) to [curve
through ={(23.46,15.72)..(27.28,12.86)..(25.40,8.13)..(21.72,6.40)..
(16.44,5.93)..(15.3,5.79)}] (14.49,5.31) .. controls (14.18,5.5) and 
(14,5.67)..(13.3,5.82) to [curve  through ={(12.4,5.92)..(8.55,5.89)..
(5.9,5.75)..(2.01,4.06)}] (1.93,2.85) ;
\end{scope}
\path plot[variable=\i,samples at={1,...,200}] (x\i);
\end{tikzpicture}
\end{document}

在此处输入图片描述

这给您带来了图形太宽而无法容纳的问题。还请注意,这\noindent比上述减少左侧空间的技巧影响更大。当然,您可以重新缩放以适应。

相关内容