گرگ اشاره می کند که افعال مدفون آنهایی هستند که بیهوده به عبارات اسمی لفظی تبدیل می شوند. چنین اسم هایی اغلب به -tion، -sion، -ment، -ence، Ðance، -ure و -ity ختم می شوند. او فکر می کند که آیا راهی برای جستجو در یک سند و برجسته کردن کلمه ای که از این پایان ها استفاده می کند وجود دارد؟
آنچه گرگ در مورد افعال مدفون اشاره می کند اغلب به عنوان اسمی سازی یا بیان افعال (و کمتر صفت و قید) به عنوان اسم نامیده می شود. آنها جملات را غیرفعال می کنند و معمولاً کمتر خوانده می شوند. تقریباً در هر نوشته ای که می توانید پیدا کنید، نام گذاری ها به وفور یافت می شود. من شک ندارم که آنها را می توان در نوشته های من یافت. تعداد محدودی از نامگذاریها در نوشتار خوب است، اما باید از تعداد زیادی از نامگذاریها اجتناب شود.
بنابراین، چگونه آنها را در نثر در یک سند Word علامت گذاری کنیم؟ جستجوگر دستور زبان داخلی در Word حتی افعال مدفون را عطسه نمی کند، بنابراین باید خودتان آنها را جستجو کنید. بدیهی است که Word به شما اجازه می دهد تا یک Find and Replace انجام دهید که در آن می توانید پسوندها را جستجو کنید. مشکل اضافه کردن برجسته کردن با استفاده از آن است. Find and Replace فقط آن را به خود پسوند اضافه می کند، نه به کلمه حاوی پسوند.
راه حل این است که یک ماکرو ایجاد کنید که تمام کلمات یک سند را به صورت جداگانه بررسی کند و ببیند آیا آن کلمات از پسوند استفاده می کنند یا خیر. سپس می تواند کلماتی را که مطابقت دارند برجسته کند. خوشبختانه، Word مجموعه Words را در اختیار VBA قرار می دهد که همه کلمات یک سند را نشان می دهد. ماکرو مثال زیر از این مجموعه Words استفاده می کند:
Sub Highlight_Buried_Vergs()
Dim docMain As Document
Dim rWord As Range
Dim sSuffix(7) As String
Dim iSuffixes As Integer
Dim vHilite As Variant
Dim sChar As String
Dim sTemp As String
Dim J As Integer
vHilite = wdYellow " Desired highlight color
" Set up suffixes
sSuffix(1) = "tion"
sSuffix(2) = "sion"
sSuffix(3) = "ment"
sSuffix(4) = "ence"
sSuffix(5) = "ance"
sSuffix(6) = "ure"
sSuffix(7) = "ity"
iSuffixes = 7
Set docMain = ActiveDocument
J = MsgBox("Clear existing highlighting?", vbYesNo)
If J = vbYes Then
docMain.Content.HighlightColorIndex = wdNoHighlight
End If
For Each rWord In docMain.Words
" Clean up the word, removing any spaces and
" Getting rid of any trailing non-letters
sTemp = Trim(rWord)
sTemp = LCase(sTemp)
J = Len(sTemp)
While J > 0
sChar = Mid(sTemp, J, 1)
If sChar < "a" Or sChar > "z" Then
sTemp = Left(sTemp, Len(sTemp) - 1)
J = Len(sTemp)
Else
J = 0
End If
Wend
" Now ready to check for suffixes
" Only need to check if sTemp contains a word
If Len(sTemp) > 0 Then
For J = 1 To iSuffixes
If Right(sTemp, Len(sSuffix(J))) = sSuffix(J) Then
docMain.Range(rWord.Start, rWord.Start + _
Len(sTemp)).HighlightColorIndex = vHilite
End If
Next J
End If
Next rWord
Set docMain = Nothing
End Sub
توجه داشته باشید که پسوندهایی که باید بررسی شوند در آرایه sSuffix ذخیره می شوند. هر کلمه در مجموعه Words به متغیر rWord اختصاص داده میشود، و سپس کلمه برای حذف هر فاصلهی انتهایی و هر غیرحروبی دنبالهای اصلاح میشود. (این حذف حروف غیرحروفی برای حذف هر گونه علامت نگارشی یا اعدادی که ممکن است به کلمه متصل شود انجام می شود.) سپس کلمه با هر یک از پسوندها بررسی می شود تا ببینیم آیا مطابقت دارد یا خیر. اگر چنین است، کلمه در سند برجسته می شود.
میتوانید پسوندهایی را که میخواهید بررسی کنید، با تنظیم آنچه در آرایه sSuffix ذخیره میکنید، تغییر دهید. به عنوان مثال، ممکن است بخواهید نه تنها کلماتی را که به "ance" ختم می شوند، بلکه کلماتی را که به -ances (برای جمع) یا -anced (برای زمان گذشته) ختم می شوند، علامت بزنید. اگر این کار را انجام دادید، به سادگی پسوندهای اضافی را به آرایه اضافه کنید و مقدار ذخیره شده در iSuffixes را تنظیم کنید، و تنظیم خواهید شد. این نکته.)
اگر میخواهید رویکرد کاملتری داشته باشید، ممکن است لازم باشد از یک چککننده گرامر استفاده کنید که قابلیت علامتگذاری نامگذاریها را دارد. یکی از نامزدهای پیشنهاد شده توسط برخی از خوانندگان WordTips StyleWriter است که در اینجا قابل مشاهده است:
https://www.editorsoftware.com/stylewriter.html
این نرم افزار رایگان نیست (همانطور که انتظار می رود)، اما می توانید آن را به صورت رایگان امتحان کنید. توانایی شناسایی و علامت گذاری افعال مدفون ممکن است در سایر نرم افزارهای بررسی گرامری نیز وجود داشته باشد، اما قطعاً در همه آنها وجود ندارد. نکته اصلی این است که شما می خواهید تحقیقی انجام دهید تا پیدا کنید کدام راه حل شخص ثالث برای شما بهترین کار را دارد.