TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am trying to change the direction of the arrows and generally figure out how best to manipulate this diagram. I have placed my own text but I want the box with the dotted lines do have a white background and the middle box to have its left and right arrows pointing out the way. I cannot see an obvious way to do this from the code at all!

Here is the link to the code.


share|improve this question
up vote 3 down vote accepted

Simply add fill=white:

\node [force, text width=3cm, dashed, left=1cm of substitutes, fill=white] (state) {Public policies};

and reverse the edge statements

(substitutes) edge (rivalry)
%(suppliers) edge (rivalry)
(rivalry) edge  (suppliers)
%(users) edge (rivalry)
(rivalry) edge (users)
(entrants) edge (comment-rivalry);

enter image description here


% Porter model
% Author: Charles-Axel Dein

\renewcommand{\rmdefault}{bch} % change default font



[node distance = 1cm, auto,font=\footnotesize,
every node/.style={node distance=3cm},
% The comment style is used to describe the characteristics of each force
comment/.style={rectangle, inner sep= 5pt, text width=4cm, node distance=0.25cm, font=\scriptsize\sffamily},
% The force style is used to draw the forces' name
force/.style={rectangle, draw, fill=black!10, inner sep=5pt, text width=4cm, text badly centered, minimum height=1.2cm, font=\bfseries\footnotesize\sffamily}] 

% Draw forces
\node [force] (rivalry) {Rivalry among existing competitors};
\node [force, above of=rivalry] (substitutes) {Threat of substitutes};
\node [force, text width=3cm, dashed, left=1cm of substitutes, fill=white] (state) {Public policies};
\node [force, left=1cm of rivalry] (suppliers) {Bargaining power of suppliers};
\node [force, right=1cm of rivalry] (users) {Bargaining power of users};
\node [force, below of=rivalry] (entrants) {Threat of new entrants};

% Change data from here

\node [comment, below=0.25 of rivalry] (comment-rivalry) {(+) A war against Microsoft\\
(+) Limiting sunk costs\\
(+) Coopetition};

\node [comment, below=0.25cm of suppliers] {(+) Efficiency\\
(+) Attracting other developers\\
(+) Creating a Chrome community};

\node [comment, right=0.25 of substitutes] {(+) Portability};

\node [comment, below=0.25 of users] {(+) Increasing the user information\\
(+) Reducing the switching costs};

\node [comment, right=0.25 of entrants] {(+) EC vs. Microsoft};

\node [comment, text width=3cm, below=0.25 of state] {(+) Positively framed\\
(+) Transparency\\
(--) A new monopoly?};


(substitutes) edge (rivalry)
%(suppliers) edge (rivalry)
(rivalry) edge  (suppliers)
%(users) edge (rivalry)
(rivalry) edge (users)
(entrants) edge (comment-rivalry);

\caption{FOSS in Chrome influences industry structure by increasing competition}

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.