【发布时间】:2011-11-03 18:55:15
【问题描述】:
【问题讨论】:
-
您可能会发现this So discussion 很有用。此外,您可能会发现 documentation on stylesheets 很有帮助。
标签: wolfram-mathematica mathematica-frontend wolframalpha
【问题讨论】:
标签: wolfram-mathematica mathematica-frontend wolframalpha
问题在于StandardForm 不尊重FontFamily 选项,尽管它似乎尊重大多数其他字体选项。 Sjoerd's answer 使用 TraditionalForm 输出并因此工作。运行就可以看到这个问题
SetOptions[EvaluationNotebook[], StyleDefinitions -> Notebook[{
Cell[StyleData[StyleDefinitions -> "Default.nb"]],
Cell[StyleData["Output"],
FontColor -> RGBColor[0, 0, .5], FontSize -> 14,
FontFamily -> "Symbol", FontWeight -> "Bold"]}]]
然后比较
{1 + 1, "abc", Sin[x]} (* This is by default in StandardForm *)
{1 + 1, "abc", Sin[x]} // StandardForm
{1 + 1, "abc", Sin[x]} // OutputForm
{1 + 1, "abc", Sin[x]} // TraditionalForm
你也可以看看
Dynamic[CurrentValue/@{FontFamily, FontWeight, FontSize}]
Dynamic[CurrentValue/@{FontFamily, FontWeight, FontSize}] // TraditionalForm
这表明输出中“看到”的FontFamily 的CurrentValue 取决于输出格式。
很遗憾,我不知道如何解决这个问题...
【讨论】:
StandardForm 是一种清晰明确的格式。使用 dingbats 字体肯定会消除格式的清晰度。
TraditionalForm...
只需转到Format > Edit Stylesheet... 菜单。然后在弹出的私有样式定义表中,从下拉菜单中选择“输出”并更改结果输出单元格的外观。此样式表将与您打开的笔记本一起存储。
【讨论】:
Cell > Convert to)。大多数字体选项(大小、颜色、粗细、倾斜度)在两种 Forms 中都能正常工作,但看起来 TraditionalForm 中的字体系列选择比 StandardForm 中的限制更多。
$Failed 单元格,然后再次尝试格式化输出单元格?我在玩的时候也看到过一次 $Failed,但它消失了。
根据 Simon 的回答,您可以使用 $PrePrint 强制以某种样式输出打印。
$PrePrint = Style[#, FontFamily -> "Symbol"] &;
{1 + 1, "abc", Sin[x]}
【讨论】:
$PrePrint = Interpretation[Style[#, FontFamily -> "Symbol"], #] &;
您可以通过重新定义默认用于Output 样式的StandardForm 样式来做到这一点(请参阅Output 样式中的DefaultFormatType 选项):
SetOptions[EvaluationNotebook[],
StyleDefinitions ->
Notebook[{Cell[StyleData[StyleDefinitions -> "Default.nb"]],
Cell[StyleData["StandardForm"],
FontFamily -> "Palatino Linotype"]},
StyleDefinitions -> "PrivateStylesheetFormatting.nb"]]
但是这种情况下的Input 样式也受到影响,因为它也是基于StandardForm 样式...
【讨论】:
您可以尝试使用Style[] 命令包装您的输入。例如:
test="This is a test string.";
Style[test,{Red,"Title"}]
这会在我的样式表的“标题”设置中生成红色的字符串。更改样式表的解决方案显然比这更可取,但这可能是一个快速而肮脏的临时解决方法。
【讨论】: