Why the various definitions of the thin space ,?












5















Knuths definition of , is mskipthinmuskip.



LaTeX changes this definition to



DeclareRobustCommand{,}{%
relaxifmmodemskipthinmuskipelsethinspacefi
}
defthinspace{kern .16667em }


amsmath.sty says it's



DeclareRobustCommand{tmspace}[3]{%
ifmmodemskip#1#2elsekern#1#3firelax}
renewcommand{,}{tmspace+thinmuskip{.1667em}}


I might understand LaTeX's point to make a command usable also in text mode. But what's the point of the redefinition by amsmath?










share|improve this question





























    5















    Knuths definition of , is mskipthinmuskip.



    LaTeX changes this definition to



    DeclareRobustCommand{,}{%
    relaxifmmodemskipthinmuskipelsethinspacefi
    }
    defthinspace{kern .16667em }


    amsmath.sty says it's



    DeclareRobustCommand{tmspace}[3]{%
    ifmmodemskip#1#2elsekern#1#3firelax}
    renewcommand{,}{tmspace+thinmuskip{.1667em}}


    I might understand LaTeX's point to make a command usable also in text mode. But what's the point of the redefinition by amsmath?










    share|improve this question



























      5












      5








      5


      1






      Knuths definition of , is mskipthinmuskip.



      LaTeX changes this definition to



      DeclareRobustCommand{,}{%
      relaxifmmodemskipthinmuskipelsethinspacefi
      }
      defthinspace{kern .16667em }


      amsmath.sty says it's



      DeclareRobustCommand{tmspace}[3]{%
      ifmmodemskip#1#2elsekern#1#3firelax}
      renewcommand{,}{tmspace+thinmuskip{.1667em}}


      I might understand LaTeX's point to make a command usable also in text mode. But what's the point of the redefinition by amsmath?










      share|improve this question
















      Knuths definition of , is mskipthinmuskip.



      LaTeX changes this definition to



      DeclareRobustCommand{,}{%
      relaxifmmodemskipthinmuskipelsethinspacefi
      }
      defthinspace{kern .16667em }


      amsmath.sty says it's



      DeclareRobustCommand{tmspace}[3]{%
      ifmmodemskip#1#2elsekern#1#3firelax}
      renewcommand{,}{tmspace+thinmuskip{.1667em}}


      I might understand LaTeX's point to make a command usable also in text mode. But what's the point of the redefinition by amsmath?







      spacing amsmath






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Mar 20 at 21:18









      Sebastiano

      11.1k42165




      11.1k42165










      asked Mar 20 at 21:16









      user49915user49915

      736122




      736122






















          1 Answer
          1






          active

          oldest

          votes


















          6














          You should look at the full picture:



           152   │ ifxleavevmode@ifvmode@undefined
          153 │ DeclareRobustCommand{tmspace}[3]{%
          154 │ ifmmodemskip#1#2elsekern#1#3firelax}
          155 │ else
          156 │ DeclareRobustCommand{tmspace}[3]{%
          157 │ ifmmodemskip#1#2elseleavevmode@ifvmodekern#1#3firelax}
          158 │ fi
          159 │ renewcommand{,}{tmspace+thinmuskip{.1667em}}
          160 │ letthinspace,
          161 │ renewcommand{!}{tmspace-thinmuskip{.1667em}}
          162 │ letnegthinspace!
          163 │ renewcommand{:}{tmspace+medmuskip{.2222em}}
          164 │ letmedspace:
          165 │ newcommand{negmedspace}{tmspace-medmuskip{.2222em}}
          166 │ renewcommand{;}{tmspace+thickmuskip{.2777em}}
          167 │ letthickspace;
          168 │ newcommand{negthickspace}{tmspace-thickmuskip{.2777em}}


          The two definitions of tmspace are due to recent decisions to make such commands start paragraph mode anyway. With a recent LaTeX kernel the second one will be used.



          Contrast this with the code in the LaTeX kernel:



          1619   │ DeclareRobustCommand{,}{%
          1620 │ relaxifmmodemskipthinmuskipelsethinspacefi
          1621 │ }

          1630 │ defthinspace{leavevmode@ifvmodekern .16667em }
          1631 │ defnegthinspace{leavevmode@ifvmodekern-.16667em }

          4543 │ def>{mskipmedmuskip}
          4544 │ def;{mskipthickmuskip}
          4545 │ def!{mskip-thinmuskip}

          4547 │ let:=>


          The approach of amsmath is much more rational and cleaner. They also provide text mode equivalent of all macros, whereas ! cannot be used in text mode if amsmath is not loaded, and similarly for the others. The final result will be essentially the same. However, a , command will be translated into tmspace+thinmuskip{.1667em} when written in an auxiliary file, instead of ,. Not really a big deal.






          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%2f480575%2fwhy-the-various-definitions-of-the-thin-space%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









            6














            You should look at the full picture:



             152   │ ifxleavevmode@ifvmode@undefined
            153 │ DeclareRobustCommand{tmspace}[3]{%
            154 │ ifmmodemskip#1#2elsekern#1#3firelax}
            155 │ else
            156 │ DeclareRobustCommand{tmspace}[3]{%
            157 │ ifmmodemskip#1#2elseleavevmode@ifvmodekern#1#3firelax}
            158 │ fi
            159 │ renewcommand{,}{tmspace+thinmuskip{.1667em}}
            160 │ letthinspace,
            161 │ renewcommand{!}{tmspace-thinmuskip{.1667em}}
            162 │ letnegthinspace!
            163 │ renewcommand{:}{tmspace+medmuskip{.2222em}}
            164 │ letmedspace:
            165 │ newcommand{negmedspace}{tmspace-medmuskip{.2222em}}
            166 │ renewcommand{;}{tmspace+thickmuskip{.2777em}}
            167 │ letthickspace;
            168 │ newcommand{negthickspace}{tmspace-thickmuskip{.2777em}}


            The two definitions of tmspace are due to recent decisions to make such commands start paragraph mode anyway. With a recent LaTeX kernel the second one will be used.



            Contrast this with the code in the LaTeX kernel:



            1619   │ DeclareRobustCommand{,}{%
            1620 │ relaxifmmodemskipthinmuskipelsethinspacefi
            1621 │ }

            1630 │ defthinspace{leavevmode@ifvmodekern .16667em }
            1631 │ defnegthinspace{leavevmode@ifvmodekern-.16667em }

            4543 │ def>{mskipmedmuskip}
            4544 │ def;{mskipthickmuskip}
            4545 │ def!{mskip-thinmuskip}

            4547 │ let:=>


            The approach of amsmath is much more rational and cleaner. They also provide text mode equivalent of all macros, whereas ! cannot be used in text mode if amsmath is not loaded, and similarly for the others. The final result will be essentially the same. However, a , command will be translated into tmspace+thinmuskip{.1667em} when written in an auxiliary file, instead of ,. Not really a big deal.






            share|improve this answer




























              6














              You should look at the full picture:



               152   │ ifxleavevmode@ifvmode@undefined
              153 │ DeclareRobustCommand{tmspace}[3]{%
              154 │ ifmmodemskip#1#2elsekern#1#3firelax}
              155 │ else
              156 │ DeclareRobustCommand{tmspace}[3]{%
              157 │ ifmmodemskip#1#2elseleavevmode@ifvmodekern#1#3firelax}
              158 │ fi
              159 │ renewcommand{,}{tmspace+thinmuskip{.1667em}}
              160 │ letthinspace,
              161 │ renewcommand{!}{tmspace-thinmuskip{.1667em}}
              162 │ letnegthinspace!
              163 │ renewcommand{:}{tmspace+medmuskip{.2222em}}
              164 │ letmedspace:
              165 │ newcommand{negmedspace}{tmspace-medmuskip{.2222em}}
              166 │ renewcommand{;}{tmspace+thickmuskip{.2777em}}
              167 │ letthickspace;
              168 │ newcommand{negthickspace}{tmspace-thickmuskip{.2777em}}


              The two definitions of tmspace are due to recent decisions to make such commands start paragraph mode anyway. With a recent LaTeX kernel the second one will be used.



              Contrast this with the code in the LaTeX kernel:



              1619   │ DeclareRobustCommand{,}{%
              1620 │ relaxifmmodemskipthinmuskipelsethinspacefi
              1621 │ }

              1630 │ defthinspace{leavevmode@ifvmodekern .16667em }
              1631 │ defnegthinspace{leavevmode@ifvmodekern-.16667em }

              4543 │ def>{mskipmedmuskip}
              4544 │ def;{mskipthickmuskip}
              4545 │ def!{mskip-thinmuskip}

              4547 │ let:=>


              The approach of amsmath is much more rational and cleaner. They also provide text mode equivalent of all macros, whereas ! cannot be used in text mode if amsmath is not loaded, and similarly for the others. The final result will be essentially the same. However, a , command will be translated into tmspace+thinmuskip{.1667em} when written in an auxiliary file, instead of ,. Not really a big deal.






              share|improve this answer


























                6












                6








                6







                You should look at the full picture:



                 152   │ ifxleavevmode@ifvmode@undefined
                153 │ DeclareRobustCommand{tmspace}[3]{%
                154 │ ifmmodemskip#1#2elsekern#1#3firelax}
                155 │ else
                156 │ DeclareRobustCommand{tmspace}[3]{%
                157 │ ifmmodemskip#1#2elseleavevmode@ifvmodekern#1#3firelax}
                158 │ fi
                159 │ renewcommand{,}{tmspace+thinmuskip{.1667em}}
                160 │ letthinspace,
                161 │ renewcommand{!}{tmspace-thinmuskip{.1667em}}
                162 │ letnegthinspace!
                163 │ renewcommand{:}{tmspace+medmuskip{.2222em}}
                164 │ letmedspace:
                165 │ newcommand{negmedspace}{tmspace-medmuskip{.2222em}}
                166 │ renewcommand{;}{tmspace+thickmuskip{.2777em}}
                167 │ letthickspace;
                168 │ newcommand{negthickspace}{tmspace-thickmuskip{.2777em}}


                The two definitions of tmspace are due to recent decisions to make such commands start paragraph mode anyway. With a recent LaTeX kernel the second one will be used.



                Contrast this with the code in the LaTeX kernel:



                1619   │ DeclareRobustCommand{,}{%
                1620 │ relaxifmmodemskipthinmuskipelsethinspacefi
                1621 │ }

                1630 │ defthinspace{leavevmode@ifvmodekern .16667em }
                1631 │ defnegthinspace{leavevmode@ifvmodekern-.16667em }

                4543 │ def>{mskipmedmuskip}
                4544 │ def;{mskipthickmuskip}
                4545 │ def!{mskip-thinmuskip}

                4547 │ let:=>


                The approach of amsmath is much more rational and cleaner. They also provide text mode equivalent of all macros, whereas ! cannot be used in text mode if amsmath is not loaded, and similarly for the others. The final result will be essentially the same. However, a , command will be translated into tmspace+thinmuskip{.1667em} when written in an auxiliary file, instead of ,. Not really a big deal.






                share|improve this answer













                You should look at the full picture:



                 152   │ ifxleavevmode@ifvmode@undefined
                153 │ DeclareRobustCommand{tmspace}[3]{%
                154 │ ifmmodemskip#1#2elsekern#1#3firelax}
                155 │ else
                156 │ DeclareRobustCommand{tmspace}[3]{%
                157 │ ifmmodemskip#1#2elseleavevmode@ifvmodekern#1#3firelax}
                158 │ fi
                159 │ renewcommand{,}{tmspace+thinmuskip{.1667em}}
                160 │ letthinspace,
                161 │ renewcommand{!}{tmspace-thinmuskip{.1667em}}
                162 │ letnegthinspace!
                163 │ renewcommand{:}{tmspace+medmuskip{.2222em}}
                164 │ letmedspace:
                165 │ newcommand{negmedspace}{tmspace-medmuskip{.2222em}}
                166 │ renewcommand{;}{tmspace+thickmuskip{.2777em}}
                167 │ letthickspace;
                168 │ newcommand{negthickspace}{tmspace-thickmuskip{.2777em}}


                The two definitions of tmspace are due to recent decisions to make such commands start paragraph mode anyway. With a recent LaTeX kernel the second one will be used.



                Contrast this with the code in the LaTeX kernel:



                1619   │ DeclareRobustCommand{,}{%
                1620 │ relaxifmmodemskipthinmuskipelsethinspacefi
                1621 │ }

                1630 │ defthinspace{leavevmode@ifvmodekern .16667em }
                1631 │ defnegthinspace{leavevmode@ifvmodekern-.16667em }

                4543 │ def>{mskipmedmuskip}
                4544 │ def;{mskipthickmuskip}
                4545 │ def!{mskip-thinmuskip}

                4547 │ let:=>


                The approach of amsmath is much more rational and cleaner. They also provide text mode equivalent of all macros, whereas ! cannot be used in text mode if amsmath is not loaded, and similarly for the others. The final result will be essentially the same. However, a , command will be translated into tmspace+thinmuskip{.1667em} when written in an auxiliary file, instead of ,. Not really a big deal.







                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered Mar 20 at 21:39









                egregegreg

                731k8919303252




                731k8919303252






























                    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%2f480575%2fwhy-the-various-definitions-of-the-thin-space%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

                    數位音樂下載

                    When can things happen in Etherscan, such as the picture below?

                    格利澤436b