您可能已经注意到,如果在Word文档中键入分数,则某些分数会自动更改为单字符分数,而其他分数则与键入时一样。实际上,这样做的原因很简单:Word的设置可以转换为单字符分数,但仅适用于某些分数。

若要查看设置的位置,请查看“键入时自动套用格式”设置(“工具” |“自动更正” |“键入时自动套用格式”)。您会注意到一个带有分数字符的分数复选框。选中此复选框,Word用分数的单字符版本替换某些分数。

为什么我说Word仅替换某些部分?因为那是Word所能做的。大多数字体包含非常有限数量的小数作为单个字符。 1 / 2、1 / 4和3/4之类的分数在大多数字体中都具有单字符等效项,因此Word进行自动转换是“安全的”。其他字体可能包括常见分数的其他一些单字符表示。例如,Times New Roman具有1 / 3、2 / 3、1 / 8、3 / 8、5 / 8和7/8的字符。由于并非所有字体都包含这些单字符分数,因此Word不会自动进行转换。

所有这些的结果是分数的单字符版本取决于您使用的字体。此外,Word中通过键入时自动套用格式设置来控制将有限数量的分数自动转换为单字符对应的分数。如果您知道所使用的字体具有其他单字符分数,则可以创建一个自动更正条目来为您进行转换。

(已在_WordTips_的其他问题中讨论了如何使用自动更正。)

了解分数的显示主要取决于所使用的字体,因此某些人选择不依赖分数的单字符版本。而是关闭了分数的“键入时自动套用格式”设置,并始终设置三字符分数的格式。它们要么保留分数分子和分母为常规类型,要么它们使分子上标并下标分母。通过调整字符之间的间距,可以实现外观不错的分数。然后,您可以将格式化的文本复制到“自动更正”条目中,以备将来使用。

如果您不介意制作宏,则可以创建一些方便的宏,这些宏将为您格式化分数。以下VBA宏将格式化任何分数;您需要做的就是选择组成小数的字符,然后运行宏。

Sub MakeFraction()

Dim fractionbit As Range     Dim iSlashPlace As Integer     With Selection         iSlashPlace = InStr(.Text, "/")

Set fractionbit = ActiveDocument.Range _           (Start:=.Start, End:=.Start + iSlashPlace - 1)

fractionbit.Font.Superscript = True         Set fractionbit = ActiveDocument.Range _           (Start:=.Start + iSlashPlace, End:=.End)

fractionbit.Font.Subscript = True     End With End Sub

宏将斜杠之前的选择部分格式化为上标,并将其后面的部分格式化为下标。

如果您想了解有关如何在Word中创建不同类型的分数的其他信息,那么一个很好的起点是http://word.mvps.org [Word MVP网站]:

http://wordmvp.com/FAQs/Formatting/CreateFraction.htm

注意:

如果您想知道如何使用此页面(或_WordTips_网站上的任何其他页面)中描述的宏,我准备了一个包含有用信息的特殊页面。

_WordTips_是您进行经济有效的Microsoft Word培训的来源。

(Microsoft Word是世界上最流行的文字处理软件。)本技巧(1634)适用于Microsoft Word 97、2000、2002和2003。您可以为Word(Word 2007)的功能区界面找到此技巧的版本。和更高版本)在这里: