Latex3 replacement for afterassigment in parsing code to grab integer












1















When parsing expressions, one way that I like to grab an integer delimited on the end by any nonexpandable token that is not a digit is using a count register and afterassignment. So the code looks like:



newcountmycount
defmycommand#1{mycommand@#1nil}
defmycommand@{afterassignmentmycommand@@mycount=}
defmycommand@@#1nil{integer: "themycount", rest: "#1"}


so then mycommand{12 and text} produces integer: "12", rest: "and text". For an example of why I would want to do this, see my answer here: https://tex.stackexchange.com/a/470171/23866. The asker wanted a command that takes as argument a specification like



column 10 to 12 row 3 to 5
column 10 row 7
row 3 to 5


Is there a sanctioned latex3 approach to this?










share|improve this question

























  • Why not just use delimited arguments? defgrab column#1to#2row#3to#4endgrab{...}

    – Henri Menke
    Jan 15 at 2:28











  • I edited it to include some cases where it the format isn't exactly the same, so that I don't know exactly what token follows the number.

    – Hood Chatham
    Jan 15 at 5:05






  • 1





    The answer is going to be 'no' or at least 'not at the moment': we've not come across a place where such an interface is required.

    – Joseph Wright
    Jan 15 at 9:07
















1















When parsing expressions, one way that I like to grab an integer delimited on the end by any nonexpandable token that is not a digit is using a count register and afterassignment. So the code looks like:



newcountmycount
defmycommand#1{mycommand@#1nil}
defmycommand@{afterassignmentmycommand@@mycount=}
defmycommand@@#1nil{integer: "themycount", rest: "#1"}


so then mycommand{12 and text} produces integer: "12", rest: "and text". For an example of why I would want to do this, see my answer here: https://tex.stackexchange.com/a/470171/23866. The asker wanted a command that takes as argument a specification like



column 10 to 12 row 3 to 5
column 10 row 7
row 3 to 5


Is there a sanctioned latex3 approach to this?










share|improve this question

























  • Why not just use delimited arguments? defgrab column#1to#2row#3to#4endgrab{...}

    – Henri Menke
    Jan 15 at 2:28











  • I edited it to include some cases where it the format isn't exactly the same, so that I don't know exactly what token follows the number.

    – Hood Chatham
    Jan 15 at 5:05






  • 1





    The answer is going to be 'no' or at least 'not at the moment': we've not come across a place where such an interface is required.

    – Joseph Wright
    Jan 15 at 9:07














1












1








1








When parsing expressions, one way that I like to grab an integer delimited on the end by any nonexpandable token that is not a digit is using a count register and afterassignment. So the code looks like:



newcountmycount
defmycommand#1{mycommand@#1nil}
defmycommand@{afterassignmentmycommand@@mycount=}
defmycommand@@#1nil{integer: "themycount", rest: "#1"}


so then mycommand{12 and text} produces integer: "12", rest: "and text". For an example of why I would want to do this, see my answer here: https://tex.stackexchange.com/a/470171/23866. The asker wanted a command that takes as argument a specification like



column 10 to 12 row 3 to 5
column 10 row 7
row 3 to 5


Is there a sanctioned latex3 approach to this?










share|improve this question
















When parsing expressions, one way that I like to grab an integer delimited on the end by any nonexpandable token that is not a digit is using a count register and afterassignment. So the code looks like:



newcountmycount
defmycommand#1{mycommand@#1nil}
defmycommand@{afterassignmentmycommand@@mycount=}
defmycommand@@#1nil{integer: "themycount", rest: "#1"}


so then mycommand{12 and text} produces integer: "12", rest: "and text". For an example of why I would want to do this, see my answer here: https://tex.stackexchange.com/a/470171/23866. The asker wanted a command that takes as argument a specification like



column 10 to 12 row 3 to 5
column 10 row 7
row 3 to 5


Is there a sanctioned latex3 approach to this?







latex3 parsing






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Jan 15 at 5:03







Hood Chatham

















asked Jan 15 at 1:56









Hood ChathamHood Chatham

4,2841428




4,2841428













  • Why not just use delimited arguments? defgrab column#1to#2row#3to#4endgrab{...}

    – Henri Menke
    Jan 15 at 2:28











  • I edited it to include some cases where it the format isn't exactly the same, so that I don't know exactly what token follows the number.

    – Hood Chatham
    Jan 15 at 5:05






  • 1





    The answer is going to be 'no' or at least 'not at the moment': we've not come across a place where such an interface is required.

    – Joseph Wright
    Jan 15 at 9:07



















  • Why not just use delimited arguments? defgrab column#1to#2row#3to#4endgrab{...}

    – Henri Menke
    Jan 15 at 2:28











  • I edited it to include some cases where it the format isn't exactly the same, so that I don't know exactly what token follows the number.

    – Hood Chatham
    Jan 15 at 5:05






  • 1





    The answer is going to be 'no' or at least 'not at the moment': we've not come across a place where such an interface is required.

    – Joseph Wright
    Jan 15 at 9:07

















Why not just use delimited arguments? defgrab column#1to#2row#3to#4endgrab{...}

– Henri Menke
Jan 15 at 2:28





Why not just use delimited arguments? defgrab column#1to#2row#3to#4endgrab{...}

– Henri Menke
Jan 15 at 2:28













I edited it to include some cases where it the format isn't exactly the same, so that I don't know exactly what token follows the number.

– Hood Chatham
Jan 15 at 5:05





I edited it to include some cases where it the format isn't exactly the same, so that I don't know exactly what token follows the number.

– Hood Chatham
Jan 15 at 5:05




1




1





The answer is going to be 'no' or at least 'not at the moment': we've not come across a place where such an interface is required.

– Joseph Wright
Jan 15 at 9:07





The answer is going to be 'no' or at least 'not at the moment': we've not come across a place where such an interface is required.

– Joseph Wright
Jan 15 at 9:07










0






active

oldest

votes











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
});


}
});














draft saved

draft discarded


















StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2ftex.stackexchange.com%2fquestions%2f470172%2flatex3-replacement-for-afterassigment-in-parsing-code-to-grab-integer%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown

























0






active

oldest

votes








0






active

oldest

votes









active

oldest

votes






active

oldest

votes
















draft saved

draft discarded




















































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%2f470172%2flatex3-replacement-for-afterassigment-in-parsing-code-to-grab-integer%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

Biblatex bibliography style without URLs when DOI exists (in Overleaf with Zotero bibliography)

ComboBox Display Member on multiple fields

Is it possible to collect Nectar points via Trainline?