이 LaTeX 문서를 사용하면:
\documentclass[czech]{article}
\usepackage{fontspec}
\usepackage{unicode-math}
\setmainfont[Mapping=tex-text]{DejaVu Serif}
\setsansfont[Mapping=tex-text]{DejaVu Sans}
\setmonofont{DejaVu Sans Mono}
\usepackage{geometry}
\geometry{verbose}
\usepackage{fancybox}
\usepackage{calc}
\usepackage{covington}
\usepackage{forest}
\usepackage{subscript}
\makeatletter
% Load forest linguistics library, if available
\@ifpackagelater{forest}{2016/02/20}{%
\useforestlibrary*{linguistics}
}{}
\makeatother
\usepackage{polyglossia}
\setdefaultlanguage{czech}
\begin{document}
\begin{covexamples}
\item
\begin{forest}
[C2 [√ [hez]][C2 [C2 ][C1[C1][Q] ] ]{\node [draw,fit=()(!1)(!ll),rounded corners] {};\node at (current bounding box.south) [below=1ex]{\emph{k}};} ]]
\end{forest}
\item
\begin{forest}
[ C2 [C1 [A][C1]]{\node [draw,fit=()(!1)(!ll),rounded corners] {};\node at (current bounding box.south) [below=1ex]{\emph{slab}};} [C2 [\textit{š}]]]
\end{forest}
\end{covexamples}
\end{document}
빌드할 때 다음 오류가 발생합니다.
! Package forest Error: nodewalk stepped to the invalid node
(forest) nodewalk stack: ",root',for nodewalk,tree,last".
놀랍게도 오류는 첫 번째 트리가 아닌 두 번째 트리에서만 발생하며 첫 번째 트리에서 작동하는 것과 동일한 TikZ 코드를 사용하는 경우에도 발생합니다. TeXLive 패키지의 포리스트 사용(OpenSUSE에서)texlive-forest-2020.176.2.1.5svn44797-42.2.noarch
내 문서에 무슨 문제가 있나요?
답변1
문제는 두 번째 트리 (!ll)
에 있습니다 fit
. 자식만 있고 손자는 없는 상위 C1에 적용되는데, nodewalk에서는 !ll
"마지막 자식의 마지막 자식으로 이동"이라고 합니다. 이것을 로 변경하면 (!l)
문서가 컴파일됩니다. (확실히,(!ll)
중간 C2가 있기 때문에 첫 번째 트리에서 작동합니다.가지다마지막 아이의 마지막 아이.)
문제를 올바르게 이해했다면 나무를 바꾸는 재미있는 일을 재현할 수 없었습니다.
그런데 첫 번째 트리의 맨 끝에는 불필요한 오른쪽 괄호가 있습니다.