Syntax for `NewDocumentCommand`
The xparse
documentation gives examples of names of NewDocumentCommand
s enclosed in braces
, and without braces
, as demonstrated in the two commands below. Is there any difference in functionality whatsoever between the two? I never use braces and better be safe than sorry.
documentclass{article}
%=======================
usepackage{xparse}
%-----------------------
ExplSyntaxOn
NewDocumentCommandmyExp{m}{#1}
NewDocumentCommand{myExpAlt}{m}{#1}
ExplSyntaxOff
%-----------------------
begin{document}
myExp{101}
myExpAlt{123}
end{document}
xparse
add a comment |
The xparse
documentation gives examples of names of NewDocumentCommand
s enclosed in braces
, and without braces
, as demonstrated in the two commands below. Is there any difference in functionality whatsoever between the two? I never use braces and better be safe than sorry.
documentclass{article}
%=======================
usepackage{xparse}
%-----------------------
ExplSyntaxOn
NewDocumentCommandmyExp{m}{#1}
NewDocumentCommand{myExpAlt}{m}{#1}
ExplSyntaxOff
%-----------------------
begin{document}
myExp{101}
myExpAlt{123}
end{document}
xparse
3
In your example, there is no need forExplSyntaxOn
...ExplSyntaxOff
.
– Werner
Dec 10 '18 at 7:34
Agreed, they are part of my MWE template as isusepackage[...]{expl3}
and I failed to remove them.
– Reinhard Neuwirth
Dec 10 '18 at 9:44
add a comment |
The xparse
documentation gives examples of names of NewDocumentCommand
s enclosed in braces
, and without braces
, as demonstrated in the two commands below. Is there any difference in functionality whatsoever between the two? I never use braces and better be safe than sorry.
documentclass{article}
%=======================
usepackage{xparse}
%-----------------------
ExplSyntaxOn
NewDocumentCommandmyExp{m}{#1}
NewDocumentCommand{myExpAlt}{m}{#1}
ExplSyntaxOff
%-----------------------
begin{document}
myExp{101}
myExpAlt{123}
end{document}
xparse
The xparse
documentation gives examples of names of NewDocumentCommand
s enclosed in braces
, and without braces
, as demonstrated in the two commands below. Is there any difference in functionality whatsoever between the two? I never use braces and better be safe than sorry.
documentclass{article}
%=======================
usepackage{xparse}
%-----------------------
ExplSyntaxOn
NewDocumentCommandmyExp{m}{#1}
NewDocumentCommand{myExpAlt}{m}{#1}
ExplSyntaxOff
%-----------------------
begin{document}
myExp{101}
myExpAlt{123}
end{document}
xparse
xparse
asked Dec 10 '18 at 7:05
Reinhard Neuwirth
1,55111322
1,55111322
3
In your example, there is no need forExplSyntaxOn
...ExplSyntaxOff
.
– Werner
Dec 10 '18 at 7:34
Agreed, they are part of my MWE template as isusepackage[...]{expl3}
and I failed to remove them.
– Reinhard Neuwirth
Dec 10 '18 at 9:44
add a comment |
3
In your example, there is no need forExplSyntaxOn
...ExplSyntaxOff
.
– Werner
Dec 10 '18 at 7:34
Agreed, they are part of my MWE template as isusepackage[...]{expl3}
and I failed to remove them.
– Reinhard Neuwirth
Dec 10 '18 at 9:44
3
3
In your example, there is no need for
ExplSyntaxOn
...ExplSyntaxOff
.– Werner
Dec 10 '18 at 7:34
In your example, there is no need for
ExplSyntaxOn
...ExplSyntaxOff
.– Werner
Dec 10 '18 at 7:34
Agreed, they are part of my MWE template as is
usepackage[...]{expl3}
and I failed to remove them.– Reinhard Neuwirth
Dec 10 '18 at 9:44
Agreed, they are part of my MWE template as is
usepackage[...]{expl3}
and I failed to remove them.– Reinhard Neuwirth
Dec 10 '18 at 9:44
add a comment |
1 Answer
1
active
oldest
votes
There is no difference, similar to the notation used with newcommand
and friends, as long as you pass it a control sequence. Technically you're passing an argument to newcommand
, which is then set using def
internally, so you should use {<csname>}
. However, if you don't use braces, the first token is grabbed.
Reassuring that there is no harm in not using braces, but formal correctness would dictate to use{<csname>}
.
– Reinhard Neuwirth
Dec 10 '18 at 8:03
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
});
}
});
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%2f464075%2fsyntax-for-newdocumentcommand%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
There is no difference, similar to the notation used with newcommand
and friends, as long as you pass it a control sequence. Technically you're passing an argument to newcommand
, which is then set using def
internally, so you should use {<csname>}
. However, if you don't use braces, the first token is grabbed.
Reassuring that there is no harm in not using braces, but formal correctness would dictate to use{<csname>}
.
– Reinhard Neuwirth
Dec 10 '18 at 8:03
add a comment |
There is no difference, similar to the notation used with newcommand
and friends, as long as you pass it a control sequence. Technically you're passing an argument to newcommand
, which is then set using def
internally, so you should use {<csname>}
. However, if you don't use braces, the first token is grabbed.
Reassuring that there is no harm in not using braces, but formal correctness would dictate to use{<csname>}
.
– Reinhard Neuwirth
Dec 10 '18 at 8:03
add a comment |
There is no difference, similar to the notation used with newcommand
and friends, as long as you pass it a control sequence. Technically you're passing an argument to newcommand
, which is then set using def
internally, so you should use {<csname>}
. However, if you don't use braces, the first token is grabbed.
There is no difference, similar to the notation used with newcommand
and friends, as long as you pass it a control sequence. Technically you're passing an argument to newcommand
, which is then set using def
internally, so you should use {<csname>}
. However, if you don't use braces, the first token is grabbed.
answered Dec 10 '18 at 7:34
Werner
437k649591650
437k649591650
Reassuring that there is no harm in not using braces, but formal correctness would dictate to use{<csname>}
.
– Reinhard Neuwirth
Dec 10 '18 at 8:03
add a comment |
Reassuring that there is no harm in not using braces, but formal correctness would dictate to use{<csname>}
.
– Reinhard Neuwirth
Dec 10 '18 at 8:03
Reassuring that there is no harm in not using braces, but formal correctness would dictate to use
{<csname>}
.– Reinhard Neuwirth
Dec 10 '18 at 8:03
Reassuring that there is no harm in not using braces, but formal correctness would dictate to use
{<csname>}
.– Reinhard Neuwirth
Dec 10 '18 at 8:03
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.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- 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%2f464075%2fsyntax-for-newdocumentcommand%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
3
In your example, there is no need for
ExplSyntaxOn
...ExplSyntaxOff
.– Werner
Dec 10 '18 at 7:34
Agreed, they are part of my MWE template as is
usepackage[...]{expl3}
and I failed to remove them.– Reinhard Neuwirth
Dec 10 '18 at 9:44