나무가 너무 커지면 대부분의 나무가 사라집니다.

나무가 너무 커지면 대부분의 나무가 사라집니다.

보고서용 라텍스로 접미사 나무를 그리려고 합니다. 나는 트리를 프로그래밍하고 있기 때문에 트리를 수동으로 만들 필요가 없도록 코드에서 qtree 형식으로 인쇄하기만 하면 됩니다.

작은 나무의 경우 이것은 훌륭하게 작동합니다. (일반적인 "바나나" 예가 들어옴)

\documentclass{article}
\usepackage{graphics}
\usepackage{qtree}

\begin{document}
    \begin{center}
        \Tree[.  [.\$ ]
        [.banana\$ ]
        [.a [.n [.a [.na\$ ]
        [.\$ ]
        ]  ] [.\$ ]
        ] [.n [.a [.na\$ ]
        [.\$ ]
        ]  ]  ]
    \end{center}
\end{document}

$banana$에 대한 접미사 트리

하지만 "idontknowsomethingbig"과 같이 더 큰 트리를 그리려면 동일한 프로세스를 사용합니다.

\documentclass{article}
\usepackage{graphics}
\usepackage{qtree}

\begin{document}
    \begin{center}
        \Tree[.  [.\$idontknowsomethingbig\$ ]
        [.i [.dontknowsomethingbig\$ ]
        [.ngbig\$ ]
        [.g\$ ]
        ] [.dontknowsomethingbig\$ ]
        [.o [.ntknowsomethingbig\$ ]
        [.wsomethingbig\$ ]
        [.methingbig\$ ]
        ] [.n [.tknowsomethingbig\$ ]
        [.owsomethingbig\$ ]
        [.gbig\$ ]
        ] [.t [.knowsomethingbig\$ ]
        [.hingbig\$ ]
        ] [.knowsomethingbig\$ ]
        [.wsomethingbig\$ ]
        [.somethingbig\$ ]
        [.methingbig\$ ]
        [.ethingbig\$ ]
        [.hingbig\$ ]
        [.g [.big\$ ]
        [.\$ ]
        ] [.big\$ ]
        ]
    \end{center}
\end{document}

내가 얻는 건 이것 뿐이야

부러진 나무

입력에 따라 마지막 분기를 얻을 수도 있고 이 경우와 같은 단어만 얻을 수도 있습니다.

내 생각엔 코드가 구문적으로 정확하고 문제는 코드가 너무 커서 라텍스가 혼란스러워진다는 것입니다. 하지만 아파이크 그것은 무엇이든 될 수 있습니다.

답변1

댓글에 설명된 문제는qtree14개 이상의 분기를 처리할 수 없습니다. 해결책은 단순히 숲을 대신 사용하는 것이었습니다. 이를 사용하여 이제 다음과 같은 더 큰 나무를 그릴 수 있습니다.

큰 무작위 게놈 트리

다음에서 유래:

\documentclass[border=1mm]{standalone}
\usepackage{graphics}
\usepackage{forest}


\begin{document}

        \begin{forest}
            for tree={
                calign=center,
                grow'=east,
                parent anchor=east, child anchor=west,
                text height=1.4ex, text depth=0.2ex 
            }
            [.  [.\$GATTACATAGCTGATGCTAGCTATATCGTCGATGCGCTCGCGATAGCTAGCTAGTCGTAGCTATGATCTGS\$ ]
            [.G [.A [.T [.TACATAGCTGATGCTAGCTATATCGTCGATGCGCTCGCGATAGCTAGCTAGTCGTAGCTATGATCTGS\$ ]
            [.G [.C [.TAGCTATATCGTCGATGCGCTCGCGATAGCTAGCTAGTCGTAGCTATGATCTGS\$ ]
            [.GCTCGCGATAGCTAGCTAGTCGTAGCTATGATCTGS\$ ]
            ]  ] [.AGCTAGCTAGTCGTAGCTATGATCTGS\$ ]
            [.CTGS\$ ]
            ]  ] [.C [.T [.GATGCTAGCTATATCGTCGATGCGCTCGCGATAGCTAGCTAGTCGTAGCTATGATCTGS\$ ]
            [.A [.G [.C [.T [.A [.TATCGTCGATGCGCTCGCGATAGCTAGCTAGTCGTAGCTATGATCTGS\$ ]
            [.GTCGTAGCTATGATCTGS\$ ]
            ]  ]  ] [.TCGTAGCTATGATCTGS\$ ]
            ] [.T [.ATCGTCGATGCGCTCGCGATAGCTAGCTAGTCGTAGCTATGATCTGS\$ ]
            [.GATCTGS\$ ]
            ]  ] [.CGCGATAGCTAGCTAGTCGTAGCTATGATCTGS\$ ]
            ] [.G [.CTCGCGATAGCTAGCTAGTCGTAGCTATGATCTGS\$ ]
            [.ATAGCTAGCTAGTCGTAGCTATGATCTGS\$ ]
            ]  ] [.T [.C [.G [.ATGCGCTCGCGATAGCTAGCTAGTCGTAGCTATGATCTGS\$ ]
            [.TAGCTATGATCTGS\$ ]
            ]  ] [.AGCTATGATCTGS\$ ]
            ] [.S\$ ]
            ] [.A [.T [.TACATAGCTGATGCTAGCTATATCGTCGATGCGCTCGCGATAGCTAGCTAGTCGTAGCTATGATCTGS\$ ]
            [.A [.G [.C [.T [.GATGCTAGCTATATCGTCGATGCGCTCGCGATAGCTAGCTAGTCGTAGCTATGATCTGS\$ ]
            [.AGCTAGTCGTAGCTATGATCTGS\$ ]
            ]  ]  ] [.TCGTCGATGCGCTCGCGATAGCTAGCTAGTCGTAGCTATGATCTGS\$ ]
            ] [.G [.C [.TAGCTATATCGTCGATGCGCTCGCGATAGCTAGCTAGTCGTAGCTATGATCTGS\$ ]
            [.GCTCGCGATAGCTAGCTAGTCGTAGCTATGATCTGS\$ ]
            ] [.ATCTGS\$ ]
            ] [.C [.GTCGATGCGCTCGCGATAGCTAGCTAGTCGTAGCTATGATCTGS\$ ]
            [.TGS\$ ]
            ]  ] [.CATAGCTGATGCTAGCTATATCGTCGATGCGCTCGCGATAGCTAGCTAGTCGTAGCTATGATCTGS\$ ]
            [.G [.C [.T [.GATGCTAGCTATATCGTCGATGCGCTCGCGATAGCTAGCTAGTCGTAGCTATGATCTGS\$ ]
            [.A [.T [.ATCGTCGATGCGCTCGCGATAGCTAGCTAGTCGTAGCTATGATCTGS\$ ]
            [.GATCTGS\$ ]
            ] [.G [.CTAGTCGTAGCTATGATCTGS\$ ]
            [.TCGTAGCTATGATCTGS\$ ]
            ]  ]  ]  ] [.TCGTAGCTATGATCTGS\$ ]
            ]  ] [.T [.TACATAGCTGATGCTAGCTATATCGTCGATGCGCTCGCGATAGCTAGCTAGTCGTAGCTATGATCTGS\$ ]
            [.A [.CATAGCTGATGCTAGCTATATCGTCGATGCGCTCGCGATAGCTAGCTAGTCGTAGCTATGATCTGS\$ ]
            [.G [.C [.T [.GATGCTAGCTATATCGTCGATGCGCTCGCGATAGCTAGCTAGTCGTAGCTATGATCTGS\$ ]
            [.A [.T [.ATCGTCGATGCGCTCGCGATAGCTAGCTAGTCGTAGCTATGATCTGS\$ ]
            [.GATCTGS\$ ]
            ] [.G [.CTAGTCGTAGCTATGATCTGS\$ ]
            [.TCGTAGCTATGATCTGS\$ ]
            ]  ]  ]  ] [.TCGTAGCTATGATCTGS\$ ]
            ] [.T [.ATCGTCGATGCGCTCGCGATAGCTAGCTAGTCGTAGCTATGATCTGS\$ ]
            [.CGTCGATGCGCTCGCGATAGCTAGCTAGTCGTAGCTATGATCTGS\$ ]
            [.GATCTGS\$ ]
            ]  ] [.G [.A [.T [.GCTAGCTATATCGTCGATGCGCTCGCGATAGCTAGCTAGTCGTAGCTATGATCTGS\$ ]
            [.CTGS\$ ]
            ]  ] [.C [.TAGCTATATCGTCGATGCGCTCGCGATAGCTAGCTAGTCGTAGCTATGATCTGS\$ ]
            [.GCTCGCGATAGCTAGCTAGTCGTAGCTATGATCTGS\$ ]
            ] [.S\$ ]
            ] [.C [.G [.T [.CGATGCGCTCGCGATAGCTAGCTAGTCGTAGCTATGATCTGS\$ ]
            [.AGCTATGATCTGS\$ ]
            ] [.ATGCGCTCGCGATAGCTAGCTAGTCGTAGCTATGATCTGS\$ ]
            [.CGATAGCTAGCTAGTCGTAGCTATGATCTGS\$ ]
            ] [.TGS\$ ]
            ]  ] [.C [.ATAGCTGATGCTAGCTATATCGTCGATGCGCTCGCGATAGCTAGCTAGTCGTAGCTATGATCTGS\$ ]
            [.T [.G [.ATGCTAGCTATATCGTCGATGCGCTCGCGATAGCTAGCTAGTCGTAGCTATGATCTGS\$ ]
            [.S\$ ]
            ] [.A [.G [.C [.T [.A [.TATCGTCGATGCGCTCGCGATAGCTAGCTAGTCGTAGCTATGATCTGS\$ ]
            [.GTCGTAGCTATGATCTGS\$ ]
            ]  ]  ] [.TCGTAGCTATGATCTGS\$ ]
            ] [.T [.ATCGTCGATGCGCTCGCGATAGCTAGCTAGTCGTAGCTATGATCTGS\$ ]
            [.GATCTGS\$ ]
            ]  ] [.CGCGATAGCTAGCTAGTCGTAGCTATGATCTGS\$ ]
            ] [.G [.T [.CGATGCGCTCGCGATAGCTAGCTAGTCGTAGCTATGATCTGS\$ ]
            [.AGCTATGATCTGS\$ ]
            ] [.A [.T [.GCGCTCGCGATAGCTAGCTAGTCGTAGCTATGATCTGS\$ ]
            [.AGCTAGCTAGTCGTAGCTATGATCTGS\$ ]
            ]  ] [.C [.TCGCGATAGCTAGCTAGTCGTAGCTATGATCTGS\$ ]
            [.GATAGCTAGCTAGTCGTAGCTATGATCTGS\$ ]
            ]  ]  ] [.S\$ ]
            ] 
        \end{forest}  


\end{document}

구문이 forest와 다르기 qtree때문에 모든 노드에는 추가 '.'가 있습니다. 이 예에서는 문자입니다. 숲을 사용하여 나무를 만드는 방법에 대한 예로 이 답변을 사용하는 경우 이 점을 명심하세요 :)

관련 정보