MetaFun 08:长亭外

2021-05-17  本文已影响0人  明夷

长亭外,古道边……现在开始回忆。

起初,在 card-env.tex 里,我定义了一个叫作 foo 的 overlay,

\defineoverlay
  [foo]
  [\uniqueMPgraphic{绘图代码}]

将它作为一个叫作 canvas 的框框的背景,

\defineframed
  [canvas]
  [frame=off,
    width=\textwidth,
    height=\textheight,
    framecolor=darkred,
    rulethickness=.25em,
    location=lohi,
    empty=yes,
    background=foo]

然后,在任何一份 ConTeXt 源文件里,例如在 bar.tex 里,载入 card-env.tex,

\environment card-env

便可使用这个背景为叫作 foo 的 overlay 的框框 canvas 了。

为了让 canvas 能够在页面居于正中,我用了标准的 makeup:

\startstandardmakeup[align=middle]
\strut\canvas{涂鸦}\strut
\stopstandardmakeup

由于那个叫作 foo 的 overlay,它实质上是一幅 MetaFun 代码绘制的图形,即

\uniqueMPgraphic{绘图代码}

之后,我在这幅 MetaFun 代码绘图区孜孜不倦:

\startuniqueMPgraphic
% 涂鸦
% 创造蜗牛
% 创造山海经地理学
% 创造名门
% 让 Lua 高挂在夜空
\stopuniqueMPgraphic

至此,MetaPost 编程以及一部分 MetaFun 宏的用法,我……我们已经很熟悉了。倘若还有更多的追求,那为什么不阅读:

http://www.pragma-ade.com/general/manuals/metafun-p.pdf

绘画是一门技艺。使用 MetaFun 绘画的技艺,我自认为在技术方面我已经给出了入门性质的全面的指引,但艺术方面,很抱歉,我在这方面的潜质目前尚未被任何人包括我自己发现。

MetaPost 不擅长创造人类数万年来用真正的画笔创造的那样的作品。但是反过来,持有真正的画笔的人类也不擅长创造 MetaPost 能够创造出来的那样的作品,如同人类下围棋最厉害的人,也难以战胜一个并不是真的会下围棋的程序。

知其白,守其黑。知其雄,守其雌……大路朝天,各走一边,芳草碧连天。

上一篇下一篇

猜你喜欢

热点阅读