From f025594e1846f0c0894c104139cc5917f8c4380a Mon Sep 17 00:00:00 2001 From: jemmybutton Date: Tue, 17 Sep 2024 23:25:18 +0300 Subject: [PATCH] another byrne.mp and byrne.sty update --- byrne.mp | 21 +++++++++++++++++++++ byrne.sty | 1 + 2 files changed, 22 insertions(+) diff --git a/byrne.mp b/byrne.mp index 723f8a5..8671054 100644 --- a/byrne.mp +++ b/byrne.mp @@ -2192,6 +2192,9 @@ vardef byCircleABCDefine@#(suffix a, b, c)(expr col, dp, th, s) = if str @# = "": byCircleABCDefine.scantokens(str a & str b & str c)(a, b, c)(col, dp, th, s) else: + if mainPictureMode: + appendList(allCirclesList, str @#, 1, true); + fi; save o, r; pair o; numeric r; @@ -3402,6 +3405,24 @@ vardef generateAngleSynonyms = fi; enddef; +vardef generateCircleSynonyms = +save pointName, originalName; +string pointName[], originalName; + if string allCirclesList: + forsuffixes i=scantokens(allCirclesList): + originalName := str i; + pointName0 := getAttribute("circle", "AName", originalName); + pointName1 := getAttribute("circle", "BName", originalName); + pointName2 := getAttribute("circle", "CName", originalName); + setAttribute("circle", "Synonym", pointName1 & pointName2 & pointName0, originalName); + setAttribute("circle", "Synonym", pointName2 & pointName0 & pointName1, originalName); + setAttribute("circle", "Synonym", pointName0 & pointName2 & pointName1, originalName); + setAttribute("circle", "Synonym", pointName1 & pointName0 & pointName2, originalName); + setAttribute("circle", "Synonym", pointName2 & pointName1 & pointName0, originalName); + endfor; + fi; +enddef; + vardef sortPointAnglesList (expr anglesListToSort) = save preList, postList, nPre, nPost, isSorted, value, firstValue, lastValue, rv; string preList, postList, rv; diff --git a/byrne.sty b/byrne.sty index 243dc36..50733b3 100644 --- a/byrne.sty +++ b/byrne.sty @@ -73,6 +73,7 @@ end #3 scaleFactor := \sfA; generateAngleSynonyms; + generateCircleSynonyms; generateLineSynonyms; stopMainPictureMode; );