Tengo un problema al usar TikZ-UML, que es una buena biblioteca, pero tiene algún error (o no funciona en mi configuración). LaTeX entra en un bucle infinito si uso todos los comportamientos de "hacer", "salir" y "entrar" en un diagrama de máquina de estados UML.
Este ejemplo está simplificado a partir de ladocumentación.
\documentclass{article}
\usepackage{tikz-uml}
\begin{document}
\begin{tikzpicture}
\begin{umlstate}[name=state, do=b, exit=c, entry=d]{state}
\end{umlstate}
\end{tikzpicture}
\end{document}
Si elimino "hacer", "salir" o "entrada", está bien. Con todos ellos, me salió un error:
! TeX capacity exceeded, sorry [input stack size=5000].
¿Tiene alguna pista?
Respuesta1
De hecho, esto es un error. No sé qué versión tengo pero si abres tikz-uml.sty
y vas a la línea 2857, encuentras una recursividad ya que los contenidos no están expandidos (creo que se suponía que debía recopilar el texto proveniente de esas opciones);
\def\tikzumlStateText{\tikzumlStateTextOld \\ do/\umlstatedo}%
Cámbielo a (dado que no está en CTAN, probablemente lo tenga en su texmf local),
\expandafter\def\expandafter\tikzumlStateText\expandafter{\tikzumlStateTextOld\\ do/\umlstatedo}%
Entonces funciona, independientemente del orden.
\documentclass{article}
\usepackage{tikz-uml}
\begin{document}
\begin{tikzpicture}
\begin{umlstate}[name=state,
entry=d,
exit=b,
do=c,
]{state}
\end{umlstate}
\end{tikzpicture}
\end{document}