سؤال

هل هناك أي حزمة لـ LaTex والتي ستدعم كتابة مواصفات Z؟ أنا مهتم بتنسيقات أفقية ورأسية للمخططات.

هل كانت مفيدة؟

المحلول

هناك حزمة ، يطلق عليها 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}

انظر سؤالي وإجابتي حول هذا الموضوع:تدوين zed في Lyx

نصائح أخرى

هناك عدد غير قليل من الحزم التي تقدم الدعم لكتابة مواصفات z في LaTex. على الرغم من أن العديد منهم لديهم بناء جملة مشابهة للغاية وبعضهم يقدم وظائف إضافية.

يمكن العثور على مزيد من المعلومات حول هذه الحزم هنا: http://czt.sourceforge.net/latex/

إنه يوضح أن هذا هو الزعز. كان العلم الأول ويحتوي على وحدات ماكرو مهمة ولكنها غير متوافقة مع معيار ISO-Z و zed.sty و zed-csp.sty ، وهي نسخة من أكسفورد تحسنت على fuzz.sty etc

هذا هو ما استخدمه أستاذ هندسة البرمجيات الخاص بي في تنسيق اللاتكس عند إنشاء schemas وعمليات Z:

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

آمل أن يكون مفيدًا.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top