File: demo.ml

package info (click to toggle)
mlpost 0.9-5
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 3,844 kB
  • sloc: ml: 21,094; javascript: 4,047; makefile: 430; ansic: 34; lisp: 19; sh: 15
file content (28 lines) | stat: -rw-r--r-- 631 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
open Mlpost
open Num
open Box

let fig =
  let b =
    hbox ~padding:(bp 20.) ~pos:`Bot
      [ circle (tex "A"); vbox [ round_rect (tex "B"); tex "\\LaTeX" ] ]
  in
  let b = round_rect ~stroke:(Some Color.red) b in
  draw (vbox [ b; b; b ])

let () = Metapost.emit "fig" fig

let triple x = [ x; x; x ]

let nine x = triple (triple x)

let u = bp 10.

let sudoku =
  let e = rect (empty ~width:u ~height:u ()) in
  let b = tabularl ~hpadding:zero ~vpadding:zero (nine e) in
  let pen = Pen.scale (pt 1.5) Pen.circle in
  let b = rect ~pen ~dx:zero ~dy:zero b in
  draw (tabularl (nine b))

let () = Metapost.emit "sudoku" sudoku