+LaTeX::TikZ::Interface->register(
+ point => sub {
+ shift;
+
+ my $point;
+ if (@_ == 0) {
+ $point = 0;
+ } elsif (@_ % 2) {
+ $point = shift;
+ } else { # @_ even, @_ >= 2
+ $point = [ shift, shift ];
+ }
+
+ __PACKAGE__->new(point => $point, @_);
+ },
+);