如何才能无论段落方向如何,都按从右到左的顺序排列多级列表数字?

如何才能无论段落方向如何,都按从右到左的顺序排列多级列表数字?

当您在 Microsoft Word 2013(或更早版本)中创建多级列表时,默认情况下,列表编号(例如 3.2.4,其中 3 是最高级)会正确显示在从左到右的语言中。但是,对于阿拉伯语,我需要数字以镜像方式显示:4.2.3。如何做到这一点?我尝试定义新列表,但它无法正常工作。

有任何想法吗?

答案1

Monika 的答案在 MS Word 2019 中对我不起作用,它不接受在“多级列表”对话框中插入 Unicode 字符(我尝试了Alt+200F然后+200FAltX 方法)。

所以我尝试在多级列表对话框中的分隔符(.)后添加一个空格。它解决了 RTL 问题,但数字之间会有一个空格。

如果你想摆脱这个空间,事情会变得有点棘手。你需要使用零宽度空格字符而是。它是一个完全不可见的字符,但行为却像普通空格。请按照以下步骤操作:

  1. 在您的文档中输入一些单词(例如“سلام”)
  2. 将光标放在单词中间
  3. 从“插入”选项卡中单击“符号”,然后单击“更多符号...”
  4. 在“符号”窗口中,转到“特殊字符”选项卡
  5. 在列表中找到并选择“无宽度不间断”,然后单击“插入”

到目前为止,文档中的第一个单词必须看起来像“سل ام”。尽管字母彼此相邻,但它们之间有一些东西使单词分离,您需要将其复制到剪贴板!

  1. 使用Shift和箭头键选择它,你不会看到任何选择,你只需要感觉到它
  2. Ctrl+C复制字符
  3. 在“主页”选项卡中单击“多级列表”,然后单击“定义新的多级列表...”
  4. 在“输入格式...”文本框中,将光标放在分隔符后面,然后按Ctrl+V粘贴,同样,您将看不到任何粘贴的内容
  5. 单击“确定”

答案2

我从你的问题中了解到,当你创建一个编号列表并想将其方向更改为 RTL 时,内容可能看起来像 (نص عربيl4.),因为数字 14 接触文本,而不是以点作为分隔符。如果你的情况是这样的,那么试试这个:

  1. 只需突出显示您想要更改其方向的文本。

  2. 右键单击以显示选项菜单

  3. 选择段落选项

  4. 在常规部分的第一页中,选择文本的方向“从右到左”。

突出显示的行将会改变,可以从不同方向显示来自同一列表的项目符号,但我不认为您可以从同一行拆分文本并以不同的方向显示每个部分。

答案3

以下是如何对深度为 2 的列表执行此操作的示例:

  • 单击多级列表功能区菜单按钮的菜单部分。
  • 选择“定义新的多级列表”。
  • 转到列表的第 2 级(有一个包含 9 个级别的列表框)。
  • 在“数字格式”文本框中,将光标放在点 (.) 字符后面。
  • 插入 Unicode RLM (从右到左标记;U+200F)。你可以这样做
  • 接受您所做的更改。

就是这样,现在数字是从右到左排列的。显然,您需要对具有多个 RLM 的 3、4 等级别执行此操作。

答案4

可以通过 VBA 轻松完成,如下所示,分隔符为“/”,如果需要其他分隔符,可以替换它

Sub rightToLiftMultiLevelList()
'
' Muhammad Abu-gabal
' Arabic Multilevel list, separator ="/"
' ChrW(8207) is the right to left character, unicode U+200F
    With ListGalleries(wdOutlineNumberGallery).ListTemplates(1).ListLevels(1)
        .NumberFormat = "%1"
        .TrailingCharacter = wdTrailingTab
        .NumberStyle = wdListNumberStyleArabic
        .NumberPosition = InchesToPoints(0)
        .Alignment = wdListLevelAlignLeft
        .TextPosition = InchesToPoints(0.3)
        .TabPosition = wdUndefined
        .ResetOnHigher = 0
        .StartAt = 1
        With .Font
            .Bold = wdUndefined
            .Italic = wdUndefined
            .StrikeThrough = wdUndefined
            .Subscript = wdUndefined
            .Superscript = wdUndefined
            .Shadow = wdUndefined
            .Outline = wdUndefined
            .Emboss = wdUndefined
            .Engrave = wdUndefined
            .AllCaps = wdUndefined
            .Hidden = wdUndefined
            .Underline = wdUndefined
            .Color = wdUndefined
            .Size = wdUndefined
            .Animation = wdUndefined
            .DoubleStrikeThrough = wdUndefined
            .Name = ""
            .SizeBi = wdUndefined
            .NameBi = ""
            .BoldBi = wdUndefined
            .ItalicBi = wdUndefined
        End With
        .LinkedStyle = "Heading 1"
    End With
    With ListGalleries(wdOutlineNumberGallery).ListTemplates(1).ListLevels(2)
        .NumberFormat = "%2/%1"
        .TrailingCharacter = wdTrailingTab
        .NumberStyle = wdListNumberStyleArabic
        .NumberPosition = InchesToPoints(0)
        .Alignment = wdListLevelAlignLeft
        .TextPosition = InchesToPoints(0.4)
        .TabPosition = wdUndefined
        .ResetOnHigher = 1
        .StartAt = 1
        With .Font
            .Bold = wdUndefined
            .Italic = wdUndefined
            .StrikeThrough = wdUndefined
            .Subscript = wdUndefined
            .Superscript = wdUndefined
            .Shadow = wdUndefined
            .Outline = wdUndefined
            .Emboss = wdUndefined
            .Engrave = wdUndefined
            .AllCaps = wdUndefined
            .Hidden = wdUndefined
            .Underline = wdUndefined
            .Color = wdUndefined
            .Size = wdUndefined
            .Animation = wdUndefined
            .DoubleStrikeThrough = wdUndefined
            .Name = ""
            .SizeBi = wdUndefined
            .NameBi = ""
            .BoldBi = wdUndefined
            .ItalicBi = wdUndefined
        End With
        .LinkedStyle = "Heading 2"
    End With
    With ListGalleries(wdOutlineNumberGallery).ListTemplates(1).ListLevels(3)
        .NumberFormat = "%3/%2/%1"
        .TrailingCharacter = wdTrailingTab
        .NumberStyle = wdListNumberStyleArabic
        .NumberPosition = InchesToPoints(0)
        .Alignment = wdListLevelAlignLeft
        .TextPosition = InchesToPoints(0.5)
        .TabPosition = wdUndefined
        .ResetOnHigher = 2
        .StartAt = 1
        With .Font
            .Bold = wdUndefined
            .Italic = wdUndefined
            .StrikeThrough = wdUndefined
            .Subscript = wdUndefined
            .Superscript = wdUndefined
            .Shadow = wdUndefined
            .Outline = wdUndefined
            .Emboss = wdUndefined
            .Engrave = wdUndefined
            .AllCaps = wdUndefined
            .Hidden = wdUndefined
            .Underline = wdUndefined
            .Color = wdUndefined
            .Size = wdUndefined
            .Animation = wdUndefined
            .DoubleStrikeThrough = wdUndefined
            .Name = ""
            .SizeBi = wdUndefined
            .NameBi = ""
            .BoldBi = wdUndefined
            .ItalicBi = wdUndefined
        End With
        .LinkedStyle = "Heading 3"
    End With
    With ListGalleries(wdOutlineNumberGallery).ListTemplates(1).ListLevels(4)
        .NumberFormat = "%4/%3/%2/%1"
        .TrailingCharacter = wdTrailingTab
        .NumberStyle = wdListNumberStyleArabic
        .NumberPosition = InchesToPoints(0)
        .Alignment = wdListLevelAlignLeft
        .TextPosition = InchesToPoints(0.6)
        .TabPosition = wdUndefined
        .ResetOnHigher = 3
        .StartAt = 1
        With .Font
            .Bold = wdUndefined
            .Italic = wdUndefined
            .StrikeThrough = wdUndefined
            .Subscript = wdUndefined
            .Superscript = wdUndefined
            .Shadow = wdUndefined
            .Outline = wdUndefined
            .Emboss = wdUndefined
            .Engrave = wdUndefined
            .AllCaps = wdUndefined
            .Hidden = wdUndefined
            .Underline = wdUndefined
            .Color = wdUndefined
            .Size = wdUndefined
            .Animation = wdUndefined
            .DoubleStrikeThrough = wdUndefined
            .Name = ""
            .SizeBi = wdUndefined
            .NameBi = ""
            .BoldBi = wdUndefined
            .ItalicBi = wdUndefined
        End With
        .LinkedStyle = "Heading 4"
    End With
    With ListGalleries(wdOutlineNumberGallery).ListTemplates(1).ListLevels(5)
        .NumberFormat = "%5/%4/%3/%2/%1"
        .TrailingCharacter = wdTrailingTab
        .NumberStyle = wdListNumberStyleArabic
        .NumberPosition = InchesToPoints(0)
        .Alignment = wdListLevelAlignLeft
        .TextPosition = InchesToPoints(0.7)
        .TabPosition = wdUndefined
        .ResetOnHigher = 4
        .StartAt = 1
        With .Font
            .Bold = wdUndefined
            .Italic = wdUndefined
            .StrikeThrough = wdUndefined
            .Subscript = wdUndefined
            .Superscript = wdUndefined
            .Shadow = wdUndefined
            .Outline = wdUndefined
            .Emboss = wdUndefined
            .Engrave = wdUndefined
            .AllCaps = wdUndefined
            .Hidden = wdUndefined
            .Underline = wdUndefined
            .Color = wdUndefined
            .Size = wdUndefined
            .Animation = wdUndefined
            .DoubleStrikeThrough = wdUndefined
            .Name = ""
            .SizeBi = wdUndefined
            .NameBi = ""
            .BoldBi = wdUndefined
            .ItalicBi = wdUndefined
        End With
        .LinkedStyle = "Heading 5"
    End With
    With ListGalleries(wdOutlineNumberGallery).ListTemplates(1).ListLevels(6)
        .NumberFormat = "%6/%5/%4/%3/%2/%1"
        .TrailingCharacter = wdTrailingTab
        .NumberStyle = wdListNumberStyleArabic
        .NumberPosition = InchesToPoints(0)
        .Alignment = wdListLevelAlignLeft
        .TextPosition = InchesToPoints(0.8)
        .TabPosition = wdUndefined
        .ResetOnHigher = 5
        .StartAt = 1
        With .Font
            .Bold = wdUndefined
            .Italic = wdUndefined
            .StrikeThrough = wdUndefined
            .Subscript = wdUndefined
            .Superscript = wdUndefined
            .Shadow = wdUndefined
            .Outline = wdUndefined
            .Emboss = wdUndefined
            .Engrave = wdUndefined
            .AllCaps = wdUndefined
            .Hidden = wdUndefined
            .Underline = wdUndefined
            .Color = wdUndefined
            .Size = wdUndefined
            .Animation = wdUndefined
            .DoubleStrikeThrough = wdUndefined
            .Name = ""
            .SizeBi = wdUndefined
            .NameBi = ""
            .BoldBi = wdUndefined
            .ItalicBi = wdUndefined
        End With
        .LinkedStyle = "Heading 6"
    End With
    With ListGalleries(wdOutlineNumberGallery).ListTemplates(1).ListLevels(7)
        .NumberFormat = "%7/%6/%5/%4/%3/%2/%1"
        .TrailingCharacter = wdTrailingTab
        .NumberStyle = wdListNumberStyleArabic
        .NumberPosition = InchesToPoints(0)
        .Alignment = wdListLevelAlignLeft
        .TextPosition = InchesToPoints(0.9)
        .TabPosition = wdUndefined
        .ResetOnHigher = 6
        .StartAt = 1
        With .Font
            .Bold = wdUndefined
            .Italic = wdUndefined
            .StrikeThrough = wdUndefined
            .Subscript = wdUndefined
            .Superscript = wdUndefined
            .Shadow = wdUndefined
            .Outline = wdUndefined
            .Emboss = wdUndefined
            .Engrave = wdUndefined
            .AllCaps = wdUndefined
            .Hidden = wdUndefined
            .Underline = wdUndefined
            .Color = wdUndefined
            .Size = wdUndefined
            .Animation = wdUndefined
            .DoubleStrikeThrough = wdUndefined
            .Name = ""
            .SizeBi = wdUndefined
            .NameBi = ""
            .BoldBi = wdUndefined
            .ItalicBi = wdUndefined
        End With
        .LinkedStyle = "Heading 7"
    End With
    With ListGalleries(wdOutlineNumberGallery).ListTemplates(1).ListLevels(8)
        .NumberFormat = "%8/%7/%6/%5/%4/%3/%2/%1"
        .TrailingCharacter = wdTrailingTab
        .NumberStyle = wdListNumberStyleArabic
        .NumberPosition = InchesToPoints(0)
        .Alignment = wdListLevelAlignLeft
        .TextPosition = InchesToPoints(1)
        .TabPosition = wdUndefined
        .ResetOnHigher = 7
        .StartAt = 1
        With .Font
            .Bold = wdUndefined
            .Italic = wdUndefined
            .StrikeThrough = wdUndefined
            .Subscript = wdUndefined
            .Superscript = wdUndefined
            .Shadow = wdUndefined
            .Outline = wdUndefined
            .Emboss = wdUndefined
            .Engrave = wdUndefined
            .AllCaps = wdUndefined
            .Hidden = wdUndefined
            .Underline = wdUndefined
            .Color = wdUndefined
            .Size = wdUndefined
            .Animation = wdUndefined
            .DoubleStrikeThrough = wdUndefined
            .Name = ""
            .SizeBi = wdUndefined
            .NameBi = ""
            .BoldBi = wdUndefined
            .ItalicBi = wdUndefined
        End With
        .LinkedStyle = "Heading 8"
    End With
    With ListGalleries(wdOutlineNumberGallery).ListTemplates(1).ListLevels(9)
        .NumberFormat = "%9/%8/%7/%6/%5/%4/%3/%2/%1"
        .TrailingCharacter = wdTrailingTab
        .NumberStyle = wdListNumberStyleArabic
        .NumberPosition = InchesToPoints(0)
        .Alignment = wdListLevelAlignLeft
        .TextPosition = InchesToPoints(1.1)
        .TabPosition = wdUndefined
        .ResetOnHigher = 8
        .StartAt = 1
        With .Font
            .Bold = wdUndefined
            .Italic = wdUndefined
            .StrikeThrough = wdUndefined
            .Subscript = wdUndefined
            .Superscript = wdUndefined
            .Shadow = wdUndefined
            .Outline = wdUndefined
            .Emboss = wdUndefined
            .Engrave = wdUndefined
            .AllCaps = wdUndefined
            .Hidden = wdUndefined
            .Underline = wdUndefined
            .Color = wdUndefined
            .Size = wdUndefined
            .Animation = wdUndefined
            .DoubleStrikeThrough = wdUndefined
            .Name = ""
            .SizeBi = wdUndefined
            .NameBi = ""
            .BoldBi = wdUndefined
            .ItalicBi = wdUndefined
        End With
        .LinkedStyle = "Heading 9"
    End With
    ListGalleries(wdOutlineNumberGallery).ListTemplates(1).Name = ""
    Selection.Range.ListFormat.ApplyListTemplateWithLevel ListTemplate:= _
        ListGalleries(wdOutlineNumberGallery).ListTemplates(1), _
        ContinuePreviousList:=True, ApplyTo:=wdListApplyToWholeList, _
        DefaultListBehavior:=wdWord10ListBehavior
End Sub

相关内容