summaryrefslogtreecommitdiff
path: root/graphics/finomaton/README
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /graphics/finomaton/README
Initial commit
Diffstat (limited to 'graphics/finomaton/README')
-rw-r--r--graphics/finomaton/README143
1 files changed, 143 insertions, 0 deletions
diff --git a/graphics/finomaton/README b/graphics/finomaton/README
new file mode 100644
index 0000000000..a75818c577
--- /dev/null
+++ b/graphics/finomaton/README
@@ -0,0 +1,143 @@
+
+ Finomaton - Draw Finite State Machines
+ ======================================
+
+
+This is free software, and you are welcome to redistribute it under certain
+conditions; see "COPYING" for more information.
+
+Finomaton comes WITHOUT ANY WARRANTY.
+
+
+ Requirements
+ ------------
+
+You need Tcl/Tk and MetaPost.
+
+
+ Using Finomaton
+ ---------------
+
+Start Finomaton:
+
+ wish finomaton.tcl + RETURN
+
+To add states, click "New state" and then on the canvas. Click "Select" and
+then on the states to select and move them. Analogous for lines and text
+items. Add a line, and you see three circles: two end-points, and one control
+point.
+
+When you click on a state or somewhere on the canvas, control points become
+invisible. When you select a line, its control points become visible and can be
+moved. Add a second control point to a line by clicking "Control point" and
+then on a line. Any item can be removed by clicking "Remove" and then on the
+item you want to remove, or by selecting an item and then pressing "DEL". To
+obtain a straight line, remove its control points.
+
+Select multiple items and toggle selections by holding CONTROL while clicking
+on an item. Click "|" to assign all selected items the X-coordinate of the
+first selected item (analogous for "--" and Y-coordinate). Press "h" to spread
+(i.e., make equidistant between leftmost and rightmost) selected items
+horizontally, "v" to spread vertically.
+
+Double-click on a state, text item or line for attributes. States have a label
+for display on the canvas, and a "TeX" attribute that can contain any valid
+TeX-string. If specified, it is used instead of the canvas label when
+exporting. Include the TeX-command "\strut" if states turn out too small.
+
+Lines can have labels. The label will be typeset nearby the line (depending on
+the anchor position you choose), and you can choose a percentage to select how
+far along the line the label will be placed. The label will NOT be displayed
+on the canvas, and a setting of 50% does NOT necessarily mean the optical
+mid-point of the line.
+
+States act like magnets for control points. When you move a state, all its
+attached control points move with it. If you move a control point by using the
+arrow keys, it is not affected by magnetic states.
+
+Via "File => Settings...", you adjust parameters that affect the MetaPost
+output. These settings are saved on a per-file basis.
+
+
+ Typesetting the Generated Graph
+ -------------------------------
+
+Having exported a graph to MetaPost-format, say "graph.mp", you:
+
+
+a) Invoke MetaPost:
+
+ mpost graph.mp ("mp graph.mp" on some systems)
+
+ This creates a new (PostScript) file, "graph.1".
+
+
+b) Include "graph.1" in TeX and LaTeX-documents:
+
+ *) pdftex (requires ConTeXt):
+
+ \input supp-pdf.tex
+ \convertMPtoPDF{graph.1}{1}{1}
+
+ Syntax is \convertMPtoPDF {filename} {x scale} {y scale}.
+
+ *) pdflatex (requires ConTeXt):
+
+ \usepackage{graphics}
+ \convertMPtoPDF{graph.1}{1}{1}
+
+ *) tex:
+
+ \special{psfile=graph.1}
+
+ *) latex:
+
+ \usepackage{graphics}
+ \includegraphics{graph.1}
+
+You can also try dvips, dvipdf, gs and ps2pdf on generated graphs and
+documents.
+
+
+ Key bindings
+ ------------
+
+ Ctrl + m Export MetaPost...
+ Ctrl + o Open...
+ Ctrl + s Save
+ Alt + x Exit
+
+ DEL Remove selected items
+ c Control point
+ e Select
+ h Spread selected items horizontally
+ l New line
+ r Remove
+ s New state
+ t New text
+ v Spread selected items vertically
+ x Same X coordinate for all selected items
+ y Same Y coordinate for all selected items
+
+When you use Ctrl + m, you are prompted for a file name only on the first
+export. The same path is used when you use the binding again.
+
+For batch-conversions, use
+
+ ./finomaton.tcl -exportmp file1.fin file2.fin ...
+
+to create file1.mp, file2.mp, ... . If a file's suffix is not "fin",
+then ".mp" is appended to the filename.
+
+
+ Latest Version and Contact
+ --------------------------
+
+The latest version of Finomaton is available from
+
+ http://www.ctan.org
+
+
+Good luck,
+Markus Triska (triska@gmx.at)
+October 9th, 2003