Move whole flowchart diagram left of the page when using Tikz
You have a wider than the \textwidth
picture and this is the problem of the horizontal spaces.
Try adding some text to se the problem. Then it can be solved with the help of a \makebox
command like in this post : https://tex.stackexchange.com/a/16584/120578
(Possible duplicate of that)
\documentclass[11pt]{article}
\usepackage[utf8]{inputenc}
\usepackage{tikz}
\usetikzlibrary{shapes, shadows, arrows, positioning}
\begin{document}
\tikzstyle{decision} = [diamond, draw]
\tikzstyle{line}= [draw,-latex',thick]
\tikzstyle{block}= [draw, rectangle,fill=gray!20, text width= 15em, minimum
height=15mm,text centered, node distance = 8 em]
\tikzstyle{block_c}= [draw, rectangle,fill=gray!20, text width= 10em,
minimum height=15mm,text centered, node distance = 8 em]
\makebox[\textwidth][c]{\begin{tikzpicture}
\node[block](A){xxx};
\node[block_c][below of =A](Data_c){Data collection feature};
\node[block_c][left of =Data_c,xshift=-80](B){Data collection feature};
\node[block_c][right of =Data_c,xshift=80](D){Data collection feature};
\end{tikzpicture}}
test test test test test test test test test test test test test test test test test test test test
\end{document}
Output:
as already said koleygr in his nice answer, your problem is that width of image is bigger than \textwidth
beside this, it starts after \parindent
. as reasonable solution is decrease size of blocks in your flowchart diagram. for example:
\documentclass[11pt]{article}
\usepackage{tikz}
\usetikzlibrary{arrows, positioning, shadows, shapes.geometric}
%---------------- show page layout. don't use in a real document!
\usepackage{showframe}
\renewcommand\ShowFrameLinethickness{0.15pt}
\renewcommand*\ShowFrameColor{\color{red}}
%---------------------------------------------------------------%
\begin{document}
\begin{center}
\tikzset{
block/.style = {rectangle, draw, fill=gray!20,
text width=#1, minimum height=15mm, align=flush center},
block/.default = 9 em,
decision/.style = {diamond, aspect=1.2, draw, fill=green!30,
minimum width=9em,align=center}
}
\begin{tikzpicture}[
node distance = 12mm and 6mm,
]
\node[block=15em] (A) {xxx};
\node[block,below=of A] (C) {Data collection feature};
\node[block, left=of C] (B) {Data collection feature};
\node[block,right=of C] (D) {Data collection feature};
\node[decision, below=of C] {is true?};
\end{tikzpicture}
\end{center}
\end{document}
note:
- picture is in the
center
environment. in real document probably it is infigure
float - i change the style's definitions syntax (
\tikzstyle
is consider as obsolete) - in positioning of nodes is used syntax provided by library
positioning
(observe use of thebelow=of A
instead of the `below of =A; the first specify distance between nodes' border, the second between nodes' centers) - common nodes width is set to
9em
(instead of useblock-c
style), other width is defined locally as for exampleblock=15em
- if you persist to have wider image than is width of text, than use koleygr's solution
(red lines indicate page layout)