Wald mit enthaltenen TikZ-Diagrammen unterbricht den Build (Nodewalk führte zum ungültigen Knoten)

Wald mit enthaltenen TikZ-Diagrammen unterbricht den Build (Nodewalk führte zum ungültigen Knoten)

Mit diesem LaTeX-Dokument:

\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}

Beim Erstellen erhalte ich diesen Fehler:

! Package forest Error: nodewalk stepped to the invalid node
(forest)                nodewalk stack: ",root',for nodewalk,tree,last".

Überraschenderweise tritt der Fehler nur beim zweiten Baum auf, nicht beim ersten, und er tritt sogar auf, wenn ich genau denselben TikZ-Code verwende, der im ersten funktioniert. Forest aus dem TeXLive-Paket verwenden (unter OpenSUSE)texlive-forest-2020.176.2.1.5svn44797-42.2.noarch

Was ist mit meinem Dokument nicht in Ordnung?

Antwort1

Das Problem liegt (!ll)im fitzweiten Baum. Es wird auf das obere C1 angewendet, das nur Kinder, aber keine Enkelkinder hat, aber nodewalk !llsagt „gehe zum letzten Kind des letzten Kindes“. Wenn man dies in ändert (!l), wird das Dokument kompiliert. (Offensichtlich (!ll)funktioniert es im ersten Baum, weil das Zwischen-C2hatdas letzte Kind des letzten Kindes.)

Ich konnte das lustige Verhalten mit dem Vertauschen der Bäume nicht reproduzieren … sofern ich das Problem überhaupt richtig verstanden habe.

Ganz am Ende des ersten Baumes steht übrigens eine überflüssige rechte Klammer.

verwandte Informationen