Conversation
Signed-off-by: Qrrbrbirlbel <qrrbrbirlbel+github@gmail.com>
Signed-off-by: Qrrbrbirlbel <qrrbrbirlbel+github@gmail.com>
a1290f2 to
e7e1bf8
Compare
| The three points \meta{A}, \meta{B}, and \meta{C} \emph{must} be the names | ||
| of nodes or coordinates; you cannot use direct coordinates like ``|(1,1)|'' | ||
| here. | ||
|
|
There was a problem hiding this comment.
Instead of removing, how about rewrite it to
The three points \meta{A}, \meta{B}, and \meta{C} can be either the names
of nodes or coordinates, or direct coordinates like ``|(1,1)|''.
to document the extended syntax.
There was a problem hiding this comment.
Sure, but it needs to be ``|1,1|'' then because the () are inserted by the pic's setup code. So pic […] {angle = {A--1,1--B.south west}} or pic […] {angle = A--{1,1}--B.south west} would be valid syntax.
There was a problem hiding this comment.
You're right.
Then this syntax seems a bit more strange. Is a key-value interface needed here as well?
There was a problem hiding this comment.
I wouldn't mind one. I always put the coordinates in the wrong order anyway. :D
But is it so strange? Sure, in most cases, the () are used to indicate something is a coordinate (and baseline et al uses it to decide between a value and a coordinate).
But there are also many that don't use the ():
- the technically deprecated
(intersection of A--B and C--D)syntax where additional parentheses are missing (it even has the--) (A |- B)(and not((A) |- (B))=({(A)} |- {(B)})) as well asbelow = of A.
They would all also allow 1, 1, the latter only with {}, of course.
We can check for -- – twice even – and use the old syntax (both for backwards compatibility and for the simple syntax), otherwise use start direction = (A), center = {(1, 1)}, end direction = (B.south west). I'd would even be as fancy as allowing start direction = (A), center = {(1, 1)}, delta angle=60. (But that can give weird results with xyz coordinate systems whose axes don't align with the canvas coordinate system. The arc/circle path operators solve this by choosing one or the other by looking whether the radii have a unit.)
The advantage of a key-value interface would be that it allows to set, say, a center coordinate for multiple angles.
Co-authored-by: Yukai Chou <muzimuzhi@gmail.com>
Fixes #1363
Checklist
Please signoff your commits to explicitly state your agreement to the Developer Certificate of Origin. If that is not possible you may check the boxes below instead: