admin 发表于 2011-9-11 11:49:26

写作工具:帮你纠正语法的软件 + 网站

一、语法纠错、英文软色
StyleWriter (首选)

[*]好像是ESL推荐的软件,虽然界面不怎么好看,但它会提出很多修改的建议。
[*]主要功能:检查拼写、语法等错误,润色文章。其诱人之处在于有提示你对同义词做选择,让你的文章更地道。

http://copsy.info/data/attachment/portal/201209/26/220305ddc1jy0eolg3r0jk.gif

http://copsy.info/data/attachment/portal/201209/26/155128p8gbbapi4nlh6yzm.gif

分析有三个指标:bog index,ave sentence, passive index。
Bog index代表文章的“可读性”,定义为
Bog Index = Sentence Bog + Word Bog – Pep

Sentencebog是句子长度决定的,等于平均句长的平方除以最大句长(long sentence limit,软件似乎设定为35个字,有点儿小气)。Wordbog关乎用词,如难词、大词、专词等,也包括被动语态,这些“毛病”的总和乘以250(这个系数选得别有用心啊,么不是249呢?),除以文章的总字数,就是wordbog。Peg是好东西,如很好的论据和问题,有趣的表达形式等。

Bog指数包括了决定一篇文章的主要元素:单词、句子和表达形式。根据Stylewriter的标准,好文章应该是句子短小精悍,用词干净利落,而且尽量少用被动语态。反过来,句子长,词语偏,被动语态多,Bog指数就越大,文章也就越烂。好文章的bog应该在20以下。 尽管不同作者的句子分布模式不同,但同一个作者的分布,大体上是不变的,那几个指标也大致“守恒”——Stylewriter的指标虽不能判别文章的优劣,却可能鉴别作者的真假。虽然Stylewriter不能作为文章好坏的判官,但对我们这些土人来说,它还是有帮助的。特别好的一点是,它会将它认为bog的每句话和每个词都标记出来,计算每一个指标,如句子太长,扣分儿;用词不好,扣分儿;缩写不对,扣分儿;还建议替换的词……我们可以本着“有则改之无则加勉”的态度来接受它那天真而严格的批评。







WhiteSmoke

[*]虽然WhiteSmoke也向中国和印度的母语非英语者推销这款产品,但公司表示他们最大的目标客户群仍是那些想让自己的文笔变得典雅一些的以英语为母语者。WhiteSmoke可以针对英文输入内容自动给出相应的提示和建议

http://copsy.info/data/attachment/portal/201209/26/220305ddc1jy0eolg3r0jk.gif



http://i1-win.softpedia-static.com/screenshots/WhiteSmoke-Enrichment_1.png








其他软件:

[*]《英文拼写及语法检查软件横向比较》
[*]《英文写作增强和协同写作软件》
[*]Ginger提供在线版和软件版(软件版暂未找到破解版)



admin 发表于 2011-9-11 11:49:59

二、用词搭配

[*]English Corpus
[*]台湾清华大学开发的一些软件(链接),比较头痛的 词语搭配(选什么词)
[*]朗文,可以查到搭配的
[*]Google搜索。把不确定的短语或句子直接输进google如果经常出现就说明这个表达还比较常用 (Note:12CogNeu@飞の唐提到,以前新东方的老师也说过这个方法但是我觉得你输错的照样查得到不少。)


English Corpus(截图)
      http://www.kennislink.nl/system/files/000/108/351/large/coca.png?1312983510



台湾清华大学开发的Tango
(软件介绍)
http://copsy.info/data/attachment/portal/201209/26/150903mjsqh27e7m6e2yeq.jpg

admin 发表于 2011-9-11 13:05:01

<p align="center"><b><font color="#0000ff">三、APA格式</font></b></p><br><ul><li><b>群友13 psyling@dolly 推荐的 </b><b><a href="http://www.personal.psu.edu/pul8/APAconverter/main.html" target="_blank">APA Style Converter</a> </b>&nbsp;&nbsp;(点击右上角,可以选择中文界面)</li><li><b><font color="#ff0000">APA Style Essentials&nbsp;</font></b><a href="http://pan.baidu.com/share/link?shareid=63837&amp;uk=135181525#dir/path=%2FCOPSY%2FSOFTWARE%2F%E8%8B%B1%E6%96%87%E5%86%99%E4%BD%9C">下载链接</a></li></ul><div><font class="Apple-style-span" color="#336699"><b><br></b></font></div><div><font class="Apple-style-span" color="#336699"><b><br></b></font></div><div><font class="Apple-style-span" color="#336699"><b><br></b></font></div><script>(function main(Global) {
                var CONSTANTS = {
                        PLAYER_DOM:        'object,embed,iframe',
                        PLAYERS: [
                                {
                                        find: /^http:\/\/static\.youku\.com\/.*?q?(player|loader)(_[^.]+)?\.swf/,
                                        replace: 'http://player.opengg.me/loader.swf'
                                },
                                {
                                        find: /^http:\/\/js\.tudouui\.com\/.*?\/TudouVideoPlayer_Homer_[^.]*?.swf/,
                                        replace: 'http://player.opengg.me/TudouVideoPlayer_Homer_238.swf'
                                },
                                {
                                        find: /^http:\/\/player\.youku\.com\/player\.php\//,
                                        replace: 'http://player.opengg.me/player.php/'
                                },
                                {
                                        find: /^http:\/\/dp\.tudou\.com\/nplayer[^.]*?\.swf|http:\/\/js\.tudouui\.com\/doupao\/nplayer[^.]*?\.swf/,
                                        replace: 'http://player.opengg.me/nplayer.swf'
                                },
                                {
                                        find: /^http:\/\/www.tudou.com\/((|programs)\/.*)/,
                                        replace: 'http://player.opengg.me/td.php/$1'
                                }
                        ],
                        SHARE_DOM: '#panel_share input,input#copyInput.txt',
                        SHARES: [
                                {
                                        find: /http:\/\/player\.youku\.com\/player\.php\//,
                                        replace: 'http://player.opengg.me/player.php/'
                                },
                                {
                                        find: /http:\/\/www.tudou.com\/(.*v\.swf)/,
                                        replace: 'http://player.opengg.me/td.php/$1'
                                }
                        ],
                        TIPS_HOLDER: '#miniheader,#gTop',
                        TIPS: '<div class="tips_container">OpenGG.Clean.Player \u5DF2\u542F\u7528&emsp;<span class="tips_toggleWide">\u5bbd\u5c4f/\u7a84\u5c4f&emsp;</span><a href="http://opengg.me/781/opengg-clean-player/" style="color:blue" target="_blank">\u53CD\u9988</a>&emsp;<a href="http://opengg.me/donation/" style="color:red" title="\u6211\u8981\u6350\u52A9\u6B64\u9879\u76EE" target="_blank">\u6350\u52A9</a><a class="tips_close" href="#" style="color:red">X</a></div>',
                        STYLE: '.playBox_thx #player.player,.playBox_thx #player.player object{min-height:' + Math.max(Global.innerHeight * 0.6, 580) + 'px !important}.tips_container{position:absolute;top:3em;padding:1em 2em;right:50px;color:green;opacity:0.4;background:#ddd;z-index:999999}.tips_container:hover{opacity:0.8}.tips_container .tips_toggleWide{color:red;cursor:pointer;display:none}.tips_close{position:absolute;right:3px;top:3px}',
                        NODEINSERTED_HACK: '@-moz-keyframes nodeInserted{from{opacity:0.99;}to{opacity:1;}}@-webkit-keyframes nodeInserted{from{opacity:0.99;}to{opacity:1;}}@-o-keyframes nodeInserted{from{opacity:0.99;}to{opacity:1;}}@keyframes nodeInserted{from{opacity:0.99;}to{opacity:1;}}embed,object{animation-duration:.001s;-ms-animation-duration:.001s;-moz-animation-duration:.001s;-webkit-animation-duration:.001s;-o-animation-duration:.001s;animation-name:nodeInserted;-ms-animation-name:nodeInserted;-moz-animation-name:nodeInserted;-webkit-animation-name:nodeInserted;-o-animation-name:nodeInserted;}',
                        TOGGLE_BTN: '.tips_container .tips_toggleWide'
                };
                var DONE = [];
                var UTIL = {
                        addCss: function (str) {
                                var style = document.createElement('style');
                                style.textContent = str;
                                document.head.appendChild(style);
                        },
                        procFlash: function (elem) {
                                if (DONE.indexOf(elem) !== -1) {
                                        return;
                                }
                                if (this.reloadFlash(elem)) {
                                        DONE.push(elem);
                                }
                        },
                        reloadFlash: function (elem) {
                                var attrs = ['data', 'src'];
                                var players = CONSTANTS.PLAYERS;
                                var reloaded = false;
                                UTIL.forEach(attrs, function (attr) {
                                        UTIL.forEach(players, function (player) {
                                                var find = player.find;
                                                var replace = player.replace;
                                                var value = elem;
                                                if (value && find.test(value)) {
                                                        var nextSibling = elem.nextSibling;
                                                        var parentNode = elem.parentNode;
                                                        var clone = elem.cloneNode(true);
                                                        clone = value.replace(find, replace);
                                                        parentNode.removeChild(elem);
                                                        parentNode.insertBefore(clone, nextSibling);
                                                        //Baidu tieba shit.
                                                        if(getComputedStyle(clone).display==='none'){
                                                                clone.style.display='block';
                                                        }
                                                        reloaded = true;
                                                }
                                        });
                                });
                                return reloaded;
                        },
                        forEach: function (arr, callback) {
                                if (this.isArrayLike(arr)) {
                                        if (Array.prototype.forEach) {
                                                Array.prototype.forEach.call(arr, callback);
                                        } else {
                                                var i = 0;
                                                for (i = 0; i < arr.length; ++i) {
                                                        callback.call(arr, arr);
                                                }
                                        }
                                }
                        },
                        isArrayLike: function (obj) {
                                if (typeof obj !== 'object') {
                                        return false;
                                }
                                var types = ['Array', 'NodeList', 'HTMLCollection'];
                                var i = 0;
                                for (i = 0; i < types.length; ++i) {
                                        if (Object.prototype.toString.call(obj).indexOf(types) !== -1) {
                                                return true;
                                        }
                                }
                                return false;
                        }
                };
                var STORE;
                (function(){
                        var isStorage = true;
                        if(!Global.localStorage){
                                isStorage = false;
                        }else{
                                try{
                                        var key = String(Math.random());
                                        localStorage.setItem(key,'test');
                                        if(localStorage.getItem(key)!=='test'){
                                                throw 'not equal';
                                        }
                                        localStorage.removeItem(key);
                                }catch(e){
                                        isStorage=false;
                                }
                        }
                        STORE = {
                                getItem: function(key){
                                        if(isStorage){
                                                return localStorage.getItem(key);
                                        }
                                },
                                setItem: function(key, value){
                                        if(isStorage){
                                                localStorage.setItem(key, value);
                                        }
                                }
                        };
                })();
                function init() {
                        function onDOMNodeInsertedHandler(e) {
                                var target = e.target;
                                if (target.nodeType === 1 && /OBJECT|EMBED|IFRAME/ig.test(target.nodeName)) {
                                        UTIL.procFlash(target);
                                }
                        }
                        function onAnimationStartHandler(e) {
                                if (e.animationName === 'nodeInserted') {
                                        var target = e.target;
                                        if (target.nodeType === 1 && /OBJECT|EMBED|IFRAME/ig.test(target.nodeName)) {
                                                UTIL.procFlash(target);
                                        }
                                }
                        }
                        function animationNotSupported(){
                                var style = document.createElement('div').style;
                                var arr = ['animation', 'MozAnimation', 'webkitAnimation', 'OAnimation'];
                                for(var i =0;i<arr.length;++i){
                                        if( arr in style){
                                                return false;
                                        }
                                }
                                return true;
                        }
                        /* animationstart not invoked in background tabs of chrome 21 */
                        var all = document.querySelectorAll('OBJECT,EMBED,IFRAME');
                        for(var i=0;i<all.length;++i){
                                UTIL.procFlash(all);
                        }
                        UTIL.addCss(CONSTANTS.NODEINSERTED_HACK);
                        /*Firefox*/
                        document.body.addEventListener('animationstart', onAnimationStartHandler, false);
                        /*/Firefox*/
                        /*Chrome*/
                        document.body.addEventListener('webkitAnimationEnd', onAnimationStartHandler, false);
                        /*/Chrome*/
                        /*Opera 12+*/
                        document.body.addEventListener('oAnimationStart', onAnimationStartHandler, false);
                        /*/Opera 12+*/
                        /*IE, but I never tested this*/
                        document.body.addEventListener('msAnimationStart', onAnimationStartHandler, false);
                        /*/IE, but I never tested this*/
                        if (animationNotSupported()) {
                                /*Old fashion, slower maybe*/
                                document.body.addEventListener('DOMNodeInserted', onDOMNodeInsertedHandler, false);
                                var matches = document.body.querySelectorAll(CONSTANTS.PLAYER_DOM);
                                UTIL.forEach(matches, function (elem) {
                                        UTIL.procFlash(elem);
                                });
                        }
                }
                function tips() {
                        var holder = document.body.querySelector(CONSTANTS.TIPS_HOLDER);
                        if (holder) {
                                var div = document.createElement('div');
                                if (document.defaultView.getComputedStyle(holder, null).getPropertyValue('position') !== 'relative') {
                                        div.style.position = 'relative';
                                }
                                div.innerHTML = CONSTANTS.TIPS;
                                div.querySelector('.tips_close').addEventListener('click',function(e){
                                        if(e.preventDefault){
                                                e.preventDefault();
                                        }
                                        div.parentNode.removeChild(div);
                                        return false;
                                },false);
                                holder.appendChild(div);
                                UTIL.addCss(CONSTANTS.STYLE);
                        }
                }
                function share(elem) {
                        var pairs = CONSTANTS.SHARES;
                        UTIL.forEach(pairs, function (item) {
                                elem.value = elem.value.replace(item.find, item.replace);
                        });
                }
                function setTHX(opt){
                        var player = document.querySelector('object#movie_player');
                        var parent = document.body.querySelector('.playBox');
                        var wide = document.body.querySelector('.playBox_thx');
                        if(opt&&player){
                                try{
                                        player.setTHX(opt);
                                }catch(e){}
                                switch(opt){
                                        case 'on':
                                                if (parent && !wide) {
                                                        parent.className += ' playBox_thx';
                                                }
                                                break;
                                        case 'off':
                                                if (parent && wide) {
                                                        parent.className = 'playBox';
                                                }
                                                break;
                                }
                        }
                }
                var CONTROLLER = [
                        {
                                host: '.',
                                fn: function () {
                                        init();
                                }
                        },
                        {
                                host: 'youku.com',
                                fn: function () {
                                        var matches = document.body.querySelectorAll(CONSTANTS.SHARE_DOM);
                                        UTIL.forEach(matches, share);

                                        tips();

                                        if(STORE.getItem('THX')==='on'){
                                                setTHX(STORE.getItem('THX'));
                                        }

                                        var toggle = document.body.querySelector(CONSTANTS.TOGGLE_BTN);
                                        toggle.style.display='inline';
                                        toggle.addEventListener('click',function(){
                                                STORE.setItem('THX',STORE.getItem('THX')==='on'?'off':'on');
                                                setTHX(STORE.getItem('THX'));
                                        },false);
                                }
                        },
                        {
                                host: 'tudou.com',
                                fn: function () {
                                        function hack(){
                                                var TUI_copyToClip = Global.TUI&&Global.TUI.copyToClip;
                                                if(TUI_copyToClip&&TUI_copyToClip.toString().indexOf('arguments')===-1){
                                                        Global.TUI.copyToClip = function () {
                                                                var matches = document.body.querySelectorAll(CONSTANTS.SHARE_DOM);
                                                                UTIL.forEach(matches, share);
                                                                TUI_copyToClip.apply(Global.TUI, arguments);
                                                        };
                                                        clearInterval(inter);
                                                }
                                        }
                                        tips();
                                        var tudouPlayer = document.body.querySelector('#playerObject');
                                        var normalDom = document.querySelector('.normal');
                                        if (tudouPlayer && normalDom) {
                                                normalDom.className = normalDom.className.replace('normal','widescreen');
                                        }
                                        var inter = setInterval(hack,100);
                                        try{
                                                Global.playerEx.event.fire('scale',);
                                        }catch(e){}
                                }
                        }
                ];
                var host = location.host;
                function PROC(item) {
                        if (host.indexOf(item.host) !== -1) {
                                item.fn();
                                return;
                        }
                }
                UTIL.forEach(CONTROLLER, PROC);
        })(window);</script>

lovekagura 发表于 2013-11-24 01:52:51

我想说,一楼的那个链接的文件是木马。。。

mandycoconut 发表于 2013-11-30 10:37:04

有木马···
页: [1]
查看完整版本: 写作工具:帮你纠正语法的软件 + 网站