2015-01-23 7 views
6

Ich bin auf der Suche nach einem konsolenbasierten Tool, das eine einfache Textdatei mit der Textnotation eines Flussdiagramms verarbeiten und eine PNG-Datei (oder ein anderes Format) generieren kann. Es könnte auch ein LaTeX-Paket dafür geben, aber wenn möglich würde ich ein Tool bevorzugen, das ein unabhängiges PNG erzeugen kann, das ich dann in ein LaTeX-Dokument als Grafik importieren kann.Werkzeug zum Erstellen eines Flussdiagramms aus Textnotation

Antwort

5

Es wäre sauberer, LaTeX das Flussdiagramm generieren zu lassen, anstatt eine PNG-Datei zu erzeugen/importieren. Auf diese Weise haben Sie keine Probleme der Auflösung oder Unterabtastung und alles wird im Vektorformat sein.

Sie können das Paket TikZ von LaTeX verwenden. Die Site texexample.net gibt das folgende Beispiel.

enter image description here

\documentclass{article} 

\usepackage[latin1]{inputenc} 
\usepackage{tikz} 
\usetikzlibrary{shapes,arrows} 
\begin{document} 
\pagestyle{empty} 

% Define block styles 
\tikzstyle{decision} = [diamond, draw, fill=blue!20, 
    text width=4.5em, text badly centered, node distance=3cm, inner sep=0pt] 
\tikzstyle{block} = [rectangle, draw, fill=blue!20, 
    text width=5em, text centered, rounded corners, minimum height=4em] 
\tikzstyle{line} = [draw, -latex'] 
\tikzstyle{cloud} = [draw, ellipse,fill=red!20, node distance=3cm, 
    minimum height=2em] 

\begin{tikzpicture}[node distance = 2cm, auto] 
    % Place nodes 
    \node [block] (init) {initialize model}; 
    \node [cloud, left of=init] (expert) {expert}; 
    \node [cloud, right of=init] (system) {system}; 
    \node [block, below of=init] (identify) {identify candidate models}; 
    \node [block, below of=identify] (evaluate) {evaluate candidate models}; 
    \node [block, left of=evaluate, node distance=3cm] (update) {update model}; 
    \node [decision, below of=evaluate] (decide) {is best candidate better?}; 
    \node [block, below of=decide, node distance=3cm] (stop) {stop}; 
    % Draw edges 
    \path [line] (init) -- (identify); 
    \path [line] (identify) -- (evaluate); 
    \path [line] (evaluate) -- (decide); 
    \path [line] (decide) -| node [near start] {yes} (update); 
    \path [line] (update) |- (identify); 
    \path [line] (decide) -- node {no}(stop); 
    \path [line,dashed] (expert) -- (init); 
    \path [line,dashed] (system) -- (init); 
    \path [line,dashed] (system) |- (evaluate); 
\end{tikzpicture} 
\end{document} 
+0

die einzige Sache ist, dass eine PNG-Datei produzieren (im Gegensatz zu einem PDF-Dokument gegen) würde mich erlauben, es auch in anderen Kontexten unabhängig zu verwenden (zB in einer Web-Seite), dh es würde ein eigenständigeres und wiederverwendbares Artefakt erzeugen. –

Verwandte Themen