2

旋转包含普通字符和“脚本”字符的文本似乎存在问题。为了说明这一点,我编写了一个简短的函数:

RotatePrint[s_String] :=
  GraphicsRow[Table[
    Graphics[Rotate[Text[Style[s, 50]], j]] // ImageCrop,
    {j, 0, 2 Pi, Pi/4}]]

RotatePrint["Sc"],即两个普通字符,按预期工作:

两个普通字符

RotatePrint["\[ScriptCapitalS]\[ScriptC]"],即带有两个“脚本”字符,也同样有效:

两个脚本字符

RotatePrint["\[ScriptCapitalS]c"],即混合了普通字符和脚本字符,但是,行为很奇怪:

混合字符

我发现特别奇怪的是旋转角度 Pi/2 不会发生重叠。

谢谢你的帮助!

Edit1:我知道可以通过使用ImageRotateRotate不是解决这个问题,但这本身并不能解决问题。

Edit2:因为这似乎取决于操作系统和 Mathematica 版本:我在 Windows 7 64 位上使用 Mathematica v8.0.0.0。

4

1 回答 1

1

在Windows 7 上的Mathematica 7 中,我得到的程度较低:

数学图形

我提出这个解决方法:

rowPrint[s_String] :=
 GraphicsRow @ 
  Table[Graphics @ Text @ Rotate[Style[Row @ Characters @ s, 50], j],
   {j, 0, 2 Pi, Pi/4}]

rowPrint["\[ScriptCapitalS]c"]

数学图形

于 2012-10-17T11:47:08.947 回答