diff options
author | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
commit | e0c6872cf40896c7be36b11dcc744620f10adf1d (patch) | |
tree | 60335e10d2f4354b0674ec22d7b53f0f8abee672 /graphics/finomaton/README |
Initial commit
Diffstat (limited to 'graphics/finomaton/README')
-rw-r--r-- | graphics/finomaton/README | 143 |
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 |