美文网首页
MetaFun 08:长亭外

MetaFun 08:长亭外

作者: 明夷 | 来源:发表于2021-05-17 07: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 能够创造出来的那样的作品,如同人类下围棋最厉害的人,也难以战胜一个并不是真的会下围棋的程序。

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

    相关文章

      网友评论

          本文标题:MetaFun 08:长亭外

          本文链接:https://www.haomeiwen.com/subject/fvmdjltx.html