简单的 tikz-timing 示例无法编译,并显示“TeX 容量超出”

简单的 tikz-timing 示例无法编译,并显示“TeX 容量超出”

尝试使用timztimingtableMikTeX 2.9(TikZ-Timing 0.7d)环境时,会失败并显示以下错误消息。但是,使用普通\timing命令\texttiming可以正常工作。我该如何解决这个问题?

! TeX capacity exceeded, sorry [input stack size=5000].
\pgf@selectfontorig ->\pgf@selectfontorig 
                                          \nullfont 
l.6 T
     est & cccc\\

\documentclass{article}
\usepackage{tikz-timing}
\begin{document}
Foo \texttiming{cccc}      % This works

\begin{tikzpicture}
\timing {cccc};            % This also works
%\begin{tikztimingtable}   % This fails to compile
%Test & cccc\\
%\end{tikztimingtable}
\end{tikzpicture}
\end{document}

答案1

显然tikztimingtable不喜欢在内部调用tikzpicture,因为它tikzpicture本身就是;该错误是由于 TikZ/PGF 用于避免排版不需要的东西的机制(即使用\nullfont其中没有字符的)。

如果你需要它tikzpicture,那么它可能在节点的文本中,例如

\node at (0,0) {\begin{tikztimingtable}...\end{tikztimingtable}};

可以。但是您不能tikztimingtable在 的顶层使用tikzpicture

\documentclass{article}
\usepackage{tikz-timing}
\begin{document}
Foo \texttiming{cccc}      % This works

\begin{tikzpicture}
\timing {cccc};            % This also works
\end{tikzpicture}

\begin{tikztimingtable}   % This is good
Test & cccc\\
\end{tikztimingtable}

\end{document}

相关内容