
나는 TikZ의 레이블 기능 동작이 마음에 들지 않는다고 결정했습니다. 지정된 라벨 각도 반대쪽 앵커를 사용하여 배치된 라벨을 가져오고 싶습니다. 예를 들어 레이블이 노드 옵션 목록에 명시되는 경우 [..., label = {210: my label}, ...]
레이블은 해당 레이블의 앵커를 사용하여 각도 210에 배치되어야 합니다 30
(210 +/- 180은 30 모듈로 360임). (TikZ 라벨 위치 지정 논리는 이 작업을 수행하지 않습니다. 대신(3.00 매뉴얼에 따라) 각도에 따라 라벨에 대해 8개의 앵커 north
, north east
, east
, ... 중 하나를 선택합니다.)north west
레이블이 지정된 노드는 실제로 TikZ 코드를 직접 입력하는 것이 아니라 매크로 내부에서 생성될 예정이므로 실제로 "레이블" 기능을 사용하지 않고 직접 레이블 노드를 생성하는 것만으로도 충분할 것 같았습니다. 그러나 여전히 label distance
권리를 얻어야 합니다. 그리고 label distance
실제 TikZ 레이블처럼 TikZ 키 변경에 응답하기 위한 레이블 거리를 원합니다 .
그러나 label distance
. 가 있지만 /tikz/label distance
라벨 거리를 저장하는 대신 설정하는 데 사용되는 것 같습니다. 를 사용하여 읽으려고 \pgfkeysgetvalue
하면 \relax
. TikZ의 코드를 살펴보면 현재 라벨 거리가 이라는 매크로에 저장되어 있는 것으로 보입니다 \tikz@label@distance
. 그래서 이 매크로의 값을 복사하고 이를 사용하여 ersatz 레이블을 배치하는 코드를 시도했는데 올바르게 작동하는 것 같습니다.
제 질문은 이것이 제가 라벨 거리를 결정하는 "방법"입니까?입니다. 이는 내가 여기서 하고 있는 작업이 Tikz/PGF의 "내부"를 살펴보고 내부를 만지작거리는 것임을 의미합니다. TikZ/PGF의 최신 버전이 \tikz@label@distance
매크로 이름을 바꾸거나 이를 저장하기 위해 PGFkeys 키를 사용하기 시작하면 코드가 손상됩니다. 더 좋은 방법이 있나요?