Removing a number of tokens from the input stream












6















I need a command which removes all following tokens which are digits, comma, spaces or newlines and stops if it encounters something else. I can do it by nesting a lot of peek_charcode_remove_ignore_spaces:NTF, but is there a more elegant way to map e.g. over a clist?



documentclass{article}
usepackage{expl3}
ExplSyntaxOn
clist_const:Nnc_uf_page_clist{1,2,3,4,5,6,7,8,9,0,{,}}
cs_new:Nnuf_eatline: {
peek_charcode_remove_ignore_spaces:NTF 0 { uf_eatline: }
{
peek_charcode_remove_ignore_spaces:NTF 1 { uf_eatline: }
{
peek_charcode_remove_ignore_spaces:NTF 6 { uf_eatline: }
{
peek_charcode_remove_ignore_spaces:NTF , { uf_eatline: }
{
%and more nesting ...
}
}
}
}
}

cs_set_eq:NNeatlineuf_eatline:
ExplSyntaxOff
newcommandsee[2]{, emph{see} #1}
begin{document}

begin{itemize}
item Textaeatline116,
153
item Textbeatlinesee{Texta}{162}
end{itemize}

Wanted output:
begin{itemize}
item Texta

item Textbsee{Texta}{162}
end{itemize}


end{document}









share|improve this question























  • Do you expect something like {Whatevereatline}?

    – egreg
    Jan 28 at 15:14











  • @egreg No. it is from an index, where I want to remove the page numbers (well probably I don't want it anymore, I think I simply misunderstood a request, but I would still be interested to see how to loop in such cases).

    – Ulrike Fischer
    Jan 28 at 15:23
















6















I need a command which removes all following tokens which are digits, comma, spaces or newlines and stops if it encounters something else. I can do it by nesting a lot of peek_charcode_remove_ignore_spaces:NTF, but is there a more elegant way to map e.g. over a clist?



documentclass{article}
usepackage{expl3}
ExplSyntaxOn
clist_const:Nnc_uf_page_clist{1,2,3,4,5,6,7,8,9,0,{,}}
cs_new:Nnuf_eatline: {
peek_charcode_remove_ignore_spaces:NTF 0 { uf_eatline: }
{
peek_charcode_remove_ignore_spaces:NTF 1 { uf_eatline: }
{
peek_charcode_remove_ignore_spaces:NTF 6 { uf_eatline: }
{
peek_charcode_remove_ignore_spaces:NTF , { uf_eatline: }
{
%and more nesting ...
}
}
}
}
}

cs_set_eq:NNeatlineuf_eatline:
ExplSyntaxOff
newcommandsee[2]{, emph{see} #1}
begin{document}

begin{itemize}
item Textaeatline116,
153
item Textbeatlinesee{Texta}{162}
end{itemize}

Wanted output:
begin{itemize}
item Texta

item Textbsee{Texta}{162}
end{itemize}


end{document}









share|improve this question























  • Do you expect something like {Whatevereatline}?

    – egreg
    Jan 28 at 15:14











  • @egreg No. it is from an index, where I want to remove the page numbers (well probably I don't want it anymore, I think I simply misunderstood a request, but I would still be interested to see how to loop in such cases).

    – Ulrike Fischer
    Jan 28 at 15:23














6












6








6


1






I need a command which removes all following tokens which are digits, comma, spaces or newlines and stops if it encounters something else. I can do it by nesting a lot of peek_charcode_remove_ignore_spaces:NTF, but is there a more elegant way to map e.g. over a clist?



documentclass{article}
usepackage{expl3}
ExplSyntaxOn
clist_const:Nnc_uf_page_clist{1,2,3,4,5,6,7,8,9,0,{,}}
cs_new:Nnuf_eatline: {
peek_charcode_remove_ignore_spaces:NTF 0 { uf_eatline: }
{
peek_charcode_remove_ignore_spaces:NTF 1 { uf_eatline: }
{
peek_charcode_remove_ignore_spaces:NTF 6 { uf_eatline: }
{
peek_charcode_remove_ignore_spaces:NTF , { uf_eatline: }
{
%and more nesting ...
}
}
}
}
}

cs_set_eq:NNeatlineuf_eatline:
ExplSyntaxOff
newcommandsee[2]{, emph{see} #1}
begin{document}

begin{itemize}
item Textaeatline116,
153
item Textbeatlinesee{Texta}{162}
end{itemize}

Wanted output:
begin{itemize}
item Texta

item Textbsee{Texta}{162}
end{itemize}


end{document}









share|improve this question














I need a command which removes all following tokens which are digits, comma, spaces or newlines and stops if it encounters something else. I can do it by nesting a lot of peek_charcode_remove_ignore_spaces:NTF, but is there a more elegant way to map e.g. over a clist?



documentclass{article}
usepackage{expl3}
ExplSyntaxOn
clist_const:Nnc_uf_page_clist{1,2,3,4,5,6,7,8,9,0,{,}}
cs_new:Nnuf_eatline: {
peek_charcode_remove_ignore_spaces:NTF 0 { uf_eatline: }
{
peek_charcode_remove_ignore_spaces:NTF 1 { uf_eatline: }
{
peek_charcode_remove_ignore_spaces:NTF 6 { uf_eatline: }
{
peek_charcode_remove_ignore_spaces:NTF , { uf_eatline: }
{
%and more nesting ...
}
}
}
}
}

cs_set_eq:NNeatlineuf_eatline:
ExplSyntaxOff
newcommandsee[2]{, emph{see} #1}
begin{document}

begin{itemize}
item Textaeatline116,
153
item Textbeatlinesee{Texta}{162}
end{itemize}

Wanted output:
begin{itemize}
item Texta

item Textbsee{Texta}{162}
end{itemize}


end{document}






loops latex3






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Jan 28 at 14:41









Ulrike FischerUlrike Fischer

197k8304690




197k8304690













  • Do you expect something like {Whatevereatline}?

    – egreg
    Jan 28 at 15:14











  • @egreg No. it is from an index, where I want to remove the page numbers (well probably I don't want it anymore, I think I simply misunderstood a request, but I would still be interested to see how to loop in such cases).

    – Ulrike Fischer
    Jan 28 at 15:23



















  • Do you expect something like {Whatevereatline}?

    – egreg
    Jan 28 at 15:14











  • @egreg No. it is from an index, where I want to remove the page numbers (well probably I don't want it anymore, I think I simply misunderstood a request, but I would still be interested to see how to loop in such cases).

    – Ulrike Fischer
    Jan 28 at 15:23

















Do you expect something like {Whatevereatline}?

– egreg
Jan 28 at 15:14





Do you expect something like {Whatevereatline}?

– egreg
Jan 28 at 15:14













@egreg No. it is from an index, where I want to remove the page numbers (well probably I don't want it anymore, I think I simply misunderstood a request, but I would still be interested to see how to loop in such cases).

– Ulrike Fischer
Jan 28 at 15:23





@egreg No. it is from an index, where I want to remove the page numbers (well probably I don't want it anymore, I think I simply misunderstood a request, but I would still be interested to see how to loop in such cases).

– Ulrike Fischer
Jan 28 at 15:23










2 Answers
2






active

oldest

votes


















6














If you don't expect eatline to be called inside a group ending with } and you want to skip spaces, you can grab the next token(s) as an argument, examine it and decide.



documentclass{article}
usepackage{xparse}

ExplSyntaxOn
NewDocumentCommand{eatline}{m}
{
uf_eatline:n { #1 }
}

cs_new_protected:Nn uf_eatline:n
{
regex_match:nnTF { [0-9,] } { #1 }
{
uf_eatline:n
}
{ #1 }
}
ExplSyntaxOff

newcommandsee[2]{, emph{see} #1}

begin{document}

begin{itemize}
item Textaeatline116,
153
item Textbeatlinesee{Texta}{162}
end{itemize}

Wanted output:
begin{itemize}
item Texta

item Textbsee{Texta}{162}
end{itemize}

end{document}


If the token is not a digit or a comma, it is reinserted back, otherwise another token is examined.



Something like {abc} would be reinserted without braces, but it doesn't seem a problem in this context.



The problem with } could be treated at the beginning with a single peek_catcode:NTF check.



enter image description here






share|improve this answer



















  • 1





    That's naturally a much saner way to solve the concrete problem - I wonder why I thought that I need to peek ahead. But I guess it also means that there is no (easy) way to use a peek command in a loop over a clist or something like this?

    – Ulrike Fischer
    Jan 28 at 15:52











  • @UlrikeFischer No, but something about this has been discussed in the list.

    – egreg
    Jan 28 at 15:54



















3














If you're not going to have page numbers larger than 2^31-1 then this might work.



The uf_eatline: command starts a group, then sets the catcode of ,, , and ^^M to 9, then uses a primitive integer assignment to consume the remaining numbers (expanding tokens in this process) until something that is not a number is found. Finally, the catcodes are put back to normal with afterassignmentendgroup. This should work even if no numbers follow the eatline function and in the {Whatevereatline} case that egreg mentioned.



documentclass{article}
usepackage{expl3}

ExplSyntaxOn

cs_set_eq:NN uf_after_assignment:N tex_afterassignment:D
int_new:N l_uf_tmpa_int
cs_new:Nn uf_eatline:
{
group_begin:
char_set_catcode_ignore:n { `, }
char_set_catcode_ignore:n { ` }
char_set_catcode_ignore:n { `^^M }
tex_endlinechar:D = 32
uf_after_assignment:N
group_end:
l_uf_tmpa_int = 0
}

cs_set_eq:NNeatlineuf_eatline:
ExplSyntaxOff

newcommandsee[2]{, emph{see} #1}
begin{document}

begin{itemize}
item Textaeatline116,
153
item Textbeatlinesee{Texta}{162}
end{itemize}

Wanted output:
begin{itemize}
item Texta

item Textbsee{Texta}{162}
end{itemize}

end{document}


enter image description here






share|improve this answer





















  • 1





    Nice trick but a bit too low-level to count as "elegant" ;-)

    – Ulrike Fischer
    Jan 28 at 21:13











  • @UlrikeFischer Elegance is relative :) But I agree, it's pretty low-level and it has the integer limitation :/

    – Phelype Oleinik
    Jan 28 at 21:48












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%2f472229%2fremoving-a-number-of-tokens-from-the-input-stream%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









6














If you don't expect eatline to be called inside a group ending with } and you want to skip spaces, you can grab the next token(s) as an argument, examine it and decide.



documentclass{article}
usepackage{xparse}

ExplSyntaxOn
NewDocumentCommand{eatline}{m}
{
uf_eatline:n { #1 }
}

cs_new_protected:Nn uf_eatline:n
{
regex_match:nnTF { [0-9,] } { #1 }
{
uf_eatline:n
}
{ #1 }
}
ExplSyntaxOff

newcommandsee[2]{, emph{see} #1}

begin{document}

begin{itemize}
item Textaeatline116,
153
item Textbeatlinesee{Texta}{162}
end{itemize}

Wanted output:
begin{itemize}
item Texta

item Textbsee{Texta}{162}
end{itemize}

end{document}


If the token is not a digit or a comma, it is reinserted back, otherwise another token is examined.



Something like {abc} would be reinserted without braces, but it doesn't seem a problem in this context.



The problem with } could be treated at the beginning with a single peek_catcode:NTF check.



enter image description here






share|improve this answer



















  • 1





    That's naturally a much saner way to solve the concrete problem - I wonder why I thought that I need to peek ahead. But I guess it also means that there is no (easy) way to use a peek command in a loop over a clist or something like this?

    – Ulrike Fischer
    Jan 28 at 15:52











  • @UlrikeFischer No, but something about this has been discussed in the list.

    – egreg
    Jan 28 at 15:54
















6














If you don't expect eatline to be called inside a group ending with } and you want to skip spaces, you can grab the next token(s) as an argument, examine it and decide.



documentclass{article}
usepackage{xparse}

ExplSyntaxOn
NewDocumentCommand{eatline}{m}
{
uf_eatline:n { #1 }
}

cs_new_protected:Nn uf_eatline:n
{
regex_match:nnTF { [0-9,] } { #1 }
{
uf_eatline:n
}
{ #1 }
}
ExplSyntaxOff

newcommandsee[2]{, emph{see} #1}

begin{document}

begin{itemize}
item Textaeatline116,
153
item Textbeatlinesee{Texta}{162}
end{itemize}

Wanted output:
begin{itemize}
item Texta

item Textbsee{Texta}{162}
end{itemize}

end{document}


If the token is not a digit or a comma, it is reinserted back, otherwise another token is examined.



Something like {abc} would be reinserted without braces, but it doesn't seem a problem in this context.



The problem with } could be treated at the beginning with a single peek_catcode:NTF check.



enter image description here






share|improve this answer



















  • 1





    That's naturally a much saner way to solve the concrete problem - I wonder why I thought that I need to peek ahead. But I guess it also means that there is no (easy) way to use a peek command in a loop over a clist or something like this?

    – Ulrike Fischer
    Jan 28 at 15:52











  • @UlrikeFischer No, but something about this has been discussed in the list.

    – egreg
    Jan 28 at 15:54














6












6








6







If you don't expect eatline to be called inside a group ending with } and you want to skip spaces, you can grab the next token(s) as an argument, examine it and decide.



documentclass{article}
usepackage{xparse}

ExplSyntaxOn
NewDocumentCommand{eatline}{m}
{
uf_eatline:n { #1 }
}

cs_new_protected:Nn uf_eatline:n
{
regex_match:nnTF { [0-9,] } { #1 }
{
uf_eatline:n
}
{ #1 }
}
ExplSyntaxOff

newcommandsee[2]{, emph{see} #1}

begin{document}

begin{itemize}
item Textaeatline116,
153
item Textbeatlinesee{Texta}{162}
end{itemize}

Wanted output:
begin{itemize}
item Texta

item Textbsee{Texta}{162}
end{itemize}

end{document}


If the token is not a digit or a comma, it is reinserted back, otherwise another token is examined.



Something like {abc} would be reinserted without braces, but it doesn't seem a problem in this context.



The problem with } could be treated at the beginning with a single peek_catcode:NTF check.



enter image description here






share|improve this answer













If you don't expect eatline to be called inside a group ending with } and you want to skip spaces, you can grab the next token(s) as an argument, examine it and decide.



documentclass{article}
usepackage{xparse}

ExplSyntaxOn
NewDocumentCommand{eatline}{m}
{
uf_eatline:n { #1 }
}

cs_new_protected:Nn uf_eatline:n
{
regex_match:nnTF { [0-9,] } { #1 }
{
uf_eatline:n
}
{ #1 }
}
ExplSyntaxOff

newcommandsee[2]{, emph{see} #1}

begin{document}

begin{itemize}
item Textaeatline116,
153
item Textbeatlinesee{Texta}{162}
end{itemize}

Wanted output:
begin{itemize}
item Texta

item Textbsee{Texta}{162}
end{itemize}

end{document}


If the token is not a digit or a comma, it is reinserted back, otherwise another token is examined.



Something like {abc} would be reinserted without braces, but it doesn't seem a problem in this context.



The problem with } could be treated at the beginning with a single peek_catcode:NTF check.



enter image description here







share|improve this answer












share|improve this answer



share|improve this answer










answered Jan 28 at 15:42









egregegreg

730k8819283242




730k8819283242








  • 1





    That's naturally a much saner way to solve the concrete problem - I wonder why I thought that I need to peek ahead. But I guess it also means that there is no (easy) way to use a peek command in a loop over a clist or something like this?

    – Ulrike Fischer
    Jan 28 at 15:52











  • @UlrikeFischer No, but something about this has been discussed in the list.

    – egreg
    Jan 28 at 15:54














  • 1





    That's naturally a much saner way to solve the concrete problem - I wonder why I thought that I need to peek ahead. But I guess it also means that there is no (easy) way to use a peek command in a loop over a clist or something like this?

    – Ulrike Fischer
    Jan 28 at 15:52











  • @UlrikeFischer No, but something about this has been discussed in the list.

    – egreg
    Jan 28 at 15:54








1




1





That's naturally a much saner way to solve the concrete problem - I wonder why I thought that I need to peek ahead. But I guess it also means that there is no (easy) way to use a peek command in a loop over a clist or something like this?

– Ulrike Fischer
Jan 28 at 15:52





That's naturally a much saner way to solve the concrete problem - I wonder why I thought that I need to peek ahead. But I guess it also means that there is no (easy) way to use a peek command in a loop over a clist or something like this?

– Ulrike Fischer
Jan 28 at 15:52













@UlrikeFischer No, but something about this has been discussed in the list.

– egreg
Jan 28 at 15:54





@UlrikeFischer No, but something about this has been discussed in the list.

– egreg
Jan 28 at 15:54











3














If you're not going to have page numbers larger than 2^31-1 then this might work.



The uf_eatline: command starts a group, then sets the catcode of ,, , and ^^M to 9, then uses a primitive integer assignment to consume the remaining numbers (expanding tokens in this process) until something that is not a number is found. Finally, the catcodes are put back to normal with afterassignmentendgroup. This should work even if no numbers follow the eatline function and in the {Whatevereatline} case that egreg mentioned.



documentclass{article}
usepackage{expl3}

ExplSyntaxOn

cs_set_eq:NN uf_after_assignment:N tex_afterassignment:D
int_new:N l_uf_tmpa_int
cs_new:Nn uf_eatline:
{
group_begin:
char_set_catcode_ignore:n { `, }
char_set_catcode_ignore:n { ` }
char_set_catcode_ignore:n { `^^M }
tex_endlinechar:D = 32
uf_after_assignment:N
group_end:
l_uf_tmpa_int = 0
}

cs_set_eq:NNeatlineuf_eatline:
ExplSyntaxOff

newcommandsee[2]{, emph{see} #1}
begin{document}

begin{itemize}
item Textaeatline116,
153
item Textbeatlinesee{Texta}{162}
end{itemize}

Wanted output:
begin{itemize}
item Texta

item Textbsee{Texta}{162}
end{itemize}

end{document}


enter image description here






share|improve this answer





















  • 1





    Nice trick but a bit too low-level to count as "elegant" ;-)

    – Ulrike Fischer
    Jan 28 at 21:13











  • @UlrikeFischer Elegance is relative :) But I agree, it's pretty low-level and it has the integer limitation :/

    – Phelype Oleinik
    Jan 28 at 21:48
















3














If you're not going to have page numbers larger than 2^31-1 then this might work.



The uf_eatline: command starts a group, then sets the catcode of ,, , and ^^M to 9, then uses a primitive integer assignment to consume the remaining numbers (expanding tokens in this process) until something that is not a number is found. Finally, the catcodes are put back to normal with afterassignmentendgroup. This should work even if no numbers follow the eatline function and in the {Whatevereatline} case that egreg mentioned.



documentclass{article}
usepackage{expl3}

ExplSyntaxOn

cs_set_eq:NN uf_after_assignment:N tex_afterassignment:D
int_new:N l_uf_tmpa_int
cs_new:Nn uf_eatline:
{
group_begin:
char_set_catcode_ignore:n { `, }
char_set_catcode_ignore:n { ` }
char_set_catcode_ignore:n { `^^M }
tex_endlinechar:D = 32
uf_after_assignment:N
group_end:
l_uf_tmpa_int = 0
}

cs_set_eq:NNeatlineuf_eatline:
ExplSyntaxOff

newcommandsee[2]{, emph{see} #1}
begin{document}

begin{itemize}
item Textaeatline116,
153
item Textbeatlinesee{Texta}{162}
end{itemize}

Wanted output:
begin{itemize}
item Texta

item Textbsee{Texta}{162}
end{itemize}

end{document}


enter image description here






share|improve this answer





















  • 1





    Nice trick but a bit too low-level to count as "elegant" ;-)

    – Ulrike Fischer
    Jan 28 at 21:13











  • @UlrikeFischer Elegance is relative :) But I agree, it's pretty low-level and it has the integer limitation :/

    – Phelype Oleinik
    Jan 28 at 21:48














3












3








3







If you're not going to have page numbers larger than 2^31-1 then this might work.



The uf_eatline: command starts a group, then sets the catcode of ,, , and ^^M to 9, then uses a primitive integer assignment to consume the remaining numbers (expanding tokens in this process) until something that is not a number is found. Finally, the catcodes are put back to normal with afterassignmentendgroup. This should work even if no numbers follow the eatline function and in the {Whatevereatline} case that egreg mentioned.



documentclass{article}
usepackage{expl3}

ExplSyntaxOn

cs_set_eq:NN uf_after_assignment:N tex_afterassignment:D
int_new:N l_uf_tmpa_int
cs_new:Nn uf_eatline:
{
group_begin:
char_set_catcode_ignore:n { `, }
char_set_catcode_ignore:n { ` }
char_set_catcode_ignore:n { `^^M }
tex_endlinechar:D = 32
uf_after_assignment:N
group_end:
l_uf_tmpa_int = 0
}

cs_set_eq:NNeatlineuf_eatline:
ExplSyntaxOff

newcommandsee[2]{, emph{see} #1}
begin{document}

begin{itemize}
item Textaeatline116,
153
item Textbeatlinesee{Texta}{162}
end{itemize}

Wanted output:
begin{itemize}
item Texta

item Textbsee{Texta}{162}
end{itemize}

end{document}


enter image description here






share|improve this answer















If you're not going to have page numbers larger than 2^31-1 then this might work.



The uf_eatline: command starts a group, then sets the catcode of ,, , and ^^M to 9, then uses a primitive integer assignment to consume the remaining numbers (expanding tokens in this process) until something that is not a number is found. Finally, the catcodes are put back to normal with afterassignmentendgroup. This should work even if no numbers follow the eatline function and in the {Whatevereatline} case that egreg mentioned.



documentclass{article}
usepackage{expl3}

ExplSyntaxOn

cs_set_eq:NN uf_after_assignment:N tex_afterassignment:D
int_new:N l_uf_tmpa_int
cs_new:Nn uf_eatline:
{
group_begin:
char_set_catcode_ignore:n { `, }
char_set_catcode_ignore:n { ` }
char_set_catcode_ignore:n { `^^M }
tex_endlinechar:D = 32
uf_after_assignment:N
group_end:
l_uf_tmpa_int = 0
}

cs_set_eq:NNeatlineuf_eatline:
ExplSyntaxOff

newcommandsee[2]{, emph{see} #1}
begin{document}

begin{itemize}
item Textaeatline116,
153
item Textbeatlinesee{Texta}{162}
end{itemize}

Wanted output:
begin{itemize}
item Texta

item Textbsee{Texta}{162}
end{itemize}

end{document}


enter image description here







share|improve this answer














share|improve this answer



share|improve this answer








edited Jan 28 at 21:51

























answered Jan 28 at 15:52









Phelype OleinikPhelype Oleinik

24.6k54688




24.6k54688








  • 1





    Nice trick but a bit too low-level to count as "elegant" ;-)

    – Ulrike Fischer
    Jan 28 at 21:13











  • @UlrikeFischer Elegance is relative :) But I agree, it's pretty low-level and it has the integer limitation :/

    – Phelype Oleinik
    Jan 28 at 21:48














  • 1





    Nice trick but a bit too low-level to count as "elegant" ;-)

    – Ulrike Fischer
    Jan 28 at 21:13











  • @UlrikeFischer Elegance is relative :) But I agree, it's pretty low-level and it has the integer limitation :/

    – Phelype Oleinik
    Jan 28 at 21:48








1




1





Nice trick but a bit too low-level to count as "elegant" ;-)

– Ulrike Fischer
Jan 28 at 21:13





Nice trick but a bit too low-level to count as "elegant" ;-)

– Ulrike Fischer
Jan 28 at 21:13













@UlrikeFischer Elegance is relative :) But I agree, it's pretty low-level and it has the integer limitation :/

– Phelype Oleinik
Jan 28 at 21:48





@UlrikeFischer Elegance is relative :) But I agree, it's pretty low-level and it has the integer limitation :/

– Phelype Oleinik
Jan 28 at 21:48


















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%2f472229%2fremoving-a-number-of-tokens-from-the-input-stream%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

MongoDB - Not Authorized To Execute Command

in spring boot 2.1 many test slices are not allowed anymore due to multiple @BootstrapWith

How to fix TextFormField cause rebuild widget in Flutter