7

是否有任何支持编写 Z 规范的 LaTeX 软件包?我对模式的水平和垂直格式都感兴趣。

4

3 回答 3

10

有一个包,叫做zed-csp。这是有关如何使用它的参考。

这是一个示例架构:

\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}

请参阅我关于该主题的问答: LyX 中的 Zed Notation

于 2010-06-19T19:03:49.653 回答
1

有很多包支持在 LaTeX 中编写 Z 规范。尽管许多具有非常相似的语法并且有些提供额外的功能。

可以在此处找到有关这些软件包的更多信息:http: //czt.sourceforge.net/latex/

它解释说 fuzz.sty 是第一个并且包含重要的宏但与 ISO-Z 标准不兼容,zed.sty 和 zed-csp.sty 是牛津版本,改进了 fuzz.sty 等

于 2015-07-30T12:50:56.050 回答
1

这是我的软件工程教授在创建 Z 模式和操作时用于 LaTeX 格式的内容:

\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}

我希望它会有所帮助。

于 2016-04-01T22:55:26.490 回答