Ale*_*kov 6 wolfram-mathematica mathematica-frontend
使用Messages
内置功能都嵌入线格式.例如:
In[1]:= ActionMenu::usage // FullForm
Out[1]//FullForm=
"\!\(\*RowBox[{\"ActionMenu\", \"[\", RowBox[{StyleBox[\"name\", \"TI\
\"], \",\", RowBox[{\"{\", \
RowBox[{RowBox[{SubscriptBox[StyleBox[\"lbl\", \"TI\"], \
StyleBox[\"1\", \"TR\"]], \":>\", SubscriptBox[StyleBox[\"act\", \"TI\
\"], StyleBox[\"1\", \"TR\"]]}], \",\", \
RowBox[{SubscriptBox[StyleBox[\"lbl\", \"TI\"], StyleBox[\"2\", \
\"TR\"]], \":>\", SubscriptBox[StyleBox[\"act\", \"TI\"], \
StyleBox[\"2\", \"TR\"]]}], \",\", StyleBox[\"\[Ellipsis]\", \
\"TR\"]}], \"}\"}]}], \"]\"}]\) represents an action menu with label \
\!\(\*StyleBox[\"name\", \"TI\"]\), and with items labeled \
\!\(\*SubscriptBox[StyleBox[\"lbl\", \"TI\"], StyleBox[\"i\", \
\"TI\"]]\), that evaluates the expression \
\!\(\*SubscriptBox[StyleBox[\"act\", \"TI\"], StyleBox[\"i\", \
\"TI\"]]\) if the corresponding item is chosen."
Run Code Online (Sandbox Code Playgroud)
可以看到,这种内联格式化基于Core.nb样式表的"内联格式样式"部分中定义的样式集.但是我没有找到这些样式的任何文档以及向usage
Message
s 添加格式的方便算法的任何描述.
usage
Message
在Mathematica中为用户定义的s 添加内联格式的便捷方法是什么?Core.nb样式表中定义的内联格式的默认样式的使用规则是什么?我想usage
Message
使用Mathematica为我的包中的s 添加内联格式,而无需安装Workbench等其他组件.
PS String
s中嵌入式内联格式的语法部分记录在教程页面" Box表示框"中.在此语法的官方新闻组相关的问题:" ?(对任何文档)线性语法 "显示在前台这样的字符串是由选项控制ShowStringCharacters->False
的Cell
.
处理此类字符串的问题之一是 Mathematica 中的大多数字符串操作都会自动将反斜杠 ( \
) 替换为转义的反斜杠 ( \\
)。
如果你尝试这样做:
您可能认为您已经找到了要查找的字符串(减去\!
使其成为表达式),但实际上它是:"\\(x\\_\\(1, 2\\) \[Equal] \\(\\(-b\\) \[PlusMinus] \\@\\(b\\^2 -\\(4\\ a\\ c\\)\\)\\)\\/\\(2\\ a\\)\\)"
我的解决方案远非优雅,但它有效。
Cell > Convert to > InputForm
。结果:
\!
其放在前面并在其周围加上引号:
"\!\(x \_ \(1, 2\) == \(\(-b\) \[PlusMinus] \@\(b \^2 - \(4\ a\ c\)\)\) \/ \(2\ a\)\)"
如果您在外部编辑器中执行步骤 3,请保留引号,只需将\!
结果放在前面并将结果粘贴回 MMA 中,它会直接转换为格式化表达式
归档时间: |
|
查看次数: |
822 次 |
最近记录: |