Con este documento 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}
Recibo este error al compilar:
! Package forest Error: nodewalk stepped to the invalid node
(forest) nodewalk stack: ",root',for nodewalk,tree,last".
Sorprendentemente, el error ocurre sólo en el segundo árbol, no en el primero, y ocurre incluso cuando uso exactamente el mismo código TikZ que funciona en el primero. Usando bosque del paquete TeXLive (en OpenSUSE)texlive-forest-2020.176.2.1.5svn44797-42.2.noarch
¿Qué pasa con mi documento?
Respuesta1
El problema está (!ll)
en fit
el segundo árbol. Se aplica en el C1 superior, que solo tiene hijos pero no nietos, pero nodewalk !ll
dice "ir al último hijo del último hijo". Cambiando esto a (!l)
, el documento se compila. (Obviamente,(!ll)
funciona en el primer árbol porque el C2 intermediotieneel último hijo del último hijo.)
No podría replicar lo gracioso de cambiar los árboles... si es que entendí el problema correctamente.
Por cierto, al final del primer árbol hay un corchete derecho superfluo.