From ff89d05302d21712341e7bc33835d442e43f0f30 Mon Sep 17 00:00:00 2001 From: Nicola Fontana Date: Tue, 31 Dec 2013 18:41:19 +0100 Subject: [PATCH] nodist: extract desktop and web from overview.pdf Convert the PDF pages of overview.pdf into their raster representations using ImageMagick. Moved the needed commands into the custom makefile. --- nodist/Makefile | 15 ++++++++++++--- nodist/overview.tex | 34 +++++++++++++++++++--------------- 2 files changed, 31 insertions(+), 18 deletions(-) diff --git a/nodist/Makefile b/nodist/Makefile index 54ed04f4..4bd71d77 100644 --- a/nodist/Makefile +++ b/nodist/Makefile @@ -1,20 +1,29 @@ TEX2PDF=latexmk -silent -quiet -rules- -pdf > /dev/null MP2MPS=mpost -interaction=batchmode > /dev/null +CONVERT=convert -flatten -density 150 -quality 90 -all: overview.pdf +all: overview.pdf desktop.png web.png overview.pdf: overview.tex symbols-0.mps ALWAYS_OUTDATED - @echo " DOC overview" ; \ + @echo " DOC overview.pdf" ; \ $(TEX2PDF) overview.tex symbols-0.mps: symbols.mp @echo " DOC symbols" ; \ $(MP2MPS) symbols.mp +desktop.png: overview.pdf + @echo " DOC desktop.png" ; \ + $(CONVERT) overview.pdf[0] desktop.png + +web.png: overview.pdf + @echo " DOC web.png" ; \ + $(CONVERT) overview.pdf[1] web.png + clean: @echo " RM ." ; \ latexmk -C -silent ; \ - rm -f *.mps symbols.log + rm -f *.mps symbols.log desktop.png web.png # ALWAYS_OUTDATED is a dummy phony target needed to force the build: # latexmk is the one that will take care of the dependencies. diff --git a/nodist/overview.tex b/nodist/overview.tex index ce26ba7d..7e5988c6 100644 --- a/nodist/overview.tex +++ b/nodist/overview.tex @@ -1,22 +1,26 @@ -\documentclass[tikz=true,border=20pt]{standalone} +\documentclass[tikz=true,border=12pt]{standalone} % Set some useful default \tikzset{% - node distance=150, font=\sffamily\scriptsize, + shorten >= 5, + shorten <= 5, + every label/.style={ + label distance=20 + }, every path/.style={ very thick, >=stealth }, every label/.style={ - font=\sffamily\normalsize + font=\sffamily\small } } \begin{document} -\begin{tikzpicture} +\begin{tikzpicture}[node distance=150] -\node[align=center, label=APPLICATION] (gear) +\node[label=APPLICATION] (gear) {\includegraphics[scale=0.2]{symbols-9}}; \node[below of=gear, label=below:DATABASE] (database) {\includegraphics[scale=0.2]{symbols-1}}; @@ -30,19 +34,19 @@ {\includegraphics[scale=0.2]{symbols-2}}; \draw [<->] (gear) -- (database); -\draw [<->] (gear) -- (workstation); +\draw [<->, shorten <= -5, shorten >= 8] (gear) -- (workstation); \draw [->] (gear) -- (adg); -\draw [->] (adg) -- node[above] {PDF or PS} node[below]{BACKEND} (sheet); -\draw [->] (adg) -- node[right, align=left] {XLIB\\BACKEND} (workstation); +\draw [->] (adg) -- node[above=-2] {PDF or PS} node[below=-2]{BACKEND} (sheet); +\draw [->] (adg) -- node[right=-2, align=left] {XLIB\\BACKEND} (workstation); \draw [->] (sheet) -- (printer); -\node[yshift=75] at (adg) +\node[yshift=60] at (adg) {Overview of a typical \textbf{desktop} application}; \end{tikzpicture} -\begin{tikzpicture} +\begin{tikzpicture}[node distance=120] -\node[align=center, label=APPLICATION] (gear) +\node[label=APPLICATION] (gear) {\includegraphics[scale=0.2]{symbols-9}}; \node[below of=gear, label=below:DATABASE] (database) {\includegraphics[scale=0.2]{symbols-1}}; @@ -62,16 +66,16 @@ {\includegraphics[scale=0.2]{symbols-6}}; \draw [<->] (gear) -- (database); -\draw [<->] (gear) -- (server); +\draw [<->, shorten <= -5] (gear) -- (server); \draw [->] (gear) -- (adg); -\draw [->] (adg) -- node[above] {PNG, PS or PDF} node[below]{BACKEND} (sheet); +\draw [->] (adg) -- node[above=-2] {PNG or PDF} node[below=-2]{BACKEND} (sheet); \draw [->] (sheet) -- (cloud); -\draw [<->] (server) -- node[above] {WEB SERVER} (cloud); +\draw [<->] (server) -- node[above=-2] {HTML} (cloud); \draw [<->] (cloud) -- (laptop); \draw [<->] (cloud) -- (tablet); \draw [<->] (cloud) -- (workstation); -\node[xshift=75, yshift=75] at (adg) +\node[xshift=75, yshift=60] at (adg) {Overview of a typical \textbf{web} application}; \end{tikzpicture} -- 2.11.4.GIT