점근선을 사용하여 수형도를 그리고 싶습니다. 하지만 몇 가지 문제가 있습니다.
웹에서 검색해서 힌트 2개를 찾았습니다. http://asymptote.sourceforge.net/FAQ/section4.html http://asymptote.sourceforge.net/doc/Frames-and-pictures.html
이 팁을 사용하여상자그리고나무.
settings.outformat="pdf";
unitsize(5cm);
usepackage(amsmath);
frame f1;
label(f1, "$\mathbb{N} \models A(0)$", Draw);
add(f1, (0, 5))
frame f2;
label(f2, "$\mathbb{N} \models A(1)$", Draw);
add(f2, (0, 4));
draw(f1 -- f2);
그러나 이것은 작동하지 않습니다. 마지막draw(f1 -- f2);명령이 잘못되었습니다.
그리다명령에는 좌표가 필요합니다. 하지만 이 방법은... (나에게는) 현명하지 않습니다.
나는하고 싶다연결하다상자 2개. 2개의 객체를 어떻게 연결할 수 있나요?
나는 찾았다드로 트리모듈은 공식 튜토리얼 PDF에 있지만 유연하게 사용하기는 어려워 보입니다(나무 모양이 변경되나요?).
쉽게 사용할 수 있는 방법이 있다면드로 트리모듈, 그렇게 말해줄래?
감사해요.
답변1
다음 코드는 독립 실행형 asymptote
스크립트로 작동합니다. 저는 해당 모듈을 사용하지 않았 drawtree
으므로 이에 대해 도움을 드릴 수 없습니다. 내 코드에서는 프레임을 사용하지 않습니다. 대신 각 레이블은 기본 그림에 그려집니다.
texpreamble("\usepackage{amssymb}");
settings.outformat="pdf";
unitsize(5cm);
pair p1 = (0, 5);
pair p2 = (0, 4);
draw(p1--p2);
label("$\mathbb{N} \models A(0)$", p1, FillDraw(white, black));
label("$\mathbb{N} \models A(1)$", p2, FillDraw(white, black));
답변2
대체 방법론은 일반적으로 수용 가능하므로 제공하지 않을 수 없습니다.숲해결책.
math content
모든 노드의 내용을 수학 모드로 설정하여 $...$
. draw
트리의 각 노드 주위에 테두리를 그립니다.
노드는 자동으로 연결됩니다. 즉, 각 부모-자식 관계에 대해 부모에서 자식으로 연결됩니다. (예외용으로 사용하세요 .) 원래 코드에 정의된 것과 일치하도록 <node content>, no edge
지정했습니다 . 이는 트리 수준 간 최소 거리입니다. (5cm면 많아요.)l sep
unit
숲명시적인 좌표가 필요하지 않습니다. 자동으로 트리의 형식을 지정합니다.
\documentclass[tikz, border=10pt, multi]{standalone}
\usepackage{forest,amssymb}
\begin{document}
\begin{forest}
for tree={
draw,
math content,
l sep=50mm,
}
[\mathbb{N} \models A(0)
[\mathbb{N} \models A(1)]
]
\end{forest}
\end{document}
나무의 모양을 바꾸는 것은 매우 쉽습니다. 환경 의 서문을 변경하면 됩니다 forest
.
예를 들어,
for tree={
draw=red,
thick,
edge={blue, thick, <->},
fill=red!10,
math content,
l sep=50mm,
grow=45,
}
생산하다
트리 자체의 사양은 동일하게 유지됩니다.
[\mathbb{N} \models A(0)
[\mathbb{N} \models A(1)]
]