Mathematica:如何在文本中使用多种颜色?

3
我希望有一个类似于{{wAB, 1, "AB"}, 0, 1, Appearance -> "Labeled"}的可操作控制,但我希望AB的颜色不同,比如说RedBlue
我可以使用Style["AB",Red]更改整体颜色,但是一直无法让AB的颜色不同。任何帮助将不胜感激!

嗨-我建议您接受以下3个答案之一。这样未来的用户也可以看到哪个答案实际上最好用。 - Ole Thomsen Buus
3个回答

6
你是指像这样吗?
Manipulate[
 wAB,
 {{wAB,1,Row[{Style["A", Red], Style["B", Blue]}]},0,1,Appearance->"Labeled"}
 ]

输入图像描述

如果您更喜欢将装饰部分单独定义(对于较大和更复杂的控件可能会有用),并在以后引用它们(类似于声明变量,但实际上是一个宏),并且可以将其重用于不同的控件,则可以使用 With,如下所示:

Manipulate[wAB,

 Evaluate@With[

   {myStyle = Row[{Style["A", Red], Style["B", Blue]}]},

   {{wAB, 1, myStyle}, 0, 1, Appearance -> "Labeled"}

   ]
 ]

是的,那正是我所需要的,非常感谢。我差点就做到了,但是缺少了行,所以文本被截断了。干杯! - pedro silva

3
尽管使用 Style 进行样式设置更安全,但你也可以直接使用格式菜单或键盘快捷键对字符串的字符进行着色,Mathematica 将在动态控件中保留它:

Mathematica graphics


谢谢您,Wizard先生。即使不太安全,但对于快速尝试匹配或冲突的样式来说,这是一个好方法。干杯! - pedro silva
@Mr.W,染成红色的快捷键是什么?另外,安装这个。它非常不错! - user616736
@yoda Alt-R-X-R(依次按下,不是同时按下)。使用脚本时我没有得到任何高亮显示;默认值被删除,没有替换它的东西。我正在使用Firefox 9。 - Mr.Wizard
@Mr.Wizard,我在Firefox中也遇到了问题,但在Chrome中它运行得非常好。 - user616736
1
此外,这个快捷键在 Mac 上不起作用 :( 嘿,我们现在扯平了 —— 我给你的东西在你的浏览器上不起作用,你给我的东西在我的机器上也不起作用 :D - user616736

0
如果垂直位置是x,您必须在x上打印一个字母,然后计算宽度(w),并在新位置x+=w上以另一种颜色打印下一个字母。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接