DisableFormatting[expr]
是一种当出现在保留表达式 (held expression) 中时,禁用 expr 的格式化的形式,一旦运算开始就给出 expr.
DisableFormatting
DisableFormatting[expr]
是一种当出现在保留表达式 (held expression) 中时,禁用 expr 的格式化的形式,一旦运算开始就给出 expr.
更多信息
- DisableFormatting 阻止对出现在 Hold、HoldComplete 和其他具有 HoldFirst、HoldRest、HoldAll 和 HoldAllComplete 属性的函数中的表达式进行格式化.
- DisableFormatting 通常以 InputForm 显示表达式.
- 在 StandardForm 和 TraditionalForm 格式中, DisableFormatting 封装不可见.
范例
打开所有单元 关闭所有单元基本范例 (3)
Hold[DisableFormatting[Grid[{{a, b}, {x, y}}]]]ReleaseHold[%]HoldForm[DisableFormatting[Integrate[x, x]]]ReleaseHold[%]DisableFormatting 必须出现在保留表达式 (held expression) 中,否则会进行计算:
DisableFormatting[x]FullForm[%]范围 (3)
DisableFormatting 可用于有任何保留属性 (held attribute) 的函数,如 HoldAll:
SetAttributes[f, HoldAll]
f[DisableFormatting[x ^ 2], DisableFormatting[y ^ 2]]Attributes[If]If[a, DisableFormatting[x ^ 2], DisableFormatting[y ^ 2]]Attributes[Delayed]Delayed[DisableFormatting[x ^ 2]]Attributes[Assert]Assert[DisableFormatting[x ^ 2 == y ^ 2]]Hold[DisableFormatting[Row[{a, " ", b}]]]x :> DisableFormatting[Sqrt[x]]{ReleaseHold[%%], x /. %}在 StandardForm 和 TraditionalForm 格式中, DisableFormatting 不可见:
Hold[DisableFormatting[2a]]TraditionalForm[%]InputForm 和 FullForm 则可以显示 DisableFormatting:
InputForm[%]FullForm[%]属性和关系 (5)
Hold、HoldForm 和其他函数可以防止它们的参数被计算,但是不能阻止排版显示:
HoldForm[2 ^ 2]Hold 中的 DisableFormatting 可以防止未经计算的表达式以排版方式显示:
HoldForm[DisableFormatting[2 ^ 2]]然而,DisableFormatting 自身并不能保留 (hold) 参数或阻止排版显示:
DisableFormatting[2 ^ 2]在 HoldFirst 或 HoldRest 函数中,DisableFormatting 只影响保留参数 (held argument):
Attributes[If]If[DisableFormatting[Graphics[Disk[]]], DisableFormatting[Graphics[Disk[]]]]Attributes[Delayed]Delayed[DisableFormatting[Graphics[Disk[]]], DisableFormatting[Graphics[Disk[]]]]Defer 阻止对表达式进行计算,但是不能阻止排版显示:
Defer[Integrate[Cos[x], x]]∫Cos[x]ⅆx如果把 DisableFormatting 和 Defer 一起使用,表达式既不会被计算也不能以排版方式显示:
Defer[DisableFormatting[∫Cos[x]ⅆx]]然而,如果进行复制和粘贴,表达式将被计算并按排版方式正常显示:
DisableFormatting[Integrate[Cos[x], x]]Interpretation 以任意外观形式显示输出表达式:
res = Interpretation[InputForm[#], #]&@Grid[{{1, 2}, {3, 4}}, Background -> GrayLevel[.7]]Grid[{{1, 2}, {3, 4}}, Background -> GrayLevel[0.7]]res//InputForm如果使用 DisableFormatting,一旦释放保留 (hold),则恢复正常的计算和格式化:
HoldForm[DisableFormatting[Grid[{{1, 2}, {3, 4}}, Background -> StandardBlue]]]ReleaseHold[%]另一方面,复制和粘贴将保留 DisableFormatting 封装:
DisableFormatting[Grid[{{1, 2}, {3, 4}}, Background -> StandardBlue]]Inactivate 有时(不是总能够)可以产生防止二维排版的表达式:
Inactivate[D[x ^ p, x]]结果是不同的表达式,其中每个标头被 h Inactive[h] 所取代:
%//InputFormDisableFormatting 则总是可以防止二维排版,按原样返回输入表达式:
HoldForm[DisableFormatting[D[x ^ p, p]]]%//InputForm文本
Wolfram Research (2016),DisableFormatting,Wolfram 语言函数,https://reference.wolfram.com/language/ref/DisableFormatting.html.
CMS
Wolfram 语言. 2016. "DisableFormatting." Wolfram 语言与系统参考资料中心. Wolfram Research. https://reference.wolfram.com/language/ref/DisableFormatting.html.
APA
Wolfram 语言. (2016). DisableFormatting. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/DisableFormatting.html 年
BibTeX
@misc{reference.wolfram_2026_disableformatting, author="Wolfram Research", title="{DisableFormatting}", year="2016", howpublished="\url{https://reference.wolfram.com/language/ref/DisableFormatting.html}", note=[Accessed: 14-September-2026]}
BibLaTeX
@online{reference.wolfram_2026_disableformatting, organization={Wolfram Research}, title={DisableFormatting}, year={2016}, url={https://reference.wolfram.com/language/ref/DisableFormatting.html}, note=[Accessed: 14-September-2026]}