Se superó la capacidad de TeX con TikZ-UML

Se superó la capacidad de TeX con TikZ-UML

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.styy 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}

ingrese la descripción de la imagen aquí

información relacionada