公告:本站正式转型为非交互式静态网站!
转型:本站将通过笔记和博客的形式继续为大家服务,关于 Mathematica 问答服务请移步至QQ群:365716997
联系:如有问题请联系QQ群管理员,或发送邮件至:lixuan.xyz@qq.com。
感谢:最后非常感谢大家多年来的支持与帮助!
参考《互联网跟帖评论服务管理规定》《中华人民共和国网络安全法》《网络信息内容生态治理规定》《互联网用户账号信息管理规定》

—— 2022-11-27

欢迎来到 Mathematica 问答社区

提问时请贴上文本代码

语法高亮:在编辑器中点击

被禁止的话题:广告破解

请阅读:《提问的智慧》

备用域名:mma.ooo

支持LaTex数学公式
行内公式标识符:\$ 或“$\backslash ($”+“$\backslash )$”,
行间公式标识符:\$\$ 或 “$\backslash [$”+“$\backslash ]$”

社区建议QQ群:365716997

分类

+3 投票
3.0k 浏览

在MMA纯文本输入状态下,输入MMA-后会自动变为Mathematica-,这个应该如何取消关联呢

分类:文本处理 | 用户: mma-2-2-2 (1.3k 分)
虽然不知道取消关联的办法,但是这一刻我总算彻底相信MMA这个简称是WRI官方的人先用起来的了……
嗯,东瓜说:先在外面加层双引号,再把引号去掉,就不会自动替换了,也不知道为什么,谢谢xzczd...
很有意思的发现~
谢谢永的鼓励 偶然发现,主要是群里经常用MMA代表Mathematica
先赞一个。
果然,Alt+7,还不区分大小写(不是完全不区分,可用的:MMA-, Mma-, mma-)
这个可以改掉的,是在样式表里定义的。

1个回答

+4 投票
 
已采纳

1. 在选项设置中把关于 Mathematica 的三个关键替换词 MMA, Mma, mma 给注释掉或删除掉就行了,具体设置见下图 (版本 9 测试有效,其他版本应该也是有效的

2. 或者直接在当前笔记本界面执行以下代码即可 (PS:执行完之后可以删除),注意代码中的注释部分,此外你也可以添加自定义的关键词

SetOptions[EvaluationNotebook[], 
 StyleDefinitions -> 
  Notebook[{Cell[StyleData[StyleDefinitions -> "Default.nb"]], 
    Cell[StyleData["Text"], InputAutoReplacements -> {"TeX" -> FormBox[
              StyleBox[
                RowBox[{"T",                     
            AdjustmentBox["E", BoxMargins -> {{-0.3, 0}, {0, 0}}, 
             BoxBaselineShift -> 0.5], "X"}], 
                SingleLetterItalics -> False], TraditionalForm], 
       "LaTeX" -> FormBox[
              StyleBox[
                RowBox[{"L", 
                    StyleBox[                      
             AdjustmentBox["A", BoxMargins -> {{-0.5, -0.3}, {0, 0}}, 
              BoxBaselineShift -> -0.4], 
                      FontSize -> Smaller], "T",                     
            AdjustmentBox["E", BoxMargins -> {{-0.3, 0}, {0, 0}}, 
             BoxBaselineShift -> 0.5], "X"}], 
                SingleLetterItalics -> False], 
         TraditionalForm], (*"mma" -> "Mathematica", "Mma" -> 
          "Mathematica", "MMA" -> "Mathematica",*) 
       "gridMathematica" -> FormBox[
              RowBox[{"grid", 
                  AdjustmentBox[
                    StyleBox["Mathematica", FontSlant -> "Italic"], 
            BoxMargins -> {{-0.175, 0}, {0, 0}}]}], 
              TextForm], "webMathematica" -> FormBox[
              RowBox[{"web", 
                  AdjustmentBox[
                    StyleBox["Mathematica", FontSlant -> "Italic"], 
            BoxMargins -> {{-0.175, 0}, {0, 0}}]}], 
              TextForm], ParentList}]}, 
   StyleDefinitions -> "PrivateStylesheetFormatting.nb"]]

若要恢复原来的设置,将上面代码中的注释符去掉,重新执行一下即可,或者新建笔记本或者重启 Mma 也行,或者也可以在上图的设置中添加上原来的关键替换词。

PS:PrivateStylesheetFormatting.nb 这个只是临时性的,只对执行该代码的当前笔记本有效,重启 Mma 或新建笔记本,默认样式定义一般上都不会是这个样式表,所以不会生效,若要永久生效,需要自己定义一个样式表,然后添加下面的语句,在 init.m 中指定默认样式表为该样式表即可。

Cell[StyleData["Text"],
 InputAutoReplacements->{"TeX" -> FormBox[
     StyleBox[
      RowBox[{"T", 
        AdjustmentBox[
        "E", BoxMargins -> {{-0.3, 0}, {0, 0}}, BoxBaselineShift -> 0.5], "X"}], 
      SingleLetterItalics -> False], TraditionalForm], "LaTeX" -> FormBox[
     StyleBox[
      RowBox[{"L", 
        StyleBox[
         AdjustmentBox[
         "A", BoxMargins -> {{-0.5, -0.3}, {0, 0}}, BoxBaselineShift -> -0.4], 
         FontSize -> Smaller], "T", 
        AdjustmentBox[
        "E", BoxMargins -> {{-0.3, 0}, {0, 0}}, BoxBaselineShift -> 0.5], "X"}], 
      SingleLetterItalics -> False], TraditionalForm], "gridMathematica" -> 
   FormBox[
     RowBox[{"grid", 
       AdjustmentBox[
        StyleBox["Mathematica", FontSlant -> "Italic"], 
        BoxMargins -> {{-0.175, 0}, {0, 0}}]}], TextForm], "webMathematica" -> 
   FormBox[
     RowBox[{"web", 
       AdjustmentBox[
        StyleBox["Mathematica", FontSlant -> "Italic"], 
        BoxMargins -> {{-0.175, 0}, {0, 0}}]}], TextForm], ParentList}]
用户: amita (481 分)
采纳于 用户:mma-2-2-2
我改了PrivateStylesheetFormatting.nb和StylesheetFormatting.nb都没有用。。。。
PrivateStylesheetFormatting.nb 这个只是临时性的,只对执行代码的当前笔记本有效,重启或新建,默认样式定义都不是这个样式表,所以不会生效,若要永久生效,需要自己定义一个样式表,然后添加上面的语句,在 init.m 中指定默认样式表为该样式表即可
学习了。
测试一下是否有邮件提醒。
今天在SE也有人问了这个问题:https://mathematica.stackexchange.com/q/266370/1871 于是尝试了一下答案里的第一个方法,结果发现我这里不行(InputAutoReplacements可以搜到,但选项值是不可编辑状态,并且选项值列表也和莲花图里的不一样)……版本7,8,9的Win版都是如此,不知道怎么回事。

顺便至少版本12.3起这个自动替换特性已经取消了。
...