TikZ:如果所有内容都发生了变化,那么所有变化都会被恢复

TikZ:如果所有内容都发生了变化,那么所有变化都会被恢复

我正在尝试绘制一个对角线位于页面水平居中的矩形。我试过

\documentclass[12pt]{article}
\usepackage{tikz}
\begin{document}

\begin{tikzpicture}
%The rectangle:
\draw (-4,-2) -- (4,-2) -- (4, 2) -- (-4,2) -- cycle; 
%The diagonal:
\draw  (-4,2) -- (4,-2);
\end{tikzpicture}

\end{document}

这给了我想要的数字,但它太靠左边了。当我添加

 [shift = {((4 cm, 0 cm))}]

无论是矩形还是对角线,它都会将相应的组件移到非常靠近页面中心的位置。但是,如果我将此命令添加到两个组件中,如下所示

\draw [shift = {((4 cm, 0 cm))}] (-4,-2) -- (4,-2) -- (4, 2) -- (-4,2) -- cycle; 
\draw [shift = {((4 cm, 0 cm))}] (-4,2) -- (4,-2);

那么看起来我也没有添加它;图片显示在页面的左侧。

有没有更好的方法将三角形及其对角线置于页面左侧的中心,或者有没有办法修复此方法?非常感谢。

答案1

Z 计算图片的边界框。因此,如果您移动所有内容,这仅意味着边界框会进行调整,而图片将保持移动之前的状态。如果您想将图片置于页面中央,请使用\centering。或者,您可以使用绝对页面坐标,这需要overlay,remember picture

\documentclass[12pt]{article}
\usepackage{tikz}
\begin{document}
\centering
\begin{tikzpicture}
\draw (-4,-2) rectangle (4, 2)  (-4,2) -- (4,-2); 
\end{tikzpicture}
\end{document}

要仅居中,tikzpicture您可以使用

\documentclass[12pt]{article}
\usepackage{tikz}
\begin{document}
\begin{center}
\begin{tikzpicture}
\draw (-4,-2) rectangle (4, 2)  (-4,2) -- (4,-2); 
\end{tikzpicture}
\end{center}

Normal text.
\end{document}

或任何答案这个问题

相关内容