tikzpicture,从文本区域角落开始画线

tikzpicture,从文本区域角落开始画线

我尝试使用 TikZ 从文本区域的左上角绘制一条线,但水平和垂直方向都出现了间隙。我指定了\noindent,但仍然有间隙。

\documentclass[a4paper]{article}
\usepackage{geometry}

%---------------------------------------------------------------%
\usepackage{showframe}
\renewcommand\ShowFrameLinethickness{0.15pt}
\renewcommand*\ShowFrameColor{\color{red}}
%---------------------------------------------------------------%
\usepackage{tikz}
\setlength{\parindent}{0pt}
\begin{document}
\begin{tikzpicture}

    \node at (0,0) {+};
    \draw (0,0)--(\textwidth,0);

\end{tikzpicture}
\end{document}

编辑:需要注意的是,正是由于上述原因,\node at (0,0) {+};起始\draw (0,0)--(\textwidth,0);位置偏离了文本区域的左上角。

我想知道有没有办法定义一个从左上角到右下角的画布(10, -10),并拥有强大的坐标系统。这样可以避免使用“覆盖”和“记住图片”。

在我的原始文档中,tikzpicture以一个固定在北边和 的矩形开始(.5\textwidth,0),还有其他的图画,并textboxes相对于它放置。问题是整体tikzpicture比 略窄\textwidth,因此水平方向上一切都略微偏离中心。TikZ将整体tikzpicture像图像一样处理,并将其放置在文本区域的左上角或前一个对象文本的旁边...

答案1

每个节点都有一定的大小和一定的外部间隔。在下面的例子中,你可以看到你的节点的位置很好,但+并不是你想要的位置。

另外,您可以使用页面节点(带有tikzpagenodes包)进行绘制,而不必担心手动定位节点。

\documentclass[a4paper]{article}
\usepackage{geometry}
\usepackage{tikzpagenodes}

%---------------------------------------------------------------%
\usepackage{showframe}
\renewcommand\ShowFrameLinethickness{0.15pt}
\renewcommand*\ShowFrameColor{\color{red}}
%---------------------------------------------------------------%
\usepackage{tikz}
\setlength{\parindent}{0pt}
\begin{document}
\begin{tikzpicture}

    \node[draw, outer sep=0pt] at (0,0) {+};
    \draw (0,0)--(\textwidth,0);

\end{tikzpicture}

\begin{tikzpicture}[overlay, remember picture]
\draw[blue, line width=2pt] (current page text area.north west)--(current page text area.north east);
\end{tikzpicture}

\end{document}

在此处输入图片描述

相关内容