# Coding a Flowchart

I'm looking for a professional tool for OSX that using a DSL will allow me to write code for a workflow and will generate a flowchart from the code. Something similar to this but not in-browser and providing a little more functionality (like compressing the chart).

This tool should:

1. Allow input of "code" as text that will influence the generation of the flow chart
2. Provide the ability to draw-to-file a flowchart graph from the code input
3. Provide manual modifications to the flowchart such as moving boxes to different positions, changing box size, changing box shape, etc.
• Welcome to Software Recommendations Stack Exchange! We will need much more information to give good recommendations here. Please take a look at What is required for a question to contain "enough information"? Then please edit your question and see if you can incorporate some of these improvements. Specifically list features rather than similar to x. Aug 14 '14 at 16:15

If you are familiar with LaTeX, then I recommend using the TikZ package in a standalone document class. The manual describes the syntax in detail, and you can find flowchart examples here.

2. The resulting diagram is saved in PostScript/PDF format, which can be converted to high density graphics using ImageMagick convert -density 600x600 flowchart.pdf -quality 100 flowchart.png. This can by typed later in the command line, or added to the document class to output the image in a single step \documentclass[convert={density=600,outext=.png}]{standalone}.
3. Provides control over the size and shape of the nodes using \tikzstyle{} and the ability to fine tune positions by the millimeter (or your preferred unit, pt for example). You can also save your own style definitions in a separate file and \input{} it into several documents, instead of copying or typing them all over again.
• @fifosine In the linked example, they have used a global node distance with auto mode (\begin{tikzpicture}[node distance = 2cm, auto]). This means that you won't have to worry about individual node spacing except in special cases. Aug 18 '14 at 9:17