![Выравнивание рисунка Tikz с полями страницы](https://rvso.com/image/392314/%D0%92%D1%8B%D1%80%D0%B0%D0%B2%D0%BD%D0%B8%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5%20%D1%80%D0%B8%D1%81%D1%83%D0%BD%D0%BA%D0%B0%20Tikz%20%D1%81%20%D0%BF%D0%BE%D0%BB%D1%8F%D0%BC%D0%B8%20%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D1%8B.png)
Я делаю некоторые разделы разделов в таблице стилей с помощью 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, указавшем на этот вопрос:Строка длиной \textwidth в TikZ.
Следующее решает проблему:
\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}