Diagram Markup

Inspired by

  • https://pikchr.org/
draw $shape with $anchor at $refobj.$refloc

draw line from $start.$start_loc to $end.$end_loc

相对位置的计算

  • with $self(start) at $prev(end)
proc relative_location {layout} {
  switch $layout {
     "right" {
       set self(start) "west"
       set prev(end)   "east"
     }
     "down" {
       set self(start) "north"
       set prev(end)   "south"
     }
     "left" {
       # ...
     }
     "up" {
       # ...
     }
  }
}