Dopo uno scambio di mail con l’autore del post ecco il risultato finale che credo possa dare spunti ad altri:
`
\documentclass[a4paper]{article}
\usepackage
{geometry}
\usepackage[normalem]{ulem}%per sottolineare
\usepackage[dvipsnames,table]{xcolor}%sempre prima di tikz
\usepackage{tikz}\usetikzlibrary{calc}
\begin{document}
\pagestyle{empty}
\tikzstyle{every picture}+=[remember picture,baseline,>=stealth]
\tikzset{relazione/.style={
minimum height=8mm,
text width=0.126\linewidth,
text centered,
font={\small},
outer sep=2pt,
inner sep=1pt
},
titolo/.style={
font={\small \scshape },
outer sep=2pt,
inner sep=2pt
}
}
%Tabella 1
\begin{tabular}{|*{5}{c}|}
\multicolumn{5}{l}{\tikz{\node[titolo,fill=orange!20](tab1Cliente){\textsc{Cliente}};}}
\\
\hline
\tikz{\node[relazione](tab1Codice){\uline{Codice}};}
&
\tikz{\node[relazione](tab1Nome){{Nome}};}
&
\tikz{\node[relazione](tab1Cognome){Cognome};}
&
\tikz{\node[relazione](tab1CodiceFiscale){Codice Fiscale};}
&
\tikz{\node[relazione](tab1Indirizzo){Indirizzo};}
\\
\hline
\end{tabular}
\vspace{\stretch{1}}
%Tabella 2
\begin{tabular}{|*{6}{c}|}
\multicolumn{6}{l}{\tikz{\node[titolo,fill=RoyalBlue!20](tab2OrdineVendita){\textsc{Ordine Vendita}};}}
\\
\hline
\tikz{\node[relazione](tab2NOrdine){\uline{N. Ordine}};}
&
\tikz{\node[relazione](tab2DataOrdine){\uline{Data Ordine}};}
&
\cellcolor{orange!20}\tikz{\node[relazione](tab2Cliente){Cliente};}
&
\tikz{\node[relazione](tab2DataConsegna){Data Consegna};}
&
\tikz{\node[relazione](tab2ImportoTot){Importo Tot};}
&
\tikz{\node[relazione](tab2Note){Note};}
\\
\hline
\end{tabular}
\vspace{\stretch{1}}
%Tabella 7
\begin{tabular}{|*{6}{c}|}
\multicolumn{6}{l}{\tikz{\node[titolo](tab7RigaVendita){\textsc{Riga Vendita}};}}
\\
\hline
\cellcolor{RoyalBlue!20}\tikz{\node[relazione](tab7NOrdineVendita){\uline{N. Ordine Vendita}};}
&
\cellcolor{RoyalBlue!20}\tikz{\node[relazione](tab7DataOrdineVendita){\uline{Data Ordine Vendita}};}
&
\cellcolor{OliveGreen!20}\tikz{\node[relazione](tab7Elettrodomestico){\uline{Elettrodomestico}};}
&
\tikz{\node[relazione](tab7Quantita){Quantit\'a};}
&
\tikz{\node[relazione](tab7Prezzo){Prezzo};}
&
\tikz{\node[relazione](tab7Sconto){Sconto};}
\\
\hline
\end{tabular}
\vspace{\stretch{1}}
%Tabella 5
\begin{tabular}{|*{5}{c}|}
\multicolumn{5}{l}{\tikz{\node[titolo](tab5Spesa){\textsc{Spesa}};}}
\\
\hline
\cellcolor{RoyalBlue!20}\tikz{\node[relazione](tab5NOrdineVendita){\uline{N. Ordine Vendita}};}
&
\cellcolor{RoyalBlue!20}\tikz{\node[relazione](tab5DataOrdineVendita){\uline{Data Ordine Vendita}};}
&
\cellcolor{green!20}\tikz{\node[relazione](tab5TipologiaSpesa){\uline{Tipologia Spesa}};}
&
\tikz{\node[relazione](tab5Importo){Importo};}
&
\tikz{\node[relazione](tab5Note){Note};}
\\
\hline
\end{tabular}
\vspace{\stretch{1}}
%Tabella 6
\begin{tabular}{|*{2}{c}|}
\multicolumn{2}{l}{\tikz{\node[titolo,fill=green!20](tab6TipologiaSpesa){\textsc{Tipologia Spesa}};}}
\\
\hline
\tikz{\node[relazione](tab6Codice){\uline{Codice}};}
&
\tikz{\node[relazione](tab6Descrizione){Descrizione};}
\\
\hline
\end{tabular}
\vspace{\stretch{1}}
%Tabella 3
\begin{tabular}{|*{4}{c}|}
\multicolumn{4}{l}{\tikz{\node[titolo,fill=RoyalPurple!20](tab3Fornitore){\textsc{Fornitore}};}}
\\
\hline
\tikz{\node[relazione](tab3Codice){\uline{Codice}};}
&
\tikz{\node[relazione](tab3PartitaIVA){Partita IVA};}
&
\tikz{\node[relazione](tab3RagioneSociale){Ragione Sociale};}
&
\tikz{\node[relazione](tab3Indirizzo){Indirizzo};}
\\
\hline
\end{tabular}
\vspace{\stretch{1}}
%Tabella 4
\begin{tabular}{|*{6}{c}|}
\multicolumn{6}{l}{\tikz{\node[titolo,fill=yellow!50](tab4OrdineAcquisto){\textsc{Ordine Acquisto}};}}
\\
\hline
\tikz{\node[relazione](tab4NOrdine){\uline{N. Ordine}};}
&
\tikz{\node[relazione](tab4DataOrdine){\uline{Data Ordine}};}
&
\cellcolor{RoyalPurple!20}\tikz{\node[relazione](tab4Fornitore){Fornitore};}
&
\tikz{\node[relazione](tab4DataConsegna){Data Consegna};}
&
\tikz{\node[relazione](tab4ImportoTot){Importo Tot};}
&
\tikz{\node[relazione](tab4Note){Note};}
\\
\hline
\end{tabular}
\vspace{\stretch{1}}
%Tabella 8
\begin{tabular}{|*{6}{c}|}
\multicolumn{6}{l}{\tikz{\node[titolo](tab8RigaAcquisto){\textsc{Riga Acquisto}};}}
\\
\hline
\cellcolor{yellow!50}\tikz{\node[relazione](tab8NOrdineAcquisto){\uline{N. Ordine Acquisto}};}
&
\cellcolor{yellow!50}\tikz{\node[relazione](tab8DataOrdineAcquisto){\uline{Data Ordine Acquisto}};}
&
\cellcolor{OliveGreen!20}\tikz{\node[relazione](tab8Elettrodomestico){\uline{Elettrodomestico}};}
&
\tikz{\node[relazione](tab8Quantita){Quantit\'a};}
&
\tikz{\node[relazione](tab8Prezzo){Prezzo};}
&
\tikz{\node[relazione](tab8Sconto){Sconto};}
\\
\hline
\end{tabular}
\vspace{\stretch{1}}
%Tabella 9
\begin{tabular}{|*{6}{c}|}
\multicolumn{6}{l}{\tikz{\node[titolo,fill=OliveGreen!20](tab9Elettrodomestico){\textsc{Elettrodomestico}};}}
\\
\hline
\tikz{\node[relazione](tab9Codice){\uline{Codice}};}
&
\tikz{\node[relazione](tab9Modello){Modello};}
&
\tikz{\node[relazione](tab9Marca){Marca};}
&
\tikz{\node[relazione](tab9Giacenza){Giacenza};}
&
\cellcolor{purple!20}\tikz{\node[relazione](tab9Categoria){Categoria};}
&
\cellcolor{blue!20}\tikz{\node[relazione](tab9Catalogo){Catalogo};}
\\
\hline
\end{tabular}
\vspace{\stretch{1}}
%Tabella 10
\begin{tabular}{|*{2}{c}|}
\multicolumn{2}{l}{\tikz{\node[titolo,fill=purple!20](tab10Categoria){\textsc{Categoria}};}}
\\
\hline
\tikz{\node[relazione](tab10Codice){\uline{Codice}};}
&
\tikz{\node[relazione](tab10Descrizione){Descrizione};}
\\
\hline
\end{tabular}
\vspace{\stretch{1}}
%Tabella 11
\begin{tabular}{|*{4}{c}|}
\multicolumn{4}{l}{\tikz{\node[titolo](tab11Applicazione){\textsc{Applicazione}};}}
\\
\hline
\cellcolor{OliveGreen!20}\tikz{\node[relazione](tab11Elettrodomestico){\uline{Elettrodomestico}};}
&
\tikz{\node[relazione](tab11DataInizio){Data Inizio};}
&
\tikz{\node[relazione](tab11DataFine){Data Fine};}
&
\tikz{\node[relazione](tab11Sconto){Sconto};}
\\
\hline
\end{tabular}
\vspace{\stretch{1}}
%Tabella 12
\begin{tabular}{|*{2}{c}|}
\multicolumn{2}{l}{\tikz{\node[titolo](tab12Promozione){\textsc{Promozione}};}}
\\
\hline
\tikz{\node[relazione](tab12Codice){\uline{Codice}};}
&
\tikz{\node[relazione](tab12Descrizione){Descrizione};}
\\
\hline
\end{tabular}
\vspace{\stretch{1}}
%Tabella 13
\begin{tabular}{|*{3}{c}|}
\multicolumn{3}{l}{\tikz{\node[titolo,fill=blue!20](tab13Catalogo){\textsc{Catalogo}};}}
\\
\hline
\tikz{\node[relazione](tab13Codice){\uline{Codice}};}
&
\tikz{\node[relazione](tab13Da){Da};}
&
\tikz{\node[relazione](tab13A){A};}
\\
\hline
\end{tabular}
\vspace{\stretch{1}}
%Tabella 14
\begin{tabular}{|*{2}{c}|}
\multicolumn{2}{l}{\tikz{\node[titolo,fill=orange!20](tab14TelefonoCliente){\textsc{Telefono Cliente}};}}
\\
\hline
\tikz{\node[relazione](tab14Numero){\uline{Numero}};}
&
\tikz{\node[relazione](tab14Cliente){\uline{Cliente}};}
\\
\hline
\end{tabular}
%Tabella 15
\begin{tabular}{|*{2}{c}|}
\multicolumn{2}{l}{\tikz{\node[titolo,fill=orange!20](tab15FaxCliente){\textsc{Fax Cliente}};}}
\\
\hline
\tikz{\node[relazione](tab15Numero){\uline{Numero}};}
&
\tikz{\node[relazione](tab15Cliente){\uline{Cliente}};}
\\
\hline
\end{tabular}
%Tabella 16
\begin{tabular}{|*{2}{c}|}
\multicolumn{2}{l}{\tikz{\node[titolo,fill=orange!20](tab16MailCliente){\textsc{Mail Cliente}};}}
\\
\hline
\tikz{\node[relazione](tab16Indirizzo){\uline{Indirizzo}};}
&
\tikz{\node[relazione](tab16Cliente){\uline{Cliente}};}
\\
\hline
\end{tabular}
\vspace{\stretch{1}}
%Tabella 17
\begin{tabular}{|*{2}{c}|}
\multicolumn{2}{l}{\tikz{\node[titolo,fill=RoyalPurple!20](tab17TelefonoFornitore){\textsc{Telefono Fornitore}};}}
\\
\hline
\tikz{\node[relazione](tab17Numero){\uline{Numero}};}
&
\tikz{\node[relazione](tab17Fornitore){\uline{Fornitore}};}
\\
\hline
\end{tabular}
%Tabella 18
\begin{tabular}{|*{2}{c}|}
\multicolumn{2}{l}{\tikz{\node[titolo,fill=RoyalPurple!20](tab18FaxFornitore){\textsc{Fax Fornitore}};}}
\\
\hline
\tikz{\node[relazione](tab18Numero){\uline{Numero}};}
&
\tikz{\node[relazione](tab18Fornitore){\uline{Fornitore}};}
\\
\hline
\end{tabular}
%Tabella 19
\begin{tabular}{|*{2}{c}|}
\multicolumn{2}{l}{\tikz{\node[titolo,fill=RoyalPurple!20](tab19MailFornitore){\textsc{Mail Fornitore}};}}
\\
\hline
\tikz{\node[relazione](tab19Indirizzo){\uline{Indirizzo}};}
&
\tikz{\node[relazione](tab19Cliente){\uline{Cliente}};}
\\
\hline
\end{tabular}
\begin{tikzpicture}[overlay]
%
\draw[line width=1.5pt,orange,->] (tab14TelefonoCliente.west) -| ++(0,0.45) -| ($(tab1Cliente) – (2cm,0)$) — (tab1Cliente.west);
\draw[line width=1.5pt,orange,->] (tab15FaxCliente.west) -| ++(0,0.45) -| ($(tab1Cliente) – (2cm,0)$) — (tab1Cliente.west);
\draw[line width=1.5pt,orange,->] (tab16MailCliente.west) -| ++(0,0.45) -| ($(tab1Cliente) – (2cm,0)$) — (tab1Cliente.west);
\draw[line width=1.5pt,orange,->] (tab2Cliente) — ++(0,-0.75) -| ($(tab1Cliente) – (2cm,0)$) — (tab1Cliente.west);
%
%
%
\draw[line width=1.5pt,RoyalPurple,->] (tab17TelefonoFornitore.west) -| ++(0,0.45) -| ($(tab3Fornitore) – (2.5cm,0)$) — (tab3Fornitore.west);
\draw[line width=1.5pt,RoyalPurple,->] (tab18FaxFornitore.west) -| ++(0,0.45) -| ($(tab3Fornitore) – (2.5cm,0)$) — (tab3Fornitore.west);
\draw[line width=1.5pt,RoyalPurple,->] (tab19MailFornitore.west) -| ++(0,0.45) -| ($(tab3Fornitore) – (2.5cm,0)$) — (tab3Fornitore.west);
\draw[line width=1.5pt,RoyalPurple,->] (tab4Fornitore) — ++(0,-0.75) -| ($(tab3Fornitore) – (2.5cm,0)$) — (tab3Fornitore.west);
%
%
%
\draw[line width=1.5pt,OliveGreen,->] (tab7Elettrodomestico) — ++(0,-0.80) -| ($(tab9Elettrodomestico) – (2.5cm,0)$) — (tab9Elettrodomestico.west);
\draw[line width=1.5pt,OliveGreen,->] (tab8Elettrodomestico) — ++(0,-0.80) -| ($(tab9Elettrodomestico) – (2.5cm,0)$) — (tab9Elettrodomestico.west);
\draw[line width=1.5pt,OliveGreen,->] (tab11Elettrodomestico) — ++(0,-0.80) -| ($(tab9Elettrodomestico) – (2.5cm,0)$) — (tab9Elettrodomestico.west);
%
%
%
\draw[line width=1.5pt,blue,->] (tab9Catalogo) |- (tab13Catalogo.east);
%
%
%
\draw[line width=1.5pt,purple,->] (tab9Categoria) |- (tab10Categoria.east);
%
%
%
\draw[line width=1.5pt,green,->] (tab5TipologiaSpesa) |- (tab6TipologiaSpesa.east);
%
%
%
% serve un artificio per calcolare il punto da cui deve partire la freccia se abbiamo due celle
\path (tab8NOrdineAcquisto) — (tab8DataOrdineAcquisto) node[minimum height=8mm,midway] (mezzo) {};
\draw[line width=1.5pt,yellow!80!black,->] (mezzo) — ++(0,-0.6) -| ($(tab4OrdineAcquisto) – (2cm,0)$) — (tab4OrdineAcquisto.west);
%
%
%
% serve un artificio per calcolare il punto da cui deve partire la freccia se abbiamo due celle
\path (tab7NOrdineVendita) — (tab7DataOrdineVendita) node[minimum height=8mm,midway] (mezzo1) {};
\draw[line width=1.5pt,RoyalBlue,->] (mezzo1) — ++(0,-0.6) -| ($(tab2OrdineVendita) – (1.8cm,0)$) — (tab2OrdineVendita.west);
\path (tab5NOrdineVendita) — (tab5DataOrdineVendita) node[minimum height=8mm,midway] (mezzo2) {};
\draw[line width=1.5pt,RoyalBlue,->] (mezzo2) — ++(0,-0.6) -| ($(tab2OrdineVendita) – (1.8cm,0)$) — (tab2OrdineVendita.west);
%
\end{tikzpicture}
\end{document}
`