Global grammars
  Syntax highlighting Word
 Number grammar
 Show numbers plus
Specific grammars
Unimacro test

How to configure Word for latex highlighting

For completeness, below is the necessary Visual Basic functions for rudimentary latex highlighting in Microsoft Word. By adding these three functions to the Word macro system, all files with the extension .tex will be automatically highlighted everytime they are opened (In Word 2010 click "review"-> "macros"->"create". Bind the AutoOpen function to a keyboard shortcut to reformat the documents during editing (file->options->customise ribbon, keyboard shortcuts: customise...). This came to great effect be combined with the "edit all latex" and "edit ready" commands from the _edit grammar.

Sub AssociateStyle(pattern As String, style As String, colour As Long)
‘Associate Styles with headings and quotations
‘Ensure Tools/References/Microsoft VBscript Regular Expression 5.5 is on

Dim regEx, Match
‘Dim Matches As MatchCollection
Dim str As String
Dim region As Range

Set regEx = CreateObject(“VBScript.RegExp”)
regEx.pattern = pattern           ’ Set pattern.
regEx.Global = True
regEx.MultiLine = True

‘obtain matched RegExp.
Set Matches = regEx.Execute(ActiveDocument.Range.Text)
‘MsgBox (Len(ActiveDocument.Range.Text))
‘MsgBox (Matches.Count)
‘loop through and replace style
For Each Match In Matches
    Set region = ActiveDocument.Range(Match.FirstIndex, Match.FirstIndex + Len(Match.Value))
    If colour > -1 Then
   ’     MsgBox (Match.Value)
    ’    MsgBox (Match.FirstIndex)
     ’   MsgBox (Len(Match.Value))
        region.Font.ColorIndex = colour
    Else = _
    End If

End Sub

Sub ReplaceMarkup(pattern As String, markup As String)

    With Selection.Find
        .Text = pattern
        .Replacement.Text = markup
        .Forward = True
        .Wrap = wdFindNo
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchAllWordForms = False
        .MatchSoundsLike = False
        .MatchWildcards = True
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
End Sub

Sub AutoOpen()

’ AutoOpen Macro
’ Macro recorded 5/6/2009 by reagle

FileName = ActiveDocument.FullName
Extension = Right(FileName, 3)
If Extension = “tex” Then
        Selection.Font.Name = “Georgia”
        Selection.Font.Size = 12
        Selection.ParagraphFormat.LineSpacing = 16 = “Body Text”
        ‘Call ReplaceMarkup(”\\emph\{(*)\}”, ”<<\1>>”)
        Call AssociateStyle(”[{}]”, “Quote”, wdGreen)
        Call AssociateStyle(”\\.*?}”, “Quote”, wdDarkBlue)
        Call AssociateStyle(”^\\title{”, “Heading 1”, -1)
        Call AssociateStyle(”^\\chapter{”, “Heading 1”, -1)
        Call AssociateStyle(”^\\section{”, “Heading 1”, -1)
        Call AssociateStyle(”^\\subsection{”, “Heading 2”, -1)
        Call AssociateStyle(”^\\subsubsection{”, “Heading 3”, -1)
        Call AssociateStyle(”^\\begin{quotation}”, “Quote”, -1)
        Call AssociateStyle(”\$.*?\$”, “Quote”, wdRed)
        Call AssociateStyle(”[^\\]%.*?$”, “Quote”, wdGray25)

End If

End Sub