2

I have a simular issue to the question asked in : TikZ picture overlaps with text I have tried the solution provided by Jake. This makes that my picture fails to resize (scale) as i intend.

Whether i give Set scale=0.4 or Set scale=0.8 The size of the picture remains the same

This is the code i use:

\begin{figure}[ht!] \centering \begin{tikzpicture}[Set scale=0.4, every node/.append style={transform shape},] % STYLES \tikzstyle{every node}=[rectangle,rounded corners, minimum width=100pt, align=center,node distance=3cm,fill=black!10,inner sep=5pt,text width=3cm,minimum height=1.75cm,>=stealth,text badly centered] % Draw forces \node [force, above of=rivalry] (top) {Firm strategy, structure and rivalry}; \node [force, left=1cm of rivalry] (left) {Factor conditions}; \node [force, right=1cm of rivalry] (right) {Demand Conditions}; \node [force, below of=rivalry] (bottom) {Related and Supporting industries}; %%%%%%%%%%%%%%%% % Draw the links between forces \path[<->,thick] (left) edge (right) (left) edge (top) (left) edge (bottom) (top) edge (right) (bottom) edge (right); \path[<->,thick] (bottom) edge (top); \end{tikzpicture} \caption{Porter's Diamond source:~\cite{Porter:1980}}% \label{fig:diamond} \end{figure} 

enter image description here

3
  • Perhaps this happens because the option is scale=<some factor> and not Set scale=<some factor>. Could you try with the right key and let us know if the problem is solved? Commented Jul 1, 2013 at 11:50
  • 2
    We prefer full compilable (but minimal) code example including a preamble. This way not everyone which wants to help you has to add the preamble him-/herself. Commented Jul 1, 2013 at 11:51
  • You are overwriting the every node style with the \tikzstyle command, you also need to append stuff with the deprecated \tikzstyle: \tikzstyle{every node}+=[…]. But you could just add it to the every node style options from the TikZ picture. Commented Jul 1, 2013 at 12:35

1 Answer 1

6

The option is scale and transform shape can* be given as direct option to {tikzpicture}

\documentclass{article} \usepackage{tikz} \usetikzlibrary{positioning} \begin{document} \begin{tikzpicture}[% scale=0.8,transform shape, % STYLES force/.style={% rectangle,rounded corners, minimum width=100pt, align=center,node distance=3cm,fill=black!10,inner sep=5pt, text width=3cm,minimum height=1.75cm,text badly centered }, >=stealth,% had no effect in a node style ... ] % Draw forces \node (rivalry) {};% was missing!! \node [force, above of=rivalry] (top) {Firm strategy, structure and rivalry}; \node [force, left=1cm of rivalry] (left) {Factor conditions}; \node [force, right=1cm of rivalry] (right) {Demand Conditions}; \node [force, below of=rivalry] (bottom) {Related and Supporting industries}; % Draw the links between forces \path[<->,thick] (left) edge (right) (left) edge (top) (left) edge (bottom) (top) edge (right) (bottom) edge (right); \path[<->,thick] (bottom) edge (top); \end{tikzpicture} \end{document} 

I had to add a node (rivalry) since it was missing in your example. Pleas use \tikzset (or the {tikzpicture} options as I did) and the /.style appendix. \tikzstyle is obsolete. Furthermore the >=stealth won’T have an effect inside a node style definition so I moved it …


* I was wrong and Qrrbrbirlbel’s comment on your question, mentions the real problem: transform shape can also be set only to every node but was overwritten in your example.

1
  • You were spot on. This worked Commented Jul 1, 2013 at 13:12

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.