Work Breakdown with Tikz












4















Im trying to create a Work Breakdown structure with tikz. I would like to have Desired structure



Instead I have the following:Actual Outcome



Here's my code:



documentclass[tikz,border=10pt]{standalone}usepackage{tikz}
usetikzlibrary{shadows,arrows,positioning}
usepackage{color,soul} %For highlighting
% Define the layers to draw the diagram
pgfdeclarelayer{background}
pgfdeclarelayer{foreground}
pgfsetlayers{background,main,foreground}

% Define block styles
tikzstyle{materia}=[draw, text width=6.0em, text centered,
minimum height=1.5em]
tikzstyle{etape} = [materia, text width=12em, minimum width=10em,
minimum height=3em, rounded corners]
tikzstyle{texto} = [above, text width=6em, text centered]
tikzstyle{linepart} = [draw, thick, color=black!30, -latex', dashed]
tikzstyle{line} = [draw, thick, color=black!30, -latex']
tikzstyle{ur}=[draw, text centered, minimum height=0.01em]

% Define distances for bordering
newcommand{blockdist}{1.3}
newcommand{edgedist}{1.5}

newcommand{etape}[2]{node (p#1) [etape]
{#2}}

newcommand{transreceptor}[3]{%
path [linepart] (#1.east) -- node [above]
{scriptsize #2} (#3);}

begin{document}
begin{tikzpicture}[scale=0.7,transform shape]

% Draw diagram elements
path etape{1}{textbf{Operating Items}};
path (p1.west)+(-5.0,0.0)etape{2}{textbf{Non-Operating Items}};
path (p2.south)+(0.0,-1.0)etape{3}{textbf{Interest}};
path (p3.south)+(0.0,-1.0)etape{4}{textbf{Profits and Losses}};
path (p4.south)+(0.0,-1.0)etape{5}{textbf{Subsidies}};
path (p1.south)+(2.5,-1.0)etape{6}{textbf{Direct Operating Costs}};
path (p1.south)+(-2.5,-1.0)etape{7}{textbf{Indirect Operating Costs}};




% Draw arrows between elements

path [line] (p2.south) -- node [above] {} (p3);
path [line] (p3.south) -- node [above] {} (p4);
path [line] (p4.south) -- node [above] {} (p5);
path [line] (p1.south) -- +(0.0,-0.2) -- +(+2.5,-0.2)
-- node [above, midway] {} (p6);
path [line] (p1.south) -- +(0.0,-0.2) -- +(-2.5,-0.2)
-- node [above, midway] {} (p7);





end{tikzpicture}
end{document}

´´´









share|improve this question







New contributor




L Lewis is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.

























    4















    Im trying to create a Work Breakdown structure with tikz. I would like to have Desired structure



    Instead I have the following:Actual Outcome



    Here's my code:



    documentclass[tikz,border=10pt]{standalone}usepackage{tikz}
    usetikzlibrary{shadows,arrows,positioning}
    usepackage{color,soul} %For highlighting
    % Define the layers to draw the diagram
    pgfdeclarelayer{background}
    pgfdeclarelayer{foreground}
    pgfsetlayers{background,main,foreground}

    % Define block styles
    tikzstyle{materia}=[draw, text width=6.0em, text centered,
    minimum height=1.5em]
    tikzstyle{etape} = [materia, text width=12em, minimum width=10em,
    minimum height=3em, rounded corners]
    tikzstyle{texto} = [above, text width=6em, text centered]
    tikzstyle{linepart} = [draw, thick, color=black!30, -latex', dashed]
    tikzstyle{line} = [draw, thick, color=black!30, -latex']
    tikzstyle{ur}=[draw, text centered, minimum height=0.01em]

    % Define distances for bordering
    newcommand{blockdist}{1.3}
    newcommand{edgedist}{1.5}

    newcommand{etape}[2]{node (p#1) [etape]
    {#2}}

    newcommand{transreceptor}[3]{%
    path [linepart] (#1.east) -- node [above]
    {scriptsize #2} (#3);}

    begin{document}
    begin{tikzpicture}[scale=0.7,transform shape]

    % Draw diagram elements
    path etape{1}{textbf{Operating Items}};
    path (p1.west)+(-5.0,0.0)etape{2}{textbf{Non-Operating Items}};
    path (p2.south)+(0.0,-1.0)etape{3}{textbf{Interest}};
    path (p3.south)+(0.0,-1.0)etape{4}{textbf{Profits and Losses}};
    path (p4.south)+(0.0,-1.0)etape{5}{textbf{Subsidies}};
    path (p1.south)+(2.5,-1.0)etape{6}{textbf{Direct Operating Costs}};
    path (p1.south)+(-2.5,-1.0)etape{7}{textbf{Indirect Operating Costs}};




    % Draw arrows between elements

    path [line] (p2.south) -- node [above] {} (p3);
    path [line] (p3.south) -- node [above] {} (p4);
    path [line] (p4.south) -- node [above] {} (p5);
    path [line] (p1.south) -- +(0.0,-0.2) -- +(+2.5,-0.2)
    -- node [above, midway] {} (p6);
    path [line] (p1.south) -- +(0.0,-0.2) -- +(-2.5,-0.2)
    -- node [above, midway] {} (p7);





    end{tikzpicture}
    end{document}

    ´´´









    share|improve this question







    New contributor




    L Lewis is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
    Check out our Code of Conduct.























      4












      4








      4








      Im trying to create a Work Breakdown structure with tikz. I would like to have Desired structure



      Instead I have the following:Actual Outcome



      Here's my code:



      documentclass[tikz,border=10pt]{standalone}usepackage{tikz}
      usetikzlibrary{shadows,arrows,positioning}
      usepackage{color,soul} %For highlighting
      % Define the layers to draw the diagram
      pgfdeclarelayer{background}
      pgfdeclarelayer{foreground}
      pgfsetlayers{background,main,foreground}

      % Define block styles
      tikzstyle{materia}=[draw, text width=6.0em, text centered,
      minimum height=1.5em]
      tikzstyle{etape} = [materia, text width=12em, minimum width=10em,
      minimum height=3em, rounded corners]
      tikzstyle{texto} = [above, text width=6em, text centered]
      tikzstyle{linepart} = [draw, thick, color=black!30, -latex', dashed]
      tikzstyle{line} = [draw, thick, color=black!30, -latex']
      tikzstyle{ur}=[draw, text centered, minimum height=0.01em]

      % Define distances for bordering
      newcommand{blockdist}{1.3}
      newcommand{edgedist}{1.5}

      newcommand{etape}[2]{node (p#1) [etape]
      {#2}}

      newcommand{transreceptor}[3]{%
      path [linepart] (#1.east) -- node [above]
      {scriptsize #2} (#3);}

      begin{document}
      begin{tikzpicture}[scale=0.7,transform shape]

      % Draw diagram elements
      path etape{1}{textbf{Operating Items}};
      path (p1.west)+(-5.0,0.0)etape{2}{textbf{Non-Operating Items}};
      path (p2.south)+(0.0,-1.0)etape{3}{textbf{Interest}};
      path (p3.south)+(0.0,-1.0)etape{4}{textbf{Profits and Losses}};
      path (p4.south)+(0.0,-1.0)etape{5}{textbf{Subsidies}};
      path (p1.south)+(2.5,-1.0)etape{6}{textbf{Direct Operating Costs}};
      path (p1.south)+(-2.5,-1.0)etape{7}{textbf{Indirect Operating Costs}};




      % Draw arrows between elements

      path [line] (p2.south) -- node [above] {} (p3);
      path [line] (p3.south) -- node [above] {} (p4);
      path [line] (p4.south) -- node [above] {} (p5);
      path [line] (p1.south) -- +(0.0,-0.2) -- +(+2.5,-0.2)
      -- node [above, midway] {} (p6);
      path [line] (p1.south) -- +(0.0,-0.2) -- +(-2.5,-0.2)
      -- node [above, midway] {} (p7);





      end{tikzpicture}
      end{document}

      ´´´









      share|improve this question







      New contributor




      L Lewis is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.












      Im trying to create a Work Breakdown structure with tikz. I would like to have Desired structure



      Instead I have the following:Actual Outcome



      Here's my code:



      documentclass[tikz,border=10pt]{standalone}usepackage{tikz}
      usetikzlibrary{shadows,arrows,positioning}
      usepackage{color,soul} %For highlighting
      % Define the layers to draw the diagram
      pgfdeclarelayer{background}
      pgfdeclarelayer{foreground}
      pgfsetlayers{background,main,foreground}

      % Define block styles
      tikzstyle{materia}=[draw, text width=6.0em, text centered,
      minimum height=1.5em]
      tikzstyle{etape} = [materia, text width=12em, minimum width=10em,
      minimum height=3em, rounded corners]
      tikzstyle{texto} = [above, text width=6em, text centered]
      tikzstyle{linepart} = [draw, thick, color=black!30, -latex', dashed]
      tikzstyle{line} = [draw, thick, color=black!30, -latex']
      tikzstyle{ur}=[draw, text centered, minimum height=0.01em]

      % Define distances for bordering
      newcommand{blockdist}{1.3}
      newcommand{edgedist}{1.5}

      newcommand{etape}[2]{node (p#1) [etape]
      {#2}}

      newcommand{transreceptor}[3]{%
      path [linepart] (#1.east) -- node [above]
      {scriptsize #2} (#3);}

      begin{document}
      begin{tikzpicture}[scale=0.7,transform shape]

      % Draw diagram elements
      path etape{1}{textbf{Operating Items}};
      path (p1.west)+(-5.0,0.0)etape{2}{textbf{Non-Operating Items}};
      path (p2.south)+(0.0,-1.0)etape{3}{textbf{Interest}};
      path (p3.south)+(0.0,-1.0)etape{4}{textbf{Profits and Losses}};
      path (p4.south)+(0.0,-1.0)etape{5}{textbf{Subsidies}};
      path (p1.south)+(2.5,-1.0)etape{6}{textbf{Direct Operating Costs}};
      path (p1.south)+(-2.5,-1.0)etape{7}{textbf{Indirect Operating Costs}};




      % Draw arrows between elements

      path [line] (p2.south) -- node [above] {} (p3);
      path [line] (p3.south) -- node [above] {} (p4);
      path [line] (p4.south) -- node [above] {} (p5);
      path [line] (p1.south) -- +(0.0,-0.2) -- +(+2.5,-0.2)
      -- node [above, midway] {} (p6);
      path [line] (p1.south) -- +(0.0,-0.2) -- +(-2.5,-0.2)
      -- node [above, midway] {} (p7);





      end{tikzpicture}
      end{document}

      ´´´






      tikz-pgf tikz-trees






      share|improve this question







      New contributor




      L Lewis is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.











      share|improve this question







      New contributor




      L Lewis is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.









      share|improve this question




      share|improve this question






      New contributor




      L Lewis is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.









      asked Apr 7 at 18:12









      L LewisL Lewis

      232




      232




      New contributor




      L Lewis is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.





      New contributor





      L Lewis is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.






      L Lewis is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.






















          1 Answer
          1






          active

          oldest

          votes


















          5














          Welcome to TeX-SE! If your question is about a minimal damage modification of your code that produces something of that sort, here is a proposal:



          documentclass[tikz,border=10pt]{standalone}
          usetikzlibrary{shadows,arrows,positioning}
          usepackage{color,soul} %For highlighting
          % Define the layers to draw the diagram
          pgfdeclarelayer{background}
          pgfdeclarelayer{foreground}
          pgfsetlayers{background,main,foreground}

          % Define block styles
          tikzset{materia/.style={draw, text width=6.0em, text centered,
          minimum height=1.5em},
          etape/.style={materia, text width=12em, minimum width=10em,
          minimum height=3em, rounded corners},
          texto/.style={above, text width=6em, text centered},
          linepart/.style={draw, thick, color=black!30, -latex', dashed},
          line/.style={draw, thick, color=black!30, -latex'},
          ur/.style={draw, text centered, minimum height=0.01em}}

          % Define distances for bordering
          newcommand{blockdist}{1.3}
          newcommand{edgedist}{1.5}

          newcommand{etape}[2]{node (p#1) [etape]
          {#2}}

          newcommand{transreceptor}[3]{%
          path [linepart] (#1.east) -- node [above]
          {scriptsize #2} (#3);}

          begin{document}
          begin{tikzpicture}[scale=0.7,transform shape]

          % Draw diagram elements
          path etape{1}{textbf{Operating Items}};
          path (p1.west)+(-6.5,0.0)etape{2}{textbf{Non-Operating Items}};
          path (p2.south)+(1,-1.0)etape{3}{textbf{Interest}};
          path (p3.south)+(0.0,-1.0)etape{4}{textbf{Profits and Losses}};
          path (p4.south)+(0.0,-1.0)etape{5}{textbf{Subsidies}};
          path (p1.south)+(2.5,-1.0)etape{6}{textbf{Direct Operating Costs}};
          path (p1.south)+(-2.5,-1.0)etape{7}{textbf{Indirect Operating Costs}};




          % Draw arrows between elements
          foreach X in {3,4,5}
          {path [line] (p2.-165) |- (pX.west);}
          path [line] (p1.south) -- +(0.0,-0.2) -- +(+2.5,-0.2)
          -- node [above, midway] {} (p6);
          path [line] (p1.south) -- +(0.0,-0.2) -- +(-2.5,-0.2)
          -- node [above, midway] {} (p7);


          end{tikzpicture}
          end{document}


          enter image description here



          If you are asking about a cleaner code that achieves this output, the answer will be quite different. E.g. the following is already shorter and simpler IMHO.



          documentclass[tikz,border=10pt]{standalone}
          usetikzlibrary{arrows,positioning}

          % Define block styles
          tikzset{materia/.style={draw, text width=6.0em, text centered,
          minimum height=1.5em},
          etape/.style={materia, text width=12em, minimum width=10em,
          minimum height=3em, rounded corners},
          line/.style={draw, thick, color=black!30, -latex'}}


          begin{document}
          begin{tikzpicture}[scale=0.7,transform shape]
          begin{scope}[nodes=etape,font=bfseries]
          node (p1) {Operating Items};
          node[left=6.5cm of p1] (p2) {Non-Operating Items};
          node[below=5mm of p2,xshift=8mm] (p3) {Interest};
          node[below=5mm of p3] (p4) {Profits and Losses};
          node[below=5mm of p4] (p5) {Subsidies};
          node[below left=8mm and 1mm of p1.south] (p6) {Direct Operating Costs};
          node[below right=8mm and 1mm of p1.south] (p7) {Indirect Operating Costs};
          end{scope}
          % Draw arrows between elements
          foreach X in {3,4,5}
          {path [line] (p2.-165) |- (pX.west);}
          foreach X in {6,7}
          {path [line] (p1.south) -- ++(0,-2mm) -| (pX.north);}
          end{tikzpicture}
          end{document}





          share|improve this answer


























          • That was exactly what I was searching for

            – L Lewis
            Apr 7 at 18:36












          Your Answer








          StackExchange.ready(function() {
          var channelOptions = {
          tags: "".split(" "),
          id: "85"
          };
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function() {
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled) {
          StackExchange.using("snippets", function() {
          createEditor();
          });
          }
          else {
          createEditor();
          }
          });

          function createEditor() {
          StackExchange.prepareEditor({
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: false,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: null,
          bindNavPrevention: true,
          postfix: "",
          imageUploader: {
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          },
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          });


          }
          });






          L Lewis is a new contributor. Be nice, and check out our Code of Conduct.










          draft saved

          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2ftex.stackexchange.com%2fquestions%2f483701%2fwork-breakdown-with-tikz%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown

























          1 Answer
          1






          active

          oldest

          votes








          1 Answer
          1






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes









          5














          Welcome to TeX-SE! If your question is about a minimal damage modification of your code that produces something of that sort, here is a proposal:



          documentclass[tikz,border=10pt]{standalone}
          usetikzlibrary{shadows,arrows,positioning}
          usepackage{color,soul} %For highlighting
          % Define the layers to draw the diagram
          pgfdeclarelayer{background}
          pgfdeclarelayer{foreground}
          pgfsetlayers{background,main,foreground}

          % Define block styles
          tikzset{materia/.style={draw, text width=6.0em, text centered,
          minimum height=1.5em},
          etape/.style={materia, text width=12em, minimum width=10em,
          minimum height=3em, rounded corners},
          texto/.style={above, text width=6em, text centered},
          linepart/.style={draw, thick, color=black!30, -latex', dashed},
          line/.style={draw, thick, color=black!30, -latex'},
          ur/.style={draw, text centered, minimum height=0.01em}}

          % Define distances for bordering
          newcommand{blockdist}{1.3}
          newcommand{edgedist}{1.5}

          newcommand{etape}[2]{node (p#1) [etape]
          {#2}}

          newcommand{transreceptor}[3]{%
          path [linepart] (#1.east) -- node [above]
          {scriptsize #2} (#3);}

          begin{document}
          begin{tikzpicture}[scale=0.7,transform shape]

          % Draw diagram elements
          path etape{1}{textbf{Operating Items}};
          path (p1.west)+(-6.5,0.0)etape{2}{textbf{Non-Operating Items}};
          path (p2.south)+(1,-1.0)etape{3}{textbf{Interest}};
          path (p3.south)+(0.0,-1.0)etape{4}{textbf{Profits and Losses}};
          path (p4.south)+(0.0,-1.0)etape{5}{textbf{Subsidies}};
          path (p1.south)+(2.5,-1.0)etape{6}{textbf{Direct Operating Costs}};
          path (p1.south)+(-2.5,-1.0)etape{7}{textbf{Indirect Operating Costs}};




          % Draw arrows between elements
          foreach X in {3,4,5}
          {path [line] (p2.-165) |- (pX.west);}
          path [line] (p1.south) -- +(0.0,-0.2) -- +(+2.5,-0.2)
          -- node [above, midway] {} (p6);
          path [line] (p1.south) -- +(0.0,-0.2) -- +(-2.5,-0.2)
          -- node [above, midway] {} (p7);


          end{tikzpicture}
          end{document}


          enter image description here



          If you are asking about a cleaner code that achieves this output, the answer will be quite different. E.g. the following is already shorter and simpler IMHO.



          documentclass[tikz,border=10pt]{standalone}
          usetikzlibrary{arrows,positioning}

          % Define block styles
          tikzset{materia/.style={draw, text width=6.0em, text centered,
          minimum height=1.5em},
          etape/.style={materia, text width=12em, minimum width=10em,
          minimum height=3em, rounded corners},
          line/.style={draw, thick, color=black!30, -latex'}}


          begin{document}
          begin{tikzpicture}[scale=0.7,transform shape]
          begin{scope}[nodes=etape,font=bfseries]
          node (p1) {Operating Items};
          node[left=6.5cm of p1] (p2) {Non-Operating Items};
          node[below=5mm of p2,xshift=8mm] (p3) {Interest};
          node[below=5mm of p3] (p4) {Profits and Losses};
          node[below=5mm of p4] (p5) {Subsidies};
          node[below left=8mm and 1mm of p1.south] (p6) {Direct Operating Costs};
          node[below right=8mm and 1mm of p1.south] (p7) {Indirect Operating Costs};
          end{scope}
          % Draw arrows between elements
          foreach X in {3,4,5}
          {path [line] (p2.-165) |- (pX.west);}
          foreach X in {6,7}
          {path [line] (p1.south) -- ++(0,-2mm) -| (pX.north);}
          end{tikzpicture}
          end{document}





          share|improve this answer


























          • That was exactly what I was searching for

            – L Lewis
            Apr 7 at 18:36
















          5














          Welcome to TeX-SE! If your question is about a minimal damage modification of your code that produces something of that sort, here is a proposal:



          documentclass[tikz,border=10pt]{standalone}
          usetikzlibrary{shadows,arrows,positioning}
          usepackage{color,soul} %For highlighting
          % Define the layers to draw the diagram
          pgfdeclarelayer{background}
          pgfdeclarelayer{foreground}
          pgfsetlayers{background,main,foreground}

          % Define block styles
          tikzset{materia/.style={draw, text width=6.0em, text centered,
          minimum height=1.5em},
          etape/.style={materia, text width=12em, minimum width=10em,
          minimum height=3em, rounded corners},
          texto/.style={above, text width=6em, text centered},
          linepart/.style={draw, thick, color=black!30, -latex', dashed},
          line/.style={draw, thick, color=black!30, -latex'},
          ur/.style={draw, text centered, minimum height=0.01em}}

          % Define distances for bordering
          newcommand{blockdist}{1.3}
          newcommand{edgedist}{1.5}

          newcommand{etape}[2]{node (p#1) [etape]
          {#2}}

          newcommand{transreceptor}[3]{%
          path [linepart] (#1.east) -- node [above]
          {scriptsize #2} (#3);}

          begin{document}
          begin{tikzpicture}[scale=0.7,transform shape]

          % Draw diagram elements
          path etape{1}{textbf{Operating Items}};
          path (p1.west)+(-6.5,0.0)etape{2}{textbf{Non-Operating Items}};
          path (p2.south)+(1,-1.0)etape{3}{textbf{Interest}};
          path (p3.south)+(0.0,-1.0)etape{4}{textbf{Profits and Losses}};
          path (p4.south)+(0.0,-1.0)etape{5}{textbf{Subsidies}};
          path (p1.south)+(2.5,-1.0)etape{6}{textbf{Direct Operating Costs}};
          path (p1.south)+(-2.5,-1.0)etape{7}{textbf{Indirect Operating Costs}};




          % Draw arrows between elements
          foreach X in {3,4,5}
          {path [line] (p2.-165) |- (pX.west);}
          path [line] (p1.south) -- +(0.0,-0.2) -- +(+2.5,-0.2)
          -- node [above, midway] {} (p6);
          path [line] (p1.south) -- +(0.0,-0.2) -- +(-2.5,-0.2)
          -- node [above, midway] {} (p7);


          end{tikzpicture}
          end{document}


          enter image description here



          If you are asking about a cleaner code that achieves this output, the answer will be quite different. E.g. the following is already shorter and simpler IMHO.



          documentclass[tikz,border=10pt]{standalone}
          usetikzlibrary{arrows,positioning}

          % Define block styles
          tikzset{materia/.style={draw, text width=6.0em, text centered,
          minimum height=1.5em},
          etape/.style={materia, text width=12em, minimum width=10em,
          minimum height=3em, rounded corners},
          line/.style={draw, thick, color=black!30, -latex'}}


          begin{document}
          begin{tikzpicture}[scale=0.7,transform shape]
          begin{scope}[nodes=etape,font=bfseries]
          node (p1) {Operating Items};
          node[left=6.5cm of p1] (p2) {Non-Operating Items};
          node[below=5mm of p2,xshift=8mm] (p3) {Interest};
          node[below=5mm of p3] (p4) {Profits and Losses};
          node[below=5mm of p4] (p5) {Subsidies};
          node[below left=8mm and 1mm of p1.south] (p6) {Direct Operating Costs};
          node[below right=8mm and 1mm of p1.south] (p7) {Indirect Operating Costs};
          end{scope}
          % Draw arrows between elements
          foreach X in {3,4,5}
          {path [line] (p2.-165) |- (pX.west);}
          foreach X in {6,7}
          {path [line] (p1.south) -- ++(0,-2mm) -| (pX.north);}
          end{tikzpicture}
          end{document}





          share|improve this answer


























          • That was exactly what I was searching for

            – L Lewis
            Apr 7 at 18:36














          5












          5








          5







          Welcome to TeX-SE! If your question is about a minimal damage modification of your code that produces something of that sort, here is a proposal:



          documentclass[tikz,border=10pt]{standalone}
          usetikzlibrary{shadows,arrows,positioning}
          usepackage{color,soul} %For highlighting
          % Define the layers to draw the diagram
          pgfdeclarelayer{background}
          pgfdeclarelayer{foreground}
          pgfsetlayers{background,main,foreground}

          % Define block styles
          tikzset{materia/.style={draw, text width=6.0em, text centered,
          minimum height=1.5em},
          etape/.style={materia, text width=12em, minimum width=10em,
          minimum height=3em, rounded corners},
          texto/.style={above, text width=6em, text centered},
          linepart/.style={draw, thick, color=black!30, -latex', dashed},
          line/.style={draw, thick, color=black!30, -latex'},
          ur/.style={draw, text centered, minimum height=0.01em}}

          % Define distances for bordering
          newcommand{blockdist}{1.3}
          newcommand{edgedist}{1.5}

          newcommand{etape}[2]{node (p#1) [etape]
          {#2}}

          newcommand{transreceptor}[3]{%
          path [linepart] (#1.east) -- node [above]
          {scriptsize #2} (#3);}

          begin{document}
          begin{tikzpicture}[scale=0.7,transform shape]

          % Draw diagram elements
          path etape{1}{textbf{Operating Items}};
          path (p1.west)+(-6.5,0.0)etape{2}{textbf{Non-Operating Items}};
          path (p2.south)+(1,-1.0)etape{3}{textbf{Interest}};
          path (p3.south)+(0.0,-1.0)etape{4}{textbf{Profits and Losses}};
          path (p4.south)+(0.0,-1.0)etape{5}{textbf{Subsidies}};
          path (p1.south)+(2.5,-1.0)etape{6}{textbf{Direct Operating Costs}};
          path (p1.south)+(-2.5,-1.0)etape{7}{textbf{Indirect Operating Costs}};




          % Draw arrows between elements
          foreach X in {3,4,5}
          {path [line] (p2.-165) |- (pX.west);}
          path [line] (p1.south) -- +(0.0,-0.2) -- +(+2.5,-0.2)
          -- node [above, midway] {} (p6);
          path [line] (p1.south) -- +(0.0,-0.2) -- +(-2.5,-0.2)
          -- node [above, midway] {} (p7);


          end{tikzpicture}
          end{document}


          enter image description here



          If you are asking about a cleaner code that achieves this output, the answer will be quite different. E.g. the following is already shorter and simpler IMHO.



          documentclass[tikz,border=10pt]{standalone}
          usetikzlibrary{arrows,positioning}

          % Define block styles
          tikzset{materia/.style={draw, text width=6.0em, text centered,
          minimum height=1.5em},
          etape/.style={materia, text width=12em, minimum width=10em,
          minimum height=3em, rounded corners},
          line/.style={draw, thick, color=black!30, -latex'}}


          begin{document}
          begin{tikzpicture}[scale=0.7,transform shape]
          begin{scope}[nodes=etape,font=bfseries]
          node (p1) {Operating Items};
          node[left=6.5cm of p1] (p2) {Non-Operating Items};
          node[below=5mm of p2,xshift=8mm] (p3) {Interest};
          node[below=5mm of p3] (p4) {Profits and Losses};
          node[below=5mm of p4] (p5) {Subsidies};
          node[below left=8mm and 1mm of p1.south] (p6) {Direct Operating Costs};
          node[below right=8mm and 1mm of p1.south] (p7) {Indirect Operating Costs};
          end{scope}
          % Draw arrows between elements
          foreach X in {3,4,5}
          {path [line] (p2.-165) |- (pX.west);}
          foreach X in {6,7}
          {path [line] (p1.south) -- ++(0,-2mm) -| (pX.north);}
          end{tikzpicture}
          end{document}





          share|improve this answer















          Welcome to TeX-SE! If your question is about a minimal damage modification of your code that produces something of that sort, here is a proposal:



          documentclass[tikz,border=10pt]{standalone}
          usetikzlibrary{shadows,arrows,positioning}
          usepackage{color,soul} %For highlighting
          % Define the layers to draw the diagram
          pgfdeclarelayer{background}
          pgfdeclarelayer{foreground}
          pgfsetlayers{background,main,foreground}

          % Define block styles
          tikzset{materia/.style={draw, text width=6.0em, text centered,
          minimum height=1.5em},
          etape/.style={materia, text width=12em, minimum width=10em,
          minimum height=3em, rounded corners},
          texto/.style={above, text width=6em, text centered},
          linepart/.style={draw, thick, color=black!30, -latex', dashed},
          line/.style={draw, thick, color=black!30, -latex'},
          ur/.style={draw, text centered, minimum height=0.01em}}

          % Define distances for bordering
          newcommand{blockdist}{1.3}
          newcommand{edgedist}{1.5}

          newcommand{etape}[2]{node (p#1) [etape]
          {#2}}

          newcommand{transreceptor}[3]{%
          path [linepart] (#1.east) -- node [above]
          {scriptsize #2} (#3);}

          begin{document}
          begin{tikzpicture}[scale=0.7,transform shape]

          % Draw diagram elements
          path etape{1}{textbf{Operating Items}};
          path (p1.west)+(-6.5,0.0)etape{2}{textbf{Non-Operating Items}};
          path (p2.south)+(1,-1.0)etape{3}{textbf{Interest}};
          path (p3.south)+(0.0,-1.0)etape{4}{textbf{Profits and Losses}};
          path (p4.south)+(0.0,-1.0)etape{5}{textbf{Subsidies}};
          path (p1.south)+(2.5,-1.0)etape{6}{textbf{Direct Operating Costs}};
          path (p1.south)+(-2.5,-1.0)etape{7}{textbf{Indirect Operating Costs}};




          % Draw arrows between elements
          foreach X in {3,4,5}
          {path [line] (p2.-165) |- (pX.west);}
          path [line] (p1.south) -- +(0.0,-0.2) -- +(+2.5,-0.2)
          -- node [above, midway] {} (p6);
          path [line] (p1.south) -- +(0.0,-0.2) -- +(-2.5,-0.2)
          -- node [above, midway] {} (p7);


          end{tikzpicture}
          end{document}


          enter image description here



          If you are asking about a cleaner code that achieves this output, the answer will be quite different. E.g. the following is already shorter and simpler IMHO.



          documentclass[tikz,border=10pt]{standalone}
          usetikzlibrary{arrows,positioning}

          % Define block styles
          tikzset{materia/.style={draw, text width=6.0em, text centered,
          minimum height=1.5em},
          etape/.style={materia, text width=12em, minimum width=10em,
          minimum height=3em, rounded corners},
          line/.style={draw, thick, color=black!30, -latex'}}


          begin{document}
          begin{tikzpicture}[scale=0.7,transform shape]
          begin{scope}[nodes=etape,font=bfseries]
          node (p1) {Operating Items};
          node[left=6.5cm of p1] (p2) {Non-Operating Items};
          node[below=5mm of p2,xshift=8mm] (p3) {Interest};
          node[below=5mm of p3] (p4) {Profits and Losses};
          node[below=5mm of p4] (p5) {Subsidies};
          node[below left=8mm and 1mm of p1.south] (p6) {Direct Operating Costs};
          node[below right=8mm and 1mm of p1.south] (p7) {Indirect Operating Costs};
          end{scope}
          % Draw arrows between elements
          foreach X in {3,4,5}
          {path [line] (p2.-165) |- (pX.west);}
          foreach X in {6,7}
          {path [line] (p1.south) -- ++(0,-2mm) -| (pX.north);}
          end{tikzpicture}
          end{document}






          share|improve this answer














          share|improve this answer



          share|improve this answer








          edited Apr 7 at 18:43

























          answered Apr 7 at 18:30









          marmotmarmot

          116k5150282




          116k5150282













          • That was exactly what I was searching for

            – L Lewis
            Apr 7 at 18:36



















          • That was exactly what I was searching for

            – L Lewis
            Apr 7 at 18:36

















          That was exactly what I was searching for

          – L Lewis
          Apr 7 at 18:36





          That was exactly what I was searching for

          – L Lewis
          Apr 7 at 18:36










          L Lewis is a new contributor. Be nice, and check out our Code of Conduct.










          draft saved

          draft discarded


















          L Lewis is a new contributor. Be nice, and check out our Code of Conduct.













          L Lewis is a new contributor. Be nice, and check out our Code of Conduct.












          L Lewis is a new contributor. Be nice, and check out our Code of Conduct.
















          Thanks for contributing an answer to TeX - LaTeX Stack Exchange!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2ftex.stackexchange.com%2fquestions%2f483701%2fwork-breakdown-with-tikz%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          數位音樂下載

          When can things happen in Etherscan, such as the picture below?

          格利澤436b