Tikz 图形与页边距对齐

Tikz 图形与页边距对齐

我正在使用 来在样式表中进行一些部分划分tikz。但是,即使我开始在 处绘制线条,它仍然(0,0)与实际页面内容边框有偏移。我也设置了\parindent,但它仍然没有完全对齐。我怎样才能强制线条准确地在边界处开始(和结束)?

以下是该问题的一个简单示例:

\documentclass{article}

\usepackage[a4paper, left=14.111mm,right=14.111mm,top=14.111mm,bottom=14.111mm, showframe]{geometry}
\usepackage{tikz}

\newcommand{\linehalfhalf}{\begin{tikzpicture}[]%
    \draw [line width=1.5mm ] (0,0) -- ({0.5\textwidth},0);
    \draw [line width=0.5mm] ([yshift=+0.5mm]{0.5\textwidth},0) -- ([yshift=+0.5mm]{\textwidth},0) ;
    \end{tikzpicture}}

\begin{document}
    \setlength\parindent{0pt}
    \linehalfhalf
\end{document}

举例来说:问题说明

答案1

感谢@JouleV 指出了这个问题,我才明白过来:TikZ 中长度为 \textwidth 的一行

以下方法可以解决该问题:

\newcommand{\linehalfhalf}{\begin{tikzpicture}[]%
    \draw [line width=1.5mm, cap=rect] (0,0) -- ({0.5\linewidth},0);
    \draw [line width=0.5mm, cap=rect] ([yshift=+0.5mm]{0.5\linewidth-\pgflinewidth},0) -- ([yshift=+0.5mm] \linewidth-0.5mm-\pgflinewidth,0) ;
    \end{tikzpicture}}

答案2

一种解决方案是\clip避免在绘图周围留出多余的空间,但我认为更简单的解决方案是在适当位置填充一个细矩形以绘制一条线:

\documentclass{article}

\usepackage[a4paper, margin=14.111mm, paper height=5cm,showframe]{geometry}
\usepackage{tikz}

\newcommand{\linehalfhalf}{\begin{tikzpicture}[]%
      \fill (0,0) rectangle (.5\textwidth,1.5mm);
      \fill (0.5\textwidth,.5mm) rectangle (\textwidth,1mm) ;
    \end{tikzpicture}}

\begin{document}%
    \setlength\parindent{0pt}%
    \linehalfhalf
\end{document}

在此处输入图片描述

相关内容