lyx 文法檢查

Posted by TJ Wei on 星期三, 9月 19, 2007 with No comments
很久沒有更新了,來一個沒什麼用的東西: 將 lyx 加入文法檢查。
環境是 ubuntu,不過 windows 下面也類似。

Step 1: 安裝 lyx 1.5.1(google ubuntu lyx), perl (用 apt-get 就行了)
**注意要將 /usr/bin/lyx link 到 /usr/bin/lyx-1.5.1 上
Step 2: google 搜尋 lyx-gc languagetool,然後下載 lyx-gc 0.3h 版本
Step 3: 解開 lyx-gc 的壓縮檔。
Step 4: 修改 lyx-gc,將第一行 #!/bin/sh 改成 #!/bin/bash,也可以把 locale 改掉
Step 5: 修改 chktex.pl
將 $ErrorText .='> '.embed_error_tags($rule_context,' '.$rule_ptrs,'?,'?').".\n\n "; 裡面的兩個奇怪的字元改掉,改成不奇怪的字元。我是用 _
Step 6: 執行 lyx-gc 即可,然後用 lyx 選單裡面的 check tex 檢查簡單的文法錯誤(666錯誤)。
Step 7: 可以 sudo apt-get install chktex 來增強功能(非 666錯誤)。
要更進階的功能,則需要 LanguageTool。
Step 1: 安裝 sun java 1.4 以上的版本
Step 2: google 搜尋,下載 LanguageTool 0.9.1 版
Step 3: 解該 LanguageTool 到某個目錄,假定是 /home/user/lt
Step 4: 修改 chktex.pl.jLanguageTool.pl 的 my $LANGUAGETOOL_PATH,指向 /home/user/lt。
Step 5: 這樣就能用了。可以開個新檔,打入 is were,然後執行 lyx 的 check tex 兩次(算是 bug),如果檢查出文法錯誤,那就成功了。

可惜 LanguageTool 本身不太穩,某些怪一點的文字,會讓他爆掉。所以長一點的文章可能只好分段檢查。
Windows 方面,可以安裝 windows 版本的 perl,但是 lyx-gc 的作者顯然 perl 功力不怎麼樣,很多檔案操作都是呼叫 shell 來完成的。需要手動修改 perl 程式,把一些檔案操作改成 perl 的內建功能。另外也可能要把一些 bash 檔的功能手動調整。基本上, windows 版本下面也是可以跑的。雖然說和 chktex 及 LanguageTool 搭配還要額外的修改。
Categories: ,