Why underbrace has _{…} instead of an optional parameter?











up vote
25
down vote

favorite
2












Why is underbrace (and similar commands) in the form



underbrace{my formula}_{some text under my formula}


?



Shouldn't a standard macro be in the form



underbrace[some text under my formula]{my formula}


since the text to put under is optional?



Why is it treated like a math operator?



documentclass{article}
usepackage{amsmath}
begin{document}
[
underbrace{a+b=c}
]
[
underbrace{a+b=c}_{text{something}}
]
[
lim_{xto a} x= a
]
end{document}


enter image description here










share|improve this question






















  • I don't know, but probably to be consistent with plain TeX.
    – TeXnician
    Dec 2 at 9:47










  • @TeXnician I'm curious :)
    – CarLaTeX
    Dec 2 at 9:48






  • 1




    And, don't forget the related expression for overbrace: overbrace{a+b=c}^{text{something}}. I'm surmising that the use of _ and ^ in these directives was meant to be, at least in part, somewhat mnemonic.
    – Mico
    Dec 2 at 10:01












  • If that plain TeX syntax bother: letoldunderbraceunderbrace defunderbrace#1#2{{oldunderbrace{#1}_{#2}}}
    – Fran
    Dec 2 at 10:58










  • Nice question!!
    – manooooh
    Dec 5 at 4:02















up vote
25
down vote

favorite
2












Why is underbrace (and similar commands) in the form



underbrace{my formula}_{some text under my formula}


?



Shouldn't a standard macro be in the form



underbrace[some text under my formula]{my formula}


since the text to put under is optional?



Why is it treated like a math operator?



documentclass{article}
usepackage{amsmath}
begin{document}
[
underbrace{a+b=c}
]
[
underbrace{a+b=c}_{text{something}}
]
[
lim_{xto a} x= a
]
end{document}


enter image description here










share|improve this question






















  • I don't know, but probably to be consistent with plain TeX.
    – TeXnician
    Dec 2 at 9:47










  • @TeXnician I'm curious :)
    – CarLaTeX
    Dec 2 at 9:48






  • 1




    And, don't forget the related expression for overbrace: overbrace{a+b=c}^{text{something}}. I'm surmising that the use of _ and ^ in these directives was meant to be, at least in part, somewhat mnemonic.
    – Mico
    Dec 2 at 10:01












  • If that plain TeX syntax bother: letoldunderbraceunderbrace defunderbrace#1#2{{oldunderbrace{#1}_{#2}}}
    – Fran
    Dec 2 at 10:58










  • Nice question!!
    – manooooh
    Dec 5 at 4:02













up vote
25
down vote

favorite
2









up vote
25
down vote

favorite
2






2





Why is underbrace (and similar commands) in the form



underbrace{my formula}_{some text under my formula}


?



Shouldn't a standard macro be in the form



underbrace[some text under my formula]{my formula}


since the text to put under is optional?



Why is it treated like a math operator?



documentclass{article}
usepackage{amsmath}
begin{document}
[
underbrace{a+b=c}
]
[
underbrace{a+b=c}_{text{something}}
]
[
lim_{xto a} x= a
]
end{document}


enter image description here










share|improve this question













Why is underbrace (and similar commands) in the form



underbrace{my formula}_{some text under my formula}


?



Shouldn't a standard macro be in the form



underbrace[some text under my formula]{my formula}


since the text to put under is optional?



Why is it treated like a math operator?



documentclass{article}
usepackage{amsmath}
begin{document}
[
underbrace{a+b=c}
]
[
underbrace{a+b=c}_{text{something}}
]
[
lim_{xto a} x= a
]
end{document}


enter image description here







math-mode macros






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Dec 2 at 9:39









CarLaTeX

28.7k447123




28.7k447123












  • I don't know, but probably to be consistent with plain TeX.
    – TeXnician
    Dec 2 at 9:47










  • @TeXnician I'm curious :)
    – CarLaTeX
    Dec 2 at 9:48






  • 1




    And, don't forget the related expression for overbrace: overbrace{a+b=c}^{text{something}}. I'm surmising that the use of _ and ^ in these directives was meant to be, at least in part, somewhat mnemonic.
    – Mico
    Dec 2 at 10:01












  • If that plain TeX syntax bother: letoldunderbraceunderbrace defunderbrace#1#2{{oldunderbrace{#1}_{#2}}}
    – Fran
    Dec 2 at 10:58










  • Nice question!!
    – manooooh
    Dec 5 at 4:02


















  • I don't know, but probably to be consistent with plain TeX.
    – TeXnician
    Dec 2 at 9:47










  • @TeXnician I'm curious :)
    – CarLaTeX
    Dec 2 at 9:48






  • 1




    And, don't forget the related expression for overbrace: overbrace{a+b=c}^{text{something}}. I'm surmising that the use of _ and ^ in these directives was meant to be, at least in part, somewhat mnemonic.
    – Mico
    Dec 2 at 10:01












  • If that plain TeX syntax bother: letoldunderbraceunderbrace defunderbrace#1#2{{oldunderbrace{#1}_{#2}}}
    – Fran
    Dec 2 at 10:58










  • Nice question!!
    – manooooh
    Dec 5 at 4:02
















I don't know, but probably to be consistent with plain TeX.
– TeXnician
Dec 2 at 9:47




I don't know, but probably to be consistent with plain TeX.
– TeXnician
Dec 2 at 9:47












@TeXnician I'm curious :)
– CarLaTeX
Dec 2 at 9:48




@TeXnician I'm curious :)
– CarLaTeX
Dec 2 at 9:48




1




1




And, don't forget the related expression for overbrace: overbrace{a+b=c}^{text{something}}. I'm surmising that the use of _ and ^ in these directives was meant to be, at least in part, somewhat mnemonic.
– Mico
Dec 2 at 10:01






And, don't forget the related expression for overbrace: overbrace{a+b=c}^{text{something}}. I'm surmising that the use of _ and ^ in these directives was meant to be, at least in part, somewhat mnemonic.
– Mico
Dec 2 at 10:01














If that plain TeX syntax bother: letoldunderbraceunderbrace defunderbrace#1#2{{oldunderbrace{#1}_{#2}}}
– Fran
Dec 2 at 10:58




If that plain TeX syntax bother: letoldunderbraceunderbrace defunderbrace#1#2{{oldunderbrace{#1}_{#2}}}
– Fran
Dec 2 at 10:58












Nice question!!
– manooooh
Dec 5 at 4:02




Nice question!!
– manooooh
Dec 5 at 4:02










3 Answers
3






active

oldest

votes

















up vote
17
down vote



accepted










The underbrace macro is exactly the same in LaTeX as in plain: it's one of those things which came with the original 'load on top of plain' approach, well before latex.ltx. Moreover, the _ 'argument' isn't an argument at all, it's a TeX core subscript. It looks like an argument, but the construction uses low-level TeX math mode primitives.



Re-implemented today, one would likely set up such that the alignment is done without the primitives, and thus the text part would be an argument. But that's a completely different question!






share|improve this answer



















  • 1




    Thank you, so TeXnician was right :)
    – CarLaTeX
    Dec 2 at 9:59






  • 2




    One might argue that it is more-or-less a subscript anyway, so the interface is consistent with sum, int, ...
    – Joseph Wright
    Dec 2 at 10:00






  • 1




    And also mnemonic, as Mico said.
    – CarLaTeX
    Dec 2 at 10:10






  • 8




    @JosephWright There's the added problem that underbrace{a}_{b} is treated as an Op atom, with consequences on spacing. It's usually better to brace it: {underbrace{a}_{b}}.
    – egreg
    Dec 2 at 10:26










  • @egreg Sure, but that's not directly related to the syntax ...
    – Joseph Wright
    Dec 2 at 10:37


















up vote
4
down vote













When you look at the definition of underbrace (or overbrace) you'll see the following:



> underbrace=macro:
#1->mathop {vtop {m@th ialign {##crcr $hfil displaystyle {#1}hfil $crcr
noalign {kern 3p@ nointerlineskip }upbracefill crcr noalign {kern 3p@
}}}}limits .


It shows that the first (and only) argument to underbrace is set as a math operator and closes with limits. And, math operators have their limits (superscripts and subscripts) set on top/below it. It's therefore no surprise that you can do:



enter image description here



$underbrace{abcd}_{dcba} underbrace{abcd}^{dcba}$


It's treated like a math operator because that's the primitive way of stacking elements below/above something so that it doesn't displace the someting vertically.






share|improve this answer




























    up vote
    1
    down vote













    I think it's much easier to iterate with the underscore syntax. For example



    documentclass{article}
    usepackage{amsmath}
    begin{document}
    begin{equation*}
    underbrace{left(frac12+frac13right)}_{
    >underbrace{frac14+frac14}_{
    underbrace{2cdot frac14}_{
    frac12
    }
    }
    }
    quad + quad
    underbrace{left(frac14+frac15+frac16+frac17right)}_{
    >underbrace{frac18+frac18+frac18+frac18}_{
    underbrace{4cdot frac18}_{
    frac12
    }
    }
    }
    quad > quad frac12+frac12
    end{equation*}

    end{document}


    Try to do the same with the "option" syntax. The point is that with the "underscore" syntax, you write the code for the iteration sequentially, from left to right, similarly to what the output will look like, while with the option syntax, you'd end up writing from right to left, so the bottom 1/2 in the output will be the leftmost formula after the three underbrace commands.



    iterating underbrace






    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',
      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%2f462798%2fwhy-underbrace-has-instead-of-an-optional-parameter%23new-answer', 'question_page');
      }
      );

      Post as a guest















      Required, but never shown

























      3 Answers
      3






      active

      oldest

      votes








      3 Answers
      3






      active

      oldest

      votes









      active

      oldest

      votes






      active

      oldest

      votes








      up vote
      17
      down vote



      accepted










      The underbrace macro is exactly the same in LaTeX as in plain: it's one of those things which came with the original 'load on top of plain' approach, well before latex.ltx. Moreover, the _ 'argument' isn't an argument at all, it's a TeX core subscript. It looks like an argument, but the construction uses low-level TeX math mode primitives.



      Re-implemented today, one would likely set up such that the alignment is done without the primitives, and thus the text part would be an argument. But that's a completely different question!






      share|improve this answer



















      • 1




        Thank you, so TeXnician was right :)
        – CarLaTeX
        Dec 2 at 9:59






      • 2




        One might argue that it is more-or-less a subscript anyway, so the interface is consistent with sum, int, ...
        – Joseph Wright
        Dec 2 at 10:00






      • 1




        And also mnemonic, as Mico said.
        – CarLaTeX
        Dec 2 at 10:10






      • 8




        @JosephWright There's the added problem that underbrace{a}_{b} is treated as an Op atom, with consequences on spacing. It's usually better to brace it: {underbrace{a}_{b}}.
        – egreg
        Dec 2 at 10:26










      • @egreg Sure, but that's not directly related to the syntax ...
        – Joseph Wright
        Dec 2 at 10:37















      up vote
      17
      down vote



      accepted










      The underbrace macro is exactly the same in LaTeX as in plain: it's one of those things which came with the original 'load on top of plain' approach, well before latex.ltx. Moreover, the _ 'argument' isn't an argument at all, it's a TeX core subscript. It looks like an argument, but the construction uses low-level TeX math mode primitives.



      Re-implemented today, one would likely set up such that the alignment is done without the primitives, and thus the text part would be an argument. But that's a completely different question!






      share|improve this answer



















      • 1




        Thank you, so TeXnician was right :)
        – CarLaTeX
        Dec 2 at 9:59






      • 2




        One might argue that it is more-or-less a subscript anyway, so the interface is consistent with sum, int, ...
        – Joseph Wright
        Dec 2 at 10:00






      • 1




        And also mnemonic, as Mico said.
        – CarLaTeX
        Dec 2 at 10:10






      • 8




        @JosephWright There's the added problem that underbrace{a}_{b} is treated as an Op atom, with consequences on spacing. It's usually better to brace it: {underbrace{a}_{b}}.
        – egreg
        Dec 2 at 10:26










      • @egreg Sure, but that's not directly related to the syntax ...
        – Joseph Wright
        Dec 2 at 10:37













      up vote
      17
      down vote



      accepted







      up vote
      17
      down vote



      accepted






      The underbrace macro is exactly the same in LaTeX as in plain: it's one of those things which came with the original 'load on top of plain' approach, well before latex.ltx. Moreover, the _ 'argument' isn't an argument at all, it's a TeX core subscript. It looks like an argument, but the construction uses low-level TeX math mode primitives.



      Re-implemented today, one would likely set up such that the alignment is done without the primitives, and thus the text part would be an argument. But that's a completely different question!






      share|improve this answer














      The underbrace macro is exactly the same in LaTeX as in plain: it's one of those things which came with the original 'load on top of plain' approach, well before latex.ltx. Moreover, the _ 'argument' isn't an argument at all, it's a TeX core subscript. It looks like an argument, but the construction uses low-level TeX math mode primitives.



      Re-implemented today, one would likely set up such that the alignment is done without the primitives, and thus the text part would be an argument. But that's a completely different question!







      share|improve this answer














      share|improve this answer



      share|improve this answer








      edited Dec 2 at 13:38









      CarLaTeX

      28.7k447123




      28.7k447123










      answered Dec 2 at 9:56









      Joseph Wright

      201k21554879




      201k21554879








      • 1




        Thank you, so TeXnician was right :)
        – CarLaTeX
        Dec 2 at 9:59






      • 2




        One might argue that it is more-or-less a subscript anyway, so the interface is consistent with sum, int, ...
        – Joseph Wright
        Dec 2 at 10:00






      • 1




        And also mnemonic, as Mico said.
        – CarLaTeX
        Dec 2 at 10:10






      • 8




        @JosephWright There's the added problem that underbrace{a}_{b} is treated as an Op atom, with consequences on spacing. It's usually better to brace it: {underbrace{a}_{b}}.
        – egreg
        Dec 2 at 10:26










      • @egreg Sure, but that's not directly related to the syntax ...
        – Joseph Wright
        Dec 2 at 10:37














      • 1




        Thank you, so TeXnician was right :)
        – CarLaTeX
        Dec 2 at 9:59






      • 2




        One might argue that it is more-or-less a subscript anyway, so the interface is consistent with sum, int, ...
        – Joseph Wright
        Dec 2 at 10:00






      • 1




        And also mnemonic, as Mico said.
        – CarLaTeX
        Dec 2 at 10:10






      • 8




        @JosephWright There's the added problem that underbrace{a}_{b} is treated as an Op atom, with consequences on spacing. It's usually better to brace it: {underbrace{a}_{b}}.
        – egreg
        Dec 2 at 10:26










      • @egreg Sure, but that's not directly related to the syntax ...
        – Joseph Wright
        Dec 2 at 10:37








      1




      1




      Thank you, so TeXnician was right :)
      – CarLaTeX
      Dec 2 at 9:59




      Thank you, so TeXnician was right :)
      – CarLaTeX
      Dec 2 at 9:59




      2




      2




      One might argue that it is more-or-less a subscript anyway, so the interface is consistent with sum, int, ...
      – Joseph Wright
      Dec 2 at 10:00




      One might argue that it is more-or-less a subscript anyway, so the interface is consistent with sum, int, ...
      – Joseph Wright
      Dec 2 at 10:00




      1




      1




      And also mnemonic, as Mico said.
      – CarLaTeX
      Dec 2 at 10:10




      And also mnemonic, as Mico said.
      – CarLaTeX
      Dec 2 at 10:10




      8




      8




      @JosephWright There's the added problem that underbrace{a}_{b} is treated as an Op atom, with consequences on spacing. It's usually better to brace it: {underbrace{a}_{b}}.
      – egreg
      Dec 2 at 10:26




      @JosephWright There's the added problem that underbrace{a}_{b} is treated as an Op atom, with consequences on spacing. It's usually better to brace it: {underbrace{a}_{b}}.
      – egreg
      Dec 2 at 10:26












      @egreg Sure, but that's not directly related to the syntax ...
      – Joseph Wright
      Dec 2 at 10:37




      @egreg Sure, but that's not directly related to the syntax ...
      – Joseph Wright
      Dec 2 at 10:37










      up vote
      4
      down vote













      When you look at the definition of underbrace (or overbrace) you'll see the following:



      > underbrace=macro:
      #1->mathop {vtop {m@th ialign {##crcr $hfil displaystyle {#1}hfil $crcr
      noalign {kern 3p@ nointerlineskip }upbracefill crcr noalign {kern 3p@
      }}}}limits .


      It shows that the first (and only) argument to underbrace is set as a math operator and closes with limits. And, math operators have their limits (superscripts and subscripts) set on top/below it. It's therefore no surprise that you can do:



      enter image description here



      $underbrace{abcd}_{dcba} underbrace{abcd}^{dcba}$


      It's treated like a math operator because that's the primitive way of stacking elements below/above something so that it doesn't displace the someting vertically.






      share|improve this answer

























        up vote
        4
        down vote













        When you look at the definition of underbrace (or overbrace) you'll see the following:



        > underbrace=macro:
        #1->mathop {vtop {m@th ialign {##crcr $hfil displaystyle {#1}hfil $crcr
        noalign {kern 3p@ nointerlineskip }upbracefill crcr noalign {kern 3p@
        }}}}limits .


        It shows that the first (and only) argument to underbrace is set as a math operator and closes with limits. And, math operators have their limits (superscripts and subscripts) set on top/below it. It's therefore no surprise that you can do:



        enter image description here



        $underbrace{abcd}_{dcba} underbrace{abcd}^{dcba}$


        It's treated like a math operator because that's the primitive way of stacking elements below/above something so that it doesn't displace the someting vertically.






        share|improve this answer























          up vote
          4
          down vote










          up vote
          4
          down vote









          When you look at the definition of underbrace (or overbrace) you'll see the following:



          > underbrace=macro:
          #1->mathop {vtop {m@th ialign {##crcr $hfil displaystyle {#1}hfil $crcr
          noalign {kern 3p@ nointerlineskip }upbracefill crcr noalign {kern 3p@
          }}}}limits .


          It shows that the first (and only) argument to underbrace is set as a math operator and closes with limits. And, math operators have their limits (superscripts and subscripts) set on top/below it. It's therefore no surprise that you can do:



          enter image description here



          $underbrace{abcd}_{dcba} underbrace{abcd}^{dcba}$


          It's treated like a math operator because that's the primitive way of stacking elements below/above something so that it doesn't displace the someting vertically.






          share|improve this answer












          When you look at the definition of underbrace (or overbrace) you'll see the following:



          > underbrace=macro:
          #1->mathop {vtop {m@th ialign {##crcr $hfil displaystyle {#1}hfil $crcr
          noalign {kern 3p@ nointerlineskip }upbracefill crcr noalign {kern 3p@
          }}}}limits .


          It shows that the first (and only) argument to underbrace is set as a math operator and closes with limits. And, math operators have their limits (superscripts and subscripts) set on top/below it. It's therefore no surprise that you can do:



          enter image description here



          $underbrace{abcd}_{dcba} underbrace{abcd}^{dcba}$


          It's treated like a math operator because that's the primitive way of stacking elements below/above something so that it doesn't displace the someting vertically.







          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered Dec 5 at 3:59









          Werner

          435k619551643




          435k619551643






















              up vote
              1
              down vote













              I think it's much easier to iterate with the underscore syntax. For example



              documentclass{article}
              usepackage{amsmath}
              begin{document}
              begin{equation*}
              underbrace{left(frac12+frac13right)}_{
              >underbrace{frac14+frac14}_{
              underbrace{2cdot frac14}_{
              frac12
              }
              }
              }
              quad + quad
              underbrace{left(frac14+frac15+frac16+frac17right)}_{
              >underbrace{frac18+frac18+frac18+frac18}_{
              underbrace{4cdot frac18}_{
              frac12
              }
              }
              }
              quad > quad frac12+frac12
              end{equation*}

              end{document}


              Try to do the same with the "option" syntax. The point is that with the "underscore" syntax, you write the code for the iteration sequentially, from left to right, similarly to what the output will look like, while with the option syntax, you'd end up writing from right to left, so the bottom 1/2 in the output will be the leftmost formula after the three underbrace commands.



              iterating underbrace






              share|improve this answer



























                up vote
                1
                down vote













                I think it's much easier to iterate with the underscore syntax. For example



                documentclass{article}
                usepackage{amsmath}
                begin{document}
                begin{equation*}
                underbrace{left(frac12+frac13right)}_{
                >underbrace{frac14+frac14}_{
                underbrace{2cdot frac14}_{
                frac12
                }
                }
                }
                quad + quad
                underbrace{left(frac14+frac15+frac16+frac17right)}_{
                >underbrace{frac18+frac18+frac18+frac18}_{
                underbrace{4cdot frac18}_{
                frac12
                }
                }
                }
                quad > quad frac12+frac12
                end{equation*}

                end{document}


                Try to do the same with the "option" syntax. The point is that with the "underscore" syntax, you write the code for the iteration sequentially, from left to right, similarly to what the output will look like, while with the option syntax, you'd end up writing from right to left, so the bottom 1/2 in the output will be the leftmost formula after the three underbrace commands.



                iterating underbrace






                share|improve this answer

























                  up vote
                  1
                  down vote










                  up vote
                  1
                  down vote









                  I think it's much easier to iterate with the underscore syntax. For example



                  documentclass{article}
                  usepackage{amsmath}
                  begin{document}
                  begin{equation*}
                  underbrace{left(frac12+frac13right)}_{
                  >underbrace{frac14+frac14}_{
                  underbrace{2cdot frac14}_{
                  frac12
                  }
                  }
                  }
                  quad + quad
                  underbrace{left(frac14+frac15+frac16+frac17right)}_{
                  >underbrace{frac18+frac18+frac18+frac18}_{
                  underbrace{4cdot frac18}_{
                  frac12
                  }
                  }
                  }
                  quad > quad frac12+frac12
                  end{equation*}

                  end{document}


                  Try to do the same with the "option" syntax. The point is that with the "underscore" syntax, you write the code for the iteration sequentially, from left to right, similarly to what the output will look like, while with the option syntax, you'd end up writing from right to left, so the bottom 1/2 in the output will be the leftmost formula after the three underbrace commands.



                  iterating underbrace






                  share|improve this answer














                  I think it's much easier to iterate with the underscore syntax. For example



                  documentclass{article}
                  usepackage{amsmath}
                  begin{document}
                  begin{equation*}
                  underbrace{left(frac12+frac13right)}_{
                  >underbrace{frac14+frac14}_{
                  underbrace{2cdot frac14}_{
                  frac12
                  }
                  }
                  }
                  quad + quad
                  underbrace{left(frac14+frac15+frac16+frac17right)}_{
                  >underbrace{frac18+frac18+frac18+frac18}_{
                  underbrace{4cdot frac18}_{
                  frac12
                  }
                  }
                  }
                  quad > quad frac12+frac12
                  end{equation*}

                  end{document}


                  Try to do the same with the "option" syntax. The point is that with the "underscore" syntax, you write the code for the iteration sequentially, from left to right, similarly to what the output will look like, while with the option syntax, you'd end up writing from right to left, so the bottom 1/2 in the output will be the leftmost formula after the three underbrace commands.



                  iterating underbrace







                  share|improve this answer














                  share|improve this answer



                  share|improve this answer








                  edited Dec 5 at 3:56

























                  answered Dec 5 at 3:21









                  Máté Wierdl

                  40928




                  40928






























                      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.





                      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.




                      draft saved


                      draft discarded














                      StackExchange.ready(
                      function () {
                      StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2ftex.stackexchange.com%2fquestions%2f462798%2fwhy-underbrace-has-instead-of-an-optional-parameter%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

                      Quarter-circle Tiles

                      build a pushdown automaton that recognizes the reverse language of a given pushdown automaton?

                      Mont Emei