2010-06-19 20 views

Respuesta

9

Hay un paquete, se llama zed-csp. Aquí hay un reference sobre cómo usarlo.

He aquí un esquema de ejemplo:

\begin{schema}{InitJunction1} 
\Delta Sys\\ 
junc?: JUNCTION\\ 
road1?: ROAD\\ 
road2?: ROAD 
\where 
road1? \neq road2?\\ 
junc? \notin juncList\\ 
\forall j: juncList @ \neg ((road1? \in roadsInJunc(j)) \land (road2? \in roadsInJunc(j))\\ 
roadsInJunc' = roadsInJunc \cup \{junc? \mapsto \{road1,road2\}\}\\ 
juncList' = juncList \cup \{junc?\} 
\end{schema} 

See my de preguntas y respuestas sobre el tema: Zed Notation in LyX

+0

Gracias, tenía miedo de que la pregunta se refiriera a algo específico de LyX. –

+0

Gracias una vez más, funciona como un encanto. –

+0

@Gabriel Ščerbák no hay problema, gracias por los votos: P –

1

Hay un buen número de paquetes que ofrecen soporte para la escritura de especificación Z en LaTeX. Aunque muchos tienen una sintaxis muy similar y algunos ofrecen funciones adicionales.

Más información sobre estos paquetes se puede encontrar aquí: http://czt.sourceforge.net/latex/

Explica que fuzz.sty era el primero y contiene macros importantes pero no es compatible con el estándar ISO-Z, zed.sty y zed-csp.sty eran una versión de Oxford que mejoró etc fuzz.sty

0

Esto es lo que mi profesor de Ingeniería de Software utilizado para el látex-formato al crear los Z-esquemas y Operaciones:

\usepackage{oz, amsfonts} 
... 
\begin{schema}{MusicStore} 
member: \pset NAME\\ 
orders: \pset (NAME\times ALBUM)\\ 
owns: \pset (NAME\times ALBUM) 
\ST 
{\bf dom}\mbox{ } orders \subseteq member\\ 
{\bf dom}\mbox{ } owns \subseteq member\\ 
\forall (m, a)\in orders.(m, a)\notin owns 
\end{schema} 

espero que sea útil.