【问题标题】:How to modify OUTPUT font type?如何修改 OUTPUT 字体类型?
【发布时间】:2011-11-03 18:55:15
【问题描述】:

是否可以更改 OUTPUT 字体类型而不是默认字体类型?怎么样?

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

谢谢!

【问题讨论】:

标签: wolfram-mathematica mathematica-frontend wolframalpha


【解决方案1】:

问题在于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

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

很遗憾,我不知道如何解决这个问题...

【讨论】:

  • 顺便说一句,这可能是世界资源研究所的深思熟虑的设计选择。 StandardForm 是一种清晰明确的格式。使用 dingbats 字体肯定会消除格式的清晰度。
  • 那么如果我使用 TraditionalForm 而不是 StandardForm 有错吗?
  • @Nazaf:不,没有错。我知道一些 Mma 大师在他们的大部分工作中使用 TraditionalForm...
【解决方案2】:

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

【讨论】:

  • 尝试传统形式而不是标准形式 (Cell > Convert to)。大多数字体选项(大小、颜色、粗细、倾斜度)在两种 Forms 中都能正常工作,但看起来 TraditionalForm 中的字体系列选择比 StandardForm 中的限制更多。
  • 我正在使用我自己的自定义样式表。
  • 我没有,看图片。你有什么版本?
  • 您能否尝试删除$Failed 单元格,然后再次尝试格式化输出单元格?我在玩的时候也看到过一次 $Failed,但它消失了。
  • 顺便说一句,我将 DefaultStyleDefinitions 全局选项设置为自定义样式表。这不是问题,对吧?
【解决方案3】:

根据 Simon 的回答,您可以使用 $PrePrint 强制以某种样式输出打印。

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

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

【讨论】:

  • 问题在于输出不能复制/粘贴...也许$PrePrint = Interpretation[Style[#, FontFamily -> "Symbol"], #] &;
【解决方案4】:

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

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

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

【讨论】:

    【解决方案5】:

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

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

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

    【讨论】:

    • 我看到一个大字体的红色文本。那么现在呢?
    • 我需要在样式表中自动完成,所以我不必每次都输入。
    • @Nazaf 也许您可以在问题中提供更多信息。如果您无法更改样式表,就会发生一些奇怪的事情......
    • 如果我使用 Shift + Ctrl + E 来编辑表达式,手动更改字体系列就可以了!但是如何保存对全局样式表的更改?
    • @Nazaf 编辑您要添加的问题是一件好事——这样其他用户就不会错过它(隐藏在 cmets 中)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-22
    • 1970-01-01
    • 1970-01-01
    • 2014-09-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多