I'm writing a flow-chart. Using diamond (test/.style={base, diamond, aspect=2, text width=5em}
), my diamond shape enlarges itself too much. How can I spread the text on the entire shape (to reduce the size of it)?
This is the code I use:
\documentclass[x11names]{article}
\usepackage{tikz}
\usetikzlibrary{shapes,arrows,chains}
%%%<
\usepackage{verbatim}
\usepackage[active,tightpage]{preview}
\usetikzlibrary{positioning} %----permette il posizionamento relativo dei nodi
\usepackage[latin1]{inputenc} %----permette l' uso dei caratteri accentati
\usepackage[italian]{babel} %-----permette la sillabazione secondo le regole italiane
\PreviewEnvironment{tikzpicture}
\setlength\PreviewBorder{5mm}%
%%%>
\begin{document}
% =================================================
% Set up a few colours questi sono i colori poi usati per le linee i connettori e il riempimento di alcune forme, variando il numero del colore, varia il coloreetc. tipo: riga di colore lcfree
\colorlet{lcfree}{Green3}
\colorlet{lcnorm}{Blue3}
\colorlet{lccong}{Red3}
\providecommand{\cmark}[2][]{\relax} %------crea il comando \cmark utilizzato in seguito
% ----------------QUESTO PEZZO INDICA COME FARE LA CATENA ---!!!!!!!---
% Start the picture
\begin{tikzpicture}[%
>=triangle 60, % Nice arrows;variando i simboli > e =, cambia la forma della freccia
start chain=going below, % General flow is top-to-bottom unisce i blocchi andando da sopra a sotto
node distance=16mm and 60mm, % Global setup of box spacing 16mm verticale 60 orizzontale
every join/.style={norm}, % Default linetype for connecting boxes utilizzando lo stile norm/free/cong definiti a riga 87
]
% ------------------------------------------------------------------
%in questa area vengono definiti gli stili delle forme da inserire nelle griglie.Questi stili vengono poi usati per dare forma ai vari nodi, usando il nome dello stile come primo parametro del nodo. es. \node [proc, join...]
% A few box styles
% <on chain> *and* <on grid> reduce the need for manual relative
% positioning of nodes
\tikzset{
%--il parametro align= allinea il testo all interno della forma (left, center, right)
base/.style={draw, on chain, on grid, align=center, minimum height=4ex},
proc/.style={base, rectangle, text width=8em},
test/.style={base, diamond, aspect=2, text width=5em, inner sep=-15pt},
term/.style={proc, rounded corners},
% coord node style is used for placing corners of connecting lines
coord/.style={coordinate, on chain, on grid, node distance=6mm and 25mm},
% nmark node style is used for coordinate debugging marks
nmark/.style={draw, cyan, circle, font={\sffamily\bfseries}},
%======================fine definizione stili delle forme
% Connector line styles for different parts of the diagram. qui si definiscono gli stili dei connettori. Il colore del connettore (lcnorm, lcfree, lccong) sono a loro volta definiti ella sezione (set up a few color alcune righe sopra)
norm/.style={->, draw, lcnorm},
free/.style={->, draw, lcfree},
cong/.style={->, draw, lccong},
it/.style={font={\small\itshape}} %questo DOVREBBE configurafre un font
}
% ----------------------------------inizio posizionamento forme--------
% Start by placing the nodes il parametro join serve a collegare il nodo con il precedente. per i collegamenti specifici (tipo nodo sssc0003 a nodo sssc0004, vedere il codice che inizia con: "All the other connections... alle righe succesive
%------*********inizio posizionamento delle forme I colonna******--------------------
% Use join to connect a node to the previous one ------uso di join per connettere i nodi ai blocchi precedenti--------------
\node [proc, densely dotted, it] (sscom001) {Ricevimento comunicazione};
\node [test, join] (sscom002) {La documentazione formale della comunicazione \'e completa?};
\node [proc, join] (sscom003) { Comunicazione di irricevibilità al richiedente)};
\node [proc, join] (sscom999) {Chiusura procedimento};
%-----------------------------fine I colonna---------------
%---------------inizio II e III colonna------------------------------
\node [proc ] (ssri-cap) [left=of sscom001] {Comunicazione apertura pratica al registro imprese};
\node [proc, join] (ssri-cep) [left=of ssri-cap] {comunicazione esito pratica al registro delle imrese};
%----- seconda colonna ----------------------------
\node [proc, ] (sscom004)[right=of sscom003] {Trasmissione al richiedente ricevuta di protocollo};
\node [proc, ] (sscom005) [left=of sscom003]{Trasmissione della Comunicazione al B.O. ente/ufficio destinatario};
\node [test, join] (sscom006) {Il B.O. ENTE/Ufficio destinatario trasmette al BO SUAP richiesta documentazione/provvedimento-nulla osta)};
\node [proc, join] (sscom007) {Il B.O. Suap trasmette provvedimento-nulla osta al richiedente};
\node [proc, ] (sscom008)[right=of sscom007] {Il B.O. SUAP trasmette la richiesta di documentazione integrativa al richiedente};
\node [proc, join] (sscom009) {Ricevimento documentazione integrativa da parte del richiedente};
\node [proc, join] (sscom011) { Il B.O. Suap trasmette documentazione integrativa al B.O. Ente/ufficio};
Presentazione osservazioni (10gg)
\node [proc, join] (sscom012) { Il B.O. ENTE/ufficio trasmette provvedimento/nulla osta al B.O. SUAP};
\node [proc, join] (sscom013) { Il B.O. SUAP trasmette provvedimento/nulla osta al richiedente};
\node [proc, ] (sscom012) [left=of sscom012]{Mancata integrazione da parte del richiedente};
\node [proc, join] (sspo014) {Il B.O. ENTE/Ufficio destinatario trasmette al BO SUAP provvedimento/comunicazione negativa};
\node [proc, join] (sscom014) {Il B.O. SUAP trasmette provvedimento/comunicazione negativa al richiedente};
%\node [proc, ] (sspo0023) [right=of sspo0020]{Mancata presentazione osservazioni entro 10gg};
%-------------------fine posizionamento nodi-----------------------------------https://preview.overleaf.com/public/rtkznwdyqxfw/images/909eaf975d88a4b576808e04852f55af05dd11cd.jpeg
%============disegno delle linee e scrittura esito=======
\draw [->,lcnorm] (sscom001.west) -- (ssri-cap);
\draw[->](sscom002.east) -| (sscom004) node[midway,above] {SI};
\draw[->](sscom002.west) -| (sscom005) node[midway,above] {SI};
\path (sscom002) -- (sscom003) node[midway,left] {NO};
\draw [] (sscom006) -- node {SI} (sscom007);
\draw [->] (sscom006.south) -| node {NO} (sscom008.north);
\draw [*->] (sscom008.south west) -| node {NO} (sscom012.mid east);
\draw [*->] (sscom013.east) -| node {NO} (sscom999.south east);
\draw [->] (sscom014.east) -| node {NO} (sscom999.mid east);
\end{tikzpicture}
% =================================================
\end{document}
Best Answer
With:
and manual breaking text in nodes:
and
I obtain the following looks of these nodes:
and
For complete code and flowchart I need your help. You MWE has some errors in text and line connections. From your forest of comment is also difficult to find code. Try to clean-up your code first, than I will see, what I can do for you.
Edit: Meanwhile cfr did in his answer what I ask you. I will take liberty to upgrade my answer on his MWE and on this base and some mine guessing and taste suggest the following changes:
signal
. By this changes, in test nodes is far more easy to format text.\footnotesize
\linespread{0.8}
made text lines in nodes more condensedComplete code is:
And obtained flowchart is: