3

是否可以更改 OUTPUT 字体类型而不是默认字体类型?如何?

这是我的默认样式表:http: //filefactory.com/file/cfc2cb0/n/blueOutput.nb

谢谢!

4

5 回答 5

5

问题在于StandardForm不尊重该FontFamily选项,尽管它似乎尊重大多数其他字体选项。Sjoerd 的回答使用了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

从上面输出

这表明输出中CurrentValueFontFamily“看到”取决于输出格式。

不幸的是,我不知道如何解决这个问题......

于 2011-11-04T04:18:46.157 回答
4

只需进入Format > Edit Stylesheet...菜单。然后在弹出的私有样式定义表中,从下拉菜单中选择“输出”并更改结果输出单元格的外观。此样式表将与您打开的笔记本一起存储。

在此处输入图像描述

在此处输入图像描述

于 2011-11-03T19:04:02.157 回答
3

根据 Simon 的回答,您可以使用$PrePrint.

$PrePrint = Style[#, FontFamily -> "Symbol"] &;

{1 + 1, "abc", Sin[x]}

在此处输入图像描述

于 2011-11-04T05:12:24.937 回答
2

您可以通过重新定义默认情况下StandardForm用于样式的样式来做到这一点(请参阅样式中的选项):OutputDefaultFormatTypeOutput

SetOptions[EvaluationNotebook[], 
 StyleDefinitions -> 
  Notebook[{Cell[StyleData[StyleDefinitions -> "Default.nb"]], 
    Cell[StyleData["StandardForm"], 
     FontFamily -> "Palatino Linotype"]}, 
   StyleDefinitions -> "PrivateStylesheetFormatting.nb"]]

但是Input这种情况下的风格也会受到影响,因为它也是基于StandardForm风格的......

于 2011-11-04T08:24:48.943 回答
-1

您可以尝试使用该Style[]命令包装您的输入。例如:

test="This is a test string.";
Style[test,{Red,"Title"}]

这会在我的样式表的“标题”设置中生成红色的字符串。更改样式表的解决方案显然比这更可取,但这可能是一个快速而肮脏的临时解决方法。

于 2011-11-03T20:41:05.687 回答