2009年3月30日星期一

用Endnote进行资源管理心得

 

Endnote是一个优秀的文献管理软件。经过一段时间的试用,我逐步建立一个用Endnote的文献资源管理流程。本文主要介绍Endnote中的一些基本类型,与我使用Endnote的一些技巧。


Endnote提供了许多的文献类型,从使用角度上,我觉得可分为如下几类:

  • 学术:这是Endnote最主要的功能,即管理科学文献。

    • Journal Article:学术期刊论文
    • Conference Proceeding:学术会议论文集中的论文
    • Conference Paper:学术会议论文:其与Conference Processin的区别在于其主要指未发表或未收入论文集中的论文
    • Book:出版的书籍
    • Thesis:学位论文
    • Report:学术报告

    学术文献主要可通过一些国内外的学术数据库进行查找,然后通过对应的Filter(过滤器)导入到Endnote中。

  • 书籍:主要是建立自己的图书馆。

    • Book:图书
    • Electronic Book:电子图书
    • Edited Book:其与Book的区别在于其是某个书系中的由多个编辑制作的书

    对于外文图书信息的录入,可利用Endnote的Remote Library Search 方式在国外图书馆中进行搜索,我常用的是Yale与MIT的图书馆,其藏书量大且连接速度快。在搜索时尽量利用搜索式缩小范围,否则会下载许多图书条目而浪费流量。对于国内图书,则只能在国家的OPAC中进行检索,或是到本地图书馆OPAC中进行检索。一般这些系统都不提供Endnote远程接口,一些有MARC条目输入。可根据MARC条目自己编写Filter,但比较麻烦。还一种方法是利用Google Scholar Search进行搜索,然后用其BibTeX输出,再导入到Endnote中。

  • 工作:建立面向工作的参考文献集。

    • Govenment Document:政府文档,也可将单位的主要文档存放其中
    • Grant:授权书
    • Encyclopedia:百科全书
    • Directory:字典,一些工程手册也放在这个类别中
    • Legal Rule/Regulation:规则条例
    • Patent:专利,有时也将项目说明书等文档放入其中
    • Catalog:目录,主要是一些汇总文件集
    • Standard:标准,以及一些常用参考手册

    这些文献应单独放在一个库中,这样利于快速浏览。

  • 网络收藏:用Endnote来管理自己浏览与下载的网络资源

    • Blog:博客文章,用PDF打印
    • Web Page:网页,用抓屏软件存储为JPG格式。
    • Computer Program:优秀的软件与源代码等。
    • Electronic Article:下载的电子文档
    • Online Multimedia:下载一些小视频或动画等,并且将下载的图片等也放入其中

    • 定期清理迅雷/FlashGet等下载目录,将有用的信息放入Endnote库。

  • 个人:建立自己个人文档的数据库

    • Personal Communication:一些个人交流信息,如Email,MSN/QQ的聊天记录等
    • Film or Broadcast:看过的电影等信息,就是将豆瓣的本地化
    • Case:项目,主要用来管理一些个人项目




Endnote的使用技巧:

  • 不要将所有的文献都放入一个Endnote库中,而要建立多个库,比如 BookLibrary,WebArticleLibrary等,这样可以设置每个库的默认文献类型,利于进行输入。而且由于库比较小,在打开时比较快。Endnote有导入Endnote库文件的功能,故可定期(如半年/一年)将文献库进行合并(注意Endnote在导入文献库时并不将文献条目上附加的文件一并导入)。

  • 应充分利用 Research Note 字段,而且利用(0-5)分来给每个文献进行打分,如"5.详细介绍了Omega函数的应用"这样的短小笔记,如果是比较长的笔记,则应存入Text文档中,然后将该文件Attach到该条目上

  • 将Keyword作为Tag来进行管理,每个关键词用分号来分隔

Posted by Picasa

2009年3月20日星期五

listings宏包的设置

经过一个上午的尝试,我采用如下的方法来定义listings宏包,可得到一个格式优美的源程序PDF渲染效果。


在导言区的命令是

\usepackage{xcolor} % 颜色增强
\definecolor{lightgrey}{HTML}{D0CFCF}% 亮灰色
\definecolor{lightblue}{HTML}{D5EDF1}% 亮蓝色
\definecolor{greyblue}{HTML}{0A499B}% 灰蓝色
\definecolor{greygreen}{HTML}{19400B}% 灰绿色
\usepackage{listings}
\lstset{basewidth={0.5em,0.35em},basicstyle=\small,keywordstyle=\color{greyblue}, commentstyle=\color{greygreen}, frame=shadowbox, rulesepcolor=\color{lightgrey},numbers=left, numberstyle=\tiny,breaklines=true,framesep=5pt,rulesep=5pt,framexleftmargin=5mm}%
\lstnewenvironment{tex}{\lstset{language={[LaTeX]TeX}}}{}%TeX 代码
\lstnewenvironment{cpp}{\lstset{language={[ISO]C++},mathescape,escapechar='}}{}%C++ 代码
\lstnewenvironment{matlab}{\lstset{language={MatLab},mathescape,escapechar='}}{}%MatLab 代码
\lstnewenvironment{html}{\lstset{language={HTML},escapechar='}}{}%HTML
\lstnewenvironment{makefile}{\lstset{language={[gnu]make},escapechar='}}{}%Gnu Make
\lstnewenvironment{python}{\lstset{language={python},escapechar='}}{}%Python
\lstnewenvironment{vbscript}{\lstset{language={VBScript},escapechar='}}{}% VBScript


在主体部分的样例为

\begin{cpp}
#include
using namespace std;
int main(void)
{
// '\textit{创建一个简单的程序}'
std::cout << "hello" << endl; // sample code $\alpha$
return 0;
}
\end{cpp}


如果需要文本环绕的话,则可采用 wrapfigure 宏包,代码如下:

\begin{wrapfigure}{L}{0.5\textwidth}
\begin{cpp}
#include
using namespace std;
int main(void)
{
// '\textit{创建一个简单的程序}'
std::cout << "hello" << endl; // sample code $\alpha$
return 0;
}
\end{cpp}
\end{wrapfigure}


令人遗憾的是,我尚不能写一个通用的环境,其能将 latex 代码的渲染效果与 latex 源代码 并行显示

2009年3月18日星期三

升级到 Python 3.1 的兼容问题

Python 3.1 已经发布了。兴冲冲地将陪伴了我多年的 2.X 版本卸载了,安装上 Python 3.1。结果一些旧 Py 脚本无法正常运行。其原因是 Python 3.1 并不与 2.X 相兼容。看来在日新月异的今天,保持“兼容性”与追求“创新性”间的矛盾越来越大了。理解理解,不妨将旧程序的移植作为学习的动力
IBM DevelopWorks 中国网站上有一组介绍 Python 3 的入门文章,由此进入

2009年1月30日星期五

MonkeyGTD 3 的网络升级方法

MonkeyGTD 3 支持网络升级。其方法是:
1.先备份现有的MonkeyGTD3
2.点击页眉右上角的"backstage",打开页眉主菜单
3.点击"import"
4.将"http://monkygtd.tiddlyspot.com/upgrade.html"填入"URL or Pathname"文本框中
5.点击"open"按钮,开始网络升级
6.在下载的tiddlers列表首部,选中表格首行的选中框,这样可以选中所有的tiddlers
7.在该列表下面有两个选择框,都不要选中(很重要!)
8.点击"Ok"按钮,重新修改所有的tiddlers,这样就完成了升级
9.升级后realms会默认不选中,所以要选取realms,这样方能显示以往的GTD信息
10.保存当前的MonkeyGTD 3

2008年8月24日星期日

给MonkeyGTD初学者的信

你好:
首先,你要知道GTD的基本知识。
GTD是用来管理日常事务的一种工作方法。而MonkeyGTD则是一种帮助你实现GTD的软件。其实存在许多的GTD软件,而且许多人也采用Gmail、Outlook等常用工具来实现GTD。而我则是将MonkeyGTD与纸笔结合来使用的。GTD的宗旨在于提高工作效率,对于究竟采用某种工具并不是很重要的。最重要的是工具要能符合你目前的工作需要脱离目前的工作需求而单纯的学习GTD软件是不会成功的。毕竟它不是Word、也不是Java。
如何确定自己的工作需求呢?先准备一张大白纸和几种颜色的笔,然后将你所能想到的要做的工作写下来(用色笔标注其不同的优先等级),然后用线段将其中有关联的工作联起来。比如:"整理办公桌""将文件夹中的下载歌曲整理""刻录工作日常文件"等。当你完成这步后,你就可以开始使用MonkeyGTD了。
打开MonkeyGTD,先创建一个Project(项目),然后在项目中建立一些Action(行动)。比如"工作文档的整理"项目中就可以将上面的"刻录工作日常文件"作为一个Action。在GTD中Action是有优先次序的,如"Next(立即要做)""WaitFor(等待某人或某事发生时做""Future(暂时不急日后再做)",将不同的Action标识上不同的优先级。MonkeyGTD会自动将不同的Project中的"Next"工作组合给你看。这样你要做的事情就清晰了。
注意GTD是手段,一定要循序渐进,创建适合自己的GTD,提高生活质量是最重要的。

2008年8月3日星期日

用dot绘制有向图

Dot 是 Graphviz 套件中的一个重要工具,其可以方便地绘制有向图。
有向图是计算机科学中重要的表述手段,常见的 流程图 就是一种有向图。

Dot采用一种很简单的语言来描述有向图中的Node(节点)和Edge(边)。

在使用Dot前,应先浏览 Graphviz 安装目录下的 share/graphviz/doc/pdf/
下的 dotguide.pdf 文件,其中
P5 一个很好的样例,描述了Dot的基本使用方法,涵盖大多数 有向图 绘制
P10 Node(节点)的属性设置表
P11 Edge(边)的属性设置表
P12 Graph(图)的属性设置表,上述三张表可以打印出来作为常用参考
P26 介绍 subgraph 的使用样例,其可以更好地简化和复用
P38 Node(节点)的样式
P39 Arrow Head (边箭头)的样式
P40 Color(颜色)名称目录

在看完上述使用手册后,可以编写一个简单的样例代码试用一下 dot 命令。

dot 命令的详细手册在 dot.pdf 中

建议:
(1)在Windows平台下不要采用dot后缀,其和Word的DocumentTemplate相冲突,会自动打开Word而不是Dot命令,所以采用 dotg 后缀。
(2)如果要在图中采用中文,则要将文本存储为UTF-8格式,并且按照下面的方式来定义节点或者边中的文本字体

node[shape="box",fontname="simyou.ttf",fontsize="10"];


对于有向图,Graphviz套件中还有其它几个工具,都可以使用相同的Dot语言来描述,其生成的图按照不同的算法,呈现的形式有所不同,以适用不同的表述需求。

比如建立一个sample.dotg源代码文件后,可通过下面的批处理来生成多个有向图进行比较


dot -Tpng sample.dotg -o sample.dot.png
neato -Tpng sample.dotg -o sample.neato.png
twopi -Tpng sample.dotg -o sample.twopi.png
circo -Tpng sample.dotg -o sample.circo.png
fdp -Tpng sample.dotg -o sample.fdp.png

2008年7月29日星期二

Windows平台下gVim中的Grep工具的使用

Grep是Unix/Linux平台下重要的搜索工具,如何在Windows平台下gVim中也能使用Grep工具呢?
  • 下载Grep For Win:这是一个开源软件,可以很好的在Windows平台下实现Grep功能
  • 下载Grep.vim:这是gVim的一个插件,用来集成外部Grep工具
  • 配置Grep.vim:在vimrc文件中用命令来配置Grep For Win工具


    " 配置Grep插件
    let Grep_Path = 'D:\InstallSoft\GrepForWin\grep.exe -S'



这样在Vim中采用命令 ":Grep sample E:\CppSource\*.cpp" 就可以在Vim中直接进行Grep了