如何从矩形的边缘到对边画线

如何从矩形的边缘到对边画线

我想定义一个命令,从占据页面区域的矩形边缘向对边画线。

为了画线,我做了一些手动调整,用矩形连接两边

这里是 MWE

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

\def\margin{2cm}

\def\Sep{2mm}

\def\Line{\par\medskip\noindent\hspace{-2.7mm}\tikz\draw[double,double distance=1mm](0,0)--(\textwidth+4.1mm,0);\par\medskip}

\begin{document}
\newgeometry{margin=\margin}

\pagestyle{empty}
\begin{tikzpicture}[remember picture,overlay]
\draw([shift={(\margin-\Sep-1mm,\margin-\Sep-1mm)}]current page.south west)rectangle([shift={(-\margin+\Sep+1mm,-\margin+\Sep+1mm)}]current page.north east);
\draw([shift={(\margin-\Sep,\margin-\Sep)}]current page.south west)rectangle([shift={(-\margin+\Sep,-\margin+\Sep)}]current page.north east);
\end{tikzpicture}

\lipsum[1]

\Line

\lipsum[1]

\Line

\lipsum[1]

\Line

\end{document}

生产

在此处输入图片描述

我的问题是,当我修改和时,如何定义\Line命令以获得长度的自动调整。\Sep\margin

答案1

虽然我认为这样的盒子很容易制作tcolorbox,但下面的代码显示了解决此问题的可能方法。

因为 OP 想要在页面上一个未知的垂直位置画一条线,并由两个角定义的矩形水平划定一条线。

首先,我们需要知道线条要画在哪里,这个问题可以通过一个计数器来解决,计数器随着每条线条而增加,其值固定一个TiKZ坐标名称。

由于矩形尺寸取决于\Sep\margin变量,因此声明了两个辅助坐标。这些坐标将有助于绘制长度与边距相适应的线。

完整代码如下

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

\def\margin{5cm}

\def\Sep{8mm}

\newcounter{myline}
\setcounter{myline}{0}

\newcommand{\LineB}{
\stepcounter{myline}
\tikz[remember picture, overlay]{
\coordinate (aux-\themyline);
\draw[red, double, double distance=1mm] (aux-\themyline-|myaux1) -- (aux-\themyline-|myaux2);}
}

\begin{document}
\newgeometry{margin=\margin}

\pagestyle{empty}
\begin{tikzpicture}[remember picture,overlay]
\draw([shift={(\margin-\Sep-1mm,\margin-\Sep-1mm)}]current page.south west)  rectangle([shift={(-\margin+\Sep+1mm,-\margin+\Sep+1mm)}]current page.north east);
\draw([shift={(\margin-\Sep,\margin-\Sep)}]current page.south west)coordinate (myaux1)rectangle([shift={(-\margin+\Sep,-\margin+\Sep)}]current page.north east)coordinate (myaux2);
\end{tikzpicture}

\lipsum[1]

\LineB

\lipsum[1]

\LineB

\lipsum[1]

\LineB

\end{document}

在此处输入图片描述

和与\Sep=2mm\margin=2cm

在此处输入图片描述

相关内容