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

Is there a low-level alternative to Animate Objects?

Where is this triangular-shaped space station from?

Exponential growth/decay formula: what happened to the other constant of integration?

Reason Why Dimensional Travelling Would be Restricted

Equivalent to "source" in OpenBSD?

Significance and timing of "mux scans"

Make me a metasequence

Where was Karl Mordo in Infinity War?

Borrowing Characters

Does music exist in Panem? And if so, what kinds of music?

How to speed up a process

What is a term for a function that when called repeatedly, has the same effect as calling once?

Is there a German word for “analytics”?

You'll find me clean when something is full

How can atoms be electrically neutral when there is a difference in the positions of the charges?

Can you 'upgrade' leather armor to studded leather armor without purchasing the new armor directly?

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

How to count words in a line

As a new poet, where can I find help from a professional to judge my work?

Can this function be rewritten with a regex?

Should I choose Itemized or Standard deduction?

Understanding Kramnik's play in game 1 of Candidates 2018

How would we write a misogynistic character without offending people?

Contradiction with Banach Fixed Point Theorem



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
    6 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
    6 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
    6 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
    6 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 11 hours ago









Sebastiano

10.4k42060




10.4k42060










asked 14 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
    6 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
    6 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
    6 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
    6 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
6 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
6 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
6 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
6 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
    11 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
    10 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
    7 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
    7 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
    7 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
      11 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
      10 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
      7 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
      7 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
      7 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
      11 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
      10 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
      7 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
      7 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
      7 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 11 hours ago









    Ulrike FischerUlrike Fischer

    194k8302688




    194k8302688













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

      – red_trumpet
      11 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
      10 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
      7 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
      7 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
      7 hours ago



















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

      – red_trumpet
      11 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
      10 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
      7 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
      7 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
      7 hours ago

















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

    – red_trumpet
    11 hours ago





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

    – red_trumpet
    11 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
    10 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
    10 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
    7 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
    7 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
    7 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
    7 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
    7 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
    7 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 11 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

            Why does my Macbook overheat and use so much CPU and energy when on YouTube?Why do so many insist on using...

            How to prevent page numbers from appearing on glossaries?How to remove a dot and a page number in the...

            Puerta de Hutt Referencias Enlaces externos Menú de navegación15°58′00″S 5°42′00″O /...