Explanation of TeX’s reading rules in TeXbookWhen can one use implicit braces instead of explicit braces?jobname, character codes and detokenizeWhat are lccode and uccode used for?Why in the discussion of the definition of newif are the following things trueQuestion about exercise 7.5 in TeXbookCan LaTeX change the behavior of core TeX commands?Why does the TeX scanner process tokens for register numbers and macro names differently?The laws of expansion (chardeffoo=<number>foo)'a^^Mb' isn't equivalent to 'a<return>b'; instead throws pdftex into an extended modeQuestion about exercise 20.7 in the TeXbook

How to project 3d image in the planes xy, xz, yz?

Why only the fundamental frequency component is said to give useful power?

At what point in time did Dumbledore ask Snape to do this thing?

How do I write "Show, Don't Tell" as a person with Asperger Syndrome?

Understanding the TeXlive release cycle: What is the meaning of a TeXlive release and is it ever 'finished'?

The eyes have it

How can drunken, homicidal elves successfully conduct a wild hunt?

Is this a mistake? (regarding maximum likelihood estimator)

How Can I Tell The Difference Between Unmarked Sugar and Stevia?

Is it a problem if <h4>, <h5> and <h6> are smaller than regular text?

Arriving at the same result with the opposite hypotheses

Can the poison from Kingsmen be concocted?

Payment instructions allegedly from HomeAway look fishy to me

How would a aircraft visually signal in distress?

Soft question: Examples where lack of mathematical rigour cause security breaches?

Is using haveibeenpwned to validate password strength rational?

Genetic limitations to learn certain instruments

Does a 3rd-level Wolf Totem barbarian get advantage against enemies when an ally is within 5 feet of the enemy?

How do governments keep track of their issued currency?

Find duplicated column value in CSV

Argon vs nitrogen for preserving wine

Words that signal future content

What's up with this leaf?

How does a transformer increase voltage while decreasing the current?



Explanation of TeX’s reading rules in TeXbook


When can one use implicit braces instead of explicit braces?jobname, character codes and detokenizeWhat are lccode and uccode used for?Why in the discussion of the definition of newif are the following things trueQuestion about exercise 7.5 in TeXbookCan LaTeX change the behavior of core TeX commands?Why does the TeX scanner process tokens for register numbers and macro names differently?The laws of expansion (chardeffoo=<number>foo)'a^^Mb' isn't equivalent to 'a<return>b'; instead throws pdftex into an extended modeQuestion about exercise 20.7 in the TeXbook













5















What means the following extract on page 46 of TeXbook?




TeX goes into state S in case (c), or in case (b) with respect to a character of category 10 (space)




Does it mean that space must be skipped in case (b)? If yes, why the following example shows contrary?



chardefx=`%

% a % case (b) - not skipped

x a % case (c) - skipped

bye


Also, does the "with respect to a character of category 10 (space)" part relate to "case (b)" only, or to both?




This is the full paragraph:




If TeX sees an escape character (category 0) in any state, it scans the entire
control sequence name as follows. (a) If there are no more characters in the
line, the name is empty (like csnameendcsname). Otherwise (b) if the next character
is not of category 11 (letter), the name consists of that single symbol. Otherwise (c) the
name consists of all letters beginning with the current one and ending just before the
first nonletter, or at the end of the line. This name becomes a control sequence token.
TeX goes into state S in case (c), or in case (b) with respect to a character of category 10
(space); otherwise TeX goes into state M.











share|improve this question



















  • 1





    Spaces are not skipped for single non-letter characters (e.g. %). However, TeX will skip spaces after , otherwise you'd end up with two consecutive spaces.

    – Henri Menke
    May 21 at 6:37












  • Note that whatever way x is defined (even if it is undefined), spaces would be skipped after it (assuming that x still has category code 12). At this stage, only the characters and their category codes are taken into account; expansion and execution take place later, when tokens have been formed.

    – egreg
    May 21 at 8:46











  • @egreg I did not understand the "still has category code 12" part.

    – Igor Liferenko
    May 21 at 9:15











  • @IgorLiferenko Sorry, typo: I meant “category code 11”.

    – egreg
    May 21 at 9:18















5















What means the following extract on page 46 of TeXbook?




TeX goes into state S in case (c), or in case (b) with respect to a character of category 10 (space)




Does it mean that space must be skipped in case (b)? If yes, why the following example shows contrary?



chardefx=`%

% a % case (b) - not skipped

x a % case (c) - skipped

bye


Also, does the "with respect to a character of category 10 (space)" part relate to "case (b)" only, or to both?




This is the full paragraph:




If TeX sees an escape character (category 0) in any state, it scans the entire
control sequence name as follows. (a) If there are no more characters in the
line, the name is empty (like csnameendcsname). Otherwise (b) if the next character
is not of category 11 (letter), the name consists of that single symbol. Otherwise (c) the
name consists of all letters beginning with the current one and ending just before the
first nonletter, or at the end of the line. This name becomes a control sequence token.
TeX goes into state S in case (c), or in case (b) with respect to a character of category 10
(space); otherwise TeX goes into state M.











share|improve this question



















  • 1





    Spaces are not skipped for single non-letter characters (e.g. %). However, TeX will skip spaces after , otherwise you'd end up with two consecutive spaces.

    – Henri Menke
    May 21 at 6:37












  • Note that whatever way x is defined (even if it is undefined), spaces would be skipped after it (assuming that x still has category code 12). At this stage, only the characters and their category codes are taken into account; expansion and execution take place later, when tokens have been formed.

    – egreg
    May 21 at 8:46











  • @egreg I did not understand the "still has category code 12" part.

    – Igor Liferenko
    May 21 at 9:15











  • @IgorLiferenko Sorry, typo: I meant “category code 11”.

    – egreg
    May 21 at 9:18













5












5








5


0






What means the following extract on page 46 of TeXbook?




TeX goes into state S in case (c), or in case (b) with respect to a character of category 10 (space)




Does it mean that space must be skipped in case (b)? If yes, why the following example shows contrary?



chardefx=`%

% a % case (b) - not skipped

x a % case (c) - skipped

bye


Also, does the "with respect to a character of category 10 (space)" part relate to "case (b)" only, or to both?




This is the full paragraph:




If TeX sees an escape character (category 0) in any state, it scans the entire
control sequence name as follows. (a) If there are no more characters in the
line, the name is empty (like csnameendcsname). Otherwise (b) if the next character
is not of category 11 (letter), the name consists of that single symbol. Otherwise (c) the
name consists of all letters beginning with the current one and ending just before the
first nonletter, or at the end of the line. This name becomes a control sequence token.
TeX goes into state S in case (c), or in case (b) with respect to a character of category 10
(space); otherwise TeX goes into state M.











share|improve this question
















What means the following extract on page 46 of TeXbook?




TeX goes into state S in case (c), or in case (b) with respect to a character of category 10 (space)




Does it mean that space must be skipped in case (b)? If yes, why the following example shows contrary?



chardefx=`%

% a % case (b) - not skipped

x a % case (c) - skipped

bye


Also, does the "with respect to a character of category 10 (space)" part relate to "case (b)" only, or to both?




This is the full paragraph:




If TeX sees an escape character (category 0) in any state, it scans the entire
control sequence name as follows. (a) If there are no more characters in the
line, the name is empty (like csnameendcsname). Otherwise (b) if the next character
is not of category 11 (letter), the name consists of that single symbol. Otherwise (c) the
name consists of all letters beginning with the current one and ending just before the
first nonletter, or at the end of the line. This name becomes a control sequence token.
TeX goes into state S in case (c), or in case (b) with respect to a character of category 10
(space); otherwise TeX goes into state M.








tex-core plain-tex






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited May 21 at 9:07









siracusa

5,96711733




5,96711733










asked May 21 at 6:31









Igor LiferenkoIgor Liferenko

2,309829




2,309829







  • 1





    Spaces are not skipped for single non-letter characters (e.g. %). However, TeX will skip spaces after , otherwise you'd end up with two consecutive spaces.

    – Henri Menke
    May 21 at 6:37












  • Note that whatever way x is defined (even if it is undefined), spaces would be skipped after it (assuming that x still has category code 12). At this stage, only the characters and their category codes are taken into account; expansion and execution take place later, when tokens have been formed.

    – egreg
    May 21 at 8:46











  • @egreg I did not understand the "still has category code 12" part.

    – Igor Liferenko
    May 21 at 9:15











  • @IgorLiferenko Sorry, typo: I meant “category code 11”.

    – egreg
    May 21 at 9:18












  • 1





    Spaces are not skipped for single non-letter characters (e.g. %). However, TeX will skip spaces after , otherwise you'd end up with two consecutive spaces.

    – Henri Menke
    May 21 at 6:37












  • Note that whatever way x is defined (even if it is undefined), spaces would be skipped after it (assuming that x still has category code 12). At this stage, only the characters and their category codes are taken into account; expansion and execution take place later, when tokens have been formed.

    – egreg
    May 21 at 8:46











  • @egreg I did not understand the "still has category code 12" part.

    – Igor Liferenko
    May 21 at 9:15











  • @IgorLiferenko Sorry, typo: I meant “category code 11”.

    – egreg
    May 21 at 9:18







1




1





Spaces are not skipped for single non-letter characters (e.g. %). However, TeX will skip spaces after , otherwise you'd end up with two consecutive spaces.

– Henri Menke
May 21 at 6:37






Spaces are not skipped for single non-letter characters (e.g. %). However, TeX will skip spaces after , otherwise you'd end up with two consecutive spaces.

– Henri Menke
May 21 at 6:37














Note that whatever way x is defined (even if it is undefined), spaces would be skipped after it (assuming that x still has category code 12). At this stage, only the characters and their category codes are taken into account; expansion and execution take place later, when tokens have been formed.

– egreg
May 21 at 8:46





Note that whatever way x is defined (even if it is undefined), spaces would be skipped after it (assuming that x still has category code 12). At this stage, only the characters and their category codes are taken into account; expansion and execution take place later, when tokens have been formed.

– egreg
May 21 at 8:46













@egreg I did not understand the "still has category code 12" part.

– Igor Liferenko
May 21 at 9:15





@egreg I did not understand the "still has category code 12" part.

– Igor Liferenko
May 21 at 9:15













@IgorLiferenko Sorry, typo: I meant “category code 11”.

– egreg
May 21 at 9:18





@IgorLiferenko Sorry, typo: I meant “category code 11”.

– egreg
May 21 at 9:18










2 Answers
2






active

oldest

votes


















3














For a different perspective: the paragraph is an attempt to explain section 354 of the TeX program, and the part about the state is the blue rectangle below (the included sections 356 and 355 happen not to affect state):



section 354 of TeX



So what it means is that if the character immediately after the escape character is either a letter, or a space [this is what is written in the TeXbook as “case (c)” and as “case (b) with respect to a character of category 10 (space)” respectively], then TeX goes into the skip_blanks state, else it goes into the mid_line state.



Because of the tangled evolutionary history of TeX and The TeXbook (my understanding is that first TeX was written, then a manual was written explaining it, then TeX was completely rewritten in such a way that the manual didn't change much(!), then the manual continued to be tweaked to account for tweaks to TeX), it can sometimes be easier (IMO) to understand some aspect of TeX by just reading the code than to read the TeXbook.




Appendix: If you find the image hard to read, here is the section again, taking the code from tex.web and reformatting it a little and putting the labels in uppercase:



 @<Scan a control...@>=
begin
if loc > limit then
cur_cs := null_cs state
else
begin
START_CS:
k := loc;
cur_chr := buffer[k];
cat := cat_code(cur_chr);
incr(k);
if cat = letter then
state := skip_blanks
else if cat = spacer then
state := skip_blanks
else
state := mid_line;
if (cat = letter) and (k <= limit) then
@<Scan ahead in the buffer until finding a nonletter; if an expanded code is encountered, reduce it and |goto START_CS|; otherwise if a multiletter control sequence is found, adjust |cur_cs| and |loc|, and |goto FOUND|@>
else
@<If an expanded code is present, reduce it and |goto START_CS|@>;
cur_cs := single_base + buffer[loc];
incr(loc);
end;
FOUND:
cur_cmd := eq_type(cur_cs); cur_chr := equiv(cur_cs);
if cur_cmd >= outer_call then
check_outer_validity;
end





share|improve this answer

























  • +1 it's a shame you didn't steal the tick earlier, I just missed a 505505 palindrome because of an unfortunate "accept" just at the wrong moment:-)

    – David Carlisle
    May 22 at 7:07











  • @DavidCarlisle Ah... I guess 506605 or some later one won't be too far off :-)

    – ShreevatsaR
    May 22 at 21:34


















9















in case (c), or in case (b) with respect to a character of category 10 (space);




means the cases that the character after is a letter (case c) or the character after is a space (case b (non-letter) in the case that it is a space)



So in those cases the following space is skipped,



In other cases (non-letter, non-space) then the space is not skipped.



So, a <space> acts as case b (non letter) in that only one character is considered part of the name, but it acts like case c (letter) in that following spaces are skipped.






share|improve this answer

























    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%2f491866%2fexplanation-of-tex-s-reading-rules-in-texbook%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









    3














    For a different perspective: the paragraph is an attempt to explain section 354 of the TeX program, and the part about the state is the blue rectangle below (the included sections 356 and 355 happen not to affect state):



    section 354 of TeX



    So what it means is that if the character immediately after the escape character is either a letter, or a space [this is what is written in the TeXbook as “case (c)” and as “case (b) with respect to a character of category 10 (space)” respectively], then TeX goes into the skip_blanks state, else it goes into the mid_line state.



    Because of the tangled evolutionary history of TeX and The TeXbook (my understanding is that first TeX was written, then a manual was written explaining it, then TeX was completely rewritten in such a way that the manual didn't change much(!), then the manual continued to be tweaked to account for tweaks to TeX), it can sometimes be easier (IMO) to understand some aspect of TeX by just reading the code than to read the TeXbook.




    Appendix: If you find the image hard to read, here is the section again, taking the code from tex.web and reformatting it a little and putting the labels in uppercase:



     @<Scan a control...@>=
    begin
    if loc > limit then
    cur_cs := null_cs state
    else
    begin
    START_CS:
    k := loc;
    cur_chr := buffer[k];
    cat := cat_code(cur_chr);
    incr(k);
    if cat = letter then
    state := skip_blanks
    else if cat = spacer then
    state := skip_blanks
    else
    state := mid_line;
    if (cat = letter) and (k <= limit) then
    @<Scan ahead in the buffer until finding a nonletter; if an expanded code is encountered, reduce it and |goto START_CS|; otherwise if a multiletter control sequence is found, adjust |cur_cs| and |loc|, and |goto FOUND|@>
    else
    @<If an expanded code is present, reduce it and |goto START_CS|@>;
    cur_cs := single_base + buffer[loc];
    incr(loc);
    end;
    FOUND:
    cur_cmd := eq_type(cur_cs); cur_chr := equiv(cur_cs);
    if cur_cmd >= outer_call then
    check_outer_validity;
    end





    share|improve this answer

























    • +1 it's a shame you didn't steal the tick earlier, I just missed a 505505 palindrome because of an unfortunate "accept" just at the wrong moment:-)

      – David Carlisle
      May 22 at 7:07











    • @DavidCarlisle Ah... I guess 506605 or some later one won't be too far off :-)

      – ShreevatsaR
      May 22 at 21:34















    3














    For a different perspective: the paragraph is an attempt to explain section 354 of the TeX program, and the part about the state is the blue rectangle below (the included sections 356 and 355 happen not to affect state):



    section 354 of TeX



    So what it means is that if the character immediately after the escape character is either a letter, or a space [this is what is written in the TeXbook as “case (c)” and as “case (b) with respect to a character of category 10 (space)” respectively], then TeX goes into the skip_blanks state, else it goes into the mid_line state.



    Because of the tangled evolutionary history of TeX and The TeXbook (my understanding is that first TeX was written, then a manual was written explaining it, then TeX was completely rewritten in such a way that the manual didn't change much(!), then the manual continued to be tweaked to account for tweaks to TeX), it can sometimes be easier (IMO) to understand some aspect of TeX by just reading the code than to read the TeXbook.




    Appendix: If you find the image hard to read, here is the section again, taking the code from tex.web and reformatting it a little and putting the labels in uppercase:



     @<Scan a control...@>=
    begin
    if loc > limit then
    cur_cs := null_cs state
    else
    begin
    START_CS:
    k := loc;
    cur_chr := buffer[k];
    cat := cat_code(cur_chr);
    incr(k);
    if cat = letter then
    state := skip_blanks
    else if cat = spacer then
    state := skip_blanks
    else
    state := mid_line;
    if (cat = letter) and (k <= limit) then
    @<Scan ahead in the buffer until finding a nonletter; if an expanded code is encountered, reduce it and |goto START_CS|; otherwise if a multiletter control sequence is found, adjust |cur_cs| and |loc|, and |goto FOUND|@>
    else
    @<If an expanded code is present, reduce it and |goto START_CS|@>;
    cur_cs := single_base + buffer[loc];
    incr(loc);
    end;
    FOUND:
    cur_cmd := eq_type(cur_cs); cur_chr := equiv(cur_cs);
    if cur_cmd >= outer_call then
    check_outer_validity;
    end





    share|improve this answer

























    • +1 it's a shame you didn't steal the tick earlier, I just missed a 505505 palindrome because of an unfortunate "accept" just at the wrong moment:-)

      – David Carlisle
      May 22 at 7:07











    • @DavidCarlisle Ah... I guess 506605 or some later one won't be too far off :-)

      – ShreevatsaR
      May 22 at 21:34













    3












    3








    3







    For a different perspective: the paragraph is an attempt to explain section 354 of the TeX program, and the part about the state is the blue rectangle below (the included sections 356 and 355 happen not to affect state):



    section 354 of TeX



    So what it means is that if the character immediately after the escape character is either a letter, or a space [this is what is written in the TeXbook as “case (c)” and as “case (b) with respect to a character of category 10 (space)” respectively], then TeX goes into the skip_blanks state, else it goes into the mid_line state.



    Because of the tangled evolutionary history of TeX and The TeXbook (my understanding is that first TeX was written, then a manual was written explaining it, then TeX was completely rewritten in such a way that the manual didn't change much(!), then the manual continued to be tweaked to account for tweaks to TeX), it can sometimes be easier (IMO) to understand some aspect of TeX by just reading the code than to read the TeXbook.




    Appendix: If you find the image hard to read, here is the section again, taking the code from tex.web and reformatting it a little and putting the labels in uppercase:



     @<Scan a control...@>=
    begin
    if loc > limit then
    cur_cs := null_cs state
    else
    begin
    START_CS:
    k := loc;
    cur_chr := buffer[k];
    cat := cat_code(cur_chr);
    incr(k);
    if cat = letter then
    state := skip_blanks
    else if cat = spacer then
    state := skip_blanks
    else
    state := mid_line;
    if (cat = letter) and (k <= limit) then
    @<Scan ahead in the buffer until finding a nonletter; if an expanded code is encountered, reduce it and |goto START_CS|; otherwise if a multiletter control sequence is found, adjust |cur_cs| and |loc|, and |goto FOUND|@>
    else
    @<If an expanded code is present, reduce it and |goto START_CS|@>;
    cur_cs := single_base + buffer[loc];
    incr(loc);
    end;
    FOUND:
    cur_cmd := eq_type(cur_cs); cur_chr := equiv(cur_cs);
    if cur_cmd >= outer_call then
    check_outer_validity;
    end





    share|improve this answer















    For a different perspective: the paragraph is an attempt to explain section 354 of the TeX program, and the part about the state is the blue rectangle below (the included sections 356 and 355 happen not to affect state):



    section 354 of TeX



    So what it means is that if the character immediately after the escape character is either a letter, or a space [this is what is written in the TeXbook as “case (c)” and as “case (b) with respect to a character of category 10 (space)” respectively], then TeX goes into the skip_blanks state, else it goes into the mid_line state.



    Because of the tangled evolutionary history of TeX and The TeXbook (my understanding is that first TeX was written, then a manual was written explaining it, then TeX was completely rewritten in such a way that the manual didn't change much(!), then the manual continued to be tweaked to account for tweaks to TeX), it can sometimes be easier (IMO) to understand some aspect of TeX by just reading the code than to read the TeXbook.




    Appendix: If you find the image hard to read, here is the section again, taking the code from tex.web and reformatting it a little and putting the labels in uppercase:



     @<Scan a control...@>=
    begin
    if loc > limit then
    cur_cs := null_cs state
    else
    begin
    START_CS:
    k := loc;
    cur_chr := buffer[k];
    cat := cat_code(cur_chr);
    incr(k);
    if cat = letter then
    state := skip_blanks
    else if cat = spacer then
    state := skip_blanks
    else
    state := mid_line;
    if (cat = letter) and (k <= limit) then
    @<Scan ahead in the buffer until finding a nonletter; if an expanded code is encountered, reduce it and |goto START_CS|; otherwise if a multiletter control sequence is found, adjust |cur_cs| and |loc|, and |goto FOUND|@>
    else
    @<If an expanded code is present, reduce it and |goto START_CS|@>;
    cur_cs := single_base + buffer[loc];
    incr(loc);
    end;
    FOUND:
    cur_cmd := eq_type(cur_cs); cur_chr := equiv(cur_cs);
    if cur_cmd >= outer_call then
    check_outer_validity;
    end






    share|improve this answer














    share|improve this answer



    share|improve this answer








    edited May 21 at 19:07

























    answered May 21 at 18:33









    ShreevatsaRShreevatsaR

    28.6k873104




    28.6k873104












    • +1 it's a shame you didn't steal the tick earlier, I just missed a 505505 palindrome because of an unfortunate "accept" just at the wrong moment:-)

      – David Carlisle
      May 22 at 7:07











    • @DavidCarlisle Ah... I guess 506605 or some later one won't be too far off :-)

      – ShreevatsaR
      May 22 at 21:34

















    • +1 it's a shame you didn't steal the tick earlier, I just missed a 505505 palindrome because of an unfortunate "accept" just at the wrong moment:-)

      – David Carlisle
      May 22 at 7:07











    • @DavidCarlisle Ah... I guess 506605 or some later one won't be too far off :-)

      – ShreevatsaR
      May 22 at 21:34
















    +1 it's a shame you didn't steal the tick earlier, I just missed a 505505 palindrome because of an unfortunate "accept" just at the wrong moment:-)

    – David Carlisle
    May 22 at 7:07





    +1 it's a shame you didn't steal the tick earlier, I just missed a 505505 palindrome because of an unfortunate "accept" just at the wrong moment:-)

    – David Carlisle
    May 22 at 7:07













    @DavidCarlisle Ah... I guess 506605 or some later one won't be too far off :-)

    – ShreevatsaR
    May 22 at 21:34





    @DavidCarlisle Ah... I guess 506605 or some later one won't be too far off :-)

    – ShreevatsaR
    May 22 at 21:34











    9















    in case (c), or in case (b) with respect to a character of category 10 (space);




    means the cases that the character after is a letter (case c) or the character after is a space (case b (non-letter) in the case that it is a space)



    So in those cases the following space is skipped,



    In other cases (non-letter, non-space) then the space is not skipped.



    So, a <space> acts as case b (non letter) in that only one character is considered part of the name, but it acts like case c (letter) in that following spaces are skipped.






    share|improve this answer





























      9















      in case (c), or in case (b) with respect to a character of category 10 (space);




      means the cases that the character after is a letter (case c) or the character after is a space (case b (non-letter) in the case that it is a space)



      So in those cases the following space is skipped,



      In other cases (non-letter, non-space) then the space is not skipped.



      So, a <space> acts as case b (non letter) in that only one character is considered part of the name, but it acts like case c (letter) in that following spaces are skipped.






      share|improve this answer



























        9












        9








        9








        in case (c), or in case (b) with respect to a character of category 10 (space);




        means the cases that the character after is a letter (case c) or the character after is a space (case b (non-letter) in the case that it is a space)



        So in those cases the following space is skipped,



        In other cases (non-letter, non-space) then the space is not skipped.



        So, a <space> acts as case b (non letter) in that only one character is considered part of the name, but it acts like case c (letter) in that following spaces are skipped.






        share|improve this answer
















        in case (c), or in case (b) with respect to a character of category 10 (space);




        means the cases that the character after is a letter (case c) or the character after is a space (case b (non-letter) in the case that it is a space)



        So in those cases the following space is skipped,



        In other cases (non-letter, non-space) then the space is not skipped.



        So, a <space> acts as case b (non letter) in that only one character is considered part of the name, but it acts like case c (letter) in that following spaces are skipped.







        share|improve this answer














        share|improve this answer



        share|improve this answer








        edited May 21 at 7:54

























        answered May 21 at 7:02









        David CarlisleDavid Carlisle

        508k4311551908




        508k4311551908



























            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%2f491866%2fexplanation-of-tex-s-reading-rules-in-texbook%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

            Wikipedia:Vital articles Мазмуну Biography - Өмүр баян Philosophy and psychology - Философия жана психология Religion - Дин Social sciences - Коомдук илимдер Language and literature - Тил жана адабият Science - Илим Technology - Технология Arts and recreation - Искусство жана эс алуу History and geography - Тарых жана география Навигация менюсу

            Bruxelas-Capital Índice Historia | Composición | Situación lingüística | Clima | Cidades irmandadas | Notas | Véxase tamén | Menú de navegacióneO uso das linguas en Bruxelas e a situación do neerlandés"Rexión de Bruxelas Capital"o orixinalSitio da rexiónPáxina de Bruselas no sitio da Oficina de Promoción Turística de Valonia e BruxelasMapa Interactivo da Rexión de Bruxelas-CapitaleeWorldCat332144929079854441105155190212ID28008674080552-90000 0001 0666 3698n94104302ID540940339365017018237

            What should I write in an apology letter, since I have decided not to join a company after accepting an offer letterShould I keep looking after accepting a job offer?What should I do when I've been verbally told I would get an offer letter, but still haven't gotten one after 4 weeks?Do I accept an offer from a company that I am not likely to join?New job hasn't confirmed starting date and I want to give current employer as much notice as possibleHow should I address my manager in my resignation letter?HR delayed background verification, now jobless as resignedNo email communication after accepting a formal written offer. How should I phrase the call?What should I do if after receiving a verbal offer letter I am informed that my written job offer is put on hold due to some internal issues?Should I inform the current employer that I am about to resign within 1-2 weeks since I have signed the offer letter and waiting for visa?What company will do, if I send their offer letter to another company