breqn is not compatible with icomma












1















Whenever I load the packages breqn and icomma into the same document, the document fails to compile. The order of the packages makes no difference. MWE:



documentclass{article}
usepackage{breqn}
usepackage{icomma}
begin{document}
Look mama, no hands!
end{document}


raises the following cryptic error:



This is pdfTeX, Version 3.14159265-2.6-1.40.18 (TeX Live 2017/Debian) (preloaded format=pdflatex)
restricted write18 enabled.
entering extended mode
(./test.tex
LaTeX2e <2017-04-15>
Babel <3.18> and hyphenation patterns for 84 language(s) loaded.
(/usr/share/texlive/texmf-dist/tex/latex/base/article.cls
Document Class: article 2014/09/29 v1.4h Standard LaTeX document class
.
. [lines omitted for brevity]
.
(/usr/share/texlive/texmf-dist/tex/latex/tools/calc.sty))
(/usr/share/texlive/texmf-dist/tex/latex/was/icomma.sty) (./test.aux)
! Bad mathchar (32768).
<to be read again>
mathcode
l.4 begin{document}

?


but compiles if either of the packages are commented out.



I could not find anyone else with this problem. Does anyone know of a workaround, or if not, who should this bug be reported to (I've never reported a bug to a package manager before)?










share|improve this question


















  • 1





    There are three very basic rules about breqn: (1) Don't use it. (2) Don't use it. (3) Don't use it. ;-)

    – marmot
    7 hours ago











  • As you might have guessed, I was using icomma before I tried using breqn, and after removing icomma for this specific document, I found that breqn also requires restructuring every single occurence of a_text{x} in that document – so I probably won't be using it after all, easier to manually set line breaks...

    – MrArsGravis
    7 hours ago






  • 1





    It is best to change a_text{x} in any case. the fact that the braces can be omitted is an accident of the implementation and is not documented markup, also it should usually be mathrm not text, so a_{mathrm{x}}

    – David Carlisle
    6 hours ago


















1















Whenever I load the packages breqn and icomma into the same document, the document fails to compile. The order of the packages makes no difference. MWE:



documentclass{article}
usepackage{breqn}
usepackage{icomma}
begin{document}
Look mama, no hands!
end{document}


raises the following cryptic error:



This is pdfTeX, Version 3.14159265-2.6-1.40.18 (TeX Live 2017/Debian) (preloaded format=pdflatex)
restricted write18 enabled.
entering extended mode
(./test.tex
LaTeX2e <2017-04-15>
Babel <3.18> and hyphenation patterns for 84 language(s) loaded.
(/usr/share/texlive/texmf-dist/tex/latex/base/article.cls
Document Class: article 2014/09/29 v1.4h Standard LaTeX document class
.
. [lines omitted for brevity]
.
(/usr/share/texlive/texmf-dist/tex/latex/tools/calc.sty))
(/usr/share/texlive/texmf-dist/tex/latex/was/icomma.sty) (./test.aux)
! Bad mathchar (32768).
<to be read again>
mathcode
l.4 begin{document}

?


but compiles if either of the packages are commented out.



I could not find anyone else with this problem. Does anyone know of a workaround, or if not, who should this bug be reported to (I've never reported a bug to a package manager before)?










share|improve this question


















  • 1





    There are three very basic rules about breqn: (1) Don't use it. (2) Don't use it. (3) Don't use it. ;-)

    – marmot
    7 hours ago











  • As you might have guessed, I was using icomma before I tried using breqn, and after removing icomma for this specific document, I found that breqn also requires restructuring every single occurence of a_text{x} in that document – so I probably won't be using it after all, easier to manually set line breaks...

    – MrArsGravis
    7 hours ago






  • 1





    It is best to change a_text{x} in any case. the fact that the braces can be omitted is an accident of the implementation and is not documented markup, also it should usually be mathrm not text, so a_{mathrm{x}}

    – David Carlisle
    6 hours ago
















1












1








1








Whenever I load the packages breqn and icomma into the same document, the document fails to compile. The order of the packages makes no difference. MWE:



documentclass{article}
usepackage{breqn}
usepackage{icomma}
begin{document}
Look mama, no hands!
end{document}


raises the following cryptic error:



This is pdfTeX, Version 3.14159265-2.6-1.40.18 (TeX Live 2017/Debian) (preloaded format=pdflatex)
restricted write18 enabled.
entering extended mode
(./test.tex
LaTeX2e <2017-04-15>
Babel <3.18> and hyphenation patterns for 84 language(s) loaded.
(/usr/share/texlive/texmf-dist/tex/latex/base/article.cls
Document Class: article 2014/09/29 v1.4h Standard LaTeX document class
.
. [lines omitted for brevity]
.
(/usr/share/texlive/texmf-dist/tex/latex/tools/calc.sty))
(/usr/share/texlive/texmf-dist/tex/latex/was/icomma.sty) (./test.aux)
! Bad mathchar (32768).
<to be read again>
mathcode
l.4 begin{document}

?


but compiles if either of the packages are commented out.



I could not find anyone else with this problem. Does anyone know of a workaround, or if not, who should this bug be reported to (I've never reported a bug to a package manager before)?










share|improve this question














Whenever I load the packages breqn and icomma into the same document, the document fails to compile. The order of the packages makes no difference. MWE:



documentclass{article}
usepackage{breqn}
usepackage{icomma}
begin{document}
Look mama, no hands!
end{document}


raises the following cryptic error:



This is pdfTeX, Version 3.14159265-2.6-1.40.18 (TeX Live 2017/Debian) (preloaded format=pdflatex)
restricted write18 enabled.
entering extended mode
(./test.tex
LaTeX2e <2017-04-15>
Babel <3.18> and hyphenation patterns for 84 language(s) loaded.
(/usr/share/texlive/texmf-dist/tex/latex/base/article.cls
Document Class: article 2014/09/29 v1.4h Standard LaTeX document class
.
. [lines omitted for brevity]
.
(/usr/share/texlive/texmf-dist/tex/latex/tools/calc.sty))
(/usr/share/texlive/texmf-dist/tex/latex/was/icomma.sty) (./test.aux)
! Bad mathchar (32768).
<to be read again>
mathcode
l.4 begin{document}

?


but compiles if either of the packages are commented out.



I could not find anyone else with this problem. Does anyone know of a workaround, or if not, who should this bug be reported to (I've never reported a bug to a package manager before)?







incompatibility breqn icomma






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked 7 hours ago









MrArsGravisMrArsGravis

183




183








  • 1





    There are three very basic rules about breqn: (1) Don't use it. (2) Don't use it. (3) Don't use it. ;-)

    – marmot
    7 hours ago











  • As you might have guessed, I was using icomma before I tried using breqn, and after removing icomma for this specific document, I found that breqn also requires restructuring every single occurence of a_text{x} in that document – so I probably won't be using it after all, easier to manually set line breaks...

    – MrArsGravis
    7 hours ago






  • 1





    It is best to change a_text{x} in any case. the fact that the braces can be omitted is an accident of the implementation and is not documented markup, also it should usually be mathrm not text, so a_{mathrm{x}}

    – David Carlisle
    6 hours ago
















  • 1





    There are three very basic rules about breqn: (1) Don't use it. (2) Don't use it. (3) Don't use it. ;-)

    – marmot
    7 hours ago











  • As you might have guessed, I was using icomma before I tried using breqn, and after removing icomma for this specific document, I found that breqn also requires restructuring every single occurence of a_text{x} in that document – so I probably won't be using it after all, easier to manually set line breaks...

    – MrArsGravis
    7 hours ago






  • 1





    It is best to change a_text{x} in any case. the fact that the braces can be omitted is an accident of the implementation and is not documented markup, also it should usually be mathrm not text, so a_{mathrm{x}}

    – David Carlisle
    6 hours ago










1




1





There are three very basic rules about breqn: (1) Don't use it. (2) Don't use it. (3) Don't use it. ;-)

– marmot
7 hours ago





There are three very basic rules about breqn: (1) Don't use it. (2) Don't use it. (3) Don't use it. ;-)

– marmot
7 hours ago













As you might have guessed, I was using icomma before I tried using breqn, and after removing icomma for this specific document, I found that breqn also requires restructuring every single occurence of a_text{x} in that document – so I probably won't be using it after all, easier to manually set line breaks...

– MrArsGravis
7 hours ago





As you might have guessed, I was using icomma before I tried using breqn, and after removing icomma for this specific document, I found that breqn also requires restructuring every single occurence of a_text{x} in that document – so I probably won't be using it after all, easier to manually set line breaks...

– MrArsGravis
7 hours ago




1




1





It is best to change a_text{x} in any case. the fact that the braces can be omitted is an accident of the implementation and is not documented markup, also it should usually be mathrm not text, so a_{mathrm{x}}

– David Carlisle
6 hours ago







It is best to change a_text{x} in any case. the fact that the braces can be omitted is an accident of the implementation and is not documented markup, also it should usually be mathrm not text, so a_{mathrm{x}}

– David Carlisle
6 hours ago












2 Answers
2






active

oldest

votes


















1














It isn't really a bug. breqn by design has to re-implement almost every aspect of math processing and as documented is thus incompatible with more or less any other math mode definitions that are not explicitly written to work with breqn.



Really breqn is an unfinished experiment and sadly its original author died some years ago, and so it is probably not really recommended for use in a production document unless you have very tight control over the input and know it works well on that input, some large but regular output from symbolic computer algebra systems fall in this category.






share|improve this answer































    0














    Basically, breqn makes many characters math active, in order to achieve its goals. Also icomma wants to make the comma math active, assigning it a different definition and this obviously can't work, at least in environments governed by breqn.



    You may make the icomma version useable in standard math environments, but I see no real way to sneak it inside dmath or similar environments, where you have to resort to the standard {,} trick.



    documentclass{article}
    usepackage{breqn}

    makeatletter
    newifif@breqn
    g@addto@macro@dmath@start@hook{@breqntrue}
    g@addto@macro@dgroup@start@hook{@breqntrue}

    begingroup
    catcode`,=active
    globalletbreqn@comma=,
    gdeficomma@comma{futurelet@let@tokensm@rtcomma}
    gdef,{%
    if@breqn
    expandafter@firstoftwo
    else
    expandafter@secondoftwo
    fi
    breqn@commaicomma@comma
    }
    endgroup
    defsm@rtcomma{%
    ifx@let@token@sptoken else
    ifx@let@tokenspace else
    mathordfifi breqn@comma}
    makeatother

    begin{document}

    Look mama, no hands!

    $(a, b)=1,2$

    begin{dmath}
    (a,b)=1{,}2
    end{dmath}

    end{document}


    enter image description here



    The same output with siunitx and num.



    documentclass{article}
    usepackage{breqn}
    usepackage{siunitx}

    sisetup{output-decimal-marker={,}}

    begin{document}

    Look mama, no hands!

    $(a,b)=num{1,2}$

    begin{dmath}
    (a,b)=num{1,2}
    end{dmath}

    end{document}


    But follow marmot's advice: don't use breqn if you don't have huge and unreadable formulas generated by some external piece of software that you have no time to break manually.






    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%2f483845%2fbreqn-is-not-compatible-with-icomma%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









      1














      It isn't really a bug. breqn by design has to re-implement almost every aspect of math processing and as documented is thus incompatible with more or less any other math mode definitions that are not explicitly written to work with breqn.



      Really breqn is an unfinished experiment and sadly its original author died some years ago, and so it is probably not really recommended for use in a production document unless you have very tight control over the input and know it works well on that input, some large but regular output from symbolic computer algebra systems fall in this category.






      share|improve this answer




























        1














        It isn't really a bug. breqn by design has to re-implement almost every aspect of math processing and as documented is thus incompatible with more or less any other math mode definitions that are not explicitly written to work with breqn.



        Really breqn is an unfinished experiment and sadly its original author died some years ago, and so it is probably not really recommended for use in a production document unless you have very tight control over the input and know it works well on that input, some large but regular output from symbolic computer algebra systems fall in this category.






        share|improve this answer


























          1












          1








          1







          It isn't really a bug. breqn by design has to re-implement almost every aspect of math processing and as documented is thus incompatible with more or less any other math mode definitions that are not explicitly written to work with breqn.



          Really breqn is an unfinished experiment and sadly its original author died some years ago, and so it is probably not really recommended for use in a production document unless you have very tight control over the input and know it works well on that input, some large but regular output from symbolic computer algebra systems fall in this category.






          share|improve this answer













          It isn't really a bug. breqn by design has to re-implement almost every aspect of math processing and as documented is thus incompatible with more or less any other math mode definitions that are not explicitly written to work with breqn.



          Really breqn is an unfinished experiment and sadly its original author died some years ago, and so it is probably not really recommended for use in a production document unless you have very tight control over the input and know it works well on that input, some large but regular output from symbolic computer algebra systems fall in this category.







          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered 6 hours ago









          David CarlisleDavid Carlisle

          498k4111441893




          498k4111441893























              0














              Basically, breqn makes many characters math active, in order to achieve its goals. Also icomma wants to make the comma math active, assigning it a different definition and this obviously can't work, at least in environments governed by breqn.



              You may make the icomma version useable in standard math environments, but I see no real way to sneak it inside dmath or similar environments, where you have to resort to the standard {,} trick.



              documentclass{article}
              usepackage{breqn}

              makeatletter
              newifif@breqn
              g@addto@macro@dmath@start@hook{@breqntrue}
              g@addto@macro@dgroup@start@hook{@breqntrue}

              begingroup
              catcode`,=active
              globalletbreqn@comma=,
              gdeficomma@comma{futurelet@let@tokensm@rtcomma}
              gdef,{%
              if@breqn
              expandafter@firstoftwo
              else
              expandafter@secondoftwo
              fi
              breqn@commaicomma@comma
              }
              endgroup
              defsm@rtcomma{%
              ifx@let@token@sptoken else
              ifx@let@tokenspace else
              mathordfifi breqn@comma}
              makeatother

              begin{document}

              Look mama, no hands!

              $(a, b)=1,2$

              begin{dmath}
              (a,b)=1{,}2
              end{dmath}

              end{document}


              enter image description here



              The same output with siunitx and num.



              documentclass{article}
              usepackage{breqn}
              usepackage{siunitx}

              sisetup{output-decimal-marker={,}}

              begin{document}

              Look mama, no hands!

              $(a,b)=num{1,2}$

              begin{dmath}
              (a,b)=num{1,2}
              end{dmath}

              end{document}


              But follow marmot's advice: don't use breqn if you don't have huge and unreadable formulas generated by some external piece of software that you have no time to break manually.






              share|improve this answer




























                0














                Basically, breqn makes many characters math active, in order to achieve its goals. Also icomma wants to make the comma math active, assigning it a different definition and this obviously can't work, at least in environments governed by breqn.



                You may make the icomma version useable in standard math environments, but I see no real way to sneak it inside dmath or similar environments, where you have to resort to the standard {,} trick.



                documentclass{article}
                usepackage{breqn}

                makeatletter
                newifif@breqn
                g@addto@macro@dmath@start@hook{@breqntrue}
                g@addto@macro@dgroup@start@hook{@breqntrue}

                begingroup
                catcode`,=active
                globalletbreqn@comma=,
                gdeficomma@comma{futurelet@let@tokensm@rtcomma}
                gdef,{%
                if@breqn
                expandafter@firstoftwo
                else
                expandafter@secondoftwo
                fi
                breqn@commaicomma@comma
                }
                endgroup
                defsm@rtcomma{%
                ifx@let@token@sptoken else
                ifx@let@tokenspace else
                mathordfifi breqn@comma}
                makeatother

                begin{document}

                Look mama, no hands!

                $(a, b)=1,2$

                begin{dmath}
                (a,b)=1{,}2
                end{dmath}

                end{document}


                enter image description here



                The same output with siunitx and num.



                documentclass{article}
                usepackage{breqn}
                usepackage{siunitx}

                sisetup{output-decimal-marker={,}}

                begin{document}

                Look mama, no hands!

                $(a,b)=num{1,2}$

                begin{dmath}
                (a,b)=num{1,2}
                end{dmath}

                end{document}


                But follow marmot's advice: don't use breqn if you don't have huge and unreadable formulas generated by some external piece of software that you have no time to break manually.






                share|improve this answer


























                  0












                  0








                  0







                  Basically, breqn makes many characters math active, in order to achieve its goals. Also icomma wants to make the comma math active, assigning it a different definition and this obviously can't work, at least in environments governed by breqn.



                  You may make the icomma version useable in standard math environments, but I see no real way to sneak it inside dmath or similar environments, where you have to resort to the standard {,} trick.



                  documentclass{article}
                  usepackage{breqn}

                  makeatletter
                  newifif@breqn
                  g@addto@macro@dmath@start@hook{@breqntrue}
                  g@addto@macro@dgroup@start@hook{@breqntrue}

                  begingroup
                  catcode`,=active
                  globalletbreqn@comma=,
                  gdeficomma@comma{futurelet@let@tokensm@rtcomma}
                  gdef,{%
                  if@breqn
                  expandafter@firstoftwo
                  else
                  expandafter@secondoftwo
                  fi
                  breqn@commaicomma@comma
                  }
                  endgroup
                  defsm@rtcomma{%
                  ifx@let@token@sptoken else
                  ifx@let@tokenspace else
                  mathordfifi breqn@comma}
                  makeatother

                  begin{document}

                  Look mama, no hands!

                  $(a, b)=1,2$

                  begin{dmath}
                  (a,b)=1{,}2
                  end{dmath}

                  end{document}


                  enter image description here



                  The same output with siunitx and num.



                  documentclass{article}
                  usepackage{breqn}
                  usepackage{siunitx}

                  sisetup{output-decimal-marker={,}}

                  begin{document}

                  Look mama, no hands!

                  $(a,b)=num{1,2}$

                  begin{dmath}
                  (a,b)=num{1,2}
                  end{dmath}

                  end{document}


                  But follow marmot's advice: don't use breqn if you don't have huge and unreadable formulas generated by some external piece of software that you have no time to break manually.






                  share|improve this answer













                  Basically, breqn makes many characters math active, in order to achieve its goals. Also icomma wants to make the comma math active, assigning it a different definition and this obviously can't work, at least in environments governed by breqn.



                  You may make the icomma version useable in standard math environments, but I see no real way to sneak it inside dmath or similar environments, where you have to resort to the standard {,} trick.



                  documentclass{article}
                  usepackage{breqn}

                  makeatletter
                  newifif@breqn
                  g@addto@macro@dmath@start@hook{@breqntrue}
                  g@addto@macro@dgroup@start@hook{@breqntrue}

                  begingroup
                  catcode`,=active
                  globalletbreqn@comma=,
                  gdeficomma@comma{futurelet@let@tokensm@rtcomma}
                  gdef,{%
                  if@breqn
                  expandafter@firstoftwo
                  else
                  expandafter@secondoftwo
                  fi
                  breqn@commaicomma@comma
                  }
                  endgroup
                  defsm@rtcomma{%
                  ifx@let@token@sptoken else
                  ifx@let@tokenspace else
                  mathordfifi breqn@comma}
                  makeatother

                  begin{document}

                  Look mama, no hands!

                  $(a, b)=1,2$

                  begin{dmath}
                  (a,b)=1{,}2
                  end{dmath}

                  end{document}


                  enter image description here



                  The same output with siunitx and num.



                  documentclass{article}
                  usepackage{breqn}
                  usepackage{siunitx}

                  sisetup{output-decimal-marker={,}}

                  begin{document}

                  Look mama, no hands!

                  $(a,b)=num{1,2}$

                  begin{dmath}
                  (a,b)=num{1,2}
                  end{dmath}

                  end{document}


                  But follow marmot's advice: don't use breqn if you don't have huge and unreadable formulas generated by some external piece of software that you have no time to break manually.







                  share|improve this answer












                  share|improve this answer



                  share|improve this answer










                  answered 3 hours ago









                  egregegreg

                  732k8919303254




                  732k8919303254






























                      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%2f483845%2fbreqn-is-not-compatible-with-icomma%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

                      A CLEAN and SIMPLE way to add appendices to Table of Contents and bookmarks

                      Calculate evaluation metrics using cross_val_predict sklearn

                      Insert data from modal to MySQL (multiple modal on website)