TikZ 그래프가 포함된 숲이 빌드를 중단합니다(노드워크가 유효하지 않은 노드로 이동함).

TikZ 그래프가 포함된 숲이 빌드를 중단합니다(노드워크가 유효하지 않은 노드로 이동함).

이 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가 있기 때문에 첫 번째 트리에서 작동합니다.가지다마지막 아이의 마지막 아이.)

문제를 올바르게 이해했다면 나무를 바꾸는 재미있는 일을 재현할 수 없었습니다.

그런데 첫 번째 트리의 맨 끝에는 불필요한 오른쪽 괄호가 있습니다.

관련 정보