What is this newcommand argument?












2















newcommand*{name}[1][C]{%


I have come very familiar with newcommand however, I came across this line of code and i do not know what the [C] is for.










share|improve this question









New contributor




Jesus Escareno is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
















  • 2





    Welcome to TeX.SE! This means in this case that name has one optional argument whose default value is C.

    – marmot
    3 hours ago











  • latexref.xyz/…

    – Henri Menke
    3 hours ago











  • @HenriMenke Is there a more modern link in which things like it do not get advertized?

    – marmot
    3 hours ago











  • @marmot Well, it etc. are commands provided by the standard LaTeX classes, so naturally they would be listed in a reference manual. However, you can contribute and remove them latexref.xyz/dev/writing.html

    – Henri Menke
    2 hours ago






  • 2





    Possible duplicate of newcommand argument confusion

    – Alan Munn
    44 mins ago
















2















newcommand*{name}[1][C]{%


I have come very familiar with newcommand however, I came across this line of code and i do not know what the [C] is for.










share|improve this question









New contributor




Jesus Escareno is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
















  • 2





    Welcome to TeX.SE! This means in this case that name has one optional argument whose default value is C.

    – marmot
    3 hours ago











  • latexref.xyz/…

    – Henri Menke
    3 hours ago











  • @HenriMenke Is there a more modern link in which things like it do not get advertized?

    – marmot
    3 hours ago











  • @marmot Well, it etc. are commands provided by the standard LaTeX classes, so naturally they would be listed in a reference manual. However, you can contribute and remove them latexref.xyz/dev/writing.html

    – Henri Menke
    2 hours ago






  • 2





    Possible duplicate of newcommand argument confusion

    – Alan Munn
    44 mins ago














2












2








2








newcommand*{name}[1][C]{%


I have come very familiar with newcommand however, I came across this line of code and i do not know what the [C] is for.










share|improve this question









New contributor




Jesus Escareno is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.












newcommand*{name}[1][C]{%


I have come very familiar with newcommand however, I came across this line of code and i do not know what the [C] is for.







macros arguments






share|improve this question









New contributor




Jesus Escareno is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.











share|improve this question









New contributor




Jesus Escareno is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.









share|improve this question




share|improve this question








edited 47 mins ago









Werner

440k669691662




440k669691662






New contributor




Jesus Escareno is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.









asked 3 hours ago









Jesus EscarenoJesus Escareno

111




111




New contributor




Jesus Escareno is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.





New contributor





Jesus Escareno is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.






Jesus Escareno is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.








  • 2





    Welcome to TeX.SE! This means in this case that name has one optional argument whose default value is C.

    – marmot
    3 hours ago











  • latexref.xyz/…

    – Henri Menke
    3 hours ago











  • @HenriMenke Is there a more modern link in which things like it do not get advertized?

    – marmot
    3 hours ago











  • @marmot Well, it etc. are commands provided by the standard LaTeX classes, so naturally they would be listed in a reference manual. However, you can contribute and remove them latexref.xyz/dev/writing.html

    – Henri Menke
    2 hours ago






  • 2





    Possible duplicate of newcommand argument confusion

    – Alan Munn
    44 mins ago














  • 2





    Welcome to TeX.SE! This means in this case that name has one optional argument whose default value is C.

    – marmot
    3 hours ago











  • latexref.xyz/…

    – Henri Menke
    3 hours ago











  • @HenriMenke Is there a more modern link in which things like it do not get advertized?

    – marmot
    3 hours ago











  • @marmot Well, it etc. are commands provided by the standard LaTeX classes, so naturally they would be listed in a reference manual. However, you can contribute and remove them latexref.xyz/dev/writing.html

    – Henri Menke
    2 hours ago






  • 2





    Possible duplicate of newcommand argument confusion

    – Alan Munn
    44 mins ago








2




2





Welcome to TeX.SE! This means in this case that name has one optional argument whose default value is C.

– marmot
3 hours ago





Welcome to TeX.SE! This means in this case that name has one optional argument whose default value is C.

– marmot
3 hours ago













latexref.xyz/…

– Henri Menke
3 hours ago





latexref.xyz/…

– Henri Menke
3 hours ago













@HenriMenke Is there a more modern link in which things like it do not get advertized?

– marmot
3 hours ago





@HenriMenke Is there a more modern link in which things like it do not get advertized?

– marmot
3 hours ago













@marmot Well, it etc. are commands provided by the standard LaTeX classes, so naturally they would be listed in a reference manual. However, you can contribute and remove them latexref.xyz/dev/writing.html

– Henri Menke
2 hours ago





@marmot Well, it etc. are commands provided by the standard LaTeX classes, so naturally they would be listed in a reference manual. However, you can contribute and remove them latexref.xyz/dev/writing.html

– Henri Menke
2 hours ago




2




2





Possible duplicate of newcommand argument confusion

– Alan Munn
44 mins ago





Possible duplicate of newcommand argument confusion

– Alan Munn
44 mins ago










1 Answer
1






active

oldest

votes


















3














LaTeX's newcommand has the following syntax:




newcommand *{<FOO>}[<i>]{<TEXT>}


User command to define FOO to be a macro with i arguments (i = 0 if missing)
having the definition <TEXT>. Produces an error if FOO already defined.
Normally the command is defined to be long (i.e. it may take multiple paragraphs in its argument). In the star-form, the command is not defined as long
and a blank line in any argument to the command would generate an error.




If you define a command with at least one argument (i > 0), you can specify an additional (optional) argument before the definition <TEXT>. This optional argument will be used as the "default" value for a first optional argument to FOO.



So, as an example, consider



newcommand{FOO}[2]{<TEXT>}


This command has two mandatory arguments and is therefore used as FOO{<one>}{<two>}. However,



newcommand{FOO}[2][X]{<TEXT>}


takes two (2) arguments, the first of which is optional and has a default of X (if not supplied). You can use it as FOO{<one>} (which is equivalent to FOO[X]{<one>}) or FOO[<one>]{<two>}. Similarly,



newcommand{FOO}[1][X]{<TEXT>}


takes a single (1) optional argument that has a default value of X (if not supplied) and can be used as FOO (which is equivalent to FOO[X]) or FOO[<one>].





In your particular case,



newcommand*{name}[1][C]{<TEXT>}


defines name to (be non-long; that is, <TEXT> cannot have blank lines and) take a single (1) optional argument that defaults to C if not supplied. You can use it as name (which is equivalent to name[C]) or name[<one>].



Reference:




  • LaTeX2e sources


  • What do newcommand, renewcommand, and providecommand do, and how do they differ?


  • What is the difference between def and newcommand?







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


    }
    });






    Jesus Escareno is a new contributor. Be nice, and check out our Code of Conduct.










    draft saved

    draft discarded


















    StackExchange.ready(
    function () {
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2ftex.stackexchange.com%2fquestions%2f471077%2fwhat-is-this-newcommand-argument%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









    3














    LaTeX's newcommand has the following syntax:




    newcommand *{<FOO>}[<i>]{<TEXT>}


    User command to define FOO to be a macro with i arguments (i = 0 if missing)
    having the definition <TEXT>. Produces an error if FOO already defined.
    Normally the command is defined to be long (i.e. it may take multiple paragraphs in its argument). In the star-form, the command is not defined as long
    and a blank line in any argument to the command would generate an error.




    If you define a command with at least one argument (i > 0), you can specify an additional (optional) argument before the definition <TEXT>. This optional argument will be used as the "default" value for a first optional argument to FOO.



    So, as an example, consider



    newcommand{FOO}[2]{<TEXT>}


    This command has two mandatory arguments and is therefore used as FOO{<one>}{<two>}. However,



    newcommand{FOO}[2][X]{<TEXT>}


    takes two (2) arguments, the first of which is optional and has a default of X (if not supplied). You can use it as FOO{<one>} (which is equivalent to FOO[X]{<one>}) or FOO[<one>]{<two>}. Similarly,



    newcommand{FOO}[1][X]{<TEXT>}


    takes a single (1) optional argument that has a default value of X (if not supplied) and can be used as FOO (which is equivalent to FOO[X]) or FOO[<one>].





    In your particular case,



    newcommand*{name}[1][C]{<TEXT>}


    defines name to (be non-long; that is, <TEXT> cannot have blank lines and) take a single (1) optional argument that defaults to C if not supplied. You can use it as name (which is equivalent to name[C]) or name[<one>].



    Reference:




    • LaTeX2e sources


    • What do newcommand, renewcommand, and providecommand do, and how do they differ?


    • What is the difference between def and newcommand?







    share|improve this answer




























      3














      LaTeX's newcommand has the following syntax:




      newcommand *{<FOO>}[<i>]{<TEXT>}


      User command to define FOO to be a macro with i arguments (i = 0 if missing)
      having the definition <TEXT>. Produces an error if FOO already defined.
      Normally the command is defined to be long (i.e. it may take multiple paragraphs in its argument). In the star-form, the command is not defined as long
      and a blank line in any argument to the command would generate an error.




      If you define a command with at least one argument (i > 0), you can specify an additional (optional) argument before the definition <TEXT>. This optional argument will be used as the "default" value for a first optional argument to FOO.



      So, as an example, consider



      newcommand{FOO}[2]{<TEXT>}


      This command has two mandatory arguments and is therefore used as FOO{<one>}{<two>}. However,



      newcommand{FOO}[2][X]{<TEXT>}


      takes two (2) arguments, the first of which is optional and has a default of X (if not supplied). You can use it as FOO{<one>} (which is equivalent to FOO[X]{<one>}) or FOO[<one>]{<two>}. Similarly,



      newcommand{FOO}[1][X]{<TEXT>}


      takes a single (1) optional argument that has a default value of X (if not supplied) and can be used as FOO (which is equivalent to FOO[X]) or FOO[<one>].





      In your particular case,



      newcommand*{name}[1][C]{<TEXT>}


      defines name to (be non-long; that is, <TEXT> cannot have blank lines and) take a single (1) optional argument that defaults to C if not supplied. You can use it as name (which is equivalent to name[C]) or name[<one>].



      Reference:




      • LaTeX2e sources


      • What do newcommand, renewcommand, and providecommand do, and how do they differ?


      • What is the difference between def and newcommand?







      share|improve this answer


























        3












        3








        3







        LaTeX's newcommand has the following syntax:




        newcommand *{<FOO>}[<i>]{<TEXT>}


        User command to define FOO to be a macro with i arguments (i = 0 if missing)
        having the definition <TEXT>. Produces an error if FOO already defined.
        Normally the command is defined to be long (i.e. it may take multiple paragraphs in its argument). In the star-form, the command is not defined as long
        and a blank line in any argument to the command would generate an error.




        If you define a command with at least one argument (i > 0), you can specify an additional (optional) argument before the definition <TEXT>. This optional argument will be used as the "default" value for a first optional argument to FOO.



        So, as an example, consider



        newcommand{FOO}[2]{<TEXT>}


        This command has two mandatory arguments and is therefore used as FOO{<one>}{<two>}. However,



        newcommand{FOO}[2][X]{<TEXT>}


        takes two (2) arguments, the first of which is optional and has a default of X (if not supplied). You can use it as FOO{<one>} (which is equivalent to FOO[X]{<one>}) or FOO[<one>]{<two>}. Similarly,



        newcommand{FOO}[1][X]{<TEXT>}


        takes a single (1) optional argument that has a default value of X (if not supplied) and can be used as FOO (which is equivalent to FOO[X]) or FOO[<one>].





        In your particular case,



        newcommand*{name}[1][C]{<TEXT>}


        defines name to (be non-long; that is, <TEXT> cannot have blank lines and) take a single (1) optional argument that defaults to C if not supplied. You can use it as name (which is equivalent to name[C]) or name[<one>].



        Reference:




        • LaTeX2e sources


        • What do newcommand, renewcommand, and providecommand do, and how do they differ?


        • What is the difference between def and newcommand?







        share|improve this answer













        LaTeX's newcommand has the following syntax:




        newcommand *{<FOO>}[<i>]{<TEXT>}


        User command to define FOO to be a macro with i arguments (i = 0 if missing)
        having the definition <TEXT>. Produces an error if FOO already defined.
        Normally the command is defined to be long (i.e. it may take multiple paragraphs in its argument). In the star-form, the command is not defined as long
        and a blank line in any argument to the command would generate an error.




        If you define a command with at least one argument (i > 0), you can specify an additional (optional) argument before the definition <TEXT>. This optional argument will be used as the "default" value for a first optional argument to FOO.



        So, as an example, consider



        newcommand{FOO}[2]{<TEXT>}


        This command has two mandatory arguments and is therefore used as FOO{<one>}{<two>}. However,



        newcommand{FOO}[2][X]{<TEXT>}


        takes two (2) arguments, the first of which is optional and has a default of X (if not supplied). You can use it as FOO{<one>} (which is equivalent to FOO[X]{<one>}) or FOO[<one>]{<two>}. Similarly,



        newcommand{FOO}[1][X]{<TEXT>}


        takes a single (1) optional argument that has a default value of X (if not supplied) and can be used as FOO (which is equivalent to FOO[X]) or FOO[<one>].





        In your particular case,



        newcommand*{name}[1][C]{<TEXT>}


        defines name to (be non-long; that is, <TEXT> cannot have blank lines and) take a single (1) optional argument that defaults to C if not supplied. You can use it as name (which is equivalent to name[C]) or name[<one>].



        Reference:




        • LaTeX2e sources


        • What do newcommand, renewcommand, and providecommand do, and how do they differ?


        • What is the difference between def and newcommand?








        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered 47 mins ago









        WernerWerner

        440k669691662




        440k669691662






















            Jesus Escareno is a new contributor. Be nice, and check out our Code of Conduct.










            draft saved

            draft discarded


















            Jesus Escareno is a new contributor. Be nice, and check out our Code of Conduct.













            Jesus Escareno is a new contributor. Be nice, and check out our Code of Conduct.












            Jesus Escareno is a new contributor. Be nice, and check out our Code of Conduct.
















            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%2f471077%2fwhat-is-this-newcommand-argument%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

            CARDNET

            Boot-repair Failure: Unable to locate package grub-common:i386

            濃尾地震