texlive[74264] Master/texmf-dist: aiplans (24feb25)

commits+karl at tug.org commits+karl at tug.org
Mon Feb 24 21:30:31 CET 2025


Revision: 74264
          https://tug.org/svn/texlive?view=revision&revision=74264
Author:   karl
Date:     2025-02-24 21:30:31 +0100 (Mon, 24 Feb 2025)
Log Message:
-----------
aiplans (24feb25)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/aiplans/Aiplans-Introduction.pdf
    trunk/Master/texmf-dist/doc/latex/aiplans/README.md
    trunk/Master/texmf-dist/doc/latex/aiplans/README.pdf
    trunk/Master/texmf-dist/tex/latex/aiplans/tikzlibraryaiplans.code.tex

Added Paths:
-----------
    trunk/Master/texmf-dist/doc/latex/aiplans/Aiplans-Introduction.md
    trunk/Master/texmf-dist/doc/latex/aiplans/image.png

Removed Paths:
-------------
    trunk/Master/texmf-dist/doc/latex/aiplans/Aiplans-Introduction-source-code.zip

Deleted: trunk/Master/texmf-dist/doc/latex/aiplans/Aiplans-Introduction-source-code.zip
===================================================================
(Binary files differ)

Added: trunk/Master/texmf-dist/doc/latex/aiplans/Aiplans-Introduction.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/aiplans/Aiplans-Introduction.md	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/aiplans/Aiplans-Introduction.md	2025-02-24 20:30:31 UTC (rev 74264)
@@ -0,0 +1,162 @@
+# **Instructions for Generating TikZ Diagrams Using LaTeX**
+You could find the example code on: https://github.com/YikaiGe/tikz-aiplans/tree/main/Example/BlocksWorld1
+## **1. Set Up the LaTeX Project**
+
+1. **Create a Folder Structure**:
+   - Set up a directory with the following structure:
+     - `project_root/`
+       - `tikzlibraryaiplans.code.tex` (library code)
+       - `domain.tex` (for defining TikZ styles)
+       - `main.tex` (the main document that compiles everything)
+       - `yourname.tex`, such as `plan-blocksworld1.tex` (for Example 1) or `plan-yousefiposter.tex` (for Example 2)
+
+2. **Main LaTeX Document (`main.tex`)**:
+   - Create a `main.tex` file that includes the `domain.tex` and the specific plan file (`yourname.tex`, such as `plan-blocksworld1.tex` for Example 1 or `plan-yousefiposter.tex` for Example 2).
+
+     ```latex
+     \documentclass[border=1in]{standalone}
+     \usepackage{../aiplan}  % Include your custom TikZ style definitions
+     \begin{document}
+     \input{domain}  % Load the TikZ style definitions
+     \input{yourname}  % Load the specific plan
+     \end{document}
+     ```
+
+     Replace `yourname` with the actual plan file name you are using.
+
+
+## **2. Define Custom TikZ Styles (`domain.tex`)**
+
+In this step, you will create a `domain.tex` file where you define custom TikZ styles that represent different actions or states in your diagrams. These styles determine the appearance and behavior of the elements in your diagram, such as shapes, colors, and connections.
+
+Before defining the styles, it is important to understand the structure of the style commands. Each TikZ style you define follows a specific pattern:
+
+<div style="page-break-after: always;"></div>
+
+```latex
+NameOfScheme /. style n args = {num of input parameters}
+    {action= 
+      % number of precs/effs
+      {num of precondition lines (on the left side of action)}
+      {num of effect lines (on the right side of action)}
+      % prec/eff labels
+      {sequence of precondition labels}
+      {sequence of effect labels}
+      % length of precs/effs
+      {length of preconditions}
+      {length of effects}
+      % action name
+      {action name}
+      % prec/eff label position
+      {precondition/effect label position: side or top}
+      {height of node}
+    }
+
+INIT/.styl={
+  init={
+    % number of effs
+    {number of effects},
+    {effects},
+    {effects length},
+    {height of init}
+    }
+    }
+
+GOAL/.styl={
+  goal={
+    {number of preconditons},
+    {preconditons},
+    {preconditons length},
+    {height of goal}
+    }
+    }
+```
+
+
+
+
+---
+
+### **Example: Custom Styles for a Blocksworld Plan (`blocksworld1.tex_domain.tex`)**
+
+In the first example, the styles correspond to actions like `PICKUP`, `PUTDOWN`, `STACK`, and `UNSTACK` in a blocks world scenario:
+
+```latex
+% Define action
+\tikzset{
+    INIT/.style={init={8}{gF,onT(B),onT(C),onT(D),clr(A),clr(B),clr(D),{on(A,C)}}{1}{8 cm}}, 
+    PICKUP/.style n args ={1}{STYLE={3}{4}{gF,onT(#1),clr(#1)}{$\neg$gF,gH(#1),$\neg$clr(#1),$\neg$onT(#1)}{PICKUP(#1)}},
+    PUTDOWN/.style n args ={1}{STYLE={1}{4}{gH(#1)}{gF,$\neg$gH(#1),onT(#1),clr(#1)}{PUTDOWN(#1)}},
+    STACK/.style n args ={2}{STYLE={2}{5}{gH(#1),clr(#2)}{gF,$\neg$gH(#1),onT{(#1,#2)},clr(#1),$\neg$clr(#2)}{STACK{(#1,#2)}}},
+    UNSTACK/.style n args ={2}{STYLE={3}{5}{gF,clr(#2),on(#1)}{$\neg$gF,gH{(#1)},$\neg$on(#1),$\neg$clr(#1),clr(#1)}{UNSTACK{(#1,#2)}}},
+    GOAL/.style={goal={2}{{on(A,B)},{on(D,C)}}{1}{8 cm}}
+}
+```
+
+- **INIT**: Initializes the starting state of the world.
+- **PICKUP**: Represents the action of picking up an object.
+- **PUTDOWN**: Represents the action of putting down an object.
+- **STACK**: Represents stacking one object on top of another.
+- **UNSTACK**: Represents unstacking one object from another.
+- **GOAL**: Defines the goal state that the plan should achieve.
+
+## **3. Create the Specific Plan File**
+
+
+In this step, you will create the plan file that will generate the desired diagram. This file contains the actual TikZ commands needed to structure and visualize the plan or process you're depicting.
+
+The plan file is where you define the positions and connections of different actions or states. You will place nodes (representing actions or states) and connect them using paths (arrows) to illustrate the flow or sequence in your diagram.
+
+---
+
+#### **Example(`blocksworld1.tex`, corresponding to Picture 1):**
+
+In this example, we create a sequential plan for manipulating blocks, where each node represents an action like `UNSTACK`, `PICKUP`, `PUTDOWN`, or `STACK`, and connections between nodes represent causal links.
+
+```latex
+\begin{tikzpicture}
+
+    \node[INIT] (init) at (0,0){};
+    \node[UNSTACK={A}{C}] (unstackAC) at (6,0) {};
+    \node[PUTDOWN={A}] (putdownA) at (12.5,0) {};
+    \node[PICKUP={A}] (pickupA) at (19,0) {};
+    \node[STACK={A}{B}] (stackAB) at (26,0) {};
+    \node[PICKUP={D}] (pickupD) at (33,0) {};
+    \node[STACK={D}{C}] (stackDC) at (40,0) {};
+    \node[GOAL] (goal) at (47,0){};
+
+
+
+    \draw [->, shorten <= 0.2cm, shorten >= 0.1cm]  (init-eff-1) node [circle,fill,inner sep=0.1em]{} to [bend left]  (unstackAC-pre-1) node [circle,fill,inner sep=0.1em]{};
+    \draw [->, shorten <= 0.2cm, shorten >= 0.1cm] (init-eff-5) node [circle,fill,inner sep=0.1em]{} to [bend left] (unstackAC-pre-2) node [circle,fill,inner sep=0.1em]{};
+    \draw [->, shorten <= 0.2cm, shorten >= 0.1cm] (init-eff-8) node [circle,fill,inner sep=0.1em]{} to[bend right] (unstackAC-pre-3) node [circle,fill,inner sep=0.1em]{};
+    \draw [->, shorten <= 0.2cm, shorten >= 0.1cm] (unstackAC-eff-2) node [circle,fill,inner sep=0.1em]{} to[bend left] (putdownA-pre-1) node [circle,fill,inner sep=0.1em]{};
+    \draw [->, shorten <= 0.2cm, shorten >= 0.1cm] (putdownA-eff-1) node [circle,fill,inner sep=0.1em]{} to[bend left] (pickupA-pre-1) node [circle,fill,inner sep=0.1em]{};
+    \draw [->, shorten <= 0.2cm, shorten >= 0.1cm] (putdownA-eff-3) node [circle,fill,inner sep=0.1em]{} to[bend right] (pickupA-pre-2) node [circle,fill,inner sep=0.1em]{};
+    \draw [->, shorten <= 0.2cm, shorten >= 0.1cm] (putdownA-eff-4) node [circle,fill,inner sep=0.1em]{} to[bend right] (pickupA-pre-3) node [circle,fill,inner sep=0.1em]{};
+    \draw [->, shorten <= 0.2cm, shorten >= 0.1cm] (pickupA-eff-2) node [circle,fill,inner sep=0.1em]{} to[bend left] (stackAB-pre-1) node [circle,fill,inner sep=0.1em]{};
+    \draw [->, shorten <= 0.2cm, shorten >= 0.1cm] (init-eff-6) node [circle,fill,inner sep=0.1em]{} to [bend left] (stackAB-pre-2) node [circle,fill,inner sep=0.1em]{};
+    \draw [->, shorten <= 0.2cm, shorten >= 0.1cm] (stackAB-eff-1) node [circle,fill,inner sep=0.1em]{} to[bend left] (pickupD-pre-1) node [circle,fill,inner sep=0.1em]{};
+    \draw [->, shorten <= 0.2cm, shorten >= 0.1cm] (init-eff-4) node [circle,fill,inner sep=0.1em]{} to[bend left] (pickupD-pre-2) node [circle,fill,inner sep=0.1em]{};
+    \draw [->, shorten <= 0.2cm, shorten >= 0.1cm] (init-eff-7) node [circle,fill,inner sep=0.1em]{} to[bend right] (pickupD-pre-3) node [circle,fill,inner sep=0.1em]{};
+    \draw [->, shorten <= 0.2cm, shorten >= 0.1cm] (pickupD-eff-2) node [circle,fill,inner sep=0.1em]{} to[bend left] (stackDC-pre-1) node [circle,fill,inner sep=0.1em]{};
+    \draw [->, shorten <= 0.2cm, shorten >= 0.1cm] (unstackAC-eff-5) node [circle,fill,inner sep=0.1em]{} to[bend right] (stackDC-pre-2) node [circle,fill,inner sep=0.1em]{};
+    \draw [->, shorten <= 0.2cm, shorten >= 0.1cm] (stackAB-eff-3) node [circle,fill,inner sep=0.1em]{} to[bend left] (goal-pre-1) node [circle,fill,inner sep=0.1em]{};
+    \draw [->, shorten <= 0.2cm, shorten >= 0.1cm] (stackDC-eff-3) node [circle,fill,inner sep=0.1em]{} to[bend left] (goal-pre-2) node [circle,fill,inner sep=0.1em]{};
+
+\end{tikzpicture}
+```
+
+**What This Code Does:**
+- **Nodes:** Each `\node` command places a specific action or state at a defined position on the diagram (e.g., `INIT`, `UNSTACK`, `PUTDOWN`).
+- **Connections:** The `\draw` commands create arrows (causal links) between nodes, showing how one action leads to another.
+- **Resulting Diagram:** This code generates a linear sequence of actions that visually depict a process or plan.
+
+![Alt text](image.png)
+
+
+
+## **4. Compile Your Document**
+
+- Make sure you compile the `main.tex` file to generate the diagram. Ensure that all necessary files (`domain.tex`, `yourname.tex`) are correctly referenced and present in the same directory.
+- Use a LaTeX editor or command-line tools to compile `main.tex`. If successful, this will generate the desired diagram based on the TikZ instructions provided in the plan files.


Property changes on: trunk/Master/texmf-dist/doc/latex/aiplans/Aiplans-Introduction.md
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/doc/latex/aiplans/Aiplans-Introduction.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/aiplans/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/aiplans/README.md	2025-02-24 20:30:07 UTC (rev 74263)
+++ trunk/Master/texmf-dist/doc/latex/aiplans/README.md	2025-02-24 20:30:31 UTC (rev 74264)
@@ -1,6 +1,6 @@
-# <aiplans>: A TikZ-Based Library for Drawing POCL Plans
+# **aiplans**: A TikZ-Based Library for Drawing POCL Plans
 
-<aiplans> is a specialized LaTeX package designed to assist scientists, students, and professionals in creating high-quality graphical representations, particularly Partial Order Causal Link (POCL) plans. Built on the robust TikZ framework, this library simplifies the process of generating complex, precise diagrams that are essential for academic and scientific communication. Our package is especially useful in fields such as artificial intelligence and automated planned, where visualizing causal relationships and dependencies is fundamental.
+<aiplans> is a specialized LaTeX package designed to assist scientists, students, and professionals in creating high-quality graphical representations, particularly Partial Order Causal Link (POCL) plans. Built on the robust TikZ framework, this library simplifies the process of generating complex, precise diagrams that are essential for academic and scientific communication. Our package is especially useful in fields such as artificial intelligence and planning, where visualizing causal relationships and dependencies is fundamental.
 
 ## Content
 
@@ -18,11 +18,11 @@
 
 ├── **README.pdf**
 
-├── **Aiplans-Introdution-source-code.zip**
+├── **Generating TikZ Diagrams Using LaTeX.md**
 
-├── **Aiplans-Introdution.pdf**
+├── **Generating TikZ Diagrams Using LaTeX.pdf**
 
-├── **tikzlibraryaiplans.code.tex**
+├── **tikzlibrary<aiplans>.code.tex**
 
 └── **License.txt**
 
@@ -30,9 +30,8 @@
 ### Explanation
 
 - **README**: This file provides an overview of the project, including installation instructions, system requirements, and other essential information.
-- **Aiplans-Introdution-source-code.zip**: Introduction file Latex source code.
-- **Aiplans-Introdution.pdf**: Detailed instructions on how to use the TikZ library included in this package. It covers the steps needed to generate diagrams using LaTeX.
-- **tikzlibraryaiplans.code.tex**: The core of the project, this file contains the TikZ library specifically designed for generating AI plan diagrams. This package is crucial for the functionality provided by this project.
+- **Generating TikZ Diagrams Using LaTeX**: Detailed instructions on how to use the TikZ library included in this package. It covers the steps needed to generate diagrams using LaTeX.
+- **tikzlibrary<aiplans>.code.tex**: The core of the project, this file contains the TikZ library specifically designed for generating AI plan diagrams. This package is crucial for the functionality provided by this project.
 - **License.txt**: The license file outlines the terms under which the package can be used, modified, and distributed.
 
 
@@ -40,31 +39,25 @@
 
 This material is subject to the [LaTeX Project Public License 1.3c](https://ctan.org/license/lppl1.3).
 
-## Future Improvements Plan
 
-As we continue to improve and expand the `<aiplans>` package, the following developments are planned for the upcoming future:
+## Contact Information
+If you have any questions, feedback, or suggestions regarding this project, please feel free to reach out to us. We are always happy to assist and appreciate your input.
 
-### In Scope
+Email: geyikai912 at gmail.com
 
-1. **Extension Features for v1.0**:
-   - **Vertical Diagram Support**: We aim to enhance the package by introducing the ability to create vertical diagrams, which will provide more flexibility in visualizing POCL plans.
-   - **Dynamic Precondition/Effect Lengths**: After the package update, the lengths of the lines will be automatically adjusted based on the actual length of the text labels. In other words, if the label's text content is longer, the corresponding line will also be lengthened; if the label's text content is shorter, the line will be shortened accordingly. This dynamic adjustment allows the diagram to more flexibly adapt to various content requirements, resulting in a final diagram that is more visually appealing and clear.
+GitHub Issues: https://github.com/YikaiGe/tikz-aiplans/issues
 
-2. **Code Translator**:
-   - **PDDL/HDDL Code Translation**: We are developing a code translator that can accurately convert PDDL (Planning Domain Definition Language) and HDDL (Hierarchical Domain Definition Language) code into the schema format used by our `<aiplans>` library. This feature will streamline the process of diagram creation from existing codebases or at least allow to specify the tikz code in another syntax that might be more familiar to some.
+For reporting bugs or requesting features.
 
-## Contact Information
+CTAN Repository: https://ctan.org/pkg/aiplans?lang=en
 
-If you have any questions, feedback, or suggestions regarding this project, please feel free to reach out to us. We are always happy to assist and appreciate your input.
+Visit our package page on CTAN for the latest updates and documentation.
 
-**Email:** [u7166251 at anu.edu.au](mailto:u7166251 at anu.edu.au) (Yikai Ge)  
-For reporting bugs or requesting features.
-
 We strive to respond to all inquiries as quickly as possible.
 
 ## Team Members
 
-This project is developed by a team of students from the Australian National University (ANU), guided by our client. He provided us with the initial idea and relevant references, playing a crucial role in shaping the direction of our research.
+This project is developed by a team of students from the Australian National University (ANU). The team members include:
 
 ### Client
 - **Pascal Bercher**
@@ -75,6 +68,4 @@
 - **Cheng Zhou**
 - **Lujia Li**
 - **Yinyin Chen**
-- **Xinni Song**
-
-We have worked closely with our client to ensure that the project meets their requirements and delivers high-quality results.
+- **Xinni Song**
\ No newline at end of file

Modified: trunk/Master/texmf-dist/doc/latex/aiplans/README.pdf
===================================================================
(Binary files differ)

Added: trunk/Master/texmf-dist/doc/latex/aiplans/image.png
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/aiplans/image.png
===================================================================
--- trunk/Master/texmf-dist/doc/latex/aiplans/image.png	2025-02-24 20:30:07 UTC (rev 74263)
+++ trunk/Master/texmf-dist/doc/latex/aiplans/image.png	2025-02-24 20:30:31 UTC (rev 74264)

Property changes on: trunk/Master/texmf-dist/doc/latex/aiplans/image.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Modified: trunk/Master/texmf-dist/tex/latex/aiplans/tikzlibraryaiplans.code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/aiplans/tikzlibraryaiplans.code.tex	2025-02-24 20:30:07 UTC (rev 74263)
+++ trunk/Master/texmf-dist/tex/latex/aiplans/tikzlibraryaiplans.code.tex	2025-02-24 20:30:31 UTC (rev 74264)
@@ -1,17 +1,45 @@
-\ProvidesPackage{aiplan}
+% Author: Yikai Ge <geyikai912ATgmail.com>
+
+% Version: 2.0 (2025-02-24)
+% 
+% Change Log:
+% 1.0 -> 2.0 
+% - Improved stability and optimized the code.
+% - The spacing between labels is now automatically calculated and evenly distributed.
+
+
+
+% Load necessary packages and styles
 \RequirePackage{tikz}
 \RequirePackage{listofitems}
+
+% Load required TikZ libraries directly
 \usetikzlibrary{calc}
 \usetikzlibrary{decorations.pathreplacing, decorations.markings}
 
 
+
+% Name of Action/.styl n args={number of objects}{
+%         action={
+%             {number of preconditions},
+%             {number of effects},
+%             {preconditions},
+%             {effects},
+%             {precondition length},
+%             {effects length},
+%             {label of action},
+%             {position of label (0 for on top, other number for side)},
+%             {height of node}
+%         }
+%     }
+
 \tikzset{
-    action/.style n args={8}{
+    action/.style n args={9}{
         draw,
         minimum width=3cm,
-        fill=blue,
+        fill=cyan,
         rounded corners,
-        minimum height={max(#1,#2)*\baseHeight cm + 0.5*\baseHeight cm},
+        minimum height={#9},
         label={center:#7},
         append after command={
             \pgfextra{
@@ -30,7 +58,7 @@
                         \readlist\labellist{#3}
                         \foreach \i in {1,...,#1} {
                             % Precondition coordinates and lines
-                            \coordinate (\nodename-pre-\i) at ([xshift=-#5cm, yshift=(-\i + (#1)/2+0.25) * \baseHeight cm] \nodename.west);
+                            \coordinate (\nodename-pre-\i) at ([xshift=-#5cm, yshift=(-\i + (#1 + 1)/2) * #9/#1] \nodename.west);
                             \draw (\nodename.west |- \nodename-pre-\i) -- +(-#5,0) node [midway, above, sloped, font=\scriptsize] {\labellist[\i]};
                         }
                         \fi;
@@ -38,7 +66,7 @@
                         \ifnum#2>0
                         \foreach \j in {1,...,#2} {
                             % Effect coordinates and lines
-                            \coordinate (\nodename-eff-\j) at ([xshift=#6cm, yshift=(-\j + (#2)/2+0.25) * \baseHeight cm] \nodename.east);
+                            \coordinate (\nodename-eff-\j) at ([xshift=#6cm, yshift=(-\j + (#2 + 1)/2) * #9/#2] \nodename.east);
                             \draw (\nodename.east |- \nodename-eff-\j) -- +(#6,0) node [midway, above, sloped, font=\scriptsize] {\labellist[\j]};
                         }
                         \fi;
@@ -47,8 +75,8 @@
                         \readlist\labellist{#3}
                         \foreach \i in {1,...,#1} {
                             % Precondition coordinates and lines
-                            \coordinate (\nodename-pre-\i) at ([xshift=-#5 cm, yshift=(-\i + (#1)/2+0.25) * \baseHeight cm] \nodename.west);
-                            \draw (\nodename.west |- \nodename-pre-\i) -- +(-#5,0) node [midway, anchor=east, xshift=-0.5 cm, sloped, font=\scriptsize]{\labellist[\i]};
+                            \coordinate (\nodename-pre-\i) at ([xshift=-#5 cm, yshift=(-\i + (#1 + 1)/2) * #9/#1] \nodename.west);
+                            \draw (\nodename.west |- \nodename-pre-\i) -- +(-#5,0) node [xshift=-(#5+0.5cm), sloped, font=\scriptsize]{\labellist[\i]};
                         }
                         \fi;
                         \readlist\labellist{#4}
@@ -55,8 +83,8 @@
                         \ifnum#2>0
                         \foreach \j in {1,...,#2} {
                             % Effect coordinates and lines
-                            \coordinate (\nodename-eff-\j) at ([xshift=#6 cm, yshift=(-\j + (#2)/2+0.25) * \baseHeight cm] \nodename.east);
-                            \draw (\nodename.east |- \nodename-eff-\j) -- +(#6,0) node [midway,anchor=west, xshift=0.5 cm, font=\scriptsize] {\labellist[\j]};
+                            \coordinate (\nodename-eff-\j) at ([xshift=#6 cm, yshift=(-\j + (#2 + 1)/2) * #9/#2] \nodename.east);
+                            \draw (\nodename.east |- \nodename-eff-\j) -- +(#6,0) node [xshift=(#5+0.5 cm), font=\scriptsize] {\labellist[\j]};
                         }
                         \fi;
                     \fi;
@@ -67,15 +95,30 @@
     }
 }
 
+% INIT/.styl={
+%     init={
+%         {number of effects},
+%         {effects},
+%         {effects length},
+%         {height of init}
+%         }
+%         }
 
-% Common base style for nodes
+% GOAL/.styl={
+%   goal={
+%     {number of preconditons},
+%     {preconditons},
+%     {preconditons length},
+%     {height of goal}
+%     }
+%     }
+
 \tikzset{
-    % COMMENT MISSING
-    base/.style n args={5}{
+    base/.style n args={6}{
         draw,
         minimum width=0.05cm,
         fill=black,
-        minimum height={#1*\baseHeight cm},
+        minimum height={#6},
         append after command={
             \pgfextra{
                 \edef\nodename{\tikzlastnode}
@@ -82,7 +125,7 @@
                 \setsepchar{,}
                 \readlist\labellist{#2}
                 \foreach \i in {1,...,#1} {
-                    \coordinate (\nodename-#5-\i) at ([xshift=#3 cm, yshift=(-\i + (#1)/2+0.25) * \baseHeight cm] \nodename.#4);
+                    \coordinate (\nodename-#5-\i) at ([xshift=#3 cm, yshift=(-\i + (#1)/2+0.25) * #6/#1] \nodename.#4);
                     \draw (\nodename.#4 |- \nodename-#5-\i) -- +(#3,0)
                         node [midway, above, sloped, font=\scriptsize] {\labellist[\i]};
                 }
@@ -91,31 +134,21 @@
     }
 }
 
+
 \tikzset{
     % Init style
-    init/.style n args={3}{
-        base={#1}{#2}{#3}{east}{eff}
+    init/.style n args={4}{
+        base={#1}{#2}{#3}{east}{eff}{#4}
     }
 }
 
 \tikzset{
     % Goal style
-    goal/.style n args={3}{
-        base={#1}{#2}{-#3}{west}{pre}
+    goal/.style n args={4}{
+        base={#1}{#2}{-#3}{west}{pre}{#4}
     }
 }
 
 
 
-\tikzset{
-  dot/.style={
-        circle,fill,inner sep=0.1em  
-    }
-}
 
-\tikzset{
-    causallink/.style={
-        ->, shorten <= 0.2cm, shorten >= 0.1cm
-    }
-}
-



More information about the tex-live-commits mailing list.