包含 TikZ 圖的森林破壞了建造(nodewalk 走到了無效節點)

包含 TikZ 圖的森林破壞了建造(nodewalk 走到了無效節點)

有了這個 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最後一個孩子的最後一個孩子。

如果我完全正確地理解了這個問題,我就無法複製切換樹的有趣事情。

順便說一下,第一棵樹的最末端有一個多餘的右括號。

相關內容