
forest
두 번째 예에서와 같이 패키지를 사용하여 언어학 트리를 만들려고 합니다 .이 스레드. 대부분의 경우 트리를 생성할 수 있었지만 어떤 이유로 삼각형을 그릴 수 없습니다.
내 MWE는 다음과 같습니다.
\documentclass{article}
\usepackage{forest}
\usepackage{amsmath,amsfonts,amssymb}
\begin{document}
\begin{forest}
for tree={
if n children =0{
font=\itshape,
tier=terminal
}{},
}
[TP
[NP
[Det
[The]
]
[$\bar{N}$
[N
[ice]
]
]
]
[$\bar{T}$
[T
[+pst,font=\scshape]
]
[VP
[$\bar{V}$
[V
[melt]
]
]
[AdvP
[quickly,triangle]
]
]
]
]
\end{forest}
\end{document}
이것을 실행하면 다음과 같은 오류가 발생합니다.
! Package pgfkeys Error: I do not know the key '/tikz/triangle' and I am going to ignore it. Perhaps you misspelled it. See the pgfkeys package documentation for explanation. Type H for immediate help.... \end{forest}
MiKTeX 2.9에서 Texmaker 4.4.1을 실행하고 있습니다. 내 pgf
버전은 3.0.1a이고 pdfTeX 버전 3.1415926-2.5-1.40.14를 사용하고 있습니다. Reddit 사용자는 pdfTeX 3.1415926-2.5-1.40.14(TeX Live 2013/Debian)에서 코드를 실행할 수 있었습니다.
pgf
흥미롭게도 Texmaker 4.2, TeX Live 2014, 3.0.0. 및 pdfTeX 3.1415926-2.6-1.40.15를 사용하여 MacBook에서도 성공했습니다 .
내 버전을 다운그레이드할 수 있는 방법이 있을까요 pgf
? 아니면 다른 것에서 오류가 있는 걸까요?
답변1
가장 먼저 확인해야 할 것은 버전입니다.숲당신은 가지고 있습니다.만약에버전 2가 있으면 다음 답변이 적용됩니다. 아직 버전 1이 있는 경우에는 관련이 없습니다.
버전 2가 있다고 가정하면 ...
새로운 버전의숲이전 버전과 호환되지 않는 일부 변경 사항이 도입되었습니다. 이 경우 다음 두 가지가 우리와 관련이 있습니다.
특정 옵션 클러스터는 이제 라이브러리로 구성되므로 별도로 로드해야 합니다.
특정 옵션의 이름이 변경되었거나 더 이상 존재하지 않습니다.
triangle
더 이상 옵션으로 존재하지 않습니다. 새로운 옵션은 입니다 roof
. 그러나 에 액세스하려면 라이브러리 roof
를 로드해야 합니다 linguistics
.
문서에는 프로세스가 명확하지 않습니다. 첫 번째 문제는
texdoc forest
이제 문서화된 코드는 제공되지만 사용자 설명서는 제공되지 않습니다.
texdoc -l forest
현재 에 있는 사용자 설명서를 볼 수 있는 옵션을 제공합니다 forest-doc.pdf
.
라이브러리 로딩 메커니즘은 20페이지에 설명되어 있습니다.
본질적으로,
\useforestlibrary{<list of libraries>}
라이브러리 목록을 로드하고
\forestapplylibrarydefaults{<list of libraries>}
기본 설정을 적용하여 추가 옵션 등을 사용할 수 있게 만듭니다.
\useforestlibrary{}
, like \usepackage{}
및 는 \usetikzlibrary{}
서문에서만 사용됩니다.
\forestapplylibrarydefaults{}
서문이나 문서에서 사용될 수 있으며 현재 TeX 범위 내에서 적용됩니다.
대안은 로드할 때 라이브러리 이름을 옵션으로 전달하는 것입니다.숲
\usepackage[<list of libraries>]{forest}
이는 라이브러리를 로드하고 문서 전체에 기본값을 적용하는 효과가 있습니다.
참고하세요
\forestapplylibrarydefaults{<libraries>}
<libraries>
로드되지 않은 경우 아무 효과가 없습니다 . 그러나 혼란스럽게도 오류가 발생하지 않습니다.
어쨌든 결과적으로 라이브러리를 로드 및 적용 linguistics
하고 다음 triangle
으로 변경해야 합니다 roof
.
\documentclass[tikz, border=10pt, multi]{standalone}
\usepackage{forest}
\usepackage{amsmath,amsfonts,amssymb}
\useforestlibrary{linguistics}
\forestapplylibrarydefaults{linguistics}
\begin{document}
\begin{forest}
for tree={
if n children =0{
font=\itshape,
tier=terminal
}{},
}
[TP
[NP
[Det
[The]
]
[$\bar{N}$
[N
[ice]
]
]
]
[$\bar{T}$
[T
[+pst,font=\scshape]
]
[VP
[$\bar{V}$
[V
[melt]
]
]
[AdvP
[quickly,roof]
]
]
]
]
\end{forest}
\end{document}
이렇게 하면 앵커도 변경되고 가장자리의 모양도 변경됩니다. 나는 이 스타일이 언어학에서 정상이라고 믿기 때문에 이것이 여러분이 원하는 것이기를 바랍니다. 그러나 이전에 앵커와 가장자리에 기본 스타일을 사용한 경우 나무가 약간 다르게 보일 수 있습니다.