如何使用LuaLatex中的Metapost语言为页面设置水印?

如何使用LuaLatex中的Metapost语言为页面设置水印?

我对 ConTeXt 完全陌生,刚刚开始尝试直接在 ConTeXt 中编写 metapost。在 ConTeXt 中,我使用以下 Metapost 代码为一个页面设置水印,我的问题是如何在 LuaLatex 中使用 Metapost 语言为页面设置水印?

\startuseMPgraphic{square}
path p; p := fullsquare xscaled 8cm yscaled 6cm;
draw p rotated 45 randomized 30mm
withcolor transparent (1, .5 randomized .3, darkgray)
withpen pencircle scaled 2pt;
\stopuseMPgraphic

\defineoverlay[watermark][\useMPgraphic{square}]
\setupbackgrounds[page][background=watermark]

\starttext
\setupbodyfont[dejavu,12pt]
\input knuth
\input zapf
\input knuth
\input zapf
\stoptext 

答案1

您可以使用draftwatermark包和luamplib包来执行此操作。这里有一个可能的方法:将 MP 图形放在一个框中,然后使用该框作为水印文本。

\documentclass{article}
\usepackage{luamplib}
\mplibtextextlabel{enable}
\mplibsetformat{metafun}
\usepackage{draftwatermark}
\usepackage{lipsum}

\newsavebox\mpbox
\savebox\mpbox{\begin{mplibcode}
beginfig(0);
path p; p := fullsquare xscaled 8cm yscaled 6cm;
draw p rotated 45 randomized 30mm
withcolor transparent (1, .5 randomized .3, darkgray)
withpen pencircle scaled 2pt;
endfig;
\end{mplibcode}}

\DraftwatermarkOptions{text={\usebox\mpbox}}

\begin{document}
\lipsum
\end{document}

编译它以lualatex获得如下所示的 PDF:

在此处输入图片描述

链接:关于的文档luamplib以及更多元帖子

相关内容