::
Tikz è il pacchetto giusto.
Curioso è il fatto che anche il mio primissimo approccio con questo pacchetto sia stato a causa di un diagramma di flusso. Ci ho messo tipo 6 ore per tirare fuori qualcosa 😀 😀
Lasciamo perdere i miei ricordi però.
Per fare un diagramma di flusso ti servono poche cose (delle tante che si possono fare con tikz).
La cosa fondamentale è che devi capire il sistema di coordinate per mettere tutte le cose nel posto giusto.
Io ti incollo adesso un codice molto vicino a quello che ho utilizzato quella volta e cerco di metterci qualche commento.
Non so se ci sono modi più diretti per farlo, questo una volta capita la logica non è molto difficile.
Spero di aver reso il codice leggibile con i commenti. Con tikz mi ci sono scontrato poche volte quindi non so se il codice seguente è il miglior modo per farlo. So che funziona però 😉
`% !TEX encoding = UTF-8 Unicode
% !TEX TS-program = pdflatex
\documentclass{standalone}
%importazione di tikz e dei pacchetti necessari
\usepackage{tikz}
\usetikzlibrary{shapes,arrows,fit,calc,positioning}
\usepackage[utf8]{inputenc}
\begin{document}
%inzizio del diagramma di flusso e definizione di alcuni stili. Troviamo box e roundbox, container e line. Notare che line in realtà è una freccia. In questo esempio non ho usato
%tutti questi stili visto che ho tagliato parte del mio diagramma. Ho deciso di lasciare comunque gli stili non utilizzati.
\begin{tikzpicture}[box/.style={draw, rectangle, thick,
node distance=7em, text width=7em, text centered,
minimum height=3.5em},
Roundbox/.style={draw, rectangle, rounded corners, thick,
node distance=10em, text width=8em, text centered,
minimum height=3.5em},
container/.style={draw, rectangle, very thick, inner xsep=3em, inner ysep=4em},
line/.style={draw, thick, -latex',line width=.15em}]
%posizionamento del primo blocco. La sintassi è \node[stile] (nome identificativo) {scritta da mettere nella figura};
\node[box](rett){Primo blocco};
%freccia che parte dal punto calcolato come $(rett.north) + (0,0.8)$ ovvero un punto sopra rett.north di 0.8 e arriva a rett
%la riga successiva serve per inserire un commento sulla freccia
%sintassi \path[line] (punto di inizio) — (punto di fine)
% node[opzioni]{scritta};
\path[line] ($(rett.north)+(0,0.8)$) — (rett)
node[auto,right,pos=0.5,text centered] {Commento della prima freccia};
%comando identico al precedente. Creo il rettangolo chiamato shiftLAT, lo posiziono below of rett e ci scrivo dentro secondo blocco
\node[box,below of=rett](shiftLAT){Secondo blocco};
%altra freccia, questa volta senza commenti sopra. Questa parte da rett.south e arriva a shiftLAT.north
\path[line] (rett.south) — (shiftLAT.north);
%altro blocco chiamato roll e posizionato in basso a sinistra di shiftLat
\node[box, below of=shiftLAT, left of=shiftLAT](roll){terzo blocco};
%questa freccia è un pò più compicata in quanto non è dritta ma c'ha un gomito
% parto da shiftLAT.west, passo per il punto che si trova a sinistra di (1,0) rispetto a shiftLAT e arrivo al blocco roll
%anche qui sistemo una scritta
\path[line] (shiftLAT.west) — ($(shiftLAT.west)-(1,0)$) -| (roll)
node[auto,above left,pos=0,text centered] {prima opzione};
%come il blocco di sopra ma questo sta in basso a destra
\node[box, below of=shiftLAT, right of=shiftLAT](cerchione){quarto blocco};
\path[line](shiftLAT.east) — ($(shiftLAT.east)+(0.8,0)$) -| (cerchione)
node[auto,above right,pos=0,text centered] {seconda opzione};
%altro blocco, niente di particolarmente diverso rispetto ai precedenti
\node[box, below of=cerchione](compenetrazione){quinto blocco};
%freccia normale
\path[line](cerchione.south) — (compenetrazione.north);
%questa freccia c'ha due gomiti. Una volta capito il trucco non è diversa dalle altre. Sono specificati il punto di arrivo, due punti intermedi e due punti di fine. Bisogna solo capire come scrivere le coordinate
\path[line](compenetrazione.east) — ($(compenetrazione.east)+(0.8,0)$) -| ($(cerchione.east)+(0.8,0)$) — (cerchione.east)
node[auto,above,pos=-0.4,text centered] {iterazione};
\end{tikzpicture}
\end{document}`