From cd6681720f62a35fb005565efc055e2cbec15771 Mon Sep 17 00:00:00 2001 From: Martin Thoma Date: Sun, 21 Jan 2018 15:00:39 +0100 Subject: [PATCH] Add lid-baseline --- tikz/lid-pipeline/Makefile | 36 +++++++++++++++++++++++++++++ tikz/lid-pipeline/README.md | 3 +++ tikz/lid-pipeline/baseline.tex | 28 ++++++++++++++++++++++ tikz/lid-pipeline/lid-pipeline.png | Bin 0 -> 13115 bytes tikz/lid-pipeline/lid-pipeline.tex | 13 +++++++++++ 5 files changed, 80 insertions(+) create mode 100644 tikz/lid-pipeline/Makefile create mode 100644 tikz/lid-pipeline/README.md create mode 100644 tikz/lid-pipeline/baseline.tex create mode 100644 tikz/lid-pipeline/lid-pipeline.png create mode 100644 tikz/lid-pipeline/lid-pipeline.tex diff --git a/tikz/lid-pipeline/Makefile b/tikz/lid-pipeline/Makefile new file mode 100644 index 0000000..3ebcc50 --- /dev/null +++ b/tikz/lid-pipeline/Makefile @@ -0,0 +1,36 @@ +SOURCE = lid-pipeline +DELAY = 80 +DENSITY = 300 +WIDTH = 512 + +make: + pdflatex $(SOURCE).tex -output-format=pdf + pdfcrop $(SOURCE).pdf $(SOURCE).pdf + make clean + +clean: + rm -rf $(TARGET) *.class *.html *.log *.aux *.data *.gnuplot + +gif: + pdfcrop $(SOURCE).pdf + convert -verbose -delay $(DELAY) -loop 0 -density $(DENSITY) $(SOURCE)-crop.pdf $(SOURCE).gif + make clean + +png: + make + make svg + inkscape $(SOURCE).svg -w $(WIDTH) --export-png=$(SOURCE).png + +transparentGif: + convert $(SOURCE).pdf -transparent white result.gif + make clean + +svg: + make + #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 + rsvg-convert -a -w $(WIDTH) -f svg $(SOURCE).svg -o $(SOURCE)2.svg + inkscape $(SOURCE)2.svg --export-plain-svg=$(SOURCE).svg + rm $(SOURCE)2.svg diff --git a/tikz/lid-pipeline/README.md b/tikz/lid-pipeline/README.md new file mode 100644 index 0000000..ad91eba --- /dev/null +++ b/tikz/lid-pipeline/README.md @@ -0,0 +1,3 @@ +Compiled example +---------------- +![Example](lid-pipeline.png) diff --git a/tikz/lid-pipeline/baseline.tex b/tikz/lid-pipeline/baseline.tex new file mode 100644 index 0000000..e82c08a --- /dev/null +++ b/tikz/lid-pipeline/baseline.tex @@ -0,0 +1,28 @@ +\newcommand{\width}{0.2} +\newcommand{\height}{0.4} +\newcommand{\disty}{0.2} +\definecolor{colorbblue}{HTML}{0072B2} +\definecolor{colorbgreen}{HTML}{009E73} +\definecolor{colorborange}{HTML}{D55E00} + + +\tikzstyle{act}=[draw=black, fill=black!10] +\def \coldist {2.3} +\def \widthb {1.9} + +\begin{tikzpicture}[scale=2] + \draw[->, -Latex, line width=5pt] + (1.0+0*\coldist, 0.2) --(1.0+0*\coldist, -0*\disty-1*\height-0.3) --(2.1+0*\coldist, -0*\disty-1*\height-0.3) --(2.2+0*\coldist, 0.2) + -- (1.0+1*\coldist, 0.2) --(1.0+1*\coldist, -0*\disty-1*\height-0.3) --(2.1+1*\coldist, -0*\disty-1*\height-0.3) --(2.2+1*\coldist, 0.2) + -- (1.0+2*\coldist, 0.2) --(1.0+2*\coldist, -0*\disty-1*\height-0.6);% --(2.1+4*\coldist, -4.3) --(2.2+4*\coldist, 0.5) + % -- (1.0+5*\coldist, 0.5) --(1.0+5*\coldist, -4.5); + + \draw[act] (0*\coldist,-0*\height-0*\disty) rectangle (0*\coldist+\widthb,-0*\disty-1*\height) node[pos=.5] {Preprocessing}; + \draw[act] (1*\coldist,-0*\height-0*\disty) rectangle (1*\coldist+\widthb,-0*\disty-1*\height) node[pos=.5] {Feature Extraction}; + \draw[act] (2*\coldist,-0*\height-0*\disty) rectangle (2*\coldist+\widthb,-0*\disty-1*\height) node[pos=.5] {Classification}; + + \draw[draw=none, align=center] (0.5 + 0*\coldist,+0.5*\disty-0*\height) rectangle (0.5 + 0*\coldist,+0.5*\disty-0*\height) node[pos=.5] {Raw Text}; + \draw[draw=none, align=center] (1.0 + 0*\coldist,-0*\disty-2*\height) rectangle (1.0 + 0*\coldist,-2*\disty-2*\height) node[pos=.5] {Cleaned\\Text}; + \draw[draw=none, align=center] (1.0 + 1*\coldist,-0*\disty-2*\height) rectangle (1.0 + 1*\coldist,-2*\disty-2*\height) node[pos=.5] {Fixed-length\\float array}; + \draw[draw=none, align=center] (1.0 + 2*\coldist,-0*\disty-2*\height) rectangle (1.0 + 2*\coldist,-3*\disty-2*\height) node[pos=.5] {Language probabilities}; +\end{tikzpicture} diff --git a/tikz/lid-pipeline/lid-pipeline.png b/tikz/lid-pipeline/lid-pipeline.png new file mode 100644 index 0000000000000000000000000000000000000000..8d1874ea7a52dbd1e23a6fd44ceb0cb7f041217e GIT binary patch literal 13115 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 ZGtY$F