How To Use Macrons In Ms Word

Macrons are used to indicate long vowels and help with the proper pronunciation of Latin words. Macrons look best if represented by a long line over the respective character. How can such characters be entered in Microsoft Word?

Actually, it is quite simple. Just type the four digits of the unicode of the desired letter (e.g. "0100" for a long "a") and then press ALT-C. Voilà, there it is: "ā;". The codes of these letters are:

For a closer look at this problem have look at this introduction to "Characters for Classical Latin" by David J. Perry.

Personally, however, I do it somewhat differently. I first create the text with an ordinary text editor and use the circumflex ("^") to mark the macrons: a long "a" is thus represented as "â". This makes it easier to enter, edit, search over, and process. Only at the end, when creating the final document in Microsoft Word, I convert the "â" etc. to "ā". You can, of course, use replace manually, but personally I prefer using the following macro which converts all the above macrons in a single pass:

Sub Macrons()
'
' Macrons Macro
'
    Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting
    With Selection.Find
        .Text = "â"
        .Replacement.Text = ChrW(257)
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
    With Selection.Find
        .Text = "ê"
        .Replacement.Text = ChrW(275)
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
    With Selection.Find
        .Text = "î"
        .Replacement.Text = ChrW(299)
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
    With Selection.Find
        .Text = "ô"
        .Replacement.Text = ChrW(333)
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
    With Selection.Find
        .Text = "û"
        .Replacement.Text = ChrW(363)
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
    With Selection.Find
        .Text = "Â"
        .Replacement.Text = ChrW(256)
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
    With Selection.Find
        .Text = "Ê"
        .Replacement.Text = ChrW(274)
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
    With Selection.Find
        .Text = "Î"
        .Replacement.Text = ChrW(298)
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
    With Selection.Find
        .Text = "Ô"
        .Replacement.Text = ChrW(332)
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
    With Selection.Find
        .Text = "Û"
        .Replacement.Text = ChrW(362)
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
End Sub

I know that this macro is quite unwieldy, but I have not yet got around to pack it into a loop etc.
As for OpenOffice, I unfortunately did not find an equally easy way to enter macrons. There certainly is one, especially using macros, but at the present moment I do not know how.

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License