MetaFun 08:長亭外

長亭外,古道邊……現在開始回憶。

起初,在 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 能夠創造出來的那樣的作品,如同人類下圍棋最厲害的人,也難以戰勝一個並不是真的會下圍棋的程序。

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章