Fixing different display colors within string












2












$begingroup$


My question below is my attempt to reduce a problem I am having to the simplest possible version that will show the error I am trying to fix. I recognize that the coding looks tortured, and I will provide at the end an explanation for why I am doing it this way, but hopefully we can just focus on the particular behavior in my abstracted example.



enter image description here



(copyable version below)



CellPrint @ ExpressionCell[
"!(*SubscriptBox[(H), (2)])O (H)",
"Input",
ShowStringCharacters->False
]


Why is the "O (g)" black and the rest of the string grey? And how do I change it so that it all displays as black?



Background: This is a follow-up to this thread. I am using the strings as a way to define palette-selectable labels that preserve non-Mathematica-standard notation that I can then use with the Notation package to associate this alternate notation (both input and output) with more standard symbols that can be used internally. I need the label to be in a string so that the notational form is maintained without parsing once it is interpreted by a ParsedBoxWrapper@TemplateBox, and I use a custom style to suppress the display of those quotation marks.



Edit: I originally had this including """<>string<>""", but have since discovered that the extra quotes aren't necessary to make the problem happen.










share|improve this question











$endgroup$

















    2












    $begingroup$


    My question below is my attempt to reduce a problem I am having to the simplest possible version that will show the error I am trying to fix. I recognize that the coding looks tortured, and I will provide at the end an explanation for why I am doing it this way, but hopefully we can just focus on the particular behavior in my abstracted example.



    enter image description here



    (copyable version below)



    CellPrint @ ExpressionCell[
    "!(*SubscriptBox[(H), (2)])O (H)",
    "Input",
    ShowStringCharacters->False
    ]


    Why is the "O (g)" black and the rest of the string grey? And how do I change it so that it all displays as black?



    Background: This is a follow-up to this thread. I am using the strings as a way to define palette-selectable labels that preserve non-Mathematica-standard notation that I can then use with the Notation package to associate this alternate notation (both input and output) with more standard symbols that can be used internally. I need the label to be in a string so that the notational form is maintained without parsing once it is interpreted by a ParsedBoxWrapper@TemplateBox, and I use a custom style to suppress the display of those quotation marks.



    Edit: I originally had this including """<>string<>""", but have since discovered that the extra quotes aren't necessary to make the problem happen.










    share|improve this question











    $endgroup$















      2












      2








      2





      $begingroup$


      My question below is my attempt to reduce a problem I am having to the simplest possible version that will show the error I am trying to fix. I recognize that the coding looks tortured, and I will provide at the end an explanation for why I am doing it this way, but hopefully we can just focus on the particular behavior in my abstracted example.



      enter image description here



      (copyable version below)



      CellPrint @ ExpressionCell[
      "!(*SubscriptBox[(H), (2)])O (H)",
      "Input",
      ShowStringCharacters->False
      ]


      Why is the "O (g)" black and the rest of the string grey? And how do I change it so that it all displays as black?



      Background: This is a follow-up to this thread. I am using the strings as a way to define palette-selectable labels that preserve non-Mathematica-standard notation that I can then use with the Notation package to associate this alternate notation (both input and output) with more standard symbols that can be used internally. I need the label to be in a string so that the notational form is maintained without parsing once it is interpreted by a ParsedBoxWrapper@TemplateBox, and I use a custom style to suppress the display of those quotation marks.



      Edit: I originally had this including """<>string<>""", but have since discovered that the extra quotes aren't necessary to make the problem happen.










      share|improve this question











      $endgroup$




      My question below is my attempt to reduce a problem I am having to the simplest possible version that will show the error I am trying to fix. I recognize that the coding looks tortured, and I will provide at the end an explanation for why I am doing it this way, but hopefully we can just focus on the particular behavior in my abstracted example.



      enter image description here



      (copyable version below)



      CellPrint @ ExpressionCell[
      "!(*SubscriptBox[(H), (2)])O (H)",
      "Input",
      ShowStringCharacters->False
      ]


      Why is the "O (g)" black and the rest of the string grey? And how do I change it so that it all displays as black?



      Background: This is a follow-up to this thread. I am using the strings as a way to define palette-selectable labels that preserve non-Mathematica-standard notation that I can then use with the Notation package to associate this alternate notation (both input and output) with more standard symbols that can be used internally. I need the label to be in a string so that the notational form is maintained without parsing once it is interpreted by a ParsedBoxWrapper@TemplateBox, and I use a custom style to suppress the display of those quotation marks.



      Edit: I originally had this including """<>string<>""", but have since discovered that the extra quotes aren't necessary to make the problem happen.







      string-manipulation display






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited 4 hours ago









      Carl Woll

      73.6k398192




      73.6k398192










      asked 4 hours ago









      Kevin AusmanKevin Ausman

      25417




      25417






















          1 Answer
          1






          active

          oldest

          votes


















          5












          $begingroup$

          Short answer: You need to turn off auto styles:



          CellPrint @ ExpressionCell[
          "!(*SubscriptBox[(H), (2)])O (H)",
          "Input",
          ShowStringCharacters->False,
          ShowAutoStyles->False
          ]


          The issue is that your string, inside of an "Input" cell is not interpreted as a string, it is interpreted as an expression, and so the default syntax coloring happens.






          share|improve this answer









          $endgroup$













          • $begingroup$
            Magnificent! Thank you! It seems that this fix does not correct a related problem that I assumed would be automatically fixed when the coloration-problem was corrected. I will update my question with an example of that issue.
            $endgroup$
            – Kevin Ausman
            4 hours ago












          • $begingroup$
            Actually, I will add my new question as a separate question rather than editing this one, since it looks like it is unrelated. Thank you.
            $endgroup$
            – Kevin Ausman
            4 hours ago










          • $begingroup$
            I guess the bigger question might be whether or not there is a way to force a string in an input cell to be interpreted as a string rather than interpreted as an expression, because that might separately solve both this question and the other one that I recently added.
            $endgroup$
            – Kevin Ausman
            3 hours ago












          Your Answer








          StackExchange.ready(function() {
          var channelOptions = {
          tags: "".split(" "),
          id: "387"
          };
          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%2fmathematica.stackexchange.com%2fquestions%2f195087%2ffixing-different-display-colors-within-string%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown

























          1 Answer
          1






          active

          oldest

          votes








          1 Answer
          1






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes









          5












          $begingroup$

          Short answer: You need to turn off auto styles:



          CellPrint @ ExpressionCell[
          "!(*SubscriptBox[(H), (2)])O (H)",
          "Input",
          ShowStringCharacters->False,
          ShowAutoStyles->False
          ]


          The issue is that your string, inside of an "Input" cell is not interpreted as a string, it is interpreted as an expression, and so the default syntax coloring happens.






          share|improve this answer









          $endgroup$













          • $begingroup$
            Magnificent! Thank you! It seems that this fix does not correct a related problem that I assumed would be automatically fixed when the coloration-problem was corrected. I will update my question with an example of that issue.
            $endgroup$
            – Kevin Ausman
            4 hours ago












          • $begingroup$
            Actually, I will add my new question as a separate question rather than editing this one, since it looks like it is unrelated. Thank you.
            $endgroup$
            – Kevin Ausman
            4 hours ago










          • $begingroup$
            I guess the bigger question might be whether or not there is a way to force a string in an input cell to be interpreted as a string rather than interpreted as an expression, because that might separately solve both this question and the other one that I recently added.
            $endgroup$
            – Kevin Ausman
            3 hours ago
















          5












          $begingroup$

          Short answer: You need to turn off auto styles:



          CellPrint @ ExpressionCell[
          "!(*SubscriptBox[(H), (2)])O (H)",
          "Input",
          ShowStringCharacters->False,
          ShowAutoStyles->False
          ]


          The issue is that your string, inside of an "Input" cell is not interpreted as a string, it is interpreted as an expression, and so the default syntax coloring happens.






          share|improve this answer









          $endgroup$













          • $begingroup$
            Magnificent! Thank you! It seems that this fix does not correct a related problem that I assumed would be automatically fixed when the coloration-problem was corrected. I will update my question with an example of that issue.
            $endgroup$
            – Kevin Ausman
            4 hours ago












          • $begingroup$
            Actually, I will add my new question as a separate question rather than editing this one, since it looks like it is unrelated. Thank you.
            $endgroup$
            – Kevin Ausman
            4 hours ago










          • $begingroup$
            I guess the bigger question might be whether or not there is a way to force a string in an input cell to be interpreted as a string rather than interpreted as an expression, because that might separately solve both this question and the other one that I recently added.
            $endgroup$
            – Kevin Ausman
            3 hours ago














          5












          5








          5





          $begingroup$

          Short answer: You need to turn off auto styles:



          CellPrint @ ExpressionCell[
          "!(*SubscriptBox[(H), (2)])O (H)",
          "Input",
          ShowStringCharacters->False,
          ShowAutoStyles->False
          ]


          The issue is that your string, inside of an "Input" cell is not interpreted as a string, it is interpreted as an expression, and so the default syntax coloring happens.






          share|improve this answer









          $endgroup$



          Short answer: You need to turn off auto styles:



          CellPrint @ ExpressionCell[
          "!(*SubscriptBox[(H), (2)])O (H)",
          "Input",
          ShowStringCharacters->False,
          ShowAutoStyles->False
          ]


          The issue is that your string, inside of an "Input" cell is not interpreted as a string, it is interpreted as an expression, and so the default syntax coloring happens.







          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered 4 hours ago









          Carl WollCarl Woll

          73.6k398192




          73.6k398192












          • $begingroup$
            Magnificent! Thank you! It seems that this fix does not correct a related problem that I assumed would be automatically fixed when the coloration-problem was corrected. I will update my question with an example of that issue.
            $endgroup$
            – Kevin Ausman
            4 hours ago












          • $begingroup$
            Actually, I will add my new question as a separate question rather than editing this one, since it looks like it is unrelated. Thank you.
            $endgroup$
            – Kevin Ausman
            4 hours ago










          • $begingroup$
            I guess the bigger question might be whether or not there is a way to force a string in an input cell to be interpreted as a string rather than interpreted as an expression, because that might separately solve both this question and the other one that I recently added.
            $endgroup$
            – Kevin Ausman
            3 hours ago


















          • $begingroup$
            Magnificent! Thank you! It seems that this fix does not correct a related problem that I assumed would be automatically fixed when the coloration-problem was corrected. I will update my question with an example of that issue.
            $endgroup$
            – Kevin Ausman
            4 hours ago












          • $begingroup$
            Actually, I will add my new question as a separate question rather than editing this one, since it looks like it is unrelated. Thank you.
            $endgroup$
            – Kevin Ausman
            4 hours ago










          • $begingroup$
            I guess the bigger question might be whether or not there is a way to force a string in an input cell to be interpreted as a string rather than interpreted as an expression, because that might separately solve both this question and the other one that I recently added.
            $endgroup$
            – Kevin Ausman
            3 hours ago
















          $begingroup$
          Magnificent! Thank you! It seems that this fix does not correct a related problem that I assumed would be automatically fixed when the coloration-problem was corrected. I will update my question with an example of that issue.
          $endgroup$
          – Kevin Ausman
          4 hours ago






          $begingroup$
          Magnificent! Thank you! It seems that this fix does not correct a related problem that I assumed would be automatically fixed when the coloration-problem was corrected. I will update my question with an example of that issue.
          $endgroup$
          – Kevin Ausman
          4 hours ago














          $begingroup$
          Actually, I will add my new question as a separate question rather than editing this one, since it looks like it is unrelated. Thank you.
          $endgroup$
          – Kevin Ausman
          4 hours ago




          $begingroup$
          Actually, I will add my new question as a separate question rather than editing this one, since it looks like it is unrelated. Thank you.
          $endgroup$
          – Kevin Ausman
          4 hours ago












          $begingroup$
          I guess the bigger question might be whether or not there is a way to force a string in an input cell to be interpreted as a string rather than interpreted as an expression, because that might separately solve both this question and the other one that I recently added.
          $endgroup$
          – Kevin Ausman
          3 hours ago




          $begingroup$
          I guess the bigger question might be whether or not there is a way to force a string in an input cell to be interpreted as a string rather than interpreted as an expression, because that might separately solve both this question and the other one that I recently added.
          $endgroup$
          – Kevin Ausman
          3 hours ago


















          draft saved

          draft discarded




















































          Thanks for contributing an answer to Mathematica 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.


          Use MathJax to format equations. MathJax reference.


          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%2fmathematica.stackexchange.com%2fquestions%2f195087%2ffixing-different-display-colors-within-string%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

          How to label and detect the document text images

          Vallis Paradisi

          Tabula Rosettana