점근선의 트리(순서) 다이어그램

점근선의 트리(순서) 다이어그램

점근선을 사용하여 수형도를 그리고 싶습니다. 하지만 몇 가지 문제가 있습니다.

웹에서 검색해서 힌트 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 sepunit

명시적인 좌표가 필요하지 않습니다. 자동으로 트리의 형식을 지정합니다.

\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)]
  ]

관련 정보