我想知道是否可以对所有文档使用绝对坐标?请参阅我的示例
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\filldraw[red]
(30pt, 9pt) -- (130pt, 9pt);
\end{tikzpicture}
\begin{tikzpicture}
\filldraw[blue]
(3pt, 9pt) -- (130pt, 9pt);
\end{tikzpicture}
\end{document}
为什么红线和蓝线的左 x 坐标相同?我想将第二条线移至左侧 27pt 处!
答案1
要自动使所有tikzpicture
s 对齐到原点,您可以设置\tikzset{every picture/.append style={trim left=0}}
。这会将左边距设置为x
原点的位置。请注意,如果您使用负坐标,您将遇到麻烦,因为这些坐标会突出图像。在这种情况下,您必须设置trim left
为足够大的负值以包含所有点。
\documentclass{article}
\usepackage{tikz}
\begin{document}
\tikzset{every picture/.append style={trim left=0}}
\begin{tikzpicture}
\filldraw[red]
(30pt, 9pt) -- (130pt, 9pt);
\end{tikzpicture}
\begin{tikzpicture}
\filldraw[blue]
(3pt, 9pt) -- (130pt, 9pt);
\end{tikzpicture}
\end{document}
答案2
在普通 TeX 中,有一个\phantom
通常用于留出与其参数所需的相同空间量。您可以通过\path (0pt,0pt)
为两张图片添加一个来执行类似操作。这可确保左侧从相同的x
-coordinate 开始:
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\path (0pt,0pt);
\draw[red] (30pt, 9pt) -- (130pt, 9pt);
\end{tikzpicture}
\begin{tikzpicture}
\path (0pt,0pt);
\draw[blue] (3pt, 9pt) -- (130pt, 9pt);
\end{tikzpicture}
\end{document}
答案3
答案是percusse
。每个都tikzpicture
在自己的框中排版。框尽可能小,以便排版其中的所有内容。例如,由tikzpicture
左下角位置为 (1,1) 和右上角位置为 (2,2) 的正方形组成的 仍将具有 1cm 的宽度和 1cm 的高度。
您的 s 中的坐标tikzpicture
完全相对于其自己的s。这解释了为什么您无法将一个 s 中的坐标与另一个 s 中的tikzpicture
坐标关联起来(除非您使用)。tikzpicture
tikzpicture
remember pictures
答案4
添加带有节点的原点
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\node(O) at (0,0){};
\coordinate(O) at (0,0);
\filldraw[red]
(30pt, 9pt) -- (130pt, 9pt);
\end{tikzpicture}
\begin{tikzpicture}
\node(O) at (0,0){};
\filldraw[blue]
(3pt, 9pt) -- (130pt, 9pt);
\end{tikzpicture}
\end{document}