From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.help Subject: Re: Is it possible to do grammar checking within emacs? Date: Fri, 19 Oct 2007 13:07:23 +0200 Message-ID: References: <1192549938.846033.56870@q5g2000prf.googlegroups.com> <1192749630.493256.235300@t8g2000prg.googlegroups.com> NNTP-Posting-Host: lo.gmane.org X-Trace: ger.gmane.org 1192792078 22149 80.91.229.12 (19 Oct 2007 11:07:58 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Fri, 19 Oct 2007 11:07:58 +0000 (UTC) To: help-gnu-emacs@gnu.org Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Fri Oct 19 13:07:58 2007 Return-path: Envelope-to: geh-help-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1Iiphr-0005zR-DE for geh-help-gnu-emacs@m.gmane.org; Fri, 19 Oct 2007 13:07:55 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Iiphk-0005QT-18 for geh-help-gnu-emacs@m.gmane.org; Fri, 19 Oct 2007 07:07:48 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1IiphU-0005ME-5i for help-gnu-emacs@gnu.org; Fri, 19 Oct 2007 07:07:32 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1IiphS-0005IO-3Z for help-gnu-emacs@gnu.org; Fri, 19 Oct 2007 07:07:31 -0400 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1IiphR-0005IC-RF for help-gnu-emacs@gnu.org; Fri, 19 Oct 2007 07:07:29 -0400 Original-Received: from romy.inter.net.il ([213.8.233.24]) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1IiphR-0007Z1-4t for help-gnu-emacs@gnu.org; Fri, 19 Oct 2007 07:07:29 -0400 Original-Received: from HOME-C4E4A596F7 ([81.5.32.69]) by romy.inter.net.il (MOS 3.7.3-GA) with ESMTP id JDW14877 (AUTH halo1); Fri, 19 Oct 2007 13:07:10 +0200 (IST) In-reply-to: <1192749630.493256.235300@t8g2000prg.googlegroups.com> (message from xz on Thu, 18 Oct 2007 23:20:30 -0000) X-detected-kernel: by monty-python.gnu.org: FreeBSD 4.7-5.2 (or MacOS X 10.2-10.4) (2) X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.help:48554 Archived-At: > From: xz > Date: Thu, 18 Oct 2007 23:20:30 -0000 > > On Oct 16, 10:52 am, xz wrote: > > Yes, I know it can check the spelling. But what about grammar? > > > > If this is possible through emacs, How well does it work, compared > > with MS word, which is the only software I know that can do grammar > > checking? > > anybody gives an idea? There just aren't good solutions to this problem. This page: http://faculty.washington.edu/sandeep/check/ will explain why you shouldn't treat the MS Word grammar checker as a standard of quality. Try the demo files you find there, and you will see how miserably Word fails to find even the most trivial mistakes of English usage. After searching the net and reading a few papers by specialists in this area, my conclusion was that the state of the art of the current technology is simply not good enough for solving this problem in a satisfactory manner. The best solutions nowadays rely on data bases that hold patterns of known abuses of a language and search for those patterns in the text. So don't expect too much from the few solutions I suggest below. One program that is free software is `diction' (you can find it on GNU ftp servers); there's diction.el that provides a rather simple Emacs front end to it. There's also style-checker (http://www.cs.umd.edu/~nspring/software/style-check-readme.html), which is written in Ruby; I'm not aware of any Emacs feature that uses it, but it shouldn't be hard to write one, or maybe write an Elisp style checker that just uses the data base which comes with this package. Yet another tool is grac (http://grac.sourceforge.net/). Again, I don't know about any Emacs interfaces to it. HTH