fontspec breaks capital greek letters in DeclareMathOperatorWedge Power symbolReplacing greek glyphs in math...

The change directory (cd) command is not working with a USB drive

It took me a lot of time to make this, pls like. (YouTube Comments #1)

How to avoid being sexist when trying to employ someone to function in a very sexist environment?

What is the difference between throw e and throw new Exception(e)?

What am I? I am in theaters and computer programs

What does 'Linear regularities among words' mean?

Make me a metasequence

g++ and clang++ different behaviour with recursive initialization of a static member

How to add multiple differently colored borders around a node?

POVM three-qubit circuit for symmetric quantum states

Linear regression when Y is bounded and discrete

Book where the good guy lives backwards through time and the bad guy lives forward

What is the wife of a henpecked husband called?

When does inspiration across artforms become plagiarism

Is divide-by-zero a security vulnerability?

What do the pedals on grand pianos do?

CBP Reminds Travelers to Allow 72 Hours for ESTA. Why?

What's the purpose of these copper coils with resistors inside them in A Yamaha RX-V396RDS amplifier?

What is the difference between ashamed and shamed?

What is better: yes / no radio, or simple checkbox?

Hacker Rank: Array left rotation

What are these green text/line displays shown during the livestream of Crew Dragon's approach to dock with the ISS?

How to approximate rolls for potions of healing using only d6's?

What prevents the construction of a CPU with all necessary memory represented in registers?



fontspec breaks capital greek letters in DeclareMathOperator


Wedge Power symbolReplacing greek glyphs in math modeunicode-math breaks DeclareMathOperatorHow can I write curly capital Greek lettersProblem With Capital Greek Letterssetmainfont breaks DeclareMathOperatoraccent on capital Greek lettersDefine command for variable and use of capital Greek lettersDeclareMathOperator with capital Greek letterProblem with bold font of capital greek lettersnon-italic capital greek letters













5















Using fontspec together with amsmath breaks the use of capital greek letters in DeclareMathOperator. Instead, the greek letter just is omitted.



Here is a minimal working example:



%! TEX program = xelatex
documentclass{article}

usepackage{fontspec}
usepackage{amsmath}

DeclareMathOperator{exterior}{Lambda}

begin{document}
begin{align*}
exterior^k V \
Lambda^k V
end{align*}
end{document}


This is the output:



Two lines, first is the broken output, second is the expected output



Removing usepackage{fontspec} makes the Lambda appear.



Funnily enough, if one also adds unicode-math in the mix, i.e.



usepackage{fontspec}
usepackage{unicode-math}
usepackage{amsmath}


it works. But unicode-math recommends to load it after amsmath, so it can override commands. Though this breaks it again, which is really confusing to me.



Is there a sensible way to use fontspec and amsmath together? Did I miss something?










share|improve this question

























  • Alternatively, you could typeset the operator using a properly changed variant of wedge as shown here. (I guess that the convention of using Lambda for exterior product space powers is due to laziness, not semactics... using wedge seems more consistent to me.)

    – phg
    2 hours ago













  • Yeah I actually came from this. Though mostly the symbol is too big for my taste (e.g. bigwedge), or does not scale in subscripts (e.g. the solution using mbox). I also do not understand the more involved solutions, and am not particularly keen to add those.

    – red_trumpet
    2 hours ago


















5















Using fontspec together with amsmath breaks the use of capital greek letters in DeclareMathOperator. Instead, the greek letter just is omitted.



Here is a minimal working example:



%! TEX program = xelatex
documentclass{article}

usepackage{fontspec}
usepackage{amsmath}

DeclareMathOperator{exterior}{Lambda}

begin{document}
begin{align*}
exterior^k V \
Lambda^k V
end{align*}
end{document}


This is the output:



Two lines, first is the broken output, second is the expected output



Removing usepackage{fontspec} makes the Lambda appear.



Funnily enough, if one also adds unicode-math in the mix, i.e.



usepackage{fontspec}
usepackage{unicode-math}
usepackage{amsmath}


it works. But unicode-math recommends to load it after amsmath, so it can override commands. Though this breaks it again, which is really confusing to me.



Is there a sensible way to use fontspec and amsmath together? Did I miss something?










share|improve this question

























  • Alternatively, you could typeset the operator using a properly changed variant of wedge as shown here. (I guess that the convention of using Lambda for exterior product space powers is due to laziness, not semactics... using wedge seems more consistent to me.)

    – phg
    2 hours ago













  • Yeah I actually came from this. Though mostly the symbol is too big for my taste (e.g. bigwedge), or does not scale in subscripts (e.g. the solution using mbox). I also do not understand the more involved solutions, and am not particularly keen to add those.

    – red_trumpet
    2 hours ago
















5












5








5


1






Using fontspec together with amsmath breaks the use of capital greek letters in DeclareMathOperator. Instead, the greek letter just is omitted.



Here is a minimal working example:



%! TEX program = xelatex
documentclass{article}

usepackage{fontspec}
usepackage{amsmath}

DeclareMathOperator{exterior}{Lambda}

begin{document}
begin{align*}
exterior^k V \
Lambda^k V
end{align*}
end{document}


This is the output:



Two lines, first is the broken output, second is the expected output



Removing usepackage{fontspec} makes the Lambda appear.



Funnily enough, if one also adds unicode-math in the mix, i.e.



usepackage{fontspec}
usepackage{unicode-math}
usepackage{amsmath}


it works. But unicode-math recommends to load it after amsmath, so it can override commands. Though this breaks it again, which is really confusing to me.



Is there a sensible way to use fontspec and amsmath together? Did I miss something?










share|improve this question
















Using fontspec together with amsmath breaks the use of capital greek letters in DeclareMathOperator. Instead, the greek letter just is omitted.



Here is a minimal working example:



%! TEX program = xelatex
documentclass{article}

usepackage{fontspec}
usepackage{amsmath}

DeclareMathOperator{exterior}{Lambda}

begin{document}
begin{align*}
exterior^k V \
Lambda^k V
end{align*}
end{document}


This is the output:



Two lines, first is the broken output, second is the expected output



Removing usepackage{fontspec} makes the Lambda appear.



Funnily enough, if one also adds unicode-math in the mix, i.e.



usepackage{fontspec}
usepackage{unicode-math}
usepackage{amsmath}


it works. But unicode-math recommends to load it after amsmath, so it can override commands. Though this breaks it again, which is really confusing to me.



Is there a sensible way to use fontspec and amsmath together? Did I miss something?







math-mode xetex amsmath fontspec greek






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited 7 hours ago









Sebastiano

10.4k42060




10.4k42060










asked 10 hours ago









red_trumpetred_trumpet

20629




20629













  • Alternatively, you could typeset the operator using a properly changed variant of wedge as shown here. (I guess that the convention of using Lambda for exterior product space powers is due to laziness, not semactics... using wedge seems more consistent to me.)

    – phg
    2 hours ago













  • Yeah I actually came from this. Though mostly the symbol is too big for my taste (e.g. bigwedge), or does not scale in subscripts (e.g. the solution using mbox). I also do not understand the more involved solutions, and am not particularly keen to add those.

    – red_trumpet
    2 hours ago





















  • Alternatively, you could typeset the operator using a properly changed variant of wedge as shown here. (I guess that the convention of using Lambda for exterior product space powers is due to laziness, not semactics... using wedge seems more consistent to me.)

    – phg
    2 hours ago













  • Yeah I actually came from this. Though mostly the symbol is too big for my taste (e.g. bigwedge), or does not scale in subscripts (e.g. the solution using mbox). I also do not understand the more involved solutions, and am not particularly keen to add those.

    – red_trumpet
    2 hours ago



















Alternatively, you could typeset the operator using a properly changed variant of wedge as shown here. (I guess that the convention of using Lambda for exterior product space powers is due to laziness, not semactics... using wedge seems more consistent to me.)

– phg
2 hours ago







Alternatively, you could typeset the operator using a properly changed variant of wedge as shown here. (I guess that the convention of using Lambda for exterior product space powers is due to laziness, not semactics... using wedge seems more consistent to me.)

– phg
2 hours ago















Yeah I actually came from this. Though mostly the symbol is too big for my taste (e.g. bigwedge), or does not scale in subscripts (e.g. the solution using mbox). I also do not understand the more involved solutions, and am not particularly keen to add those.

– red_trumpet
2 hours ago







Yeah I actually came from this. Though mostly the symbol is too big for my taste (e.g. bigwedge), or does not scale in subscripts (e.g. the solution using mbox). I also do not understand the more involved solutions, and am not particularly keen to add those.

– red_trumpet
2 hours ago












2 Answers
2






active

oldest

votes


















7














DeclareMathOperator uses internally the operator font, and this is changed by fontspec. Why the new font does have a Lambda, it doesn't have it in the same glyph slot.



You could either load fontspec with the [no-math] option, or use the real glyph:



documentclass{article}
usepackage{amsmath}
usepackage{fontspec}

DeclareMathOperator{exterior}{Λ}
begin{document}


begin{align*}
exterior^k V\
Lambda^k V
end{align*}
end{document}


enter image description here






share|improve this answer
























  • Thanks. Any idea why the glyph slot is changed? That seems not very reasonable...

    – red_trumpet
    6 hours ago











  • unicode engines and unicode fonts do change slots. You can't expect that a Lambda is at the same place in a OT1 legacy font than in unicode font.

    – Ulrike Fischer
    6 hours ago






  • 1





    @red_trumpet It’s a little complicated to go into in the comments. Traditionally, Lambda came from a special math-letter font in the legacy OML encoding. Then, amsmath operators set the font to operator@font and are really intended to typeset text like sin or log. If you load fontspec, it tries to enable modern fonts in text mode and still support legacy math fonts that contain Lambda. One thing it does is change operator@font to the text font. But it does this in such a way that Lambda doesn’t work. It ends up trying to load the wrong codepoint.

    – Davislor
    2 hours ago








  • 1





    @red_trumpet The solution is to use a different command to either load the Unicode character Λ from the operator font (the default, Latin Modern Roman, has it), or use a different math-mode command to get a Lambda. For example, mathnormalLambda overrides the operator font and works (although this is slanted by default), upLambda from unicode-math, Uplambda, Lambdaup, etc. from various legacy packages.

    – Davislor
    2 hours ago








  • 1





    @red_trumpet Another alternative is not to use DeclareMathOperator at all. You can just define it as mathop{Lambda} to get operator-like spacing.

    – Davislor
    2 hours ago



















5














The definition of Lambda is mathchar"7003, which means that when operator@font is in effect, the glyph from slot 3 in that font is used, which doesn't exist.



You can avoid it with a trick:



documentclass{article}

usepackage{fontspec}
usepackage{amsmath}

newcommand{opgreek}[1]{begingroupmathgroup-1 #1endgroup}

DeclareMathOperator{exterior}{opgreek{Lambda}}

begin{document}

begin{align*}
exterior^k V \
Lambda^k V
end{align*}
end{document}


enter image description here



Otherwise



newcommand{exterior}{mathop{kern0ptLambda}}





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%2f477662%2ffontspec-breaks-capital-greek-letters-in-declaremathoperator%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









    7














    DeclareMathOperator uses internally the operator font, and this is changed by fontspec. Why the new font does have a Lambda, it doesn't have it in the same glyph slot.



    You could either load fontspec with the [no-math] option, or use the real glyph:



    documentclass{article}
    usepackage{amsmath}
    usepackage{fontspec}

    DeclareMathOperator{exterior}{Λ}
    begin{document}


    begin{align*}
    exterior^k V\
    Lambda^k V
    end{align*}
    end{document}


    enter image description here






    share|improve this answer
























    • Thanks. Any idea why the glyph slot is changed? That seems not very reasonable...

      – red_trumpet
      6 hours ago











    • unicode engines and unicode fonts do change slots. You can't expect that a Lambda is at the same place in a OT1 legacy font than in unicode font.

      – Ulrike Fischer
      6 hours ago






    • 1





      @red_trumpet It’s a little complicated to go into in the comments. Traditionally, Lambda came from a special math-letter font in the legacy OML encoding. Then, amsmath operators set the font to operator@font and are really intended to typeset text like sin or log. If you load fontspec, it tries to enable modern fonts in text mode and still support legacy math fonts that contain Lambda. One thing it does is change operator@font to the text font. But it does this in such a way that Lambda doesn’t work. It ends up trying to load the wrong codepoint.

      – Davislor
      2 hours ago








    • 1





      @red_trumpet The solution is to use a different command to either load the Unicode character Λ from the operator font (the default, Latin Modern Roman, has it), or use a different math-mode command to get a Lambda. For example, mathnormalLambda overrides the operator font and works (although this is slanted by default), upLambda from unicode-math, Uplambda, Lambdaup, etc. from various legacy packages.

      – Davislor
      2 hours ago








    • 1





      @red_trumpet Another alternative is not to use DeclareMathOperator at all. You can just define it as mathop{Lambda} to get operator-like spacing.

      – Davislor
      2 hours ago
















    7














    DeclareMathOperator uses internally the operator font, and this is changed by fontspec. Why the new font does have a Lambda, it doesn't have it in the same glyph slot.



    You could either load fontspec with the [no-math] option, or use the real glyph:



    documentclass{article}
    usepackage{amsmath}
    usepackage{fontspec}

    DeclareMathOperator{exterior}{Λ}
    begin{document}


    begin{align*}
    exterior^k V\
    Lambda^k V
    end{align*}
    end{document}


    enter image description here






    share|improve this answer
























    • Thanks. Any idea why the glyph slot is changed? That seems not very reasonable...

      – red_trumpet
      6 hours ago











    • unicode engines and unicode fonts do change slots. You can't expect that a Lambda is at the same place in a OT1 legacy font than in unicode font.

      – Ulrike Fischer
      6 hours ago






    • 1





      @red_trumpet It’s a little complicated to go into in the comments. Traditionally, Lambda came from a special math-letter font in the legacy OML encoding. Then, amsmath operators set the font to operator@font and are really intended to typeset text like sin or log. If you load fontspec, it tries to enable modern fonts in text mode and still support legacy math fonts that contain Lambda. One thing it does is change operator@font to the text font. But it does this in such a way that Lambda doesn’t work. It ends up trying to load the wrong codepoint.

      – Davislor
      2 hours ago








    • 1





      @red_trumpet The solution is to use a different command to either load the Unicode character Λ from the operator font (the default, Latin Modern Roman, has it), or use a different math-mode command to get a Lambda. For example, mathnormalLambda overrides the operator font and works (although this is slanted by default), upLambda from unicode-math, Uplambda, Lambdaup, etc. from various legacy packages.

      – Davislor
      2 hours ago








    • 1





      @red_trumpet Another alternative is not to use DeclareMathOperator at all. You can just define it as mathop{Lambda} to get operator-like spacing.

      – Davislor
      2 hours ago














    7












    7








    7







    DeclareMathOperator uses internally the operator font, and this is changed by fontspec. Why the new font does have a Lambda, it doesn't have it in the same glyph slot.



    You could either load fontspec with the [no-math] option, or use the real glyph:



    documentclass{article}
    usepackage{amsmath}
    usepackage{fontspec}

    DeclareMathOperator{exterior}{Λ}
    begin{document}


    begin{align*}
    exterior^k V\
    Lambda^k V
    end{align*}
    end{document}


    enter image description here






    share|improve this answer













    DeclareMathOperator uses internally the operator font, and this is changed by fontspec. Why the new font does have a Lambda, it doesn't have it in the same glyph slot.



    You could either load fontspec with the [no-math] option, or use the real glyph:



    documentclass{article}
    usepackage{amsmath}
    usepackage{fontspec}

    DeclareMathOperator{exterior}{Λ}
    begin{document}


    begin{align*}
    exterior^k V\
    Lambda^k V
    end{align*}
    end{document}


    enter image description here







    share|improve this answer












    share|improve this answer



    share|improve this answer










    answered 7 hours ago









    Ulrike FischerUlrike Fischer

    194k8302687




    194k8302687













    • Thanks. Any idea why the glyph slot is changed? That seems not very reasonable...

      – red_trumpet
      6 hours ago











    • unicode engines and unicode fonts do change slots. You can't expect that a Lambda is at the same place in a OT1 legacy font than in unicode font.

      – Ulrike Fischer
      6 hours ago






    • 1





      @red_trumpet It’s a little complicated to go into in the comments. Traditionally, Lambda came from a special math-letter font in the legacy OML encoding. Then, amsmath operators set the font to operator@font and are really intended to typeset text like sin or log. If you load fontspec, it tries to enable modern fonts in text mode and still support legacy math fonts that contain Lambda. One thing it does is change operator@font to the text font. But it does this in such a way that Lambda doesn’t work. It ends up trying to load the wrong codepoint.

      – Davislor
      2 hours ago








    • 1





      @red_trumpet The solution is to use a different command to either load the Unicode character Λ from the operator font (the default, Latin Modern Roman, has it), or use a different math-mode command to get a Lambda. For example, mathnormalLambda overrides the operator font and works (although this is slanted by default), upLambda from unicode-math, Uplambda, Lambdaup, etc. from various legacy packages.

      – Davislor
      2 hours ago








    • 1





      @red_trumpet Another alternative is not to use DeclareMathOperator at all. You can just define it as mathop{Lambda} to get operator-like spacing.

      – Davislor
      2 hours ago



















    • Thanks. Any idea why the glyph slot is changed? That seems not very reasonable...

      – red_trumpet
      6 hours ago











    • unicode engines and unicode fonts do change slots. You can't expect that a Lambda is at the same place in a OT1 legacy font than in unicode font.

      – Ulrike Fischer
      6 hours ago






    • 1





      @red_trumpet It’s a little complicated to go into in the comments. Traditionally, Lambda came from a special math-letter font in the legacy OML encoding. Then, amsmath operators set the font to operator@font and are really intended to typeset text like sin or log. If you load fontspec, it tries to enable modern fonts in text mode and still support legacy math fonts that contain Lambda. One thing it does is change operator@font to the text font. But it does this in such a way that Lambda doesn’t work. It ends up trying to load the wrong codepoint.

      – Davislor
      2 hours ago








    • 1





      @red_trumpet The solution is to use a different command to either load the Unicode character Λ from the operator font (the default, Latin Modern Roman, has it), or use a different math-mode command to get a Lambda. For example, mathnormalLambda overrides the operator font and works (although this is slanted by default), upLambda from unicode-math, Uplambda, Lambdaup, etc. from various legacy packages.

      – Davislor
      2 hours ago








    • 1





      @red_trumpet Another alternative is not to use DeclareMathOperator at all. You can just define it as mathop{Lambda} to get operator-like spacing.

      – Davislor
      2 hours ago

















    Thanks. Any idea why the glyph slot is changed? That seems not very reasonable...

    – red_trumpet
    6 hours ago





    Thanks. Any idea why the glyph slot is changed? That seems not very reasonable...

    – red_trumpet
    6 hours ago













    unicode engines and unicode fonts do change slots. You can't expect that a Lambda is at the same place in a OT1 legacy font than in unicode font.

    – Ulrike Fischer
    6 hours ago





    unicode engines and unicode fonts do change slots. You can't expect that a Lambda is at the same place in a OT1 legacy font than in unicode font.

    – Ulrike Fischer
    6 hours ago




    1




    1





    @red_trumpet It’s a little complicated to go into in the comments. Traditionally, Lambda came from a special math-letter font in the legacy OML encoding. Then, amsmath operators set the font to operator@font and are really intended to typeset text like sin or log. If you load fontspec, it tries to enable modern fonts in text mode and still support legacy math fonts that contain Lambda. One thing it does is change operator@font to the text font. But it does this in such a way that Lambda doesn’t work. It ends up trying to load the wrong codepoint.

    – Davislor
    2 hours ago







    @red_trumpet It’s a little complicated to go into in the comments. Traditionally, Lambda came from a special math-letter font in the legacy OML encoding. Then, amsmath operators set the font to operator@font and are really intended to typeset text like sin or log. If you load fontspec, it tries to enable modern fonts in text mode and still support legacy math fonts that contain Lambda. One thing it does is change operator@font to the text font. But it does this in such a way that Lambda doesn’t work. It ends up trying to load the wrong codepoint.

    – Davislor
    2 hours ago






    1




    1





    @red_trumpet The solution is to use a different command to either load the Unicode character Λ from the operator font (the default, Latin Modern Roman, has it), or use a different math-mode command to get a Lambda. For example, mathnormalLambda overrides the operator font and works (although this is slanted by default), upLambda from unicode-math, Uplambda, Lambdaup, etc. from various legacy packages.

    – Davislor
    2 hours ago







    @red_trumpet The solution is to use a different command to either load the Unicode character Λ from the operator font (the default, Latin Modern Roman, has it), or use a different math-mode command to get a Lambda. For example, mathnormalLambda overrides the operator font and works (although this is slanted by default), upLambda from unicode-math, Uplambda, Lambdaup, etc. from various legacy packages.

    – Davislor
    2 hours ago






    1




    1





    @red_trumpet Another alternative is not to use DeclareMathOperator at all. You can just define it as mathop{Lambda} to get operator-like spacing.

    – Davislor
    2 hours ago





    @red_trumpet Another alternative is not to use DeclareMathOperator at all. You can just define it as mathop{Lambda} to get operator-like spacing.

    – Davislor
    2 hours ago











    5














    The definition of Lambda is mathchar"7003, which means that when operator@font is in effect, the glyph from slot 3 in that font is used, which doesn't exist.



    You can avoid it with a trick:



    documentclass{article}

    usepackage{fontspec}
    usepackage{amsmath}

    newcommand{opgreek}[1]{begingroupmathgroup-1 #1endgroup}

    DeclareMathOperator{exterior}{opgreek{Lambda}}

    begin{document}

    begin{align*}
    exterior^k V \
    Lambda^k V
    end{align*}
    end{document}


    enter image description here



    Otherwise



    newcommand{exterior}{mathop{kern0ptLambda}}





    share|improve this answer




























      5














      The definition of Lambda is mathchar"7003, which means that when operator@font is in effect, the glyph from slot 3 in that font is used, which doesn't exist.



      You can avoid it with a trick:



      documentclass{article}

      usepackage{fontspec}
      usepackage{amsmath}

      newcommand{opgreek}[1]{begingroupmathgroup-1 #1endgroup}

      DeclareMathOperator{exterior}{opgreek{Lambda}}

      begin{document}

      begin{align*}
      exterior^k V \
      Lambda^k V
      end{align*}
      end{document}


      enter image description here



      Otherwise



      newcommand{exterior}{mathop{kern0ptLambda}}





      share|improve this answer


























        5












        5








        5







        The definition of Lambda is mathchar"7003, which means that when operator@font is in effect, the glyph from slot 3 in that font is used, which doesn't exist.



        You can avoid it with a trick:



        documentclass{article}

        usepackage{fontspec}
        usepackage{amsmath}

        newcommand{opgreek}[1]{begingroupmathgroup-1 #1endgroup}

        DeclareMathOperator{exterior}{opgreek{Lambda}}

        begin{document}

        begin{align*}
        exterior^k V \
        Lambda^k V
        end{align*}
        end{document}


        enter image description here



        Otherwise



        newcommand{exterior}{mathop{kern0ptLambda}}





        share|improve this answer













        The definition of Lambda is mathchar"7003, which means that when operator@font is in effect, the glyph from slot 3 in that font is used, which doesn't exist.



        You can avoid it with a trick:



        documentclass{article}

        usepackage{fontspec}
        usepackage{amsmath}

        newcommand{opgreek}[1]{begingroupmathgroup-1 #1endgroup}

        DeclareMathOperator{exterior}{opgreek{Lambda}}

        begin{document}

        begin{align*}
        exterior^k V \
        Lambda^k V
        end{align*}
        end{document}


        enter image description here



        Otherwise



        newcommand{exterior}{mathop{kern0ptLambda}}






        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered 7 hours ago









        egregegreg

        724k8819173222




        724k8819173222






























            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%2f477662%2ffontspec-breaks-capital-greek-letters-in-declaremathoperator%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

            As a Security Precaution, the user account has been locked The Next CEO of Stack OverflowMS...

            Список ссавців Італії Природоохоронні статуси | Список |...

            Українські прізвища Зміст Історичні відомості |...