在 Metapost 和 ConTeXt 中获取页面边缘坐标

在 Metapost 和 ConTeXt 中获取页面边缘坐标

我使用 TikZ 为我的项目编写了几个宏。其中几个需要注意页面边缘和边距。例如,这是我编写的一个小宏,用于从当前位置到段落边缘绘制矩形。它所依赖的一个关键 TikZ 功能是能够获取页面边缘的坐标之一,current page.west

\documentclass[a4paper]{memoir}
\usepackage{tikz}
\usetikzlibrary{calc}

\newcommand\myline{%
    \begin{tikzpicture}[remember picture, overlay]%
        \fill let \p1 = (current page.west) in
        (0, 0) rectangle (\x1 + \textwidth + \spinemargin, 0.5em);
    \end{tikzpicture}%
}%

\begin{document}
    Lorem ipsum dolor sit amet, consectetur adipiscing elit,
    sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
    Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris 
    nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in
    reprehenderit in voluptate velit esse cillum dolore 
    eu fugiat nulla pariatur.\myline
    
    Sed ut perspiciatis unde omnis iste natus error sit voluptatem
    accusantium doloremque laudantium, totam rem aperiam, eaque 
    ipsa quae ab illo inventore veritatis et quasi architecto beatae 
    vitae dicta sunt explicabo.\myline
\end{document}

在此处输入图片描述

我想将我的一些项目移植到 ConTeXt,但我一直无法用 MetaPost 复制该功能。我遇到过一些例子,其中可以引用边缘,但随后你放弃了当前位置。

PD 可能有针对这个具体示例的库,但我想使用 MetaPost 来实现最大的灵活性,因为以后我必须移植更复杂的图形,例如指向边注的箭头等。

相关内容