gvti: GraphViz Tabular Interface

[ graphics, library, mit, program ] [ Propose Tags ]
This version is deprecated.

Introduces a new file extension .gvti and is a special tabular or line-based GraphViz subset interface. Is a fork of the now deprecated mmsyn4 package.

[Skip to Readme]


Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees


  • No Candidates
Versions [RSS],,,,,,,, (info)
Change log ChangeLog.md
Dependencies base (>=4.13 && <5), directory (>= && <2), mmsyn3 (==, process (>= && <2) [details]
License MIT
Copyright Oleksandr Zhabenko
Author OleksandrZhabenko
Maintainer oleksandr.zhabenko@yahoo.com
Category Graphics
Home page https://hackage.haskell.org/package/gvti
Uploaded by OleksandrZhabenko at 2023-02-02T00:29:22Z
Distributions NixOS:
Executables gvti
Downloads 331 total (18 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2023-02-02 [all 1 reports]

Readme for gvti-

[back to package description]


  1. After installation the executable gvti is created. Afterwards, it is used to process files. So, open an office spreadsheet program, e. g. LibreOffice Calc.

  2. Begin to enter the text in the cells. You can use UTF-8 characters. No quotation marks should be used, instead use some special delimiter except '@' sign and (the list of) your delimiter(s).

  3. The default delimiter is colon. But it is possible to change it and use also several delimiters. Remember, that using delimiter inside your textual input in the cells will result afterwards in splitting the cell input by the delimiter into different nodes in the visualization graph and connecting them with an arrow. Remember also that '@' sign is reserved as a highlighting symbol and, therefore, should not be used as a delimiter either. To specify the arrow between the nodes, instead switch to the nearest cell to the right.

  4. To make a text visually highlighted (yellowish), start the cell with an ’@’ sign.

  5. Lines in the table create different chains in the resulting graph. To produce an arrow to the text in the cell, enter it in the next cell in the row to the right.

  6. To make several arrows from the cell, switch to the next cell to the right for this parent one (the cell that will be a parent for several other cells), enter needed new texts there and in the located below cells.

  7. Usually, you can search the needed text with Ctrl+F if needed.

  8. Empty lines in the table do not influence the resulting visualization. Above each line, except the first one, there must be at least one filled cell. It must be located above the text on the new line or even further to the right above. Otherwise, the program will produce no reasonably useful output.

  9. After entering all the text, export the sheet as a "*.csv" file using colons (':') as separator (if you would like to change this default value of the delimiter, then you can do it, see the explanation for the -d... option) in the working directory. Otherwise, the program won’t work.

  10. Run the appropriate executable gvti in the terminal or from the command line while being in the directory with the created .csv file. Specify as a command line argument its name. While executing a program enter a basic name of the file to be saved. DO use alphanumeric symbols and dashes if needed. Then specify the needed visualization scheme by specifying the appropriate character in the terminal and the format of the resulting visualization file (refer to GraphViz documentation for the default list of formats). For more information, see the GraphViz documentation.

  11. Your first visualization is then created.

  12. Save the spreadsheet document as a spreadsheet file (if you worked with spreadsheets, otherwise this step can be omitted).

  13. Repeat the steps from 2 to 12 as needed to produce more visualizations.

  14. Afterwards, you have a list of graphics files, a list of .gv files as source files for Graphviz, and a saved spreadsheet file. Then you can use the produced visualizations for some other documents.

Usage of the Next Command Line Arguments after the First One


gvti executable supports the following further command lines arguments (given after the first one -- see above):

-b... — dots are instead of the basic name for the created files (the name without prefixes and extensions)

-c... — dots are instead of one letter to specify the first character of the GraphViz command (e. g. 'n' — for 'neato')

-d... — (if present) means the list of Char's each of which is considered a delimiter instead of the default ':'. Please, do not use here commas and numbers, otherwise, in the -g mode the gvti would not function properly. If omitted then it is considered just the default -d: that is the colon as a delimiter.

-f... — dots are instead of two letters to specify the format (according to the 'getFormat') of the GraphViz command (e. g. 'jp' — for 'jpg')

-g — (if present) means that instead of the exporting from the spreadsheets, you can use gvti specifications (see as an example the following).

-s... — dots are instead of one digit to specify the GraphViz splines functionality. 0 — for "splines=false"; 1 — for "splines=true"; 2 — for "splines=ortho"; 3 — for "splines=polyline". The default one is "splines=true".

-y — (if present) means that the '@' signs will be removed from the created files.

They can be given in any combinations (if needed) or omitted. In the latter one case the program will prompt you the needed information (but this is not the case for a separator, which must be specified in such a way to be used instead).

Example of .gvti File Format Usage

Create a file example.gvti

Actually, the file extension is not important, but it must be a usual text file.

Enter there:

2,tabular interface:using neato

The numbers and the comma after them mean that the line input is after that number of colons at the beginning of the line. So 2,tabular... means ::tabular...

Please, follow the rules specified in the first section above.

Afterwards, save the file and quit the editing program.

Install the GraphViz executables in the PATH (following the official docs) and besides install the gvti package using cabal:

cabal v1-install gvti

Then run in the terminal:

gvti -g example.gvti -cn -y
Please, input the basic name of the visualization file!
Please, specify the splines mode for GraphViz (see the documentation for GraphViz)
0 -- for "splines=false"
1 -- for "splines=true"
2 -- for "splines=ortho"
3 -- for "splines=polyline"
The default one is "splines=true"
The visualization will be created without the at-sign.
Please, specify the GraphViz output format for the file: 
"do" -- for -Tdot"
"xd" -- for -Txdot"
"ps" -- for -Tps"
"pd" -- for -Tpdf"
"sv" -- for -Tsvg"
"sz" -- for -Tsvgz"
"fi" -- for -Tfig"
"pn" -- for -Tpng"
"gi" -- for -Tgif"
"jp" -- for -Tjpg"
"je" -- for -Tjpeg"
"js" -- for -Tjson"
"im" -- for -Timap"
"cm" -- for -Tcmapx"
otherwise there will be used the default -Tsvg

Afterwards, you will have a visualization in the svg format in the directory. Here, it is: