From c286e9fa76bcbe5880fd18e597a8b23109c77523 Mon Sep 17 00:00:00 2001 From: Martin Thoma Date: Wed, 8 Jun 2016 20:48:57 +0200 Subject: [PATCH] Move control-flow-graph stuff --- .../Makefile | 10 ++-- tikz/control-flow-graph/README.md | 3 ++ .../control-flow-graph/control-flow-graph.png | Bin 0 -> 10029 bytes .../control-flow-graph/control-flow-graph.svg | 43 ++++++++++++++++++ .../control-flow-graph.tex} | 0 tikz/teststrategien-anschaulich/README.md | 3 -- .../teststrategien-anschaulich.png | Bin 10250 -> 0 bytes 7 files changed, 52 insertions(+), 7 deletions(-) rename tikz/{teststrategien-anschaulich => control-flow-graph}/Makefile (67%) create mode 100644 tikz/control-flow-graph/README.md create mode 100644 tikz/control-flow-graph/control-flow-graph.png create mode 100644 tikz/control-flow-graph/control-flow-graph.svg rename tikz/{teststrategien-anschaulich/teststrategien-anschaulich.tex => control-flow-graph/control-flow-graph.tex} (100%) delete mode 100644 tikz/teststrategien-anschaulich/README.md delete mode 100644 tikz/teststrategien-anschaulich/teststrategien-anschaulich.png diff --git a/tikz/teststrategien-anschaulich/Makefile b/tikz/control-flow-graph/Makefile similarity index 67% rename from tikz/teststrategien-anschaulich/Makefile rename to tikz/control-flow-graph/Makefile index 85bf96c..44ff371 100644 --- a/tikz/teststrategien-anschaulich/Makefile +++ b/tikz/control-flow-graph/Makefile @@ -1,14 +1,14 @@ -SOURCE = teststrategien-anschaulich +SOURCE = control-flow-graph DELAY = 80 DENSITY = 300 -WIDTH = 500 +WIDTH = 512 make: pdflatex $(SOURCE).tex -output-format=pdf make clean clean: - rm -rf $(TARGET) *.class *.html *.log *.aux + rm -rf $(TARGET) *.class *.html *.log *.aux *.data *.gnuplot gif: pdfcrop $(SOURCE).pdf @@ -28,4 +28,6 @@ svg: #inkscape $(SOURCE).pdf --export-plain-svg=$(SOURCE).svg pdf2svg $(SOURCE).pdf $(SOURCE).svg # Necessary, as pdf2svg does not always create valid svgs: - inkscape $(SOURCE).svg --export-plain-svg=$(SOURCE).svg + inkscape $(SOURCE).svg --export-width=$(WIDTH) --export-plain-svg=$(SOURCE)1.svg + rsvg-convert -a -w 720 -f svg $(SOURCE)1.svg -o $(SOURCE).svg + rm $(SOURCE)1.svg diff --git a/tikz/control-flow-graph/README.md b/tikz/control-flow-graph/README.md new file mode 100644 index 0000000..f8efea1 --- /dev/null +++ b/tikz/control-flow-graph/README.md @@ -0,0 +1,3 @@ +Compiled example +---------------- +![Example](control-flow-graph.png) diff --git a/tikz/control-flow-graph/control-flow-graph.png b/tikz/control-flow-graph/control-flow-graph.png new file mode 100644 index 0000000000000000000000000000000000000000..407ac98a449db7091db530db67777a6d9a9b0bea GIT binary patch literal 10029 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 NDhitN6|xp@{~t|oHfI0; literal 0 HcmV?d00001 diff --git a/tikz/control-flow-graph/control-flow-graph.svg b/tikz/control-flow-graph/control-flow-graph.svg new file mode 100644 index 0000000..aab4848 --- /dev/null +++ b/tikz/control-flow-graph/control-flow-graph.svg @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tikz/teststrategien-anschaulich/teststrategien-anschaulich.tex b/tikz/control-flow-graph/control-flow-graph.tex similarity index 100% rename from tikz/teststrategien-anschaulich/teststrategien-anschaulich.tex rename to tikz/control-flow-graph/control-flow-graph.tex diff --git a/tikz/teststrategien-anschaulich/README.md b/tikz/teststrategien-anschaulich/README.md deleted file mode 100644 index 78ca50b..0000000 --- a/tikz/teststrategien-anschaulich/README.md +++ /dev/null @@ -1,3 +0,0 @@ -Compiled example ----------------- -![Example](teststrategien-anschaulich.png) diff --git a/tikz/teststrategien-anschaulich/teststrategien-anschaulich.png b/tikz/teststrategien-anschaulich/teststrategien-anschaulich.png deleted file mode 100644 index 9de28d0ca082514db4e9ad3701d8b0099efe6e5c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10250 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 k929$BUg&n%p@ae#MHL&dKXhs{iS- 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