这是一个最小的工作示例。完整的问题实际上包含几个adhorn
装饰,但为了简洁起见,这里只包含几个图。tikzpicture
本身编译
\documentclass[tikz]{standalone}
\usepackage{adforn}
\begin{document}
\newsavebox{\tileone}
\begin{tikzpicture}[x=1cm,y=1cm]
\clip (0,0) rectangle (2,2);
\begin{scope}[dashed,blue]
\draw plot (\x,\x-1);
\draw plot (\x,\x+1);
\draw plot (\x,-\x+1);
\draw plot (\x,-\x+3);
\end{scope}
\end{tikzpicture}
\end{document}
但是当我将其包装在中时\sbox
,编译失败并出现“ missing \endgroup insert
”错误。
\documentclass[tikz]{standalone}
\usepackage{adforn}
\begin{document}
\newsavebox{\tileone}
\sbox{\tileone}{
\begin{tikzpicture}[x=1cm,y=1cm]
\clip (0,0) rectangle (2,2);
\begin{scope}[dashed,blue]
\draw plot (\x,\x-1);
\draw plot (\x,\x+1);
\draw plot (\x,-\x+1);
\draw plot (\x,-\x+3);
\end{scope}
\end{tikzpicture}
}
\usebox{\tileone}
\end{document}
仅添加了三行:
\sbox{\tileone}{
}
\usebox{\tileone}
这里没有missing \endgroup
显而易见的东西。有人可以提供解释吗?或者修复/解决方法?
我研究了其他这些问题,但都没有相关的答案:
- 错误!缺少 \endgroup 插入。这个有一个表格,答案涉及一个
table
功能 - 缺少插入 $,缺少插入 \endgroup
\neq
。这一个涉及数学模式和专门包装在中的答案$$
。
答案1
错误是
! Improper \prevdepth.
\endgroup
如果您滚动过去,您只会看到虚假的缺失错误。
不正确的 prevdepth 错误意味着您在水平 sbox 中使用了垂直模式材料。这是由于\newpage
显然standalone
附加到tikzpicture
。由于您不能在 sbox 中拥有新页面,因此只需在本地禁用该命令即可。
%\documentclass{article}\usepackage{tikz}
\documentclass[tikz]{standalone}
\begin{document}
\newsavebox{\tileone}
\sbox{\tileone}{\let\newpage\relax
\begin{tikzpicture}[x=1cm,y=1cm]
\clip (0,0) rectangle (2,2);
\begin{scope}[dashed,blue]
\draw plot (\x,\x-1);
\draw plot (\x,\x+1);
\draw plot (\x,-\x+1);
\draw plot (\x,-\x+3);
\end{scope}
\end{tikzpicture}%
}
\usebox{\tileone}
\end{document}