TikZ, forest and star macroUse column-separator & (ampersand) inside newenvironmentmacro for empty nodes in tikz-qtreeTikz Forest label positioningA more elegant version of the ifnot macroTikz: order of execution of child options when foreach operation is presentTikZ - Forest - Decorations and alignmentTikZ forest - Drawing upon a subtreeHow can I make directory trees with icons that handle page-breaks?Macro based flags for forest treenewcommand: Combine (optional) star and optional parameter
How does a ball bearing door hinge work?
Who discovered the covering homomorphism between SU(2) and SO(3)?
What is this "very, very powerful article" that Trump is referring to vis à vis the Kurds?
Sum of all digits in a string
What happens when supercritical fuel tanks deplete below critical point?
TikZ, forest and star macro
If we should encrypt the message rather than the method of transfer, why do we care about wifi security? Is this just security theatre?
How can the mourner remarry within one month, if he has to wait two regalim?
If you revoke a certificate authority's certificate, do all of the certificates it issued become invalid as well?
Why is Trump releasing (or not) his tax returns such a big deal?
I run daily 5kms but I cant seem to improve stamina when playing soccer
How to use blackboard bold numbers with the Palatino (mathpazo) font?
I need an automatic way of making a lot of numbered folders
Fat Cantor Set with large complement???
Current political events
Is it poor workplace etiquette to display signs of relative "wealth" at work when others are struggling financially?
What is Ferb's name short for?
Stare long enough and you will have found the answer
Where does the upgrade to macOS Catalina move root "/" directory files?
Why is 10.1.255.255 an invalid broadcast address?
How do I get my boyfriend to remove pictures of his ex girlfriend hanging in his apartment?
Did Terry Pratchett ever explain the inspiration behind the Luggage?
Does any politician - honestly - want a No Deal Brexit?
Charges from Dollar General have never shown up on my debit card. How can I resolve this?
TikZ, forest and star macro
Use column-separator & (ampersand) inside newenvironmentmacro for empty nodes in tikz-qtreeTikz Forest label positioningA more elegant version of the ifnot macroTikz: order of execution of child options when foreach operation is presentTikZ - Forest - Decorations and alignmentTikZ forest - Drawing upon a subtreeHow can I make directory trees with icons that handle page-breaks?Macro based flags for forest treenewcommand: Combine (optional) star and optional parameter
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty
margin-bottom:0;
I would like to define a star version of a macro to be used for the value of edge label
. The second code does the wanted the job but its starred translation fails to work. Is there a subtil impossibility to work with starable macros or not ?
Failing code
documentclass[12pt,a4paper]article
usepackageforest
makeatletter
newcommandprobaweight@ifstar@probaweight@star@probaweight@no@star
newcommand@probaweight@no@star[1]node[midway, fill=white]#1
newcommand@probaweight@star[1]
makeatother
begindocument
beginforest
[
[$A$, edge label=probaweight$a$
[$B$, edge label=probaweight$b$]
[$C$, edge label=probaweight$c$]
]
[$D$, edge label=probaweight*$d$
[$E$, edge label=probaweight*$e$]
[$F$, edge label=probaweight*$f$]
]
]
endforest
enddocument
Working code
documentclass[12pt,a4paper]article
usepackageforest
newcommandprobaweight[1]node[midway, fill=white]#1
newcommandprobanoweight[1]
begindocument
beginforest
[
[$A$, edge label=probaweight$a$
[$B$, edge label=probaweight$b$]
[$C$, edge label=probaweight$c$]
]
[$D$, edge label=probanoweight$d$
[$E$, edge label=probanoweight$e$]
[$F$, edge label=probanoweight$f$]
]
]
endforest
enddocument
macros tikz-trees
add a comment
|
I would like to define a star version of a macro to be used for the value of edge label
. The second code does the wanted the job but its starred translation fails to work. Is there a subtil impossibility to work with starable macros or not ?
Failing code
documentclass[12pt,a4paper]article
usepackageforest
makeatletter
newcommandprobaweight@ifstar@probaweight@star@probaweight@no@star
newcommand@probaweight@no@star[1]node[midway, fill=white]#1
newcommand@probaweight@star[1]
makeatother
begindocument
beginforest
[
[$A$, edge label=probaweight$a$
[$B$, edge label=probaweight$b$]
[$C$, edge label=probaweight$c$]
]
[$D$, edge label=probaweight*$d$
[$E$, edge label=probaweight*$e$]
[$F$, edge label=probaweight*$f$]
]
]
endforest
enddocument
Working code
documentclass[12pt,a4paper]article
usepackageforest
newcommandprobaweight[1]node[midway, fill=white]#1
newcommandprobanoweight[1]
begindocument
beginforest
[
[$A$, edge label=probaweight$a$
[$B$, edge label=probaweight$b$]
[$C$, edge label=probaweight$c$]
]
[$D$, edge label=probanoweight$d$
[$E$, edge label=probanoweight$e$]
[$F$, edge label=probanoweight$f$]
]
]
endforest
enddocument
macros tikz-trees
I'd be wary of using*
as it is one of the characters Forest is looking for. I'd either look to jump out of the package's parsing (and use the star) or use some other approach. Obviously you can make it work, as the answers show, but I think you're adding fragility needlessly. Though you could ask Sašo. Even if it is safe, though, it is deeply confusing - especially using a*
in a style name, because this has a standardised meaning in Forest already.
– cfr
3 hours ago
add a comment
|
I would like to define a star version of a macro to be used for the value of edge label
. The second code does the wanted the job but its starred translation fails to work. Is there a subtil impossibility to work with starable macros or not ?
Failing code
documentclass[12pt,a4paper]article
usepackageforest
makeatletter
newcommandprobaweight@ifstar@probaweight@star@probaweight@no@star
newcommand@probaweight@no@star[1]node[midway, fill=white]#1
newcommand@probaweight@star[1]
makeatother
begindocument
beginforest
[
[$A$, edge label=probaweight$a$
[$B$, edge label=probaweight$b$]
[$C$, edge label=probaweight$c$]
]
[$D$, edge label=probaweight*$d$
[$E$, edge label=probaweight*$e$]
[$F$, edge label=probaweight*$f$]
]
]
endforest
enddocument
Working code
documentclass[12pt,a4paper]article
usepackageforest
newcommandprobaweight[1]node[midway, fill=white]#1
newcommandprobanoweight[1]
begindocument
beginforest
[
[$A$, edge label=probaweight$a$
[$B$, edge label=probaweight$b$]
[$C$, edge label=probaweight$c$]
]
[$D$, edge label=probanoweight$d$
[$E$, edge label=probanoweight$e$]
[$F$, edge label=probanoweight$f$]
]
]
endforest
enddocument
macros tikz-trees
I would like to define a star version of a macro to be used for the value of edge label
. The second code does the wanted the job but its starred translation fails to work. Is there a subtil impossibility to work with starable macros or not ?
Failing code
documentclass[12pt,a4paper]article
usepackageforest
makeatletter
newcommandprobaweight@ifstar@probaweight@star@probaweight@no@star
newcommand@probaweight@no@star[1]node[midway, fill=white]#1
newcommand@probaweight@star[1]
makeatother
begindocument
beginforest
[
[$A$, edge label=probaweight$a$
[$B$, edge label=probaweight$b$]
[$C$, edge label=probaweight$c$]
]
[$D$, edge label=probaweight*$d$
[$E$, edge label=probaweight*$e$]
[$F$, edge label=probaweight*$f$]
]
]
endforest
enddocument
Working code
documentclass[12pt,a4paper]article
usepackageforest
newcommandprobaweight[1]node[midway, fill=white]#1
newcommandprobanoweight[1]
begindocument
beginforest
[
[$A$, edge label=probaweight$a$
[$B$, edge label=probaweight$b$]
[$C$, edge label=probaweight$c$]
]
[$D$, edge label=probanoweight$d$
[$E$, edge label=probanoweight$e$]
[$F$, edge label=probanoweight$f$]
]
]
endforest
enddocument
macros tikz-trees
macros tikz-trees
edited 8 hours ago
projetmbc
asked 8 hours ago
projetmbcprojetmbc
3,50111 gold badges34 silver badges87 bronze badges
3,50111 gold badges34 silver badges87 bronze badges
I'd be wary of using*
as it is one of the characters Forest is looking for. I'd either look to jump out of the package's parsing (and use the star) or use some other approach. Obviously you can make it work, as the answers show, but I think you're adding fragility needlessly. Though you could ask Sašo. Even if it is safe, though, it is deeply confusing - especially using a*
in a style name, because this has a standardised meaning in Forest already.
– cfr
3 hours ago
add a comment
|
I'd be wary of using*
as it is one of the characters Forest is looking for. I'd either look to jump out of the package's parsing (and use the star) or use some other approach. Obviously you can make it work, as the answers show, but I think you're adding fragility needlessly. Though you could ask Sašo. Even if it is safe, though, it is deeply confusing - especially using a*
in a style name, because this has a standardised meaning in Forest already.
– cfr
3 hours ago
I'd be wary of using
*
as it is one of the characters Forest is looking for. I'd either look to jump out of the package's parsing (and use the star) or use some other approach. Obviously you can make it work, as the answers show, but I think you're adding fragility needlessly. Though you could ask Sašo. Even if it is safe, though, it is deeply confusing - especially using a *
in a style name, because this has a standardised meaning in Forest already.– cfr
3 hours ago
I'd be wary of using
*
as it is one of the characters Forest is looking for. I'd either look to jump out of the package's parsing (and use the star) or use some other approach. Obviously you can make it work, as the answers show, but I think you're adding fragility needlessly. Though you could ask Sašo. Even if it is safe, though, it is deeply confusing - especially using a *
in a style name, because this has a standardised meaning in Forest already.– cfr
3 hours ago
add a comment
|
2 Answers
2
active
oldest
votes
I cannot answer the question about the usage starred macros in forest keys, but it is generally not recommended to use macros that expand to pgf keys. Rather, this is what styles are for. And with styles there is no problem, and the code becomes even shorter.
documentclass[12pt,a4paper]article
usepackageforest
forestsetel/.style=edge label=node[midway, fill=white]#1,
el*/.style=
begindocument
beginforest
[
[$A$, el=$a$
[$B$, el=$b$]
[$C$, el=$c$]
]
[$D$, el*=$d$
[$E$, el*=$e$]
[$F$, el*=$f$]
]
]
endforest
enddocument
ADDENDUM: As mentioned by @cfr, it may be safer not to use a star. So maybe
documentclass[12pt,a4paper]article
usepackageforest
forestsetel/.style=edge label=node[midway, fill=white]#1,
el!/.style=
begindocument
beginforest
[
[$A$, el=$a$
[$B$, el=$b$]
[$C$, el=$c$]
]
[$D$, el!=$d$
[$E$, el!=$e$]
[$F$, el!=$f$]
]
]
endforest
enddocument
is a safer choice. Who knows.
Great ! :-) The use of the macro was just the consequence of my lake of knowledge of the TiKz machinery.
– projetmbc
6 hours ago
1
@projetmbc Strictly speaking it is the pgf machinery, and it gets used by TikZ, pgfplots, forest etc. Internally these keys are macros, quite possible that a*
causes problems, but I really do not know.
– Schrödinger's cat
6 hours ago
Thanks for the clarification.
– projetmbc
6 hours ago
1
It is at least confusing since, as you know,<key>*
already has a standardised meaning in Forest for (relevant) standard keys. I know these are.style
s, but .... I don't know. It doesn't feel good to me, even if it is safe (which I don't know either). There's no per se problem with using*
in the name of a key, as Forest does it. But I don't know when it is being passed to TikZ ....
– cfr
3 hours ago
@cfr Thanks for the hint! Yes, sure, using something other than a star may be a safer choice. I was not sure if the OP wanted literally a star or the start was just chosen because there is the@ifstar
thingy. (AFAIK the keys can contain stars, but I may be wrong. They certainly can contain minuses.) I'll add a safer version. Thanks!
– Schrödinger's cat
2 hours ago
add a comment
|
I'd go with a style, as suggested in the other answer.
The problem seems to lie in expandability, as the following working code shows.
documentclass[12pt,a4paper]article
usepackageforest,xparse
NewExpandableDocumentCommandprobaweightsm%
IfBooleanTF#1%
%
node[midway, fill=white]#2%
begindocument
beginforest
[
[$A$, edge label=probaweight$a$
[$B$, edge label=probaweight$b$]
[$C$, edge label=probaweight$c$]
]
[$D$, edge label=probaweight*$d$
[$E$, edge label=probaweight*$e$]
[$F$, edge label=probaweight*$f$]
]
]
endforest
enddocument
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/4.0/"u003ecc by-sa 4.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
);
);
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%2f511755%2ftikz-forest-and-star-macro%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
I cannot answer the question about the usage starred macros in forest keys, but it is generally not recommended to use macros that expand to pgf keys. Rather, this is what styles are for. And with styles there is no problem, and the code becomes even shorter.
documentclass[12pt,a4paper]article
usepackageforest
forestsetel/.style=edge label=node[midway, fill=white]#1,
el*/.style=
begindocument
beginforest
[
[$A$, el=$a$
[$B$, el=$b$]
[$C$, el=$c$]
]
[$D$, el*=$d$
[$E$, el*=$e$]
[$F$, el*=$f$]
]
]
endforest
enddocument
ADDENDUM: As mentioned by @cfr, it may be safer not to use a star. So maybe
documentclass[12pt,a4paper]article
usepackageforest
forestsetel/.style=edge label=node[midway, fill=white]#1,
el!/.style=
begindocument
beginforest
[
[$A$, el=$a$
[$B$, el=$b$]
[$C$, el=$c$]
]
[$D$, el!=$d$
[$E$, el!=$e$]
[$F$, el!=$f$]
]
]
endforest
enddocument
is a safer choice. Who knows.
Great ! :-) The use of the macro was just the consequence of my lake of knowledge of the TiKz machinery.
– projetmbc
6 hours ago
1
@projetmbc Strictly speaking it is the pgf machinery, and it gets used by TikZ, pgfplots, forest etc. Internally these keys are macros, quite possible that a*
causes problems, but I really do not know.
– Schrödinger's cat
6 hours ago
Thanks for the clarification.
– projetmbc
6 hours ago
1
It is at least confusing since, as you know,<key>*
already has a standardised meaning in Forest for (relevant) standard keys. I know these are.style
s, but .... I don't know. It doesn't feel good to me, even if it is safe (which I don't know either). There's no per se problem with using*
in the name of a key, as Forest does it. But I don't know when it is being passed to TikZ ....
– cfr
3 hours ago
@cfr Thanks for the hint! Yes, sure, using something other than a star may be a safer choice. I was not sure if the OP wanted literally a star or the start was just chosen because there is the@ifstar
thingy. (AFAIK the keys can contain stars, but I may be wrong. They certainly can contain minuses.) I'll add a safer version. Thanks!
– Schrödinger's cat
2 hours ago
add a comment
|
I cannot answer the question about the usage starred macros in forest keys, but it is generally not recommended to use macros that expand to pgf keys. Rather, this is what styles are for. And with styles there is no problem, and the code becomes even shorter.
documentclass[12pt,a4paper]article
usepackageforest
forestsetel/.style=edge label=node[midway, fill=white]#1,
el*/.style=
begindocument
beginforest
[
[$A$, el=$a$
[$B$, el=$b$]
[$C$, el=$c$]
]
[$D$, el*=$d$
[$E$, el*=$e$]
[$F$, el*=$f$]
]
]
endforest
enddocument
ADDENDUM: As mentioned by @cfr, it may be safer not to use a star. So maybe
documentclass[12pt,a4paper]article
usepackageforest
forestsetel/.style=edge label=node[midway, fill=white]#1,
el!/.style=
begindocument
beginforest
[
[$A$, el=$a$
[$B$, el=$b$]
[$C$, el=$c$]
]
[$D$, el!=$d$
[$E$, el!=$e$]
[$F$, el!=$f$]
]
]
endforest
enddocument
is a safer choice. Who knows.
Great ! :-) The use of the macro was just the consequence of my lake of knowledge of the TiKz machinery.
– projetmbc
6 hours ago
1
@projetmbc Strictly speaking it is the pgf machinery, and it gets used by TikZ, pgfplots, forest etc. Internally these keys are macros, quite possible that a*
causes problems, but I really do not know.
– Schrödinger's cat
6 hours ago
Thanks for the clarification.
– projetmbc
6 hours ago
1
It is at least confusing since, as you know,<key>*
already has a standardised meaning in Forest for (relevant) standard keys. I know these are.style
s, but .... I don't know. It doesn't feel good to me, even if it is safe (which I don't know either). There's no per se problem with using*
in the name of a key, as Forest does it. But I don't know when it is being passed to TikZ ....
– cfr
3 hours ago
@cfr Thanks for the hint! Yes, sure, using something other than a star may be a safer choice. I was not sure if the OP wanted literally a star or the start was just chosen because there is the@ifstar
thingy. (AFAIK the keys can contain stars, but I may be wrong. They certainly can contain minuses.) I'll add a safer version. Thanks!
– Schrödinger's cat
2 hours ago
add a comment
|
I cannot answer the question about the usage starred macros in forest keys, but it is generally not recommended to use macros that expand to pgf keys. Rather, this is what styles are for. And with styles there is no problem, and the code becomes even shorter.
documentclass[12pt,a4paper]article
usepackageforest
forestsetel/.style=edge label=node[midway, fill=white]#1,
el*/.style=
begindocument
beginforest
[
[$A$, el=$a$
[$B$, el=$b$]
[$C$, el=$c$]
]
[$D$, el*=$d$
[$E$, el*=$e$]
[$F$, el*=$f$]
]
]
endforest
enddocument
ADDENDUM: As mentioned by @cfr, it may be safer not to use a star. So maybe
documentclass[12pt,a4paper]article
usepackageforest
forestsetel/.style=edge label=node[midway, fill=white]#1,
el!/.style=
begindocument
beginforest
[
[$A$, el=$a$
[$B$, el=$b$]
[$C$, el=$c$]
]
[$D$, el!=$d$
[$E$, el!=$e$]
[$F$, el!=$f$]
]
]
endforest
enddocument
is a safer choice. Who knows.
I cannot answer the question about the usage starred macros in forest keys, but it is generally not recommended to use macros that expand to pgf keys. Rather, this is what styles are for. And with styles there is no problem, and the code becomes even shorter.
documentclass[12pt,a4paper]article
usepackageforest
forestsetel/.style=edge label=node[midway, fill=white]#1,
el*/.style=
begindocument
beginforest
[
[$A$, el=$a$
[$B$, el=$b$]
[$C$, el=$c$]
]
[$D$, el*=$d$
[$E$, el*=$e$]
[$F$, el*=$f$]
]
]
endforest
enddocument
ADDENDUM: As mentioned by @cfr, it may be safer not to use a star. So maybe
documentclass[12pt,a4paper]article
usepackageforest
forestsetel/.style=edge label=node[midway, fill=white]#1,
el!/.style=
begindocument
beginforest
[
[$A$, el=$a$
[$B$, el=$b$]
[$C$, el=$c$]
]
[$D$, el!=$d$
[$E$, el!=$e$]
[$F$, el!=$f$]
]
]
endforest
enddocument
is a safer choice. Who knows.
edited 2 hours ago
answered 6 hours ago
Schrödinger's catSchrödinger's cat
14k17 silver badges36 bronze badges
14k17 silver badges36 bronze badges
Great ! :-) The use of the macro was just the consequence of my lake of knowledge of the TiKz machinery.
– projetmbc
6 hours ago
1
@projetmbc Strictly speaking it is the pgf machinery, and it gets used by TikZ, pgfplots, forest etc. Internally these keys are macros, quite possible that a*
causes problems, but I really do not know.
– Schrödinger's cat
6 hours ago
Thanks for the clarification.
– projetmbc
6 hours ago
1
It is at least confusing since, as you know,<key>*
already has a standardised meaning in Forest for (relevant) standard keys. I know these are.style
s, but .... I don't know. It doesn't feel good to me, even if it is safe (which I don't know either). There's no per se problem with using*
in the name of a key, as Forest does it. But I don't know when it is being passed to TikZ ....
– cfr
3 hours ago
@cfr Thanks for the hint! Yes, sure, using something other than a star may be a safer choice. I was not sure if the OP wanted literally a star or the start was just chosen because there is the@ifstar
thingy. (AFAIK the keys can contain stars, but I may be wrong. They certainly can contain minuses.) I'll add a safer version. Thanks!
– Schrödinger's cat
2 hours ago
add a comment
|
Great ! :-) The use of the macro was just the consequence of my lake of knowledge of the TiKz machinery.
– projetmbc
6 hours ago
1
@projetmbc Strictly speaking it is the pgf machinery, and it gets used by TikZ, pgfplots, forest etc. Internally these keys are macros, quite possible that a*
causes problems, but I really do not know.
– Schrödinger's cat
6 hours ago
Thanks for the clarification.
– projetmbc
6 hours ago
1
It is at least confusing since, as you know,<key>*
already has a standardised meaning in Forest for (relevant) standard keys. I know these are.style
s, but .... I don't know. It doesn't feel good to me, even if it is safe (which I don't know either). There's no per se problem with using*
in the name of a key, as Forest does it. But I don't know when it is being passed to TikZ ....
– cfr
3 hours ago
@cfr Thanks for the hint! Yes, sure, using something other than a star may be a safer choice. I was not sure if the OP wanted literally a star or the start was just chosen because there is the@ifstar
thingy. (AFAIK the keys can contain stars, but I may be wrong. They certainly can contain minuses.) I'll add a safer version. Thanks!
– Schrödinger's cat
2 hours ago
Great ! :-) The use of the macro was just the consequence of my lake of knowledge of the TiKz machinery.
– projetmbc
6 hours ago
Great ! :-) The use of the macro was just the consequence of my lake of knowledge of the TiKz machinery.
– projetmbc
6 hours ago
1
1
@projetmbc Strictly speaking it is the pgf machinery, and it gets used by TikZ, pgfplots, forest etc. Internally these keys are macros, quite possible that a
*
causes problems, but I really do not know.– Schrödinger's cat
6 hours ago
@projetmbc Strictly speaking it is the pgf machinery, and it gets used by TikZ, pgfplots, forest etc. Internally these keys are macros, quite possible that a
*
causes problems, but I really do not know.– Schrödinger's cat
6 hours ago
Thanks for the clarification.
– projetmbc
6 hours ago
Thanks for the clarification.
– projetmbc
6 hours ago
1
1
It is at least confusing since, as you know,
<key>*
already has a standardised meaning in Forest for (relevant) standard keys. I know these are .style
s, but .... I don't know. It doesn't feel good to me, even if it is safe (which I don't know either). There's no per se problem with using *
in the name of a key, as Forest does it. But I don't know when it is being passed to TikZ ....– cfr
3 hours ago
It is at least confusing since, as you know,
<key>*
already has a standardised meaning in Forest for (relevant) standard keys. I know these are .style
s, but .... I don't know. It doesn't feel good to me, even if it is safe (which I don't know either). There's no per se problem with using *
in the name of a key, as Forest does it. But I don't know when it is being passed to TikZ ....– cfr
3 hours ago
@cfr Thanks for the hint! Yes, sure, using something other than a star may be a safer choice. I was not sure if the OP wanted literally a star or the start was just chosen because there is the
@ifstar
thingy. (AFAIK the keys can contain stars, but I may be wrong. They certainly can contain minuses.) I'll add a safer version. Thanks!– Schrödinger's cat
2 hours ago
@cfr Thanks for the hint! Yes, sure, using something other than a star may be a safer choice. I was not sure if the OP wanted literally a star or the start was just chosen because there is the
@ifstar
thingy. (AFAIK the keys can contain stars, but I may be wrong. They certainly can contain minuses.) I'll add a safer version. Thanks!– Schrödinger's cat
2 hours ago
add a comment
|
I'd go with a style, as suggested in the other answer.
The problem seems to lie in expandability, as the following working code shows.
documentclass[12pt,a4paper]article
usepackageforest,xparse
NewExpandableDocumentCommandprobaweightsm%
IfBooleanTF#1%
%
node[midway, fill=white]#2%
begindocument
beginforest
[
[$A$, edge label=probaweight$a$
[$B$, edge label=probaweight$b$]
[$C$, edge label=probaweight$c$]
]
[$D$, edge label=probaweight*$d$
[$E$, edge label=probaweight*$e$]
[$F$, edge label=probaweight*$f$]
]
]
endforest
enddocument
add a comment
|
I'd go with a style, as suggested in the other answer.
The problem seems to lie in expandability, as the following working code shows.
documentclass[12pt,a4paper]article
usepackageforest,xparse
NewExpandableDocumentCommandprobaweightsm%
IfBooleanTF#1%
%
node[midway, fill=white]#2%
begindocument
beginforest
[
[$A$, edge label=probaweight$a$
[$B$, edge label=probaweight$b$]
[$C$, edge label=probaweight$c$]
]
[$D$, edge label=probaweight*$d$
[$E$, edge label=probaweight*$e$]
[$F$, edge label=probaweight*$f$]
]
]
endforest
enddocument
add a comment
|
I'd go with a style, as suggested in the other answer.
The problem seems to lie in expandability, as the following working code shows.
documentclass[12pt,a4paper]article
usepackageforest,xparse
NewExpandableDocumentCommandprobaweightsm%
IfBooleanTF#1%
%
node[midway, fill=white]#2%
begindocument
beginforest
[
[$A$, edge label=probaweight$a$
[$B$, edge label=probaweight$b$]
[$C$, edge label=probaweight$c$]
]
[$D$, edge label=probaweight*$d$
[$E$, edge label=probaweight*$e$]
[$F$, edge label=probaweight*$f$]
]
]
endforest
enddocument
I'd go with a style, as suggested in the other answer.
The problem seems to lie in expandability, as the following working code shows.
documentclass[12pt,a4paper]article
usepackageforest,xparse
NewExpandableDocumentCommandprobaweightsm%
IfBooleanTF#1%
%
node[midway, fill=white]#2%
begindocument
beginforest
[
[$A$, edge label=probaweight$a$
[$B$, edge label=probaweight$b$]
[$C$, edge label=probaweight$c$]
]
[$D$, edge label=probaweight*$d$
[$E$, edge label=probaweight*$e$]
[$F$, edge label=probaweight*$f$]
]
]
endforest
enddocument
answered 4 hours ago
egregegreg
774k92 gold badges2019 silver badges3381 bronze badges
774k92 gold badges2019 silver badges3381 bronze badges
add a comment
|
add a comment
|
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%2f511755%2ftikz-forest-and-star-macro%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
I'd be wary of using
*
as it is one of the characters Forest is looking for. I'd either look to jump out of the package's parsing (and use the star) or use some other approach. Obviously you can make it work, as the answers show, but I think you're adding fragility needlessly. Though you could ask Sašo. Even if it is safe, though, it is deeply confusing - especially using a*
in a style name, because this has a standardised meaning in Forest already.– cfr
3 hours ago