加载中,请稍候…

资讯 英语
舍得茶室 方法
SuperMemo Rosetta
TellMeMore Aboboo
课程 视频
软件 电子书
学苑 博客
空间 微博

制作SuperMemo词库的两个宏

2009-08-03 00:00:00   来源:舍得学习力博客  作者:admin

这两天舍得在转换词库,词库分别来源于《新东方背单词5》和《轻轻松松背单词》,前者是RTF文件转成文本格式,后者是通过MultiConvert这个软件,将新东方的GDS词库转换成TAB文本。舍得为了制作方便,重新编写了两个Emeditor的宏。现在把它分享出来,并加上一些注释。

 

先看看新东方背单词的导出的文本格式:

prodigy

['pr3did9i]
n.奇才,天才

bookworm

['bukw4:m]
n.极爱读书者;书呆子

devotee

[devou'ti:]
n.热爱…者;献身于…的人

adolescence

['1d4u'lesns]
n.青春期

compulsory

[k4m'p8ls4ri]
n.强制的,义务的

很简单的两行式,这种有规律的词库是最好处理的了,相对应的宏如下:

//寻找空行,并在空行的下一行行首插入Q:,注意“/n”前有个“^”。

document.selection.Replace(“^//n”,”//nQ:
“,eeFindNext | eeReplaceAll | eeFindReplaceRegExp);
//查“回车符+非Q开头的行”,插入A:

document.selection.Replace(“//n([^Q])”,”//nA:
//1″,eeFindNext | eeFindReplaceCase | eeReplaceAll |
eeFindReplaceRegExp);
//插入音标字体

document.selection.Replace(“(^Q:.*?)//[(.*?)//]“,”//1[<font
face=/x22TOPhonetic/x22>//2</font>]“,eeFindNext
| eeReplaceAll | eeFindReplaceRegExp);
//插入语音文件

document.selection.Replace(“(^Q:
)(.)(.*?)(

.*?$)”,”
//1//2//3//4<bgsound
src=/x22file:///d:/speech///2///2//3.mp3/x22
LOOP=TRUE>”,eeFindNext | eeReplaceAll |
eeFindReplaceRegExp);
//分别给Q、A两行定义字体

document.selection.Replace(“(^Q:
)(.*?$)”,”
//1<FONT
face=/x22Tohoma/x22;
size=4>//2</font>”,eeFindNext
| eeReplaceAll | eeFindReplaceRegExp);
document.selection.Replace(“(^A: )(.*?$)”,”
//1<FONT
face=&#24494;&#36719;&#38597;&#40657;
size=4>//2</font>”,eeFindNext
| eeReplaceAll | eeFindReplaceRegExp);
//把开头两行删掉

document.selection.StartOfDocument(false);

document.selection.LineDown(true,1);
document.selection.Delete(1);
document.selection.Delete(1);

//另存,注意此时可将文件另存为中欧ISO编码
editor.ExecuteCommandByID(4100);

文件用法:将这段宏文本复制到emeditor中,另存为.jsee(javascript for
emeditor)格式文件,即可以在宏中调用它。

还有一种简单的方法就是随便录制一个宏,取个名字,然后编辑这个宏,将这段文本复制进去就行。

再来看看用MultiConvert这个软件转换的词库,通常将它转成TAB文本格式,比较容易处理,相关的宏如下:

//因为MultiConvert转换过来的词库都是单行式的,所以先给行首加入Q:,注意这里用了“()”和“/1”来将行首的原内容放回到Q:后面。

document.selection.Replace(“(^.)”,”//nQ:
//1″,eeFindNext | eeFindReplaceCase | eeReplaceAll |
eeFindReplaceRegExp);

//用“/t.*?)/t”来找到第二个“/t”的位置,并在这里插入回车符和A:。
document.selection.Replace(“(
//t.*?)//t”,”//1//nA:
“,eeFindNext | eeFindReplaceCase | eeReplaceAll |
eeFindReplaceRegExp);

//加音标,找的是这对“[]”
document.selection.Replace(“[]“,”",eeFindNext | eeFindReplaceCase |
eeReplaceAll);
document.selection.Replace(“
//t//[(.*?)//]“,”//t[<font
face=/x22Kingsoft Phonetic
Plain/x22>//1</font>]“,eeFindNext
| eeFindReplaceCase | eeReplaceAll | eeFindReplaceRegExp);
//插入语音文件

document.selection.Replace(“(^Q:
)(.)(.*?)(
//t.*?$)”,”//1//2//3//4<bgsound
src=/x22file:///d:/speech///2///2//3.mp3/x22
LOPP=TRUE>”,eeFindNext | eeReplaceAll |
eeFindReplaceRegExp);

//分别给Q、A两行定义字体
document.selection.Replace(“(^Q: )(.*?$)”,”
//1<FONT
face=/x22Tohoma/x22;
size=4>//2</font>”,eeFindNext
| eeReplaceAll | eeFindReplaceRegExp);
document.selection.Replace(“(^A: )(.*?$)”,”
//1<FONT
face=&#24494;&#36719;&#38597;&#40657;
size=4>//2</font>”,eeFindNext
| eeReplaceAll | eeFindReplaceRegExp);
//把开头两行删掉

document.selection.StartOfDocument(false);

document.selection.LineDown(true,1);
document.selection.Delete(1);

//另存,注意此时可将文件另存为中欧ISO编码
editor.ExecuteCommandByID(4100);

 

这里暂且就讲这两个例子,舍得讲例子主要是为了启发大家的思路,并不鼓励大家去生搬硬套。不过对于新东方和MultiConvert转换的词库,基本上可以直接这样子应用了。大家若能学会运用好宏这个工具,相必工作效率会提高很多。

 



【TAGS】
supermemo 使用 技巧 入门 教程 新手 指南 词库 制作
【相关文章】
  • 【十二月福利】《驾考宝典》之科目四(SuperMemo)
  • 如何打开SuperMemo课程中隐藏的练习?
  • SuperMemo新手指南之版本的选择
  • 16分钟!重新制作一季《六人行》只需16分钟!
  • SuperMemo UX新手指南:如何手动加入音频,并自动播放
  • SuperMemo UX问答篇:如何用SuperMemo来学好拼写?
  • SuperMemo问答篇:如何用SuperMemo来学习一门编程语言
  • SuperMemo UX问答篇:巩固练习中的评分并不影响学习进度
  • SuperMemo UX问答篇:随时修改课程内容
  • 如何利用SuperMemo词库转换精灵制作iphone版词库?
  • 来顶一下
    返回首页
    返回首页

     分享: 分享到QQ空间 转贴到开心网 分享到校内网 添加到百度搜藏 Sina ViVi 添加Google书签 Yahoo收藏 添加到鲜果 转发到新浪微博 我要评论】【进入论坛】【社区空间
    发表评论 共有条评论
    用户名: 密码:
    验证码: 匿名发表
    关于我们 | 诚聘英才 | 友情链接 | 联系我们 | 意见反馈 | 网站地图 | 版权申明 |
    舍得学苑 备案号:冀ICP备11024081号-1
    Copyright © 2009-2015 eMagic.org.cn, All rights reserved.