Work Breakdown with Tikz The 2019 Stack Overflow Developer Survey Results Are InTikZ: Cropping...
Does duplicating a spell with Wish count as casting that spell?
Access elements in std::string where positon of string is greater than its size
How can I create a character who can assume the widest possible range of creature sizes?
Should I use my personal or workplace e-mail when registering to external websites for work purpose?
Could JWST stay at L2 "forever"?
Geography at the pixel level
Understanding the implication of what "well-defined" means for the operation in quotient group
How to deal with fear of taking dependencies
Why don't Unix/Linux systems traverse through directories until they find the required version of a linked library?
Springs with some finite mass
Time travel alters history but people keep saying nothing's changed
What can other administrators access on my machine?
Why is it "Tumoren" and not "Tumore"?
Inline version of a function returns different value than non-inline version
What tool would a Roman-age civilization have to grind silver and other metals into dust?
The difference between dialogue marks
On the insanity of kings as an argument against monarchy
How do you say "canon" as in "official for a story universe"?
It's possible to achieve negative score?
Monty Hall variation
Is three citations per paragraph excessive for undergraduate research paper?
How to answer pointed "are you quitting" questioning when I don't want them to suspect
Why isn't airport relocation done gradually?
How to create dashed lines/arrows in Illustrator
Work Breakdown with Tikz
The 2019 Stack Overflow Developer Survey Results Are InTikZ: Cropping the Bounding BoxTop-align text in a TikZ node of given size for single- and multiline caseDecorate path with just a colored thick lineWork breakdown structure (WBS) TikZHow to define the default vertical distance between nodes?TikZ scaling graphic and adjust node position and keep font sizetrapezium, how to calculate angles?Input/Output Nodes - Specification and Description LanguageAdjusting edge alignment and positioning of fitted nodetikz and pgfdeclareshape why the text is not at the center anchor?
Im trying to create a Work Breakdown structure with tikz. I would like to have
Instead I have the following:
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
New contributor
add a comment |
Im trying to create a Work Breakdown structure with tikz. I would like to have
Instead I have the following:
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
New contributor
add a comment |
Im trying to create a Work Breakdown structure with tikz. I would like to have
Instead I have the following:
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
New contributor
Im trying to create a Work Breakdown structure with tikz. I would like to have
Instead I have the following:
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
tikz-pgf tikz-trees
New contributor
New contributor
New contributor
asked 2 days ago
L LewisL Lewis
232
232
New contributor
New contributor
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
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}
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}
That was exactly what I was searching for
– L Lewis
2 days ago
add a comment |
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.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
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}
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}
That was exactly what I was searching for
– L Lewis
2 days ago
add a comment |
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}
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}
That was exactly what I was searching for
– L Lewis
2 days ago
add a comment |
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}
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}
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}
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}
edited 2 days ago
answered 2 days ago
marmotmarmot
116k5149280
116k5149280
That was exactly what I was searching for
– L Lewis
2 days ago
add a comment |
That was exactly what I was searching for
– L Lewis
2 days ago
That was exactly what I was searching for
– L Lewis
2 days ago
That was exactly what I was searching for
– L Lewis
2 days ago
add a comment |
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.
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.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
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