科学网

 找回密码
  注册
科学网 标签 编辑器 相关日志

tag 标签: 编辑器

相关日志

为论文排版犯愁?不如试试在Word里用LaTeX
NatureResearch 2020-4-29 10:48
软件开发商在文本编辑器里摈弃了原有的公式编辑器,转而支持LaTeX排版语言。这里是入门方法。 插图:The Project Twins LaTeX还是Word?对于物理学家和数学家来说,选哪个是显然的。但是对于其他领域的科学家来说,LaTeX的好处常常被忽视。 LaTeX是一个开源的软件,用来撰写科学论文并精确排版。 用LaTeX的感觉更像是写代码而非写文章。自从1985年出现以来,LaTeX在数学、物理和计算机等领域变得越来越受欢迎。 支持者喜欢LaTeX主要是因为它在文档布局上提供的控制力,它还象征着对商业软件开发商 (特别是微软) 的反抗。其他人则认为LaTeX太复杂了,除了要求最高的一些工作之外都是屠龙刀。2014年的一项研究 (M. Knauff J. Nejasmic PLoS ONE 9 , e115069; 2014) 询问了各个领域中的科学家,让他们比较Word和LaTeX。根据数据科学公司Altmetric的统计 (Altmetric由霍尔茨布林克(Holtzbrinck)出版集团下的Digital Science公司所有,该出版集团持有《自然》杂志出版商施普林格·自然的一部分股份) ,这篇文章成为了第二年网上讨论最多的十篇论文之一,至今为止已经有24万余阅读数。 但是,在过去的几年里,这两个工具之间的界线变得模糊了。 2017年,微软的Word里可以直接使用LaTex的语法编辑公式。 去年,Word干脆把自己原本的公式编辑器也去掉了。其他文本编辑器也支持LaTeX中的一些要素,允许新上手的人自行选择使用多少LaTeX。 “对我来说,当我对排版有具体要求的时候就会选用LaTeX。”宾夕法尼亚大学的生物信息学家Casey Greene说,“Word则是‘差不多就行’的时候,或者是合作者用Word的时候。” ▎写公式 ▎ LaTeX和“所见即所得”的文本编辑器 (Word、LibreOffice和OpenOffice都属于这一类) 不同,更像是写代码。纯文本要用描述格式的命令包起来 (比如 extit{文本}是斜体; extbf{文本}是粗体) ,表格则是一格一格地构建。源码之后会被编译成漂亮的PDF供人阅读。 公式被认为是LaTeX的强项(见下文“用LaTeX写公式”)。LaTeX的一个得意之处是一个巨大的数学符号库。 (2017版的 《LaTeX符号全集》 中列出了1.4万个符号。) “我开始使用LaTeX的原因之一就是可以轻松地排版出漂亮的公式。”韦仕敦大学的心理学家John Paul Minda说。 用LaTeX写公式 在LaTeX里写爱因斯坦的质能方程很简单,基本就是E = mc^2。 这里唯一的排版符号是脱字符^,表示上标。但是想要在LaTeX里正确显示公式,就必须用命令包起来。反斜线加方括号 让公式独占一行并居中显示。使用$符号包含公式($E = mc^2$)会让它显示在文本之中。 LaTeX文档通常会在开头描述页面大小(例如A4)和格式。要让数学命令生效,用户必须指定软件使用某个数学公式包,这有很多选项。ctan.org上有超过5000个库。LaTeX用户可以选用从J.R.R.Tolkien笔下的精灵文到蒙古文等等的任何字体;也可以让排版格式变成报纸样式。 对于更复杂的公式,用户就得学习命令的语法了。例如,分数的语法是rac{分子}{分母},而在 区间积分是\\int_{a}^{b}。因此,从 积分 x 2  + (1/2π)x的写法就是\\int_{0}^{100} x^2 + rac{1}{2\\pi}x dx。 基于浏览器的编辑器Overleaf提供了排版LaTeX公式的概述,参见 go.nature.com/2eh1daz 。 事实上,在2014年两个工具的比较里,公式是LaTeX唯一一个胜过Word的项目。论文作者指出,在文本和表格上,Word更快,也更不容易出错;不过LaTeX的用户说 “使用文本编辑工具时获得了乐趣” 更多一些。 即使是批评LaTeX的Daniel Allington——他是伦敦国王学院的计算社会科学家,曾经在博客上批判过所谓的“LaTeX癖”——也承认,LaTeX在处理公式上比其他工具更好。 但是,Allington指出,今天的科学家在使用LaTeX编辑公式时,仍然不能脱离所见即所得的工具。例如,Allington使用在线工具MathJax。他在里面写了几行网页版的LaTeX——不需要安装——MathJax就将公式显示在了网页上。 Word用户也可以直接写LaTeX形式的代码,然后点一下就可以转化成排版好的公式。微软说他们支持“大部分”LaTeX表达式,不过他们的网站上列出了20个不支持的关键字 (例如角度符号\\degree) 。 对于Google Doc的用户,Auto-LaTeX插件可以将LaTeX公式转换成嵌入式图片。东北大学的海洋与环境学家Katie Lotterhos说这一工具组合对她来说十分好用,因为她的大部分合作者都不知道怎么使用排版语言。不过缺点么,她说,在于软件将公式变成图片插入这一点。“对同行评议来说没问题,但是排版编辑就不喜欢了。” LibreOffice (类似于Word的开源软件) 也差不多,可以用一个叫TeXMaths的插件编辑公式,它会将LaTeX语法转换成PNG或SVG格式的图片。 ▎熟练使用LaTeX▎ 希望深入LaTeX的用户可以安装一个LaTeX软件包,例如Windows下的MiKTeX、Mac OS下的MacTeX,和Linux下的TeX Live。这些都是免费下载使用的,包含了将LaTeX“源代码”编译成PDF的工具。Word的最低价格是每月8.25美元买一个包含Word的Office软件包,不过微软发言人说他们会为一些科研机构的研究者们提供免费的在线版本Word。 LaTeX的软件包让作者可以用LaTeX撰写整个PDF文档。这就允许研究者们“完全控制”文档长什么样,Philip Judge说——这位科罗拉多州高海拔天文台的天文学家是LaTeX的支持者。对于牛津大学的演化人类学家Laura Fortuanto说,问题是Word“不可靠”——“你知道自己没做错事”的时候它会冒出些“随机的行为”——所以她在读博的时候才学习了LaTeX。 但用起来可能很累。“LaTeX的主要问题在于必须经常编译出来看结果是什么样,然后如果出错了就要花时间追踪错误。”牛津大学研究金刚石生长的Shannon Nicley说。 对Nicley来说,解决办法是Overleaf,这是一个基于浏览器的编辑器,供人们合作写作科学论文。 (Overleaf同样是由Digital Science所有。) Overleaf会将文档的源码和实时编译出的PDF并排显示,也就是说用户可以快速看到自己的修改会如何在最终的成文上反映出来。这个工具对个人用户是免费的,但是以每月14美元的价格可以追加合作功能和同步到代码分享网站GitHub的功能。 所以LaTeX是一个值得掌握的工具么?这取决于研究者个人:你经常使用公式么?你需要对文档进行多精细的控制?你有多少时间可以用来学新的语言? 用LaTeX写作基本的文档是相对直接的。但是写表格就并非如此。和Word不同,表格不能直接画在页面上,而是必须用代码一行一行插入。在2014年的论文中,就30分钟的制表一项测试表明,即使是LaTeX的专家也比Word新手犯了更多错误,写了更少文字。“用LaTeX写表格简直令人打退堂鼓,即使是已经写过几十次也会这样。”Nicley说,“开一个Excel,把表格内容写进去,再直接复制粘贴进Word里就快多了,我还可以细调样式和内容。” LaTeX并不是唯一一个编程式的文本排版选项。Allington经常使用Markdown,他说这比LaTeX“轻量”,因为排版命令更为直接。威斯康星大学麦迪逊分校的计算生物学家Anthony Gitter说,在Markdown里“基本没有会搞错的技术性语法。”正是因为如此,Gitter和他的同事——也包括宾州大学的Greenne——才选用了Markdown来撰写一篇生物和医药领域深度学习的公开综述。他警告说,在LaTeX里,某个合作者改了哪里导致文档无法编译成PDF的风险更大。 虽然如此,一些期刊和会议并不接受Markdown格式的论文,莫斯科物理技术学院的研究员Dmitry Fedyanin说。 例如, 《自然》更喜欢Word格式的论文,因为该期刊的排版系统使用这个格式 ,《自然》的副责任编辑Simon Gribbin说。虽然如此,接收的论文中大约十分之一是LaTeX格式的;它们会在交给文字编辑之前会转换成Word,他说。 但是 《自然-物理》的编辑就对文档格式有着更大自由度,这一学科里LaTeX更为普及。 “物理学家‘就是用’LaTeX。”主编Andrea Taroni说, “想让他们换个编辑器就跟让猫排队一样难。” 原文以 Craft beautiful equations in Word with LaTeX 为标题发表在2019年6月11日的《自然》工具箱上。 原文作者:David Matthews © nature 自然科研论文编辑服务 科学编辑服务 : 自然科研标准的编辑对科学文档进行 全面检查 ,包括结构和论证,提供详细的建议和编辑服务,帮助研究人员尽可能清晰地表达自己的观点。 语言润色服务 : 母语为英语的编辑将纠正语言错误,调整句式表达,提升行文流畅度,改善行文风格,帮助缺乏英语写作信心的研究人员。 ▲ 点击上图上传文稿,查询报价 版权声明: 本文由施普林格·自然上海办公室负责翻译。中文内容仅供参考,一切内容以英文原版为准。如需转载,请邮件China@nature.com。未经授权的翻译是侵权行为,版权方将保留追究法律责任的权利。 © 2020Springer Nature Limited.All Rights Reserved
个人分类: 论文写作|5374 次阅读|0 个评论
建议科学网开发一款手机和电脑端的离线博文编辑器
热度 2 lhj701 2018-7-8 13:06
建议科学网开发一款手机和电脑离线博文编辑器 科学网最近的发帖量变少,没有人发,数量上不去,精彩的博文总数就少,看的人也就少了。 尽管目前在线博文编辑器好用多了,但毕竟是在线编辑器,弄不巧,辛苦编写的博文,一下子莫名走丢了。写作博文,也是一种创造性的活动,和写小说类似,你手稿丢了,以为是体力活,再来一遍,脑子变了,写出来未必是刚才那个味道了。 想起,原来在古老的MSN上写博文,就有一款很好用的离线博文电脑终端,有想法随时写,可以保存,可以开头写多篇,等写完了,填写一下分类、标题等,一点击发送,去网站看看效果,稍微修改一下就可以了。 使用那种博文编辑器真的好用。不会发生博文突然消失的痛苦。并且,很多博文,可以同时并行写作,利用零散时间,写作量会大增。 今天科学网博文量大减,是不是可以建议开发类似的离线手机和电脑博文编辑器,可以一键发送网站,自动生成博文?
个人分类: 观点建议|1952 次阅读|5 个评论
科学网博客的一个Bug
热度 2 lhj701 2018-5-27 07:36
科学网博客的一个Bug 科学网博客的编辑器应该存在一个Bug。如果博文的内容过长,行数过多,当你编辑好,保存后,显示的内容是空白的,原来的内容消失的无影无踪。 曾经为了发表一篇博文,来回倒腾了3,4次,后来终于发现,只要行数过多,编辑器就没有任何警告的当掉了。 不知道,其他博友是否遇到了这个问题,是如何解决的?
个人分类: 观点建议|2321 次阅读|4 个评论
[转载]法律类资料查询网站
viviantjy73 2017-4-25 12:30
法律法规、论文、案例 1、 国家哲学社会科学学术期刊数据库 国家哲学社会科学学术期刊数据库较为突出的一个优点是可免费使用。此前,合肥工业大学官方网站介绍该数据库时,称其为“全世界人民都可以免费使用的数字资源”。 国家哲学社会科学学术期刊数据库简称国家期刊库(NSSD),涵盖期刊600多种,论文近300万篇,只需注册即可免费阅读和下载。 网址: http://www.nssd.org/ 2、中国知网 中国知网通过与期刊界、出版界及各内容提供商的合作已经发展成为集期刊杂志、博士论文、硕士论文、会议论文、报纸、工具书、专利、海外文献资源为一体的、具体国际领先水平的网络出版平台。如果律师为承办的案件寻找理论依据,中国知网可作为一个重要的信息检索、下载平台。 网址: http://www.cnki.net 同类网站: 万方数据知识服务平台: http://g.wanfangdata.com.cn 维普期刊资源整合服务平台: http://lib.cqvip.com 3、中国民商法律网 中国民商法律网通过学术、前沿、可读、精品的信息,给青年学者、法科学生和民商法律实务工作者提供理论和实践支持,并汇聚了民法和商法的前沿议题,并收录了诸多民商法领域学者的学术作品。网站包括论文集萃、深度专题、悦读驿站和学术公告等板块,是检索民商法领域学术论文的好去处。 网址: http://www.civillaw.com.cn/ 4、 北大法宝 对于法科生来说,北大法宝应该不陌生。北大法宝的内容十分丰富,有法律法规,司法案例,法学期刊,律所实务和法宝视频等多个栏目,满足法科生搜索法条、查找案例及相关学术论文和司法实践等各方面情况的需求。 网址: http://www.pkulaw.cn/ 5、中国裁判文书网 根据《最高人民法院关于人民法院在互联网公布裁判文书的规定》,自2014年1月1日起,除涉及国家秘密、个人隐私、未成年人犯罪、调解结案以外的判决文书,各法院判决文书均应在该网站上公布。对于2014年后已判决的案件,可通过中国裁判文书网查询。 网址: http://wenshu.court.gov.cn/ 6、威科先行法律信息网 威科先行法律数据库不仅收录了法律法规、国际标准、裁判文书、案例分析和专业文章等,还收录了文书模板、智能图表和实务指南等。通过关键词进行检索后,可以看到法律法规、裁判文书、文书模板等不同模块下的分类,比如在法律法规模块下可显示相关法律条文的主题分类、行业分类、效力级别、地域范围、发文机关、时效性等等。 网址: http://law.wkinfo.com.cn/ 7、最高人民法院网 最高人民法院网的法律法规和司法解释更新及时、权威,可第一时间了解中国司法的高层动态和发展方向,而且可以链接到各省、直辖市高级人民法院的网站以及各类工具网站,可通过该网站查询到最高院发布的指导案例、公报信息和裁判文书等。 网址: http://www.court.gov.cn/ 8 、Westlaw Westlaw是一款非常实用的国际法检索平台,,可以通过Westlaw International迅速地存取案例、法令法规、表格、条约、商业资料和更多的资源。用户可以检索数百万的法律文档,该数据库包括英国资料,美国资料,欧盟资料,加拿大资料,香港资料,World Journals,Law School,International IP ,WestNews等多种资料。 网址: http://westlawinternational.com/ 9 、 月旦知识库 如果要检索台湾地区的法律法规、案例、学术论文和专著等,月旦知识库将是最好的选择。月旦 收录包括台湾期刊文献、图书文献、词典工具书、两岸常用法规、精选判解、教学案例、博硕论文索引、题库讲座等子库, 50万笔全文数据,运用智能型跨库整合交叉比对查询。 网址: http://lawdata.com.tw/tw/ 10 、 聚法 网址: https://www.jufaanli.com/
2240 次阅读|0 个评论
[转载]10分钟掌握Linux vi编辑器常见命令的使用,最简单的vi编辑器教程
cgh 2016-11-22 16:59
10分钟掌握Linux vi编辑器常见命令的使用,最简单的vi编辑器教程 http://c.biancheng.net/cpp/html/2735.html Linux下的文本编辑器有很多种,vi 是最常用的,也是各版本Linux的标配。注意,vi 仅仅是一个文本编辑器,可以给字符着色,可以自动补全,但是不像 Windows 下的 word 有排版功能。 vi 是十年磨一剑的产品,虽然命令繁多,并且大多数功能都是依靠键盘输入来完成,但是一旦你熟悉后,会发现 vi 的功能和效率是其他图形界面编辑器无法比拟的。 Vim 是 V i im proved 的缩写,是 vi 的改进版。在Linux中,vi 被认为是事实上的标准编辑器,因为: 所有版本的 Linux 都带有 vi 编辑器; 占用资源少; 与 ed、ex 等其他编辑器相比,vi 对用户更加友好。 你可以使用 vi 编辑器编辑现有的文件,也可以创建一个新文件,还能以只读模式打开文本文件。进入 vi 编辑器可以通过以下方式进入 vi 编辑器: 命令 描述 vi filename 如果filename存在,则打开;否则会创建一个新文件再打开。 vi -R filename 以只读模式(只能查看不能编辑)打开现有文件。 view filename 以只读模式打开现有文件。 例如,使用 vi 编辑器创建一个新文件并打开:$vi testfile | ~ ~ ~ "testfile" 竖线(|)代表光标的位置;波浪号(~)代表该行没有任何内容。如果没有 ~,也看不到任何内容,那说明这一行肯定是有空白字符(空格、tab 缩进、换行符等)或不可见字符。工作模式进一步了解 vi 之前先来了解一下 vi 的工作模式,vi 有三种工作模式:1) 普通模式由Shell进入vi编辑器时,首先进入普通模式。在普通模式下,从键盘输入任何字符都被当作命令来解释。普通模式下没有任何提示符,输入命令后立即执行,不需要回车,而且输入的字符不会在屏幕上显示出来。 普通模式下可以执行命令、保存文件、移动光标、粘贴复制等。2) 编辑模式编辑模式主要用于文本的编辑。该模式下用户输入的任何字符都被作为文件的内容保存起来,并在屏幕上显示出来。3) 命令模式命令模式下,用户可以对文件进行一些高级处理。尽管普通模式下的命令可以完成很多功能,但要执行一些如字符串查找、替换、显示行号等操作还是必须要进入命令模式。 注意:有些教程中称有两种工作模式,是把命令模式合并到普通模式。 工作模式切换: 在普通模式下输入 i(插入)、c(修改)、o(另起一行) 命令时进入编辑模式;按 esc 键退回到普通模式。 在普通模式下输入冒号(:)可以进入命令模式。输入完命令按回车,命令执行完后会自动退回普通模式。 提示:如果不确定当前处于哪种模式,按两次 Esc 键将回到普通模式。 退出 vi 编辑器一般在命令模式下退出 vi 编辑器。 退出命令 说明 q 如果文件未被修改,会直接退回到Shell;否则提示保存文件。 q! 强行退出,不保存修改内容。 wq w 命令保存文件,q 命令退出 vi,合起来就是保存并退出。 ZZ 保存并退出,相当于 wq,但是更加方便。 退出之前,你也可以在 w 命令后面指定一个文件名,将文件另存为新文件,例如:w filename2将当前文件另存为 filename2。 注意:vi 编辑文件时,用户的操作都是基于缓冲区中的副本进行的。如果退出时没有保存到磁盘,则缓冲区中的内容就会被丢失。 移动光标为了不影响文件内容,必须在普通模式(按两次 Esc 键)下移动光标。使用下表中的命令每次可以移动一个字符: 命令 描述 k 向上移动光标(移动一行) j 向下移动光标(移动一行) h 向左移动光标(移动一个字符) l 向右移动光标(移动一个字符) 两点提醒: vi 是区分大小写的,输入命令时注意不要锁定大写。 可以在命令前边添加一个数字作为前缀,例如,2j 将光标向下移动两行。 当然,还有很多其他命令来移动光标,不过记住,一定要在普通模式(按两次 Esc 键)下。 用来移动光标的命令 命令 说明 0 或 | 将光标定位在一行的开头。 $ 将光标定位在一行的末尾。 w 定位到下一个单词。 b 定位到上一个单词。 ( 定位到一句话的开头,句子是以 ! . ? 三种符号来界定的。 ) 定位到一句话的结尾。 { 移动到段落开头。 } 移动到段落结束。 ] 向前移到下一个段落的开头处。 n| 移动到第 n 列(当前行)。 1G 移动到文件第一行。 G 移动到文件最后一行。 nG 移动到文件第 n 行。 :n 移动到文件第 n 行。 H 移动到屏幕顶部。 nH 移动到距离屏幕顶部第 n 行的位置。 M 移动到屏幕中间。 L 移动到屏幕底部。 nL 移动到距离屏幕底部第 n 行的位置。 :x x 是一个数字,表示移动到行号为 x 的行。 控制命令有一些控制命令可以与 Ctrl 键组合使用,如下: 命令 描述 CTRL+d 向前滚动半屏 CTRL+f 向前滚动全屏 CTRL+u 向后滚动半屏 CTRL+b 向后滚动整屏 CTRL+e 向上滚动一行 CTRL+y 向下滚动一行 CTRL+I 刷新屏幕 编辑文件切换到编辑模式下才能编辑文件。有很多命令可以从普通模式切换到编辑模式,如下所示: 命令 描述 i 在当前光标位置之前插入文本 I 在当前行的开头插入文本 a 在当前光标位置之后插入文本 A 在当前行的末尾插入文本 o 在当前位置下面创建一行 O 在当前位置上面创建一行 删除字符下面的命令,可以删除文件中的字符或行: 命令 说明 x 删除当前光标下的字符 X 删除光标前面的字符 dw 删除从当前光标到单词结尾的字符 d^ 删除从当前光标到行首的字符 d$ 删除从当前光标到行尾的字符 D 删除从当前光标到行尾的字符 dd 删除当前光标所在的行 可以在命令前面添加一个数字前缀,表示重复操作的次数,例如,2x 表示连续两次删除光标下的字符,2dd 表示连续两次删除光标所在的行。 建议各位读者多加练习上面的命令,再进一步深入学习。修改文本如果你希望对字符、单词或行进行修改,可以使用下面的命令: 命令 描述 cc 删除当前行,并进入编辑模式。 cw 删除当前字(单词),并进入编辑模式。 r 替换当前光标下的字符。 R 从当前光标开始替换字符,按 Esc 键退出。 s 用输入的字符替换当前字符,并进入编辑模式。 S 用输入的文本替换当前行,并进入编辑模式。 粘贴复制vi 中的复制粘贴命令: 命令 描述 yy 复制当前行 nyy 复制n行 yw 复制一个字(单词) nyw 复制n行 p 将复制的文本粘贴到光标后面 P 将复制的文本粘贴到光标前面 高级命令下面的一些命令虽然看起来有些古怪,但是会让你的工作更有效率,如果你是 vi 重度用户,就了解一下吧。 命令 说明 J 将当前行和下一行连接为一行 将当前行左移一个单位(一个缩进宽度) 将当前行右移一个单位(一个缩进宽度) ~ 改变当前字符的大小写 ^G Ctrl+G组合键可以显示当前文件名和状态 U 撤销对当前行所做的修改 u 撤销上次操作,再次按 'u' 恢复该次操作 :f 以百分号(%)的形式显示当前光标在文件中的位置、文件名和文件的总行数 :f filename 将文件重命名为 filename :w filename 保存修改到 filename :e filename 打开另一个文件名为 filename 的文件 :cd dirname 改变当前工作目录到 dirname :e # 在两个打开的文件之间进行切换 :n 如果用 vi 打开了多个文件,可以使用 :n 切换到下一个文件 :p 如果用 vi 打开了多个文件,可以使用 :n 切换到上一个文件 :N 如果用 vi 打开了多个文件,可以使用 :n 切换到上一个文件 :r file 读取文件并在当前行的后边插入 :nr file 读取文件并在第 n 行后边插入 文本查找如果希望进行全文件搜索,可以在普通模式(按两次 Esc 键)下输入 / 命令,这时状态栏(最后一行)出现/并提示输入要查找的字符串,回车即可。 / 命令是向下查找,如果希望向上查找,可以使用 ? 命令。 这时,输入 n 命令可以按相同的方向继续查找,输入 N 命令可以按相反的方向继续查找。 搜索的字符串中可以包含一些有特殊含义的字符,如果希望搜索这些字符本身,需要在前面加反斜杠(\)。 部分特殊字符列表 字符 说明 ^ 匹配一行的开头 . 匹配一个字符 * 匹配0个或多个字符 $ 匹配一行的结尾 匹配一组字符 如果希望搜索某行中的单个字符,可以使用 f 或 F 命令,f 向上搜索,F 向下搜索,并且会把光标定位到匹配的字符。 也可以使用 t 或 T 命令:t 命令向上搜索,并把光标定位到匹配字符的前面;T 命令向下搜索,并把光标定位到匹配字符的后面。set 命令set 命令可以对 vi 编辑器进行一些设置。使用 set 命令需要进入命令模式。 :set 命令选项 命令 说明 :set ic 搜索时忽略大小写。 :set ai 设置自动缩进(自动对齐)。 :set noai 取消自动缩进(自动对齐)。 :set nu 显示行号。 :set sw 设置缩进的空格数,例如,将缩进空格数设置为4::set sw=4。 :set ws 循环搜索:如果直到文件末尾也没有查找到指定字符,那么会回到开头继续查找。 :set wm 设置自动换行,例如,设置距离边际2个字符时换行::set wm=2 。 :set ro 将文件类型改为只读。 :set term 输出终端类型。 :set bf 忽略输入的控制字符,如 BEL(响铃)、BS(退格)、CR(回车)等。 运行命令切换到命令模式,再输入 ! 命令即可运行 Linux 命令。 例如,保存文件前,如果希望查看该文件是否存在,那么输入:! ls即可列出当前目录下的文件。 按任意键回到 vi 编辑器。文本替换切换到命令模式,再输入 s/ 命令即可对文本进行替换。语法为::s/search/replace/gsearch 为检索的文本,replace 为要替换的文本,g 表示全局替换。几点提示vi 编辑器的使用讲解完毕,但是请记住下面几点: 输入冒号(:)进入命令模式,按两次 Esc 键进入普通模式。 命令大小写的含义是不一样的。 必须在编辑模式下才能输入内容。
个人分类: Linux|1961 次阅读|0 个评论
[转载]1.5算数问题-求一个整数的分解因子
kexuedj 2015-8-26 21:51
factors.txt 我用intel编辑器编译的时候提示我错误 Console1 : error PRJ0019: A tool returned an error code 不知道是怎么回事,如果知道的请给我回复 我检查了一下,用其他的编辑器应该不会有问题 如果有问题 告诉我!
个人分类: fortran基础学习|1244 次阅读|0 个评论
[转载]1.2算数问题---不同进制数值的基本运算(+ - * \ ^)
kexuedj 2015-7-15 22:00
basisop.f90 ————学习大师们的编程格式 ————感受大师们的编程思想 代码在compaq visual fortran 6.6中可以运行,其他的编辑器还没有试过。 其中也加了自己的一些注释。 仅供学习使用!!
个人分类: fortran基础学习|985 次阅读|0 个评论
UltraEdit语法高亮设置
dkwork 2015-4-25 18:04
UltraEdit是一个常用的文本编辑器,很多程序员喜欢用它代替编程语言原生的IDE编辑器。其中一个非常有用的功能是对编程语言中语法保留字高亮显示,提升程序可读性。UltraEdit对多种常用的编程语言可自动语法高亮显示,实际上都是通过自定义wordfile文件实现的。 UltraEdit15.0版后,wordfile文件改为目录,可以设置多个文件(后缀为.uew)。加亮文件与文件后缀名相关,可在相关文件第一行看到。 由于内置的语言高亮种类有限,可以自己写wordfile文件对新语言进行定义高亮。但是ultraedit的公司提供了很多种预定义的文件供直接下载。地址为 http://www.ultraedit.com/downloads/extras/wordfiles.html#wordfiles 本人需要使用arduino的语言(后缀为INO)可直接下载得到。但是将其放入program files的wordfile文件中始终无效。在该公司的问题库中找到答案。原来在win的user文件夹中还有一个wordfile文件夹,这个文件夹中的文件才是每次程序读入的文件。 该文件夹位置为%appdata%\IDMComp\UltraEdit\Wordfiles\,可在资源管理器中直接输入即可。也可在Advanced - Configuration - Editor Display - Syntax Highlighting中看到实际位置。 加入ino文件的wordfile文件后,重启UltraEdit,再次打开ino文件即可发现关键字已经高亮。
个人分类: 计算机|11530 次阅读|0 个评论
建议科学网改进博客编辑软件
热度 4 lhj701 2014-11-11 07:34
建议科学网改进博客编辑软件 自从科学网编辑器改版以后,写作体验有了全面的提升,但有几个 问题,原来提出过。 1、就是在打字过程中,能够自动产生 字间空格,就如 上边那样( 这篇博文我 有意没有去掉 字间空格 )。 2、在 打字后,进行编辑 时,会莫名的产生不能 去除的 行间距 变化,还 去不掉, 害的 经常 粘贴到 txt文本 中,重新 粘回来,重新调整格式。 建议科学网技术人员能够 重视这个问题,方便 编辑和写博, 能想办法让 技术人员进行改进? 但愿这次提建议, 能够管用。( 这三趟 文字产生的 行间距明显与 上段不同,我特意留下,让技术人员 参考 )。 不知道科学网其他博友 有没有遇到类似的 情况? PS:罗老师, 补充了一种情况: 回复评论产生的 错字不能 修改!
个人分类: 社会新闻|3136 次阅读|10 个评论
[转载]定制 vi 和 Vim 编辑器
chnfirst 2013-11-14 20:35
http://www.ibm.com/developerworks/cn/aix/library/au-customize_vi/ 定制 vi 和 Vim 编辑器 使用自定义命令扩展标准编辑器 vi(可视化)文本编辑器是最古老的面向屏幕的编辑器,仍然在所有 UNIX、Linux 和其他 UNIX 类的系统上默认提供。由于其陈旧性加上其基础编辑模型,vi 总是得不到应有的尊崇,但是它是一个无比快速且可靠的工具,每一位 UNIX 和 Linux 管理员都应当知道如何使用它。Vim(vi 改进版)是常用的 vi 的现代版本,在诸多方面扩展了 vi 的功能,同时保留向后兼容性。本文解释如何以多种方式定制 vi 和 Vim,从简单的配置设置到自定义命令。 评论: William von Hagen , 系统管理员,作家, WordSmiths 关闭 William von Hagen 担任 UNIX 系统管理员已经超过 20 年,并从 1993 年开始成为 Linux 爱好者。Bill 是一些图书的作者或合著者,涉及的主题包括 Ubuntu Linux、Xen Virtualization、GNU Compiler Collection (GCC)、SuSE Linux、Mac OS X、Linux 文件系统和 SGML。他还为 Linux 和 Mac OS X 出版物和网站撰写了许多文章。 2011 年 8 月 08 日 内容 vi 和 Vim 定制的类型 vi 和 Vim 的启动文件 设置 vi 和 Vim 配置选项 定制键绑定和创建命令 定义缩略词 结束语 下载 参考资料 评论 自 1978 年以来,vi 文本编辑器(或软件通用型的克隆版本)已包含为每个 UNIX 和类似 UNIX 的系统的一部分。由于 ATT 许可限制,类似 UNIX 的开源系统必须从头开始编写其自己的 vi 克隆版本,因而衍生了 Elvis、nvi 和 Vim(后者将在本文与 vi 一同加以讨论)等与 vi 工作方式相似的工具。这种普遍性使其成为系统管理员真正不可或缺的工具之一,这些系统包括任何 UNIX、Linux、Berkeley Software Distribution (BSD) 和其他类似 UNIX 的计算机系统。 热衷于使用 UNIX 和 UNIX 类系统上的 Emacs 文本编辑器的人,包括我自己,喜欢它的灵活性、可扩展性和可配置性。本文强调 vi 与最受欢迎的克隆版本 Vim 中相同的那些功能。vi 和 Vim 编辑器提供基本上与 Emacs 相同的可行定制和配置,且 vi 对缩略词的支持在 Emacs 中是无与伦比的。了解 vi 可以使任何系统管理员立即在任何 UNIX 类系统上变得高效起来,远在您弄清如何安装 Emacs 之前。 本文解释如何定制 vi 和 Vim,而非如何使用它们。参见 参考资料 获取 vi 和 Vim 教程的链接。这部分还列出其他流行的 vi 克隆版本以及在哪里获取它们。 vi 和 Vim 定制的类型 vi 和 Vim 编辑器在文本文件或环境变量中存储定制(这将在下一节中讨论)。每个 vi 或 Vim 配置文件都可以包含任何数量的配置和定制命令类型,如 表 1 所示。 表 1. 配置和定制命令 命令 描述 ab 在 Insert 模式下输入文本时若遇到特定字符序列,可定义缩略词。这些缩略词的功能如同 Microsoft Word 中的 AutoCorrect 特性。 map 将现有 vi 或 Vim 命令分配给一个自定义键或定义您自己的自定义命令。参见 “ 定制键绑定和创建命令 ” 了解更多信息。 set 设置一个 vi 或 Vim 变量。根据变量类型及其使用方式,可以通过简单地命名特定变量或指定和分配一个显式值来设置变量。参见 “ 设置 vi 和 Vim 配置选项 ” 了解更多信息。 您可以在一个 vi 或 Vim 配置文件中的命令内穿插配置命令和注释。在 Vim 配置文件中,双引号()后面的任何字符出现在任何地方都被看作是一条注释,而标准 vi 配置文件中的注释必须将双引号作为当前行的第一个字符。标准 vi 配置文件不能包含任何空行,而在 Vim 配置文件中则是可以的。 Vim 编辑器支持额外的关键字,允许您利用原始 vi 编辑器中没有的功能,包括 表 2 中所示的那些。 表 2. Vim 支持的额外关键字 关键字 描述 autocmd 基于您正在编辑的文件类型自动执行特定命令。参见 下载 部分获取 sample.vimrc 文件,其中包含一个 autocmd 示例。 filetype 在编辑特定类型的文件时加载和启动提供额外功能的各种插件。 function 定义一个可映射到一个关键命令的自定义函数。 syntax 启动或关闭语法高亮显示。 Vim 使用的配置文件也支持一个丰富的内部函数集,可在条件表达式中使用。这些让您可以编写自己的函数并在不同的上下文中执行它们。参见 参考资料 部分的链接,了解有关这种条件句的更多信息。 vi 和 Vim 的启动文件 您可以在环境变量、配置文件或两者中定义前一节讨论的 vi 和 Vim 配置选项。vi 和 Vim 都使用一系列环境变量和配置文件加载定制和共享许多相同的配置序列,不过 Vim 使用一个更广泛的集合。 默认情况下,vi 和 Vim 编辑器为配置信息按列出的顺序检查 表 3 中的位置。 表 3. vi 和 Vim 为配置信息检查的位置 顺序 位置 描述 1 通过 -u 选项调用的特定文件 (仅限 Vim):如果使用 -u 选项进行调用,后面紧跟配置文件的名称,Vim 会忽略其余配置序列,而仅从指定文件加载设置。要跳过所有配置文件,您可以将 NONE 指定为 -u 选项的参数。 您可以阻止标准 vi 加载任何配置文件,方法就是将EXINIT 环境变量设置为 :setnoexrc 字符串,然后执行 vi。如果您在使用 Bash shell,以下示例通过命令行执行该操作: EXINIT=":set noexrc" vi file1.txt 2 编译 Vim 时识别的特定配置文件 (仅限 Vim):编译 Vim 时(通常是 /etc/vim/vimrc 或 /usr/share/vim/vimrc)识别出的特定配置文件包含 Vim 的系统级配置设置。该文件通常设置一些配置选项,加载特定于运行中的操作系统和操作系统版本的其他 Vim 配置文件。 3 VIMINIT 环境变量 (仅限 Vim):一个环境变量,由一个或多个配置命令序列组成。如果设置了该环境变量,Vim 不再寻找任何后续配置文件或检查其他环境变量。 4 $HOME/.vimrc (仅限 Vim):一个名为 .vimrc 的文件,位于用户的主目录中,包含配置选项。如果找到该文件,Vim 不再寻找任何后续配置文件或检查其他环境变量。参见 下载 部分获取 sample.vimrc 文件。 5 EXINIT 环境变量 由一个或多个配置命令序列组成的一个环境变量。 6 $HOME/.exrc 一个名为 .exrc 的文件,位于用户的主目录中,包含配置选项。如果找到该文件,vi 和 Vim 不再寻找任何后续配置文件,除非在该配置文件中设置了 exrc 选项。参见 下载 部分获取 sample.exrc 文件。 7 .exrc 一个名为 .exrc 的文件,位于当前工作目录中,包含配置选项。(如果您在 Microsoft Windows 系统上使用 Vim,该文件的名称为 _exrc.)。如果之前的配置指令或文件设置了 exrc 选项(或者如果您在从主目录启动 vi 且那里有一个 .exrc 文件,因而匹配搜素序列中的以下步骤),才会读取当前目录中的 .exrc 文件。 这些令人印象深刻的一系列备选方案使得为 Vim 配置系统级默认设置尤为简单,同时也能实现 Vim 与标准 vi 配置文件之间的一些智能交互。例如,当我的主目录不位于网络文件系统中时,我将 shell 和应用程序的所有配置文件复制到这些系统中,在那里我有帐户。有些系统使用 vi,而对其他系统提供 Vim(作为 vi)。因此,我将所有特定于 vi 的配置选项放到一个 .vimrc 文件中,并将以下行放到我的 .vimrc 文件的开头: so .exrc 这使得 Vim 在加载我的 .vimrc 文件中剩余部分的配置命令之前,读取存储在我的 .exrc 文件中的所有配置命令。在仅存在 vi 的系统上,我的 .exrc 文件正常读取,.vimrc 文件被忽略。在我使用 Vim 时,在我的 .vimrc 文件开头加载配置命令能使在两个文件中都存在的键映射被更精致的 Vim 版本所覆盖。 设置 vi 和 Vim 配置选项 set 命令使用户能够设置内部 vi 和 Vim 变量。变量根据不同的类型以不同方式予以设置: 设置为 on 或 off 的变量由 set variable 命令设置,使用 set novariable 命令取消设置。 取值的变量由 set variable=value 命令设置。 例如,set list 命令设置列表选项,该选项告诉 vi 或 Vim 显示表示行尾的字符($)和未扩展标签(^I)字符。(在 Vim 中,该选项还显示行尾空白。)list 选项不需要值 — 仅仅设置它就足够激活功能了。您可以执行 set nolist 命令取消设置 list 选项。 其他变量采用显式值或值类型,赋值方式是使用等号(=)后面紧跟值或逗号分隔的值列表。例如,在 Vim 编辑器中,您可以配置 list 命令使用的字符,通过设置 listchars 变量的值来表示行尾,行尾空白和未扩展标签。以下命令将未扩展标签显示为 ,将行尾空白显示为 !,将行尾显示为 $: set listchars=tab:,trail:!,eol:$ 为查看您可以在 vi 或 Vim 中设置的所有选项的当前值,使用 vi 或 Vim 中的 :set all 命令。要显示特定选项的当前值,使用 f:set option? 命令。要显示通过默认值修改的所有选项,使用 :set 命令。 定制键绑定和创建命令 map 命令使用户能够绑定现有或新命令到指定键或组合键,对于 vi 的命令模式,使用 map key-sequence command 语法,对于 vi 的插入模式,使用 map! key-sequence command 。 下面是 Vim 的一些 map 命令样例: map C-T hhxp map F5 !}fmt CR 这些中的第一个将键序列 control-t 映射到 vi 命令序列 hhxp,这颠倒了当前光标位置前面的两个字符的顺序(正如 Emacs 中的 control-t )。第二个将 F5 键映射到一个键序列,该键序列调用 fmt 命令来重新格式化当前段落。 标准 vi 和 Vim 的配置文件中的 map 命令之间的一个重要区别在于,正如前面的示例所示,Vim 支持尖括号内的键标识符,以识别在某些情况下可能是不可打印字符的键。vi 需要您真正插入控制序列(通过按下 control-v 后面紧跟键序列来完成)。map 命令样例的 vi 版本如下所示: map ^T hhxp map ^@ !}fmt ^M 定义缩略词 ab 命令允许您为字符较长但不常用的术语、代码段、拼写更正等确认缩略词。每当输入一个空格或标点符号,在插入模式下输入文本时您定义的缩略词就会扩展开来。例如,我最喜欢的一些缩略词是: ab het the ab teh the 在标准 vi 中,缩略词仅在插入模式下可行,但是在 Vim 中,它们在替换模式和命令行模式下也可行。Vim 编辑器提供 cab (command-line-abbreviation)、iab (insert-mode abbreviation) 和 rab (replace-mode abbreviation) 命令,允许您限制将特定缩略词扩展为 Vim 中的特定模式。 结束语 了解如何使用 vi 和 Vim 编辑器是任何 UNIX、Linux 或其他 UNIX 类系统的系统管理员的一项基本技能。尽管 vi 是一个典型的 UNIX 工具,它高度可配置,可由许多开发人员在日常工作中使用,且可在它是惟一可用编辑器的系统上使用。 本文介绍了基本的 vi 和 Vim 配置命令,概述了 vi 和 Vim 如何找到和加载定制的配置设置。这些主题有太多内容要了解,不是一篇文章可以容纳得下的。参见 参考资料 的链接,获取更多信息。
个人分类: Linux|1 次阅读|0 个评论
网编啊,公式编辑器是不是坏了?
热度 2 wliming 2013-11-4 19:55
公式都不显示。而且,以前就发现,公式里面不能在中文状态插入字母。
个人分类: 社会|1131 次阅读|3 个评论
[转载]ctag读程序
plgongcat 2013-10-1 16:17
ctag 使用简介 Vi大家都很熟悉,某些情况下它是我们在Linux下唯一可用的文本编辑器。其实我们平时所指的VI其实是VIM(ViImproved,VI增强版)。有人常常拿VIM和emacs比较,VIM尽管不象emacs那样有那么多的功能,但是比emacs更方便、好用。VIM简单易用,只要看看VIM自带的vitutor,大约只要20分钟就能掌握VIM的用法。对于Linux下的C/C++的程序员,使用VIM+Ctags的组合来写程序也许是最佳的选择。 VI的使用方法这里就不罗嗦了,本文假设大家已花了20分钟学习过了vitutor。本节我们主要讲一下Ctags这个程序。尽管ctags也可以支持其它编辑器,但是它正式支持的只有VIM。并且VIM中已经默认安装了Ctags,它可以帮助程序员很容易地浏览源代码。 熟练的使用ctags仅需记住下面七条命令: 1.$ ctags –R * ($ 为Linux系统Shell提示符) 2. $ vi –t tag (请把tag替换为您欲查找的变量或函数名) 3. :ts (ts 助记字:tags list, “:”开头的命令为VI中命令行模式命令) 4. :tp (tp 助记字:tags preview)---?此命令不常用,可以不用记 5. :tn (tn 助记字:tags next) ---?此命令不常用,可以不用记 6. Ctrl + ] 7. Ctrl + T 下面我们逐条的解释上面的命令: $ ctags –R * “-R”表示递归创建,也就包括源代码根目录(当前目录)下的所有子目录。“*”表示所有文件。这条命令会在当前目录下产生一个“tags”文件,当用户在当前目录中运行vi时,会自动载入此tags文件。Tags文件中包括这些对象的列表: 用#define定义的宏 枚举型变量的值 函数的定义、原型和声明 名字空间(namespace) 类型定义(typedefs) 变量(包括定义和声明) 类(class)、结构(struct)、枚举类型(enum)和联合(union) 类、结构和联合中成员变量或函数 VIM用这个“tags”文件来定位上面这些做了标记的对象。 剩下的命令就是定位这些对象的方法: “$ vi –t tag” :在运行vim的时候加上“-t”参数,例如: $ vim -t main 这个命令将打开定义“main”(变量或函数或其它)的文件,并把光标定位到这一行。如果这个变量或函数有多处定义,在VI命令行模式“:ts”命令就能列出一个列表供用户选择。 “:tp”为上一个tag标记文件,“:tn”为下一个tag标记文件。当然,若当前tags文件中用户所查找的变量或函数名只有一个,“:tp,:tn”命令不可用。 最方便的方法是把光标移到变量名或函数名上, 然后按下“Ctrl+]”, 这样就能直接跳到这个变量或函数定义的源文件中,并把光标定位到这一行。 用“Ctrl+t”可以退回原来的地方。 即使用户使用了N次“Ctrl+]”查找了N个变量,按N次“Ctrl+t”也能回到最初打开的文件,它会按原路返回 。 注意:运行vim的时候,必须在“tags”文件所在的目录下运行。 否则,运行vim的时候还要用“:settags=”命令设定“tags”文件的路径,这样vim才能找到“tags”文件。在完成编码时,可以手工删掉tags文件。 --The End- 使用心得: 1.例如我们读一个fortran的源代码,里面会碰到主程序、子程序等嵌套的情况,还有一些晓得模块,我们就可以利用ctag的强大功能立马找到你想知道的东西的,其实ctag就相当于grep这个厉害的unix的命令。下面举例如下的用fortran90写的一个模块的程序 ! if the cell moves the quantity to be minimized is the enthalpy IF ( lmovecell ) fname=enthalpy ! CALL read_bfgs_file ( pos, grad, fixion, energy, scratch, n, stdout ) ! scf_iter = scf_iter + 1 istep = scf_iter ! ! ... convergence is checked here ! 当你读到CALL的时候,遇到read_bfgs_file,这时候你要将光标放到上面的字段上,然后按“Ctrl+]”,得到: SUBROUTINE read_bfgs_file ( pos, grad, fixion, energy, scratch, n, stdout ) !------------------------------------------------------------------------ ! IMPLICIT NONE ! REAL(DP), INTENT(INOUT) :: pos(:) REAL(DP), INTENT(INOUT) :: grad(:) INTEGER, INTENT(IN) :: fixion(:) CHARACTER(LEN=*), INTENT(IN) :: scratch INTEGER, INTENT(IN) :: n INTEGER, INTENT(IN) :: stdout REAL(DP), INTENT(INOUT) :: energy 2. 你也可以放在其他的字段处会有以外的惊喜。同时你要结合vim里面的查找命令会收到更好的效果的。 转载: http://xuyuann.blog.163.com/blog/static/53217902200812944634151/ PS:当然读程序的软件还有功能强大的understand,有兴趣的可以参考http://blog.csdn.net/qwang24/article/details/4064975
个人分类: f90|1545 次阅读|0 个评论
配置SourceInsight成简单好用的c/java代码编辑器
yangtaolyt 2013-9-29 17:10
配置SourceInsight成简单好用的 c/java 代码编辑器 1 、缩进与 tab ( 1 ) Options 菜单 à Preferences à Typing 卡,勾掉下面两项∶ Typing tab indents line , regardless of selection ,空行按 tab 无法前进 Typing tab replaces current selection ,选定部分内容、再按 tab 时会清除所选 ( 2 ) Options 菜单 à Document Options (针对不同文件类型,分别进行设置) à 下拉左上文件类型框、选择合适类型( c 源文件) à Editing Options 框中, tab width=2 à Editing Options 框中,勾选 Expand tabs (这样,按 tab 键、等价于输入 2 个空格) ( 3 ) Options 菜单 à Document Options à 选择合适的文件类型 à 点击右边中间的 Auto Indent 钮 à 在弹出的框中,左边一定要点 Smart ,右边有两个复选框 Indent Open Brace 和 Indent Close Brace ,具体效果可以看 SIS 的 HELP 。按照部门里的编程风格要求,最方便的就是把两个复选框都取消掉,然后点 OK 。 勾选 Auto Indent 之 SMART 的效果∶在 C 程序里 , 如果遇到行末没有分号的语句 , 如 IF, WHILE, SWITCH 等 , 写到该行末按回车,则新行自动相对上一行缩进两列。 勾掉 Indent Open Brace 和 Indent Close Brace 的效果∶继上一段,在相对缩进行里 , 如果输入 }, 则自动和上一行列对齐(好像勾不勾都会有这个功能);而输入 { 时,不会与下面的行对齐(这是勾上 Indent Open Brace 时的效果)。 2 、向项目中添加文件时,只添加特定类型的文件(文件类型过滤器) 有个同事比较生猛,得整汇编代码,但在 SIS 里建立 PROJECT 并 ADD TREE 的时候,根据默认设置并不会把该 TREE 里面所有汇编文件都包含进来,只加了 .inc 和 .asm 后缀的, .s 后缀的没有。而且用 SIS 打开 .s 的文件,一片黑白没有色彩,感觉回到 DOS 的 EDIT 时代了…… 解决方法是在 Options-Document Options 里面,点左上的 Document Type 下拉菜单,选择 x86 Asm Source File ,然后在右边的 File filter 里 *.asm ; *.inc ; 的后面加上 *.s ;接着 CLOSE 就可以了。上面两个问题解决了,但注意加入 *.s 后还需要重新 ADD TREE 一遍才能把这些汇编加到 PROJECT 里面。 3 、去掉功能强大但是无用的自动完成功能 Options 菜单 à Preferences à Typing 卡 à Auto Completion 框,勾掉 Use automatic symbol completion window (这里是 SIS 的全局设置) Options 菜单 à Document Options à Editing Options 框中,勾掉 Allow auto-complete (局部设置) 上面两项必须全部勾选,才能启用 Auto Completion 功能 4 、恢复小键盘的“ + , - , * , / ”功能 Options 菜单 à Key assignments ,通过关键词 Scroll 找到 Scroll Half Page Up ,取消小键盘 / ;通过关键词 Scroll 找到 Scroll Half Page Down 取消小键盘 * ;通过关键词 Function 找到 Function Up ,取消小键盘 - ,通过关键词 Function 找到 Function down ,取消小键盘 + 。 5 、恢复 ctrl+a 的全选功能 通过关键词 save 找到 save all ,更改为 ctrl+shift+a ,通过关键词 select 找到 select all , 更改为 ctrl +a 6 、解决字符等宽对齐问题。 SIS 默认字体是 VERDANA ,很漂亮。这网页上应该也是用的 VERDANA 字体。但由于美观的缘故, VERDANA 字体是不等宽的。比如下面两行 llllllllll MMMMMMMMMM 同样 10 个字符,长度差多了 . 用 VERDANA 来看程序,有些本应该对齐的就歪了。解放方法是使用等宽的字体,但肯定比较丑。可以用 DOS 字体,也就是记事本里的默认字体 sysfixed 很丑,要有心理准备。比较推荐的是用 Courier New 。
2 次阅读|0 个评论
文本编辑器
Master123 2013-6-1 11:24
Notepad++ UltraEdit Vim Emacs Sublime
个人分类: tools|3845 次阅读|0 个评论
LaTeX 公式编辑器网页版[转载]
热度 1 PinHe 2013-5-17 19:36
大家是否都曾有在百度、问问等问答频道提问或者回答数理化问题的经历呢?或者在工作、学习期间,需要在网上交流一下数学公式。相信有过类似需求的朋友都会发现,想要在电脑上制作一个复杂一点的公式,有时还真有点无从入手。 你是否像笔者一样在为输入繁琐复杂的数学公式而烦恼?亦或是想展现自己的解题技艺却在输入复杂的公式时望而却步?经过一番找些,于是,我发现了它!—— 在线 LaTeX 公式编辑器。它完全免费,简单几步即可生成复杂的公式图片,绝对值得学术研究者们和学生们一试…… 在线 LaTeX 公式编辑器界面: 在线 LaTeX 公式编辑器简介: 1.超强的公式编辑能力,轻轻松松编辑出各种数学、物理、化学公式,并且可以自定义字体、颜色、大小、透明度等。 2.提供多种常用例子,方便使用者输入。具体有:代数、微积分、统计、矩阵、集合、三角、几何、化学、物理。(见附图2,注:图为矩阵例子) 3.当公式编辑完成后,提供免费的gif图片下载,方便使用者存放、粘贴,我们一般都是使用这个功能。 4.对于网站的站长来说,如果你喜欢这个在线编辑器,那么它为你提供了多种嵌入式代码便于使用者放置到自己的网站上,方便用户在你网站上编辑输入公式。(见附图) 5.公式收藏功能。当你编辑完成一个自己满意的公式后,可以使用收藏夹将其收藏,方便下次使用。 写在后面: 正如上面所介绍的,不难发现这个在线公式编辑器是非常给力的。编者是比较喜欢在网上答题的,所以经常使用到这个工具。在学习和工作中,编者还是觉得此工具对大家还是很有帮助的,特此提出分享一下。另外,细心的朋友可以发现网站上有这样的字样 “powered by codecogs”。访问 codecogs.com 的主页后,可以发现这是一个专注于在线编辑器研发的网站。有需要的童鞋可以去观望一下,说不定就找到自己喜欢的一个编辑器了。 公式编辑器网址: http://www.codecogs.com/latex/eqneditor.php
8468 次阅读|1 个评论
文本编辑器UltraEdit的两个小问题
bigdataage 2013-4-2 21:09
文本编辑器UltraEdit的两个小问题 Ultraedit: Do you want to convert xxxx to Dosformat? 解决办法: 点击菜单上的advanced -configuration -filehandling -Dos/UNIX/Mac handling- Unix/Mac file detection/conversion -never promptto convert files to Dos format. UltraEdit提示希望转换到DOS格式吗? 用UltraEdit打开文件时有时会提示“提示希望转换xxx到DOS格式吗?”原因如下: 很久以前,人们用老式的电传打字机作为输入设备,它使用两个字符来另起新行。一个字符把滑动架移回首位(称为回车,DECRDE),另一个字符把纸上移一行(称为换行,DELFDE)。 当计算机问世后,由于存储器曾经非常昂贵。有些人就认定没必要用两个字符来表示行尾。 于是UNIX开发者决定他们可以用 DELineFeedDE一个字符来表示行尾。 Apple开发者规定了用DECRDE。 开发 MS-DOS(以及微软视窗) 的那些家伙则决定沿用老式的DECRDEDELFDE。 三种行尾格式如下: unix DELFDE dos DECRDEDELFDE mac DECRDE 这意味着,如果你试图把一个文件从一种系统移到另一种系统,那么你就有换行符方面的麻烦。 取消该提示的措施: 如果你的程序将来需要在UNIX/linux,最好是保持 unix的格式。 点选 高级 菜单—文件处理 — 选择 DOS/UNIX/MAC 处理,在右侧的unix/mac 文件检测/转换下面,勾上 禁用。确定,以后就不会提示了。
3749 次阅读|0 个评论
科学网编辑器太不合理——经常发生倒退
热度 2 newniu 2013-3-31 00:19
在写博文时,不知按了什么键就发生倒退。半天的工作就这么没有了。也不知设计编辑器时如何考虑的,轻易退回,真的很麻烦。这事发生多次了,先前我已把backspace键的回退禁止了,看来还是不行。
1987 次阅读|2 个评论
Microsoft Word 2013 中的公式编辑器
bigdataage 2013-3-27 10:56
Microsoft Word 2013 中的公式编辑器 INSERT - Object - Microsoft Equation 3.0 亲测好用。
8013 次阅读|0 个评论
[转载]GNU Emacs:宇宙中最强的编辑器,终结一切和文本有关的工作
chnfirst 2013-3-25 14:03
http://darksair.org/wiki/emacs.html Emacs Table of Contents: What is GNU Emacs? 配置 Emacs 我的配置文件 基本设置 一些函数 附加的 Modes 一些键绑定 Some Eye Candies 其它配置文件 关于 Emacs 的字体 Sub-pages emacs-wiki Muse ERC What is GNU Emacs? Emacs 是什么?没听说过这句话么:“宇宙里有三种人,第一种是用 Emacs 的人,第二种是用 Vim 的人,第三种人用其它编辑器...”。GNU Emacs 是 RichardStallman 编写的强力文本编辑器。最新的 Release 版本是 22。 配置 Emacs Emacs 的配置文件是 ~/.emacs 或 ~/.emacs.el,是一个 elisp 程序。Elisp 是古老的函数式语言 Lisp 的一个方言,在 Emacs的在线文档里有详细的介绍。 我的配置文件 把我的 emacs 配置拿出来 show 一下~~~,附带解说。 基本设置 ;; =============== add load path ==================== (add-to-list 'load-path ~/.emacs.d ) (add-to-list 'load-path ~/.emacs.d/imaxima ) (add-to-list 'load-path ~/.emacs.d/slime-2.0 ) (add-to-list 'load-path ~/.emacs.d/slime48 ) (add-to-list 'load-path ~/.emacs.d/org-mode ) ;; (add-to-list 'load-path ~/.emacs.d/g-client) (add-to-list 'load-path ~/.emacs.d/emacs-jabber ) (add-to-list 'load-path ~/.emacs.d/gnuplot-mode.0.6.0 ) (add-to-list 'load-path ~/.emacs.d/haskell-mode ) (add-to-list 'load-path ~/.emacs.d/mldonkey ) (add-to-list 'load-path ~/.emacs.d/yasnippet ) (add-to-list 'load-path ~/.emacs.d/pov-mode ) (add-to-list 'load-path ~/.emacs.d/erc ) (add-to-list 'load-path ~/.emacs.d/icicles ) (add-to-list 'load-path ~/.emacs.d/emacsim ) (add-to-list 'load-path ~/.emacs.d/emeteo ) (add-to-list 'load-path ~/.emacs.d/auctex ) 我的 load-path 们,我下载的扩展基本上都装在 ~/.emacs.d 里了,这个目录 Emacs 默认是不加载的,需要手动添加。 (custom-set-variables ;; custom-set-variables was added by Custom. ;; If you edit it by hand, you could mess it up, so be careful. ;; Your init file should contain only one such instance. ;; If there is more than one, they won't work right. '(auto-save-default nil) '(c-syntactic-indentation t) '(c-tab-always-indent t) '(canlock-password 8225634b21d31eaa687444f4d1e696bab28e0b26 ) '(case-fold-search t) '(column-number-mode t) '(debug-on-error t) '(default-input-method chinese-py-punct ) '(display-time-mode t) '(fringe-mode (quote (16 . 0)) nil (fringe)) '(global-font-lock-mode t nil (font-lock)) '(indicate-buffer-boundaries (quote ((t . left) (top . left) (bottom . left) (up . left) (down . left)))) '(safe-local-variable-values (quote ((todo-categories daily )))) '(tab-width 4) '(transient-mark-mode t)) 以上都是在 emacs 的 customize 界面里设置的,用 setq 可以达到同样的效果。其中特别有用的是 c-tab-always-indent 这个东西。设成 t 以后在写代码的时候无论在何时何地一按 Tab ,立马按照语法缩进当前行,如果要插入一个 Tab 宽度的空白的话可以用 M-i 。另外那个global-font-lock-mode 比较有迷惑性。它既可以是一个变量,也可以是一个函数。在线文档里说你设 global-font-lock-mode这个变量为 non-nil 是没有用的,必须要在 customize 里设,又或者调用这个函数并传入三个参数(customize 干的其实就是这个),设了这个东西以后就会有代码加亮。最后,那个transient-mark-mode 可以高亮显示出当前选中的区域。 ;; =============== Coding and Language =============== (set-selection-coding-system 'utf-8) (set-clipboard-coding-system 'utf-8) (set-keyboard-coding-system 'utf-8) (set-language-environment 'utf-8) (setq locale-coding-system 'utf-8) (setq current-language-environment utf-8 ) (setq locale-language-names (cons '( zh_CN.UTF-8 UTF-8 utf-8) locale-language-names)) ;; Fix the width of Chinese marks. ( let ((l '(chinese-gb2312 gb18030-2-byte gb18030-4-byte-bmp gb18030-4-byte-ext-1 gb18030-4-byte-ext-2 gb18030-4-byte-smp))) ( dolist (elt l) (map-charset-chars #'modify-category-entry elt ?|) (map-charset-chars ( lambda (range ignore) (set-char-table-range char-width-table range 2)) elt))) 这一段是关于字符编码的设置,注意我的 emacs 版本是 23,对 unicode 有极好的支持,如果是 21 版可能需要将编码设为 gbk 或 gb2312。 ;; =========== Some basic settings ============================== (setq user-full-name Corsair ) (setq user-mail-address chris.corsair@gmail.com ) (setq default-major-mode 'text-mode) ; Use text-mode as default mode ; instead of fundermantle-mode. (setq default-tab-width 4) (setq tab-width 4) (setq-default indent-tabs-mode nil) ; Make _Tab_ indent in some modes. (setq column-number-mode t) ; Display column number in modeline. (setq kill-ring-max 255) ; 255 available undo-s. :-p (setq next-screen-context-lines 5) ; Begin scrolling when the cursor ; is 5 lines from the bottom. (setq display-time-day-and-date t) ; Display current time and date in ; modeline. ;; Mark some symbols as end of sentences. (setq sentence-end \\ ( \\ | …… \\ | * \\ ( $ \\ | \\ ) \\ ) * ) (setq sentence-end-double-space t) ; Use 2 spaces between sentences. (setq frame-title-format Corsair's GNU Emacs23 %b ) ;; Set the pattern that might be used as line start. (setq adaptive-fill-regexp + \\ | * \\ ( +\\. \\ | \\*+ \\ ) * ) ;; This is really a DIRTY setting. DO NOT use it! (setq tab-stop-list '(4 8 12 16 20 24 28 32 36 40 44 48 52 56 60 64 68 72 76 80 84 88 96 100 104 108 112 116 120)) ;; let the delete key delete foreward if used in X ( if window-system (normal-erase-is-backspace-mode 1)) ;; Display time information in modeline. (setq display-time-format %Y-%m-%d %A %I:%M ) (display-time) ;; Enable ` auto-fill-mode ' which can wrap lines for you. Very handy. (add-hook 'text-mode-hook ( lambda () (auto-fill-mode t))) (setq require-final-newline t) ; Add a newline at the end of file if none. ;; Use time stamps (add-hook 'write-file-hooks 'time-stamp) (setq time-stamp-active t) (setq time-stamp-format %:u %04y-%02m-%02d %02H:%02M:%02S ) (setq time-stamp-end: \n ) ;; 所有的 yes or no 全都用 y or n 代替 :-) (fset 'yes-or-no-p 'y-or-n-p) ;; Turn on auto save function (setq auto-save-default t) ;; Enable Narrow (put 'narrow-to-region 'disabled nil) ;; 鼠标要挡住正在打的字时自动移开 (mouse-avoidance-mode 'animate) ;; Use Emacs as a (lame) image viewer (auto-image-file-mode) ;; Replace selected text when typing (delete-selection-mode t) ;; Default input method for `C-\' (setq default-input-method TeX ) ;; Remove everything except the main text (tool-bar-mode 0) (menu-bar-mode 0) (scroll-bar-mode -1) ;; Use external ` ls ' rather than ` ls-lisp '. (setq ls-lisp-use-insert-directory-program t) ;; No sound alarm! (setq visible-bell t) 以上是一些乱七八糟的设置,都有注释。其中值得一提的是我把 TeX 输入法作为了默认输入法,用 C-\ 就可以直接调用。通过这个输入法可以用 TeX 命令输入一些特殊符号。比如输入 \Omega 就会出来 Ω,简直太爽了 :-p。 ;; Scheme program (setq scheme-program-name mzscheme ) 设置 run-scheme 函数调用的 scheme 解释器。 ;; Set tramp to support zh su/sudo (setq tramp-password-prompt-regexp ^.* \\ ( assword \\ | assphrase \\ | 口令 \\ ) .* \\ ( : \\ | : \\ ) * ) (setq tramp-default-method nil) 设置使用 Tramp 是要求输入密码的提示符。Tramp 是 Emacs 用来编辑远程文件是使用的库,支持 FTP, SSH, SCP 等多种方式连接,也可以用su 和 sudo 在 root 权限下编辑文件,在修改系统配置的时候很有用。 ;; Set shell-command to support su/sudo (setq comint-password-prompt-regexp (rx (and line-start (or Enter passphrase: password for (and (one-or-more not-newline) 's password: ) (and (or P p ) assword: ) (and Password for ' (one-or-more not-newline) ': ) (and Password for (one-or-more not-newline)) Retype to confirm: Key: Again: (and Enter pass (or phrase word ) for ))))) 在各种命令行界面的程序中识别密码提示符,等这些程序要求输入密码的时候,Emacs 就会让你在 mini-buffer 里安全的输入。 ;; Fringe (setq fringe-mode 'left-only) (setq-default right-fringe-width 0) (setq default-indicate-buffer-boundaries '((top . left) (t . left))) 打开 fringe 显示。Fringe 是显示在 window 左边或右面的一个小竖条,上面可以显示现在是否是 buffer 的开头或结尾,还有结尾是否正确的回车了。 ;; =============== Spell Checking ==================== (setq-default ispell-program-name aspell ) (add-hook 'text-mode-hook 'flyspell-mode) 使用 aspell 来作拼写检查,把 word 的那个垃圾功能忘了吧。 ;; Auto Show Matching Brace ( require ' paren ) (show-paren-mode 1) 这个可以高亮当前匹配的括号,就像这样: 。 ;; Let woman not open new frame (require 'woman) (setq woman-use-own-frame nil) (setq woman-fill-column 75) Woman 是一个纯 Elisp 写的 man page 解释器,很强大,很好用。 ;; ===========CC ah======================= (add-hook 'c-mode-common-hook ( lambda () (c-toggle-auto-hungry-state 1))) ;; -----------CC Indention----------------- ( defconst my-c-style '((c-tab-always-indent . t) (c-comment-only-line-offset . 0) (c-hanging-braces-alist . ((substatement-open after) (brace-list-open))) (c-hanging-colons-alist . ((member-init-intro before) (inher-intro) (case-label after) (label after) (access-label after))) (c-cleanup-list . (scope-operator empty-defun-braces defun-close-semi)) (c-offsets-alist . ((arglist-close . c-lineup-arglist) (substatement-open . 0) (case-label . 4) (block-open . 0) (knr-argdecl-intro . -))) (c-echo-syntactic-information-p . t) ) My C Programming Style ) ;; offset customizations not in my-c-style (setq c-offsets-alist '((member-init-intro . ++))) ;; Customizations for all modes in CC Mode. ( defun my-c-mode-common-hook () ;; add my personal style and set it for the current buffer (c-add-style PERSONAL my-c-style t) ;; we like auto-newline and hungry-delete (c-toggle-auto-hungry-state 1) ;; key bindings for all supported languages. We can put these in ;; c-mode-base-map because c-mode-map, c++-mode-map, objc-mode-map, ;; java-mode-map, idl-mode-map, and pike-mode-map inherit from it. (define-key c-mode-base-map \C-m 'c-context-line-break) ) (add-hook 'c-mode-common-hook 'my-c-mode-common-hook) 设置 c/c++ 模式的缩进风格,没什么好说的,直接从在线文档里剽窃。 一些函数( defun match-paren (arg) Go to the matching paren if on a paren; otherwise insert %. (interactive p ) ( cond ((looking-at \\s\( ) (forward-list 1) (backward-char 1)) ((looking-at \\s\) ) (forward-char 1) (backward-list 1)) (t (self-insert-command (or arg 1))))) 配合键绑定可以实现 VIM 中的 % 跳转括号,好像是从王垠那里抄的。 ;; 中英文之间增加空格 ( defun insert-space-between-eng-cn () Insert a space between English words and Chinese charactors (interactive ) (beginning-of-buffer) ( while (re-search-forward \\ ( \\cc \\ ) \\ ( \\ ) nil t) (replace-match \\1 \\2 nil nil)) (beginning-of-buffer) ( while (re-search-forward \\ ( \\ ) \\ ( \\cc \\ ) nil t) (replace-match \\1 \\2 nil nil)) ;; 去掉全角标点与英文之间的空格 (beginning-of-buffer) ( while (re-search-forward \\ ( \\ ) \\ ( \\ ) nil t) (replace-match \\1\\2 nil nil)) (beginning-of-buffer) ( while (re-search-forward \\ ( \\ ) \\ ( \\ ) nil t) (replace-match \\1\\2 nil nil))) ( defun insert-wave-between-eng-cn () ; used when editing TeX files Insert a wave mark between English words and Chinese charactors (interactive ) (beginning-of-buffer) ( while (re-search-forward \\ ( \\cc \\ ) \\ ( \\ ) nil t) (replace-match \\1~\\2 nil nil)) (beginning-of-buffer) ( while (re-search-forward \\ ( \\ ) \\ ( \\cc \\ ) nil t) (replace-match \\1~\\2 nil nil))) 这两个,一个是给中英文之间添加一个空格,一个是添加~ (给 TeX 用的)。 ;; Unfill buffer ( defun unfill-buffer () Unfill current buffer. (interactive ) (setq m (point-marker)) (beginning-of-buffer) ( while (re-search-forward \\ ( + \\ ) * * \\ ( \\ ) nil t) (replace-match \\1 \\2 )) (set-marker m 0 (current-buffer))) 把 fill 后的文字返回那种一段一整行的模样。 ;; Word count ( defun word-count nil Count words in buffer (interactive) (shell-command-on-region (point-min) (point-max) wc -w )) 计算词数,准备 GRE 作文的时候必备~~ ;; Turn off my monitor ( defun turn-off-monitor () (interactive) (shell-command sleep 1; xset dpms force off )) 这个...是我用来关显示器的... ;; Find chars that not belong to the charset, copied from ;; http://ann77.stu.cdut.edu.cn/EmacsChineseCalendar.html ( defun find-invalid-char () (interactive) ( let (c m) ( save-excursion (widen) ( condition-case nil ( progn (setq c (following-char)) ( while c ( if (and (= c 128) (= c 256)) ( error )) ( if ( = (point) (point-max)) ( error )) (goto-char (1+ (point))) (setq c (following-char)))) ( error (setq m (point))))) (goto-char m))) The comment says it. ;; From http://www.zeuux.org/science/learning-emacs.cn.html ( defun copy-line ( optional arg) Save current line into Kill-Ring without mark the line (interactive P ) ( let ((beg (line-beginning-position)) (end (line-end-position arg))) (copy-region-as-kill beg end))) 哲思里抄的。复制光标所在的行。 ( defun copy-line-or-region ( optional n) Save current line or region into Kill-Ring. If the mark isdeactivated in current buffer, Save current line; otherwise savethe region. (interactive p ) ( if mark-active (kill-ring-save (region-beginning) (region-end)) (copy-line n))) 这个很有用。如果 buffer 里有激活的 region 的话,就复制里面的内容,没有的话就复制当前行。 ;; Insert current date ( defun insert-date () Insert the current date according to the variable \insert-date-format\. (interactive * ) (insert (format-time-string %Y-%m-%d ))) 在当前位置插入现在的日期。 附加的 Modes 这些大部分都是要自己下载然后安装的(也就是 copy 到 load-path 里)。 ;; htmlize (require 'htmlize) (setq htmlize-output-type 'css) Htmlize 可以对一段代码生成带语法加亮的 HTML。非常非常有用。 ;; ibuffer (require 'ibuffer) (global-set-key (kbd C-x C-b ) 'ibuffer) Ibuffer,可以像在 Dired 里操作文件一样操作 buffers。 ;; Save faces as ansi sequences ( require ' ansit ) Ansit 可以把语法加亮存成 ansi sequence,我用来在 BBS 里发贴~~。 ;; hippie-expand (M-/) (setq hippie-expand-try-functions-list '(try-expand-dabbrev try-expand-dabbrev-visible try-expand-dabbrev-all-buffers try-expand-dabbrev-from-kill try-complete-file-name-partially try-complete-file-name try-expand-all-abbrevs try-expand-list try-expand-line try-complete-lisp-symbol-partially try-complete-lisp-symbol)) Hippie-expand 是 Emacs 自带的功能,王垠那里抄的。 ;; CSS Mode (autoload 'css-mode css-mode ) (setq auto-mode-alist (cons '( \\.css\\' . css-mode) auto-mode-alist)) ;; Gnuplot Mode (autoload 'gnuplot-mode gnuplot gnuplot major mode t) (autoload 'gnuplot-make-buffer gnuplot open a buffer in gnuplot mode t) (setq auto-mode-alist (append '(( \\.gnu$ . gnuplot-mode)) auto-mode-alist)) (setq auto-mode-alist (append '(( \\.gp$ . gnuplot-mode)) auto-mode-alist)) ;; (global-set-key 'gnuplot-make-buffer) ;; Haskell Mode (load ~/.emacs.d/haskell-mode/haskell-site-file ) (add-hook 'haskell-mode-hook 'turn-on-haskell-doc-mode) (add-hook 'haskell-mode-hook 'turn-on-haskell-indent) ;; (add-hook 'haskell-mode-hook 'turn-on-haskell-simple-indent) (setq auto-mode-alist (append '(( \\.hs$ . haskell-mode)) auto-mode-alist)) ;; Graphviz DOT mode (load-file ~/.emacs.d/graphviz-dot-mode.el ) (add-hook 'graphviz-dot-mode-hook '( lambda () (define-key graphviz-dot-mode-map \C-c\C-c 'compile))) ;; Wikipedia mode (add-hook 'outline-mode-hook ( lambda () ( require ' outline-magic ))) (add-hook 'outline-minor-mode-hook ( lambda () ( require ' outline-magic ) (define-key outline-minor-mode-map 'outline-magic))) (autoload 'longlines-mode longlines.el Minor mode for editing long lines. t) (autoload 'wikipedia-mode wikipedia-mode.el Major mode for editing documents in Wikipedia markup. t) (add-hook 'wikipedia-mode-hook '( lambda () (setq auto-fill-function nil))) ;; FVWM Mode ( require ' fvwm-mode ) (setq auto-mode-alist (cons '( config . fvwm-mode) (cons '( FvwmApplet- . fvwm-mode) (cons '( FvwmScript- . fvwm-mode) auto-mode-alist)))) ;; PKGBUILD Mode (autoload 'pkgbuild-mode pkgbuild-mode.el PKGBUILD mode. t) (setq auto-mode-alist (append '(( /PKGBUILD$ . pkgbuild-mode)) auto-mode-alist)) ;; Second Life Mode (autoload 'lsl-mode lsl-mode Load LSL mode. t) (add-to-list 'auto-mode-alist '( \\.lsl$ . lsl-mode)) ;; Javascript mode (add-to-list 'auto-mode-alist '( \\.js\\' . javascript-mode)) (add-to-list 'auto-mode-alist '( \\.pac\\' . javascript-mode)) (autoload 'javascript-mode javascript nil t) ;; POV-Ray mode ;; (require 'pov-mode) (autoload 'pov-mode pov-mode.el PoVray scene file mode t) (add-to-list 'auto-mode-alist '( \\.pov$ . pov-mode)) (add-to-list 'auto-mode-alist '( \\.inc$ . pov-mode)) ;; Mode for asciidoc (add-to-list 'auto-mode-alist '( \\.doc$ . doc-mode)) (autoload 'doc-mode doc-mode ) 写各种代码的 major modes。 ;; Ascii table ( require ' ascii-table ) 显示一个 Ascii table。 ;; Restore previous session ( require ' session ) (add-hook 'after-init-hook 'session-initialize) 在 Emacs 退出时保存各种历史和 kill-ring。 ;; add the last component of the path to the filename to distinguish ;; different files with the same name ( require ' uniquify ) (setq uniquify-buffer-name-style 'forward) The comment says it. (autoload 'maxima-mode maxima Maxima editing mode t) (autoload 'maxima maxima Running Maxima interactively t) (autoload 'imaxima imaxima Frontend for maxima with Image support t) (autoload 'imath-mode imath Imath mode for math formula input t) 运行 Maxima 的 mode。注意 imaxima 需要系统里有 LaTeX 。 ;; Yet another snippet extension for Emacs. ( require ' yasnippet ) (yas/initialize) (yas/load-directory ~/.emacs.d/yasnippet/snippets ) 这个是超级好用的 Yasnippet ,用来快速写代码,比如在写 C 程序的时候输入if 然后按 Tab ,就会自动扩展为 if () { } 并且光标停在小括号里,让你输入条件,输完后按一下 Tab ,就会跳到大括号里。这个东西有极强的扩展性,爽的不得了。 这里 是我用 Yasnippet 写 LaTeX 时的一段录像。 ( require ' two-mode-mode ) ( require ' asy-mode ) ( require ' quake-mode ) Two-mode-mode 可以在一个 buffer 里同时使用两个 major mode,Asy-mode 是用来写 Asymptote 程序的,Quake-mode 是我自己写的一个编辑 Quake 配置的major mode。 ;; Key binding quiz ( require ' keywiz ) Keywiz 是一个小游戏,考察对 Emacs 的各种变态按键的了解。 ;; Pastie.org ( require ' pastie ) 方便的把代码发到 pastie.org 上,并返回 URL。 ;; Typing practice (load-library typing-practice ) 练打字的小游戏,无聊到某种程度的时候可以玩一下... ;; ` shell-command ' with completion ( require ' shell-command ) (shell-command-completion-mode) 当运行 shell-command 命令的时候提供 Tab 补全。 ;; Display line number ( require ' linum ) (global-linum-mode t) ( defun toggle-linum () ; Toggle line numbering (interactive) ( if linum-mode (linum-mode nil) (linum-mode t))) Linum 在 Emacs 里显示行号。 一些键绑定(global-set-key (kbd C-f10 ) 'list-bookmarks) (global-set-key (kbd s-p ) 'previous-buffer) (global-set-key (kbd s-n ) 'next-buffer) (global-set-key (kbd M-SPC ) 'set-mark-command) (global-set-key (kbd C-x C-k ) 'kill-this-buffer) (global-set-key (kbd M-w ) 'copy-line-or-region) (global-set-key (kbd s-v ) 'clipboard-yank) (global-set-key (kbd C-x M-f ) 'find-file-at-point) (global-set-key (kbd M-n ) 'toggle-linum) (global-set-key (kbd s-f1 ) 'turn-off-monitor) (global-set-key % 'match-paren) 个人习惯,仅供参考。 Some Eye Candies( if (window-system) (( lambda () ;; color themes ( require ' color-theme ) ;; (color-theme-subtle-hacker) ;; (color-theme-charcoal-black) ;; (color-theme-dark-blue2) (color-theme-deep-blue) ;; (color-theme-hober) ;; (color-theme-kingsajz) (setq fancy-splash-image /mnt/shared/images/Logo/My_logo/bloody-smile-nb-128.png) ;; Change cursor color when buffer is readonly or in ` overwrite-mode '. (setq hcz-set-cursor-color-color ) (setq hcz-set-cursor-color-buffer ) ( defun hcz-set-cursor-color-according-to-mode () change cursor color according to some minor modes. ;; set-cursor-color is somewhat costly, so we only call it when needed: ( let ((color ( if buffer-read-only black ( if overwrite-mode red green )))) ( unless (and (string= color hcz-set-cursor-color-color) (string= (buffer-name) hcz-set-cursor-color-buffer)) (set-cursor-color (setq hcz-set-cursor-color-color color)) (setq hcz-set-cursor-color-buffer (buffer-name))))) (add-hook 'post-command-hook 'hcz-set-cursor-color-according-to-mode) ;; reset main frame's size ;; (set-frame-size (car (frame-list)) 90 38) (add-to-list 'default-frame-alist '(width . 90)) (add-to-list 'default-frame-alist '(height . 32)) ;; Font setting (set-fontset-font fontset-default 'unicode '( WenQuanYi Bitmap Song . unicode-bmp )) ;; Font for info (add-hook 'Info-mode-hook ( lambda () (set-face-attribute 'info-title-1 nil :height 1.728 :family URW Palladio L ) (set-face-attribute 'info-title-2 nil :height 1.44 :family URW Palladio L ) (set-face-attribute 'info-header-xref nil :foreground SeaGreen2 :weight 'bold :family URW Palladio L ))) ;; Misc. color (set-face-attribute 'default nil :foreground #dddddd :background #2e3735 ) (set-face-attribute 'mode-line nil :family Terminus :background #2e3735 :foreground #808080 ;; :height 80 :box nil) (set-face-attribute 'mode-line-buffer-id nil :background #2e3735 :foreground #808080 :box nil) (set-face-attribute 'fringe nil :background #333333 ) (set-face-attribute 'region nil :background #afc81c :foreground #2e3735 ) (global-hl-line-mode t) (set-face-attribute 'hl-line nil :inherit 'highlight :background #333333 ) (set-face-attribute 'variable-pitch nil :family Helvetica LT Std ) ;; line number (set-face-attribute 'linum nil :foreground #556664 ) )) ) 这一大段都被括在一个 if 里了,所以只好一起贴出来... 前面是设置 color-theme,后面都是一些字体设置,个人习惯,仅供参考。 其它配置文件(load-file ~/.emacs-calendar.el ) (load-file ~/.emacs-erc.el ) (load-file ~/.emacs-dict.el ) (load-file ~/.emacs-slime.el ) (load-file ~/.emacs-muse.el ) ;; (load-file ~/.emacs-ido.el) (load-file ~/.emacs-icicles.el ) ;; (load-file ~/.emacs-synonyms.el) ;Must after load Icicles (load-file ~/.emacs-org.el ) (load-file ~/.emacs-skeletons.el ) (load-file ~/.emacs-emms.el ) ;; (load-file ~/.emacs-cedet.el) (load-file ~/.emacs-tex.el ) (server-start) 配置太多了,分开放。最后一行启动 Emacs 的 multi-tty,可以在 shell 里快速的用 Emacs 打开一个文件。 终于贴完了,累死了 -_- 关于 Emacs 的字体 在 Windows 下用 Emacs 的同学请跳过此节... 现在都 21 世纪了,可是 Emacs 默认还是没有字体平滑(又名反锯齿或anti-alias)。要开启字体平滑有两个办法(只适用于 23 版的 GNU Emacs,并且假设你在 fonts.conf 里已经打开了 anti-alias): 重新编译 Emacs,编译时打开 xft 支持。 请别人帮你编译 Emacs,编译时打开 xft 支持。 下面介绍第一种方法。步骤如下: 安装 cvs 和 ssh 和 texinfo。一般的发行版都会提供二进制包,如果没有的话... 就换一个发行版吧... CVS 一个 23 版的 Emacs: # export CVS_RSH="ssh" # cvs -z3 -d:pserver:anonymous@cvs.savannah.gnu.org:/sources/emacs \ co -r emacs-unicode-2 emacs 编译安装,编译之前仔细查看 configure 的输出,看看有没有缺什么库。 $ ./configure --with-gtk --enable-font-backend --with-xft $ make bootstrap $ make info # make install 完成后用如下的命令行启动: $ emacs --enable-font-backend -fn "Font name-size" 这样启动时就能看到英文已经有 anti-alias 了,但是中文还是难看的宋体(怎么就有那么多人喜欢那个 simsun 呢...)。 (set-fontset-font fontset-default 'gb18030 '( STXihei . unicode-bmp )) 这是把华文细黑设成了中文的默认字体,效果么... 还是看 截图 。我觉得和苹果上的 Aquamacs 有一拼 :-p 当然也可以把 FontBackend 和 Font 写到~/.Xresources里,启动的时候就不用带参数了。 Sub-pages emacs-wiki 以 Wiki 的形式管理文档,可以发布为 xhtml。 Muse 比 emacs-wiki 更 NB 的文档写作和发布环境。 ERC 强大的 IRC 客户端。
个人分类: 电脑、办公|0 个评论
新版《博文编辑器功能调整》的使用体验
热度 2 jitaowang 2013-3-21 07:09
作者:王季陶 我最近发表了一篇博文 “ 学习前辈王竹溪著《热力学》书中的精准论断 ” 恰好碰上 “ 博文编辑器功能调整 ” , 接着就在评论中学习.谢谢编辑部的指点,但是对我的年龄来说,仍然困难不小.结果学着自己摸索一下,还是能行了! 看到年龄相似的汪育才老师的博文 “ 请教 ” 就在评论中作了自己的经验介绍: 王季陶 2013-3-2020:04 我刚刚上传了一张照片在我的博文中 , 摸索了一天多 . 不知是否对您合用 ? 我的做法 :1. 把照片变成 jpg 文件 .2. 在发表新博文的窗口上方操作的第二排最右方数起第四个图标名为 图片 上点击 , 就会出现 + 添加照片 的窗口 , 再添加后上传等就行 ! 请您试一下 . 并看一下我的最新博文 . 我介绍的就是先使用 “ 博文编辑器功能调整 ” 中的老办法,即 “ 3 、图片上传、附件上传功能整合进新编辑器。 ” 这第3点中介绍的 “ 本地图片上传方法 ” , 效果不错,和过去一样,管用!实例如下: ----- 我也使用过 “ 4 、新增word图片辅助上传功能。”碰到不少问题.例如同样的word中的照片,还要看照片的来源. 对以下提示找不到,做不了: 例如 1.Word 中超链接得来的, 只能从网页上直接copy过来,如下: 2. 和 Word 中本地上传得来的,仍然按照上述的老办法来做,得到如下结果: 两者效果不同.网页上来的有时会显示原来的网页名称,点击后再出现图片.一定要注意. 其次“5、公式编辑器功能优化。”能正常使用,仅仅提醒一点:说明公式中的符号意义时也要使用公式编辑器.其他功能还没有使用,慢慢学!
个人分类: 其他|4764 次阅读|5 个评论
今天看到博文编辑器上新版了,真棒!
wdfzacw 2013-3-20 19:53
新编辑器好极了。可以在这里写各样东西,不必用其他编辑器写好了再转过来。是一个很好的平台。
个人分类: 生活|2180 次阅读|0 个评论
博文编辑器功能调整
热度 76 科学网编辑部 2013-3-19 15:01
各位博主大家好。 博文编辑器功能升级。 新功能介绍: 1、增加自定义规整功能。 用户可以按照需求选择需要的规整模式。 2、取消“清理word格式”按钮。 新版编辑器兼容了高版本的word代码,“清理word格式”按钮取消。 3、图片上传、附件上传功能整合进新编辑器。 本地图片上传方法: 点击“图片”按钮。 点击添加照片按钮,选择好要上传的图片后,点击“开始上传”按钮。上传完成后,点击“确定”按钮。 本地附件上传方法: 点击“附件”按钮。 点击“文件浏览”按钮,选择好要上传的附件后,点击“开始上传”按钮。上传完成后,点击“确定”按钮。 4、新增word图片辅助上传功能。 当用户粘贴word文章到编辑器时,如果文章中含有图片,编辑器中会在图片位置出现如下提示: 点击编辑器中图片转存按钮。根据提示完成上传操作。 5、公式编辑器功能优化。 简化输入流程,提高公式生成和显示速度。 6、新增图片、音频的百度搜索功能。 博主可以将搜索到的图片或音频添加到博文中。 7、新增百度地图、博客写作模板、特殊符号功能。 8、视频、音频插入方法。 将视频.swf地址复制到“视频网址”框,点击“确定”按钮。 点击音频按钮,搜索歌曲关键词;选择要插入的歌曲,点击“确认”按钮。
个人分类: 通知公告|34503 次阅读|134 个评论
公式编辑器Aurora化学科研工作者mhchem包的使用
热度 1 nktornado 2012-12-27 11:54
公式编辑器Aurora化学科研工作者mhchem包的使用
公式编辑器Aurora是word编辑公式的利器,很多相关的教程显示其美观。 这里也概述一下,重点在于mhchem包的正常使用。 mhchem包可使化学方程代码简化的重要化学包。这里也概述一下。 Aurora的优势以及mhchem包的作用 Aurora是一个word插件,并不能独立安装并调试,必须在word安装完成后,作为插件安装。 和word公式编辑器以及mathtype相比较,最大的优势就是美观。 比如: 再比如: 它是基于latex设计的。而latex的诞生就是为了给数学公式直接用于出版印刷的。所以各种格式字体都是内定设置好了的。 也是因为基于latex,需要写代码类,而且非所见即所得,所以使用要记住很多代码,甚至需要对latex有很多理解。 但对于化学研究工作者来讲这个事情就变得非常简单了。因为所有化学方程也就是上下标和反应箭头。这些代码也就十来个。并且mhchem包的诞生,让整个代码更加简化。 比如第一个方程 代码为“ $ Li _ 4 Ti _ 5 O _{ 12 } + 3 Li ^ + + 3 \ it e - Li _ 7 Ti _ 5 O _{ 12 } $ ” 代码为“ $\ tt { Li _ 4 Ti _ 5 O _{ 12 } + 3 Li ^ + + 3 \ it e - \ tt Li _ 7 Ti _ 5 O _{ 12 } } $ ” 这个是使用mhchem包以后的代码“ $ \ce { Li 4 Ti 5 O 12 + 3 Li+ + 3 \ it e - Li 7 Ti 5 O 12 } $ ” 从这里很容看到,使用了mhchem宏包,并且利用\ce 启动以后。整个上下标是可以不用管的,直接写化学式即可。默认是罗马字体,所以e的斜体要加\it斜体开关。所以非常建议化学工作者利用aurora并安装mhchem包写化学方程式。 Aurora的安装和调试 Aurora的作者已经很久不更新了,所以它内置的miktex是2.5版,并且作者主页也说miktex2.8不支持。但实践证明最新的miktex2.9也是支持的。并且mhchem也可以使用。 1、最新版miktex下载安装 http://www.miktex.org/download 下载最新版basic miktex版本,现在是2.9版 155M左右。默认安装即可。无特别说明。 2、安装Aurora 记得关闭word,要有插件的。我的是word 2010 32位,操作系统是win7 64位。 3、调试miktex 找到miktex目录下的包管理器,文件名是D:\Program Files\MiKTeX 2.9\miktex\bin\x64\mpm_mfc_admin.exe。记得要使用管理员权限。然后在name处搜索mhchem,并且右击搜到的mhchem选择install。完成后close。mhchem条目有详细的安装时间和解释等信息。然后打开上述路径的mo_admin.exe,这个是配置miktex的。主界面如下 每次对package下载安装之后,都需要这里refresh FNDB和update formats一次。上述界面右方的refresh和update顺序点击一次,然后确认关闭这个配置程序。 4、调试Aurora 这是word 2010界面的Aurora菜单。aurora插入到word里有三种方式,一个是行内,意思就是嵌入到一行的文字后,最左处的inline equation。第二是Display,这个可占据两三行的位置,适用于多行方程,或者你需要从文字行分开的方程;第三种就是numbered,是第二种的公式右方自动写序号。序号的格式可调整,并利用word分节符具有自动调整的功能。而其他交叉引用,对化学文章不多的方程个数来说,几乎用不着。除非你是搞理论物理化学的。 点击任何一中方式都会弹出Aurora的界面。如下所示: mhchem包需要设置后才能正常使用。点击properties, 这里唯一重要的是rendering method,这里有三选项: 你只能选第三项。选第一项,mhchem无法使用;选第二项,没装Aurora的看不到图。 点击packages选项卡。 \usepackage{amsmath} \usepackage{amssymb} \providecommand{\abs} {\left\lvert#1\right\rvert} \providecommand{\norm} {\left\lVert#1\right\rVert} 以上四项是系统默认。 %\usepackage{pxfonts} 打了%是指这一行被视为备注,不起作用。而pxfonts里含有很多特殊的箭头。一般可以不使用。而且pxfonts里的罗马字体比原版的难看。 \usepackage {mhchem} 这个就是加载mhchem宏包了,但加载之后会出错,后面一段告诉你如何调试。 %\usepackage{chemarrow} 这个也可以加载,当你需要某些化学箭头的时候。一会我上传几个latex的说明书,里面有非常详细复杂的符号和箭头,并且都告诉了你属于哪个宏包。利用步骤3安装这些宏包,到这里加载即可。记得一点。mhchem在使用时要用\ce调用。 %\usepackage{CJK} 这个是中文宏包。但对于化学工作者来说几乎用不到。既然Aurora可以嵌入一行中,干嘛非要在两个公式中写中文呢。在中文前后嵌入2公式不就可以了吗? %\pdfminorversion=3 这个据说是当默认宏包加载后,出现problem的时候需要的。我不使用也正常。 mhchem包的调试 mhchem包如步骤3安装,如上述导入引言区,再在编码区,即使空白没有任何代码时,也会出错。 这里的关键是miktex并没有真正调试好mhchem宏包,这个问题耗了我一年都没解决。所有其他包都没问题,到了mhchem就有问题。 解决方法:随便建立一个txt文本文件,改后缀名为tex,双击之后会用texworks打开。 texworks是miktex安装随机带的工具。 把上述代码加入: \documentclass {article} \usepackage{amsmath} \usepackage{amssymb} \usepackage {mhchem} \begin{document} \ce {H2O + C - CO + H2} \end{document} 然后点击那个绿色按钮,旁边的先选成pdflatex,这个是aurora默认的格式化方式。 点击绿色按钮会弹出错误调试框。告诉你是supp-pdf.mkii这个文件如何如何。当时没仔细看,并且调试完成以后不再出现了。所以没记录。然后选择下一步,正常完成后,会成功出现生成的pdf文件。 ok,这说明调试成功了。然后回到word,回到aurora,你会发现Aurora加载mhchem包成功了。。。。 在编码区写ce {H2O + C - CO + H2}。成功 最后最后的重要启示:aurora只是插件并无调试功能,虽然有时候出现 warning但作用不大。而任何在aurora出现的problem都是可以通过miktex调试的,并且miktex的调试功能非常强大,几乎不需要你分析,只需按照提示来即可。因此所有aurora出现problem的情况,你都可以把相关代码放入到tex文件调用miktex调试,miktex成功了,aurora就不会有问题。 附件是一些格式,箭头,字体的代码说明 mhchem.pdf short-math-guide.pdf symbols-letter.pdf tex-refcard-letter.pdf xx.tex
个人分类: Aurora公式编辑器|15080 次阅读|3 个评论
源源的幼儿园生活1----博文搬家
mdalgae 2012-10-6 19:52
2009-2-25 20:17 老师告诉爷爷,源源中午吃了四个肉圆子后还要求吃,可又没有了,老师只好拿剩菜盘里小朋友吃剩的给她吃,她也津津有味的吃完了,妈妈发誓一定要自己动手做一次肉圆子给她吃。 中午爷爷接源源回家,她对老师说:记得小朋友醒来给我打电话,我就过来和他们玩,我的电话501. 501?家里电话号码是背得很溜的呀,留个假的给老师? 源源睡觉的时候对妈妈说:妈妈,我就觉得我的文静老师很迷人。大人话?不过我想想她的这个老师是很漂亮
36 次阅读|0 个评论
[转载]Linux系统学习笔记1:VI命令用法
zhenghui2915 2012-9-9 20:24
VI命令及用法 转载地址: http://blog.csdn.net/xueziheng/article/details/2048054 一、 Unix 编辑器概述 编辑器是使用计算机的重要工具之一,在各种操作系统中,编辑器都是必不可少的部件。 Unix 及其相似的 ix 操作系统系列中,为方便各种用户在各个不同的环境中使用,提供了一系列的 ex 编辑器,包括 ex, edit,ed 和 vi. 其中 ex,edit,ed 都是行编辑器,现在已很少有人使用, Unix 提供他们的原因是考虑到满足各种用户特别 是某些终端用户的需要。 值得庆幸的是, Unix 提供了全屏幕的 Vi 编辑器,这使我们的工作轻松不少。不少 DOS 用户抱怨 Vi 编辑器不象 DOS 下的编辑器如 edit 那么好用,这是因为 Vi 考虑到各种用户的需要,没有使用某些通用的编辑键(在各个 不同的终端机上他们的定义是不同的,在某些终端机上甚至没有这些键)。而是采用状态切换的方法,但这 只是习惯的问题,一旦你熟练的使用上了 vi 你就会觉得它其实也很好用。 虽然 Vi 采用了状态切换的方法,但电脑的硬件及操作系统多种多样,某些电脑的键盘上没有特定的几个功能键!那麽不就有某些功能不能用了?这个问题在 Unix 系统上也一样,几乎各大电脑厂商都有自己的 Unix 系统,而 vi 的操作方法也会随之有点出入。这里我们采用 PC 的键盘来说明 vi 的操作,但在具体的环境中还要参考相应的资料,这一点是值得注意的。 二、 Vi 入门 (一)、进入 vi 在系统提示字符 ( 如 $ 、 #) 下敲入 vi <档案名称>, vi 可以自动帮你载入所要编辑的文件或是开启一个新 文件(如果该文件不存在或缺少文件名)。进入 vi 后萤幕左方会出现波浪符号,凡是列首有该符号就代表此列目前是空的。 ( 二)、两种模式 如上所述, vi 存在两种模式:指令模式和输入模式。在指令模式下输入的按键将做为指令来处理:如输入 a , vi 即认为是在当前位置插入字符。而在输入模式下, vi 则把输入的按键当作插入的字符来处理。指令模式切换到输入模式只需键入相应的输入命令即可(如 a,A ),而要从输入模式切换到指令模式,则需在输入模式下键入 ESC 键,如果不晓得现在是处於什麽模式,可以多按几次 ,系统如发出哔哔声就表示已处于指令模式下了。 附:在指令模式进入输入模式的指令: 新增 (append) a :从光标所在位置後面开始新增资料,光标後的资料随新增资料向後移动。 A : 从光标所在列最後面的地方开始新增资料。 插入 (insert) i : 从光标所在位置前面开始插入资料,光标後的资料随新增资料向後移动。 I :从光标所在列的第一个非空白字元前面开始插入资料。 开始 (open) o :在光标所在列下新增一列并进入输入模式。 O: 在光标所在列上方新增一列并进入输入模式。 (三)、退出 vi 在指令模式下键入 :q,:q!,:wq 或 :x( 注意 : 号),就会退出 vi 。其中 :wq 和 :x 是存盘退出,而 :q 是直接退出,如果文件已有新的变化, vi 会提示你保存文件而 :q 命令也会失效,这时你可以用 :w 命令保存文件后再用 :q 退出,或用 :wq 或 :x 命令退出,如果你不想保存改变后的文件,你就需要用 :q! 命令,这个命令将不保存文件而直接退出 vi 。 (四)、基本编辑 配合一般键盘上的功能键,像是方向键、 、 等等,现在你应该已经可以利用 vi 来编辑文件了。当然 vi 还提供其他许许多多功能让文字的处理更为方便。 何谓编辑?一般认为是文字的新增、修改以及删除,甚至包括文字区块的搬移、复制等等。先这里介绍 vi 的如何做删除与修改。(注意:在 vi 的原始观念里,输入跟编辑是两码子事。编辑是在指令模式下操作 的,先利用指令移动光标来定位要进行编辑的地方,然後才下指令做编辑。) 删除与修改文件的命令: x : 删除光标所在字符。 dd :删除光标所在的列。 r :修改光标所在字元, r 後接著要修正的字符。 R : 进入取替换状态,新增文字会覆盖原先文字,直到按 回到指令模式下为止。 s : 删除光标所在字元,并进入输入模式。 S : 删除光标所在的列,并进入输入模式。 其实呢,在 PC 上根本没有这麽麻烦!输入跟编辑都可以在输入模式下完成。例如要删除字元,直接按 不就得了。而插入状态与取代状态可以直接用 切换,犯不著用什麽指令模式的编 辑指令。不过就如前面所提到的,这些指令几乎是每台终端机都能用,而不是仅仅在 PC 上。 在指令模式下移动光标的基本指令是 h, j, k, l 。想来各位现在也应该能猜到只要直接用 PC 的方向键就可以了,而且无论在指令模式或输入模式下都可以。多容易不是。当然 PC 键盘也有不足之处。有个很好用的指令 u 可以恢复被删除的文字,而 U 指令则可以恢复光标所在列的所有改变。这与某些电脑上的 按键功能相同。 三、附件: vi 详细指令表 进入 vi 的命令 vi filename: 打开或新建文件,并将光标置于第一行首 vi +n filename: 打开文件,并将光标置于第 n 行首 vi + filename: 打开文件,并将光标置于最后一行首 vi +/pattern filename: 打开文件,并将光标置于第一个与 pattern 匹配的串处 vi -r filename: 在上次正用 vi 编辑时发生系统崩溃,恢复 filename vi filename....filename: 打开多个文件,依次进行编辑 移动光标类命令 h: 光标左移一个字符 l: 光标右移一个字符 space: 光标右移一个字符 Backspace: 光标左移一个字符 k 或 Ctrl+p: 光标上移一行 j 或 Ctrl+n: 光标下移一行 Enter: 光标下移一行 w 或 W: 光标右移一个字至字首 b 或 B: 光标左移一个字至字首 e 或 E: 光标右移一个字至字尾 ): 光标移至句尾 (: 光标移至句首 }: 光标移至段落开头 {: 光标移至段落结尾 nG: 光标移至第 n 行首 n+: 光标下移 n 行 n-: 光标上移 n 行 n$: 光标移至第 n 行尾 H: 光标移至屏幕顶行 M: 光标移至屏幕中间行 L: 光标移至屏幕最后行 0: 光标移至当前行首 $: 光标移至当前行尾 屏幕翻滚类命令 Ctrl+u: 向文件首翻半屏 Ctrl+d: 向文件尾翻半屏 Ctrl+f: 向文件尾翻一屏 Ctrl + b: 向文件首翻一屏 nz: 将第 n 行滚至屏幕顶部,不指定 n 时将当前行滚至屏幕顶部。 插入文本类命令 i: 在光标前 I: 在当前行首 a: 光标后 A: 在当前行尾 o: 在当前行之下新开一行 O: 在当前行之上新开一行 r: 替换当前字符 R: 替换当前字符及其后的字符,直至按 ESC 键 s: 从当前光标位置处开始,以输入的文本替代指定数目的字符 S: 删除指定数目的行,并以所输入文本代替之 ncw 或 nCW: 修改指定数目的字 nCC: 修改指定数目的行 删除命令 ndw 或 ndW: 删除光标处开始及其后的 n-1 个字 do: 删至行首 d$: 删至行尾 ndd: 删除当前行及其后 n-1 行 x 或 X: 删除一个字符, x 删除光标后的,而 X 删除光标前的 Ctrl+u: 删除输入方式下所输入的文本 搜索及替换命令 /pattern: 从光标开始处向文件尾搜索 pattern ?pattern: 从光标开始处向文件首搜索 pattern n: 在同一方向重复上一次搜索命令 N: 在反方向上重复上一次搜索命令 :s/p1/p2/g: 将当前行中所有 p1 均用 p2 替代 :n1,n2s/p1/p2/g: 将第 n1 至 n2 行中所有 p1 均用 p2 替代 :g/p1/s//p2/g: 将文件中所有 p1 均用 p2 替换 选项设置 all :列出所有选项设置情况 term :设置终端类型 ignorance :在搜索中忽略大小写 list :显示制表位 (ctrl+i) 和行尾标志( $) number :显示行号 report :显示由面向行的命令修改过的数目 terse :显示简短的警告信息 warn :在转到别的文件时若没保存当前文件则显示 no write 信息 nomagic :允许在搜索模式中,使用前面不带 “/” 的特殊字符 nowrapscan :禁止 vi 在搜索到达文件两端时,又从另一端开始 mesg :允许 vi 显示其他用户用 write 写到自己终端上的信息 最后行方式命令 : n1,n2 co n3 :将 n1 行到 n2 行之间的内容拷贝到第 n3 行下 : n1,n2 m n3 :将 n1 行到 n2 行之间的内容移至到第 n3 行下 : n1,n2 d :将 n1 行到 n2 行之间的内容删除 : w :保存当前文件 : e filename :打开文件 filename 进行编辑 : x :保存当前文件并退出 : q :退出 vi : q! :不保存文件并退出 vi : !command :执行 shell 命令 command : n1,n2 w!command :将文件中 n1 行至 n2 行的内容作为 command 的输入并执行之,若不指定 n1 , n2 ,则表示将整个文件内容作为 command 的输入 : r!command :将命令 command 的输出结果放到当前行 寄存器操作 "?nyy :将当前行及其下 n 行的内容保存到寄存器?中,其中 ? 为一个字母, n 为一个数字 "?nyw :将当前行及其下 n 个字保存到寄存器?中,其中 ? 为一个字母, n 为一个数字 "?nyl :将当前行及其下 n 个字符保存到寄存器?中,其中 ? 为一个字母, n 为一个数字 "?p :取出寄存器?中的内容并将其放到光标位置处。这里?可以是一个字母,也可以是一个数字 ndd :将当前行及其下共 n 行文本删除,并将所删内容放到 1 号删除寄存器中。
个人分类: Linux|1668 次阅读|0 个评论
尝试下公式编辑器
dengkaren 2012-8-15 17:10
$x^2+y^2=z^2$
2506 次阅读|0 个评论
博文编辑器新增Latex公式编辑器、表格功能
热度 7 科学网编辑部 2012-4-25 12:37
科学网博客新增Latex公式编辑器、表格功能。 Latex公式编辑器使用方法: 点击编辑器中的“公式编辑器”按钮——点击“输入Latex数学公式”按钮——选择符号、编辑相应公式——点击“复制到文档”按钮——点击“确认”按钮,编辑好的公式就会粘贴到您的博文文本框中了。 注:使用IE浏览器的用户可能会遇到第一次点击“输入Latex数学公式”无法打开公式编辑器页面的情况,只要重新点击一次“输入Latex数学公式”按钮,就可以正常使用了。 表格功能使用方法: 点击“表格”按钮,选择要添加的表格行、列数,点击确定即可。
16513 次阅读|8 个评论
[转载]有情人眷侣路
热度 1 胡业生 2012-4-24 14:28
引导语: 一个男人的品位在于选择妻子,选择了什么样的妻子就等于选择了什么样的人生。俗话说,男怕入错行,女怕嫁错郎,男人何尝不是,浓妖不及淡久,婚姻也是这样。 1、一个女人最重要的品质应该是善良,而且百善孝为先。天下不知道有多少苦命的男人在受着自己的媳妇和自己亲妈之间的夹板气? 如果一个男人,要是将要成为媳妇的女孩敢问“我和你妈掉河里,你先救谁?”一准把她pass掉,这根本就不是人话! 2、贤惠,这是亘古不变的女性美德。 3、知书达礼,这是新时代对妇女与时俱进的要求。一个女人的气质和教养是丰富内心的流露,也是与别人真正拉开距离的所在。 4、有思想、有品位。有思想使得她不屑于插足别人之间的闲话,她从来都是个“绝缘体”。有品位,使得她能匠心独运地表达自己的风格。 不能容忍自己的老婆看见什么都走不动道,不光是因为我穷,不能惯她这毛病! 5、懂事。对于男人最重要的是尊严,她可以在家里抨击我,但不能在公众场合讽刺、嘲笑我。一个不懂维护丈夫的尊严的女人,不要也罢。 6、充分信任,相对自由。喜新厌旧其实是人的本能,谁也不能保证一辈子只对一个人有好感。 奉劝天下所有将要结婚的女人用心学习医学心理学,充分理解自己的丈夫喜欢在画报、网页上凝眸美女的嗜好,不要因为这些下意识的行为而吹毛求疵。否则就是将婚姻推向死亡。他想独自呆一会儿,不要碎嘴地问什么究竟,送上一杯茶,轻轻把门关上就好了。 7、有一份稳定的收入。不依附于男人生存女人才能做到独立,自尊。 8、没有过多的物质欲望。这一点非常重要!自古成由俭败由奢。何况安于现状和乐观的天性使她能够将青春延续。过分的虚荣往往使非“财大气粗”的男人产生精神紧张,甚至为此不堪重负。 媳妇应该宝马汽车坐得,自行车也能骑得;五星级酒店住得,野营的帐篷也不嫌弃,吃得苦中苦,方为人上人。 9、拒绝灯红酒绿,不对异性过分热情。她有着良好的生活习惯,抽烟、饮酒、通宵达旦的宴饮狂欢都不会发生在她身上,她不会到酒吧、夜总会这样的地方消磨时间。 她知道自己的价值不是取悦异性,所以不会主动和别的男的搭讪,曲高和寡的才是阳春白雪。 10、天真有一点童趣。一个男人若是真的喜欢一个女人,就应该最大程度地呵护她的纯真。未失童趣的女子,能让漫长枯燥的四目相对其乐无穷。 11、喜欢读书和音乐。喜欢读书不是看什么花花绿绿的时尚杂志、喜欢音乐也不是什么听过就忘的流行小曲。经典的书籍和音乐能让岁月与生活的琐碎无法在她的心灵上烙下痕迹。 12、工作能力强,有一技之长。工作中的女人显然没有太多时间疑神疑鬼。有一技之长会使她自得其乐,很好地控制情绪。 13、当然,长得绝对不能丑,也别太靓,应该是那种越看越顺眼的。 14、身体健康,并懂得养生之道和基本医学常识。 15、还有一点很重要,婚姻生活是一个有颜色、有生息、有动静的世界,很难想象一个不具备浪漫、不具备情趣的女人是个好妻子。
1976 次阅读|2 个评论
这段日子里......
热度 1 CHENGJIANLAN 2012-4-12 20:22
这段时间里,平淡沉寂,想想也还是有东西可以记忆下来的。 遇到一个出游的机会,在老大的提醒下,带母亲去了,父亲因感冒没有去。一路上春光明媚,母亲边欣赏边想起什么说点什么,细细地絮叨着她年轻时的往事,第一次发现从小对我学习很严厉管教的母亲也很温情,第一次感受到母亲被孩子带出来玩的那份欢欣,回到家后,父亲因母亲的快乐而兴奋不已,真是内里有很多细微的感触。只是在旅游车上近距离地耳语,让母亲发现了自己头上的白发,有点遗憾的说,心里还是很感动那份担忧的挚情。 粗线条地考察了一下武汉周边的房地产形势。到江北的汉口北一带、市郊外的东湖开发区,以及随州、赤壁、咸宁等地重点看了几个比较好的小区。感觉武汉的城市发展气魄很大,从房子建设的速度可看出端倪。二三线城市籍着1+8城市商圈城际列车的开通的大好形势,正努力迎着挑战,把自己各自的实力都投在最能体现自己城市风貌的新区。 总之,从房地产市场这个窗口可以看出很多。 全面对手头庞杂的各银行的借记卡和信用卡进行了清理。这些卡有一部分是单位集体开的,还发现银行里有自己从没见过的空卡在档案上,看来银行的工作人员也有为完成任务乱帮开卡现象。遇到招行乱收费现象进行了追讨。 在全面开了各银行网银后,对照观摩,感觉工行的网银涉及的面较宽,中行信用卡能消费换购飞行距离,接下来就是在消费完足够抵年费的情况下把不必要的信用卡消掉,关停不完善不必要的网银,以避免银行繁复的收费。 学会了网银还信用卡欠款的操作,再不用偶尔还款的奔波。 在淘宝网的女衣大码区将自己的衣服搭配补齐。因为个子高大健硕,之前在商场不容易买到心仪的衣服,在单位订制西服后,凭着全套西服上的尺寸小条,在淘宝大码区,买到了自己物美价廉的衣服。以后只需要添置点正装就可以了。 家事易柜终于在期盼中安置到了所住小区,前一天晚上在家事易网站点击选择,第二天下班就能在小区柜子里拿到蔬菜和半成品的菜及配料、水果和干果零食等,经过4、5次的购买观察,一样的面粉、瓜子比附近小超市便宜2、3元一份,蔬菜瓜果是其应有的新鲜。感觉如果家事易 www.justeasy.cn.com 这种公司好好经营,还是很有前景的。 在验收工程时,在悬空80几度钢梯子上下来,从背部感觉本能地拦截住了从上面7、8级钢梯上因眩晕、腿失去知觉而滑落下来的施工单位项目经理。开始很庆幸拦截住了,但几个男士架下那施工单位的顶梁柱后,发现其不仅仅是眩晕,而是曾经的小中风复发,很是震惊。又一次真切地感受到前沿冲杀的男同胞的艰辛和奋发努力,暗暗下决心更加要保重身体。 仍然心系着远方求学的孩子。今天朋友的一句话很启发我“年轻没有失败,只要不断努力!”是的,在适应了独生子女第一次远离亲人的生活后,稚嫩的孩子有着很多的事情需要去做。 自己还想学钢琴和画画,正在找合适的地方学。
个人分类: 悠悠岁月|2934 次阅读|0 个评论
[转载]输出单元刚度矩阵的方法
ghostfql 2012-3-31 16:42
1.用 命令 :*ELEMENT MATRIX OUTPUT 只设定Required parameter:ELSET的话,由于 结果 文件 (*.fil)是二进制文件,用文本编辑器打开是一堆我们看不明白的乱码,所以有必要 设置 一下文件 格式 。 2.用命令:*FILE FORMAT设定文件格式 将文件格式设为ASCII,那么结果文件我们就能够看明白了。 3.命令:*ELEMENT MATRIX OUTPUT的其他 参数 设定: 首先FREQUENCY要设定,否则会生成每一步的结果文件,这个文件会很大,举例来说,1800个单元 输出 单元 刚度矩阵 的方法 1.用 命令 :*ELEMENT MATRIX OUTPUT 只设定Required parameter:ELSET的话,由于 结果 文件 (*.fil)是二进制文件,用文本编辑器打开是一堆我们看不明白的乱码,所以有必要 设置 一下文件 格式 。 2.用命令:*FILE FORMAT设定文件格式 将文件格式设为ASCII,那么结果文件我们就能够看明白了。 3.命令:*ELEMENT MATRIX OUTPUT的其他 参数 设定: 首先FREQUENCY要设定,否则会生成每一步的结果文件,这个文件会很大,举例来说,1800个单元,共50步,全部 输出 的 单元刚度矩阵 有600M,这是一个很大的 数据 ,所以要把不需要的删除。并且在打开这个600M大的文件时发现,UntraEdit比记事本和写字板的打开速度快得多!假如共50步,我只想要最后一步的 单元刚度矩阵 ,那么可以设定 FREQUENCY=50,设定FREQUENCY=0表示不 输出 ,默认为每一步都 输出 。 其次可以设定结果文件名,设定时要使用OUTPUT FILE=USER DEFINED这个选项,将FILE NAME的值设定为想要的文件名,注意不要扩展名。 例如: *Elset, Elset=All, Generate 1,1800,1 *File Format,Ascii *Element Matrix Output,Elset=All,File Name=abc,Frequency=50,Output File=User Defined,Stiffness=Yes 计算完后可以在工作目录下找到文件名为ABC.mtx的 单元刚度矩阵 的结果文件 ,共50步,全部 输出 的 单元刚度矩阵 有600M,这是一个很大的 数据 ,所以要把不需要的删除。并且在打开这个600M大的文件时发现,UntraEdit比记事本和写字板的打开速度快得多!假如共50步,我只想要最后一步的 单元刚度矩阵 ,那么可以设定 FREQUENCY=50,设定FREQUENCY=0表示不 输出 ,默认为每一步都 输出 。 其次可以设定结果文件名,设定时要使用OUTPUT FILE=USER DEFINED这个选项,将FILE NAME的值设定为想要的文件名,注意不要扩展名。 例如: *Elset, Elset=All, Generate 1,1800,1 *File Format,Ascii *Element Matrix Output,Elset=All,File Name=abc,Frequency=50,Output File=User Defined,Stiffness=Yes 计算完后可以在工作目录下找到文件名为ABC.mtx的 单元刚度矩阵 的结果文件
3253 次阅读|0 个评论
[转载]关于R语言的编辑器(Notepad++简介)
热度 1 Bearjazz 2012-3-31 08:40
关于 R 语言的编辑器 (Notepad++ 简介 ) 本文来自 : 人大经济论坛 S-PlusR 专版 版,详细出处参考: http://bbs.pinggu.org/forum.php?mod=viewthreadtid=925702page=1 本帖最后由 shenbaiseshatan 于 2010-10-6 07:50 编辑 这个问题很小,也很大。说它小是因为编写的核心始终还是在于程序本身,编辑器只是个形式而已。说它大是正所谓“工欲善其事必先利其器”,一个界面友好、支持高亮、自动补全、与 R 对接良好的编辑器很多时候可以让你的工作事半功倍,或者至少可以让你的视觉更愉悦。看过 N 多帖子,众说纷纭,总的来说还是用得来的就是好的,比如 Vim 这么恐怖的东东对于专业人士也许是不二选择,但对于初级用户而言也许 R 自带的编辑器就已经可以“胜任”了。 之前也推荐过 Tinn-R ,但是新版本的老问题总是解决不了,后来就转向了 Notepad++ ,简称 Npp ,它通过 NpptoR 建立与 R 的关系,界面友好,容易上手,再加之前辈们弄出来的那个 R.xml 文件,可以实现 R 函数的自动完成和提示功能,的确不失为一个好的选择。此外就是 Npp 的可扩展插件,经常用到的可能还是 Exploer 插件,用于浏览本地文件很方便。对于 AutoSave 插件呢,个人觉得如果有 Ctrl+S 保存习惯的人最好不用这个插件了,其默认时间是每 1min 保存一次。字体选择的问题在之前一篇短文中提过了,可移步 http://user.qzone.qq.com/176881950/blog/1281672556 查看。 另说一句 ClipX ,实用的剪切板工具,具体的介绍可以参见 http://bluemars.org/clipx/ ,网络上有已经汉化的版本(好像有免安装的),用用就知道了,快捷粘贴键是 Win( 系统徽标键 )+V ,支持图片粘贴,在写东西的时候还是挺方便的。 ps 关于 Npp 的更多资料可以参考 http://notepad-plus-plus.org/zh-hans/node/157 http://zh.wikipedia.org/zh-cn/Notepad%2B%2B 或者其他网站,此外对于 R 用户而言还需要 NpptoR 这个插件 http://sourceforge.net/projects/npptor/ 《 Notepad++5.5 惯用法教程》可以移步至下面链接 http://www.rupeng.com/forum/thread-7924-1-1.html
个人分类: 我的研究|8039 次阅读|2 个评论
来自vi文本编辑器的魔力
热度 2 GoogleMIT 2012-3-20 21:01
自上次深刻忏悔自己在Linux这片沃土上不务正业以来,我开始花费时间和精力在这处女地之上。 最近“把玩”的是vi文本编辑器,可能是玩性不改的缘故,我还是喜欢将玩和Linux中的任何元素联系在一起。 尽管之前不务正业,但是发现现在学习起来的效率还是很高的,兴致也是相当高昂的,于是我趁热打铁顺手,借着办公室的网络先把这篇小文献上,借以抛砖引玉,希望Linux的新手们能够关注vi文本编辑器这一强大的工具,而不至于像我当年那样对此工具熟视无睹。 我经常用的是vim version 7.2.330 by Bram Moolenaar,也就是vi improved,升级版本而已。vi最初是在Unix系统中的,深受程序员的喜爱,但是由于一些功能限制,有人(此人就是上文中的 Bram Moolenaar,大牛级人物,著名程式设计师,vim的创造者,在自由软件领域享有声望,2010年进入微软工作 )发明了vim这个东东,最初的缩写是Vi IMitation,随着功能的增加才叫做vi improved. 如果你现在用的也是和我一样的Ubuntu Linux,那你在终端就下个指令vi吧,目前大部分Linux系统中也都是装了vi编辑器的,指令下vi!这个指令就会告诉你你系统中的vi编辑器的版本信息以及粗略的版本信息。 如果你要深度学习,可以推荐的书就是我自己也用的《学习vi》(第六版),目前应该是第七版了,叫做《学习vi和vim编辑器》,我跟这几位大牛作者不熟,所以我可不是来推销书的。书中章节清晰,循序渐进,从基本操作到深度组合操作,介绍了vi,ex等编辑方式,是一本让我读了之后欲罢不能的书,读了之后还想继续读下去。可能这也得看个人吧,至少它很对我胃口。我时常能够在书中找到神来之笔,也许不是来自书中,或许是vi编辑器本身的魔力,我想你也会喜欢它的。 学习Linux,学习vi的朋友们都应该懂的,光说不练加把式,所以要深度掌握,唯一的方法就是不断得练习,不断的测试。 也许初学者觉得干嘛要用这种需要下指令才能编辑的编辑器呢?为什么我的鼠标不用偏要全键盘呢?至少我猜测我妈会这么问我的。 这个我无法回答你,因为我说了你也不信。 just have a try!感受来自vi的魔力。 刚刚无疑看到ed,ex,vi,vim的发展,是一位老师写的,在此引用这位不知姓名的老师在cnblogs上发表的博文 http://www.cnblogs.com/jplee/archive/2006/10/24/538732.html : 一、VIM的历史 1. ed ed是UNIX上最古老最基本的编辑器,它最初是UNIX之父Ken Thompson编写的,他第一次在 ed中应用了正则表达式(regular expression),这个创举将RE理论带入了实践,对UNIX界造 成了深远的影响。 实际上ed是受来自加州伯克利大学的QED编辑器的影响,Ken便是从这所院 校这里毕业的。 ed是一种行模式编辑器,下面是一个ed会话的例子: $ ed greeting 0# 因为新创建文件,所以读入了0个字节 a# 进入编辑模式(append) hello world, eveyone.# 输入一行文本 .# 回到命令模式 1p# 显示(print)第一行 hello world, eveyone. 1c# 最后一个词写错了,修改(change)第一行 hello world, everyone. .# 回到命令模式 1p# 重新显示第一行,这回发现无误 hello world, everyone. q# 退出(quit) ?# ?表示没有保存或者命令不认识 w# 保存(write) 23# 提示写了23个字节 q# 退出 也许大家觉得这个编辑器很难用,可是在70年代,许多使用UNIX的人都是用廉价的终端机 通过电话线连到UNIX服务器上的,因为传输速率慢,所以这种简洁的行模式编辑就很有意义, 现在虽然硬件有了长足的发展,ed编辑器很少有人用了,但是它的很多理念比如命令字符、正 则表达式却在它的很多后辈身上体现出来。下面这个网址有一些ed的笑话,从中我们或多或少 能体会到那个时代人们的某种精神。 http://www.gnu.org/fun/jokes/ed.msg.html GNU ed:http://www.gnu.org/software/ed/ed.html Reference:http://en.wikipedia.org/wiki/ed http://snap.nlc.dcccd.edu/learn/nlc/ed.html http://cm.bell-labs.com/cm/cs/who/dmr/qed.html http://www.answers.com/topic/ken-thompson 2. ex ex是ed的扩展,实际上vi构建在ex之上,vi引入了现在我们所熟悉的全屏编辑模式。 3. vi 随着硬件的发展,UNIX上许多全屏模式编辑器被开发出来,pico,nano,joe,jed,jove, 但是最为广泛使用的无疑就是VI(nvi,elvis,vim等)和Emacs(GNU Emacs,XEmacs等)。 1976年左右Bill Joy开发了vi,他也是伯克利大学的毕业生,后来他跟其他人一起成立了 Sun Microsystems公司并成为了Sun的首席科学家。一开始Bill开发了ex,尔后开发了vi作为 ex的visual interface,也就是说vi允许一次能看到一屏的文本而非一行,vi也因此得名。在 当今的UNIX系统上,可能没有缺省安装Emacs,但是肯定会有vi,当然,ed编辑器也必定存在 下面引用《Unix技术大全——Internet卷》的一段文字: “ 早期,当键盘和视频终端成为最新的计算机交互手段时,人们开发了VI。那时候的键盘不 具有目前熟悉的全部功能键,所以,VI就设计成只需要打字机的键盘加上退出键就能完成对文 本的输入和修改(现在有的还接受一些其他的键输入方式,如光标控制键)。尽管看起来受了 限制,不能充分利用现代键盘新增的许多键,可是‘祸中有福’,限制带来的好处是手指不离 开打字区就能完成所有的编辑工作。” Reference:http://www.bellevuelinux.org/vi/history.html http://www.theregister.co.uk/2003/09/11/bill_joys_greatest_gift/ 4. VIM 技术不断进步,需求也在不断提高,VI的各种变种也不断涌现,知名的有nvi,elvis, VIM,vile,yzis,其中移植性最好、特性最多、使用最广的当属VIM,VIM主要是Bram Moolenaar 开发的。最初Bram在Amiga计算机上改进一个叫Stevie的VI版本,他称之为“Vi IMitation”。 随着功能的逐渐丰富,VIM的含义也就改成了“Vi IMproved”。相比原始的VI,VIM增加的一 项最重要的功能便是多级撤销,VI只支持一级撤销。
个人分类: Linux|620 次阅读|2 个评论
[转载]风水没啥稀奇
zswscience 2012-2-24 15:48
引自: 刘墉、刘轩父子博客 -- 腾讯博客 “风水没啥稀奇”   ( 人生百忌 ── 忌迷信之二 )  刘墉 我认识一位非常有名的密宗大师,非但擅长观气改运,而且会看风水,好多人想尽办法请大师到家里指点,只要大师一句话,就能把新装潢全部拆掉重来,甚至将大门都封上,硬把侧门当正门。据说照大师的指示做了之后,果然个个都「很发」。 大师虽神,但是有一天我跟他聊天,听他一段话,却对他的印象大打折扣。 大师说他才去过一个美国超级有钱的地区,发现那里的豪宅,个个风水好。 我心想,天哪!您也太谀了吧!美国人懂什么风水?只为了那地区有钱,房子盖得漂亮,你就说人家的风水好? 可是过了不久,我就改观了。因为我也应邀去一户豪宅,发现房子的设计格局果然处处合中国的风水。就好奇地问屋主,是不是中国设计师的杰作? 屋主居然摇头,然后分析给我听: 「这门原先直通客厅,因为客厅后面有卧室,设计师认为太通、没有隐密性,所以在一进门的地方加个屏风。」又说:「瞧!后面那几棵树,原先是没有的,只有一根电线杆,设计师说单单一根立着,看了不舒服,所以在旁边种了几棵杉树。」再指指书房说:「本来书桌在这儿,设计师说每次有人进来,我都得回头,不方便,所以移到那边。正好外面的天光从左边来,写字不遮。旁边原本有扇小门,设计师也认为没必要。因为两扇门距离不远,人进进出出会让我分心。」 屋主带着我整个房子走一圈,我发现他设计师说的居然都是中国风水的道理。那道理深吗?其实不深,只是被许多风水先生说得玄而又玄。简单一句话: 好的风水就是让人舒服的环境,那些一流设计师,管他是洋人还是中国人,懂风水还是不知风水是何物,只要能设计出让人住在里面舒服的房子,就是合于风水。 一箭能把人射死的好风水 举个例子,中国人最常说「左青龙、右白虎、前朱雀、后玄武」。乍听,玄极了!说白了却很简单,也就是「左边有水、右边有路、前面有场、后面有山。」 谁不希望住这样的地方啊!尤其古代,左边有水可以饮用,右边有路可以进出,前面有一眼就能看清的广场。敌人若杀来,我乱箭就能将之射死。实在对付不了,我还可以往后面的山里躲。 道理深吗?一点也不深! 一箭穿心的凶宅 问题是,很多人一知半解,听过那么一两句「风水之说」,就「栽」在上面了。 我有个朋友最近说他不顺,全是因为房子没买对。原因是他住的那栋大楼,正门对着一条路。 「箭屋啊!一箭穿心哪!我当初怎么没想到呢?」朋友直自责。 我问他:「你住在十五楼,前面有条路,干你什么事?如果回到农业时代,你住在个夯土的平房里,外面正对着一条又长又直的路,半夜有人驾车一路快速冲来,没看清楚,可能一头撞进你家,把你压死,所以那时候说这样的房子凶。又因为警惕夜里驾车的人,在正对着马路的那面墙上挂面镜子,可以反射马灯。果然驾车的人看见反射的灯光,即时减速拉缰,免掉一场大祸。这样的事多了,就迷信挂镜子可以驱邪避凶。」我再问他:「你去看看故宫、看看总统府!哪个前面不对着一条大路,帝王多讲究风水啊!他们怎么不怕呢?道理很简单,他们的前面有场子,就算驱车疾驶而至,也能煞得住。而且凡是皇宫,都高,前面一堆台阶,车子能开得上去吗?所以无论怎么对着一条路、对着多大的路,只要前面够宽,房子又高,根本不必在乎。」最后我强调:「倒是你一天到晚把『一箭穿心』放在心上,左看不顺眼、右看不顺心,那坏心情成了坏风水。」 果然他老兄听了之后,不再挂心,愈来愈顺。 「福人福宅」,古人早说了,心中的喜乐,只怕比外表的风水还重要。正因此,同样一栋房子,前一位屋主住得顺极了,下一位屋主却可能衰极了。而且风水再好的房子,如果不好好维护,里面一片脏乱,也会使人生病。再棒的风水,房子太老,还是会垮掉,如果压死人,还能叫好风水吗? 漏水就漏财啊 说到维护,请注意!如果风水师到你家,看见水龙头在滴水,很可能讲:「不成,这样漏财!」他可真会说啊!水要钱,一直滴个不停,当然漏财! 而且进一步想,你家的龙头不好,早该修该换了,你为什么不换?不是你这个人拖延散漫,就是提不起精神处理,搞不好你正衰。 结果,风水师这么一说,你心想:「真说对了!我最近就是漏财!不顺!」 请问,那风水师是真准吗? 愈没秩序愈不顺 同样的道理,你院子里的花草该修不修、一片荒芜,你台阶的砖头早已松动,你进门吊灯上几十个小灯,有一半都灭了。这时候,你要怪风水不好吗?抑或是你把风水搞不好。再不然是恶性循环,你愈衰愈不理家、愈没秩序、愈不顺。 如果来了个风水师,教你把树修了、草剪了、台阶补了、灯泡换了,你每天进门出门,都看着舒服,精神好了,运也顺了。你是不是要四处宣扬,全是风水师指点得好? 万人冢的风水好吗 谈完「阳宅」,再谈谈「阴宅」。 一到选举,候选人爹娘乃至祖爷爷祖奶奶坟头的风水,就被搬上台面。有人为了当选,特别修坟铺路,好像只要死人埋对地方,后人就能躺着发。还有风水师在设计阴宅的时候会问:「要利还是要禄?」意思是你想要发财还是升官。 只是,我要问:那些「三春白雪归青冢,万里黄河绕黑山。」和「可怜无定河边骨,犹是深闺梦里人。」的后人都衰透了吗?那些被德国纳粹在集中营毒死焚尸或抛入万人冢的都没后代,后代都倒楣到底了吗?如果他们的后人好,是因为万人冢的风水棒吗? 说来说去也是因为人们倒果为因,只因为发了的人,一个个修坟谢祖,大家看了那些豪华的阴宅,再看看墓碑上刻的名字,就说:「瞧!这泣立的是名人耶!他多走运、多发,全因为祖坟好哇!」 真是祖坟风水荫庇他吗?有见识的古人早说了: 「买山原不为亲谋,只为功名利禄求;须知人间好风水,不在山头在心头。」 请问那些修坟的人,如果墓里头埋的是他爷爷,那么他奶奶还在世吗? 如果在,他伺候死人的同时,有没有好好孝顺活人?搞不好他奶奶住得远,他看死爷爷的次数,比看活奶奶还多呢! ◎ 人生百忌!忌迷信!忌不信自己、信风水;不孝活人、孝死人;不修心宅,修阴宅。
个人分类: 生活点滴|930 次阅读|0 个评论
[转载]ie8 ewebeditor编辑器不管用的解决办法
willzhang198 2012-2-10 13:15
ie8正式发布了,偶也去下载了一个,感觉很爽, 还在美的时候,突然发现很多网页都出问题,更可气的是自己的网站编辑器也不管用了,所有的按钮都不管用,即使是别的浏览器也都不管用,我这叫一个汗。于是就去360论坛找人问,因为我用的360浏览器以为是360浏览器的问题。问了半天也没有人回答我于是我就去网上找,由于今天才出的ie8所以网上根本也没有这方面的解决办法,于是到了第二天,网上终于有了这样的贴子,所以我也找了找解决办法。 在一个哥们的贴子中是这样写的,打开include下面的editor.js文件,有这样的段代码: if (element.YUSERONCLICK) eval(element.YUSERONCLICK + "anonymous()"); 说是因为ie8屏蔽了anonymous方法 所以要改成click方法,于是就改成这样,但是我又有了一个惊人的发现,那就是改成这样之后在ie7下编辑器就不管用了,痛苦之余我又去网上查,网上果然高水如云,果然在csdn上找到了答案: if(navigator.appVersion.match(/8./i)=='8.') { if (element.YUSERONCLICK) eval(element.YUSERONCLICK + "onclick(event)"); } else { if (element.YUSERONCLICK) eval(element.YUSERONCLICK + "anonymous()"); } 把代码改成这样之后在ie7和ie8下就都管用了。
个人分类: 电脑技术|1658 次阅读|0 个评论
[转载]第05讲 ubuntu+过滤器、输入输出及管道
dingpengwang 2012-1-13 11:26
应用工具: 交互工具,编辑器,过滤器过滤器输入:过滤器的数据来源(键盘) 标准输入 stdin(0)输出:过滤器的数据去向(终端屏幕) 标准输出stdout(1)错误输出:标准错误输出stderr(2) 输入输出的文件目录 : ls -l /dev/std* 输入重定向使用 来重定向输入源tr 'A-Z' 'a-z' 文件名 把文件里面的大写字母都改成小写字母 写入文件 使用 改变数据目标如 cat cat.file ! 向cat.file文件写入数据 如果遇到!就停止输入退出ls -l listfile 以长模式显示,然后写入listfile文件而且 listfile 文件如果有内容会被覆盖掉我们可以使用 将输出追加入文件 错误输出重定向默认情况下,系统报错会显示到终端屏幕上使用2将报错讯息重定向入一个文件同理 用2可以追加入文件 可以使用如下命令一次性的将错误和正确信息重定向到两文件里find /etc -name passwd 2 stderr stdout 使用将所有输入都送向同一个地方find /etc -name passwd 文件名==等同于find /etc -name passwd 文件名 212 错误输出 1表示输入 管道使用|将前一个过滤器的输出直接送入后一个过滤器的输入ls -l /etc | more把ls -l得到的结果集通过管道传递给more,more有翻页的功能 允许多重管道ls -l /etc | more | grep fstabmore得到的结果集通过管道传递给命令grep,截取出fstab文件 echo "hello" fileacat filea fileb 把文件filea复制到filebcat file.* file 将数个file小文件合并成一个文件 注意管道前过滤器的输出与管道后过滤器的输入数据类型匹配
5 次阅读|0 个评论
[转载]第07讲 ubuntu+vi编辑器
dingpengwang 2012-1-10 14:20
VI编辑器是LINUX平台下一个一款小巧的文本编辑软件,在不得已的情况下,用VI编辑配置文件非常方便.以前一直用REDHAT,下面的VI可以支持 方向箭头,pagedown\up,等其他一些功能键,非常好用.但最近用UBUNTU的时候,发现在UBUNTU下面用VI和REDHAT下大有不同,并且,形式上提供了强大的功能,但是使用的复杂度不是一般. 虽然用了一阵时间了,但是我现在还是不知道在编辑状态下,怎么左移右移字符.因为它的VI命令,左移和右移是字母h,l,呵呵,编辑状态下,就相当于键入h,l字母作为文本内容了,在这种情况下space 和backspace也不能用.不得其法,所以在每次输入错误时,都按ESC退出,然后在用左移右移命令定位,修改之.在这一点上,我很鄙视UBUNTU,将这么好用的VI在它的平台上弄的如此复杂. 下面把VI常用到的命令行贴出来。 进入vi的命令 vi filename :打开或新建文件,并将光标置于第一行首 vi +n filename :打开文件,并将光标置于第n行首 vi + filename :打开文件,并将光标置于最后一行首 vi +/pattern filename:打开文件,并将光标置于第一个与pattern匹配的串处 vi -r filename :在上次正用vi编辑时发生系统崩溃,恢复filename vi filename....filename :打开多个文件,依次进行编辑 移动光标类命令 h :光标左移一个字符 l :光标右移一个字符 space:光标右移一个字符 Backspace:光标左移一个字符 k或Ctrl+p:光标上移一行 j或Ctrl+n :光标下移一行 Enter :光标下移一行 w或W :光标右移一个字至字首 b或B :光标左移一个字至字首 e或E :光标右移一个字至字尾 ) :光标移至句尾 ( :光标移至句首 }:光标移至段落开头 {:光标移至段落结尾 nG:光标移至第n行首 n+:光标下移n行 n-:光标上移n行 n$:光标移至第n行尾 H :光标移至屏幕顶行 M :光标移至屏幕中间行 L :光标移至屏幕最后行 0:(注意是数字零)光标移至当前行首 $:光标移至当前行尾 屏幕翻滚类命令 Ctrl+u:向文件首翻半屏 Ctrl+d:向文件尾翻半屏 Ctrl+f:向文件尾翻一屏 Ctrl+b;向文件首翻一屏 nz:将第n行滚至屏幕顶部,不指定n时将当前行滚至屏幕顶部。 插入文本类命令 i :在光标前 I :在当前行首 a:光标后 A:在当前行尾 o:在当前行之下新开一行 O:在当前行之上新开一行 r:替换当前字符 R:替换当前字符及其后的字符,直至按ESC键 s:从当前光标位置处开始,以输入的文本替代指定数目的字符 S:删除指定数目的行,并以所输入文本代替之 ncw或nCW:修改指定数目的字 nCC:修改指定数目的行 删除命令 ndw或ndW:删除光标处开始及其后的n-1个字 do:删至行首 d$:删至行尾 ndd:删除当前行及其后n-1行 x或X:删除一个字符,x删除光标后的,而X删除光标前的 Ctrl+u:删除输入方式下所输入的文本 搜索及替换命令 /pattern:从光标开始处向文件尾搜索pattern ?pattern:从光标开始处向文件首搜索pattern n:在同一方向重复上一次搜索命令 N:在反方向上重复上一次搜索命令 :s/p1/p2/g:将当前行中所有p1均用p2替代 :n1,n2s/p1/p2/g:将第n1至n2行中所有p1均用p2替代 :g/p1/s//p2/g:将文件中所有p1均用p2替换 选项设置 all:列出所有选项设置情况 term:设置终端类型 ignorance:在搜索中忽略大小写 list:显示制表位(Ctrl+I)和行尾标志($) number:显示行号 report:显示由面向行的命令修改过的数目 terse:显示简短的警告信息 warn:在转到别的文件时若没保存当前文件则显示NO write信息 nomagic:允许在搜索模式中,使用前面不带“\”的特殊字符 nowrapscan:禁止vi在搜索到达文件两端时,又从另一端开始 mesg:允许vi显示其他用户用write写到自己终端上的信息 最后行方式命令 :n1,n2 co n3:将n1行到n2行之间的内容拷贝到第n3行下 :n1,n2 m n3:将n1行到n2行之间的内容移至到第n3行下 :n1,n2 d :将n1行到n2行之间的内容删除 :w :保存当前文件 :e filename:打开文件filename进行编辑 :x:保存当前文件并退出 :q:退出vi :q!:不保存文件并退出vi :!command:执行shell命令command :n1,n2 w!command:将文件中n1行至n2行的内容作为command的输入并执行之,若不指定n1,n2,则表示将整个文件内容作为command的输入 :r!command:将命令command的输出结果放到当前行 寄存器操作 "?nyy:将当前行及其下n行的内容保存到寄存器?中,其中?为一个字母,n为一个数字 "?nyw:将当前行及其下n个字保存到寄存器?中,其中?为一个字母,n为一个数字 "?nyl:将当前行及其下n个字符保存到寄存器?中,其中?为一个字母,n为一个数字 "?p:取出寄存器?中的内容并将其放到光标位置处。这里?可以是一个字母,也可以是一个数字 ndd:将当前行及其下共n行文本删除,并将所删内容放到1号删除寄存器中。
7 次阅读|0 个评论
[转载]vi高效率编辑文档
yuanhui80 2012-1-1 23:29
vi 编辑器是所有 Unix 及 Linux 系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的用法和一小部分指令。由于对 Unix 及 Linux 系统的任何版本, vi 编辑器是完全相同的,因此您可以在其他任何介绍 vi 的地方进一步了解它。 Vi 也是 Linux 中最基本的文本编辑器,学会它后,您将在 Linux 的世界里畅行无阻。 1 、 vi 的基本概念   基本上 vi 可以分为三种状态,分别是命令模式( command mode )、插入模式( Insert mode )和底行模式( last line mode ),各模式的功能区分如下: 1) 命令行模式 command mode )   控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入 Insert mode 下,或者到 last line mode 。 2) 插入模式( Insert mode )   只有在 Insert mode 下,才可以做文字输入,按「 ESC 」键可回到命令行模式。 3) 底行模式( last line mode )   将文件保存或退出 vi ,也可以设置编辑环境,如寻找字符串、列出行号 …… 等。 不过一般我们在使用时把 vi 简化成两个模式,就是将底行模式( last line mode )也算入命令行模式 command mode )。 2 、 vi 的基本操作 a) 进入 vi  在系统提示符号输入 vi 及文件名称后,就进入 vi 全屏幕编辑画面:     $ vi myfile   不过有一点要特别注意,就是您进入 vi 之后,是处于「命令行模式( command mode )」,您要切换到「插入模式( Insert mode )」才能够输入文字。初次使用 vi 的人都会想先用上下左右键移动光标,结果电脑一直哔哔叫,把自己气个半死,所以进入 vi 后,先不要乱动,转换到「插入模式( Insert mode )」再说吧! b) 切换至插入模式( Insert mode )编辑文件   在「命令行模式( command mode )」下按一下字母「 i 」就可以进入「插入模式( Insert mode )」,这时候你就可以开始输入文字了。 c) Insert 的切换   您目前处于「插入模式( Insert mode )」,您就只能一直输入文字,如果您发现输错了字!想用光标键往回移动,将该字删除,就要先按一下「 ESC 」键转到「命令行模式( command mode )」再删除文字。 d) 退出 vi 及保存文件   在「命令行模式( command mode )」下,按一下「:」冒号键进入「 Last line mode 」,例如: : w filename (输入 「 w filename 」将文章以指定的文件名 filename 保存) : wq ( 输入「 wq 」,存盘并退出 vi) : q! ( 输入 q! , 不存盘强制退出 vi) 3 、命令行模式( command mode )功能键 1 ) . 插入模式 按「 i 」切换进入插入模式「 insert mode 」,按 "i" 进入插入模式后是从光标当前位置开始输入文件;   按「 a 」进入插入模式后,是从目前光标所在位置的下一个位置开始输入文字;   按「 o 」进入插入模式后,是插入新的一行,从行首开始输入文字。 2 ) . 从插入模式切换为命令行模式 按「 ESC 」键。 3 ) . 移动光标    vi 可以直接用键盘上的光标来上下左右移动,但正规的 vi 是用小写英文字母「 h 」、「 j 」、「 k 」、「 l 」,分别控制光标左、下、上、右移一格。   按「 ctrl 」 + 「 b 」:屏幕往 " 后 " 移动一页。   按「 ctrl 」 + 「 f 」:屏幕往 " 前 " 移动一页。   按「 ctrl 」 + 「 u 」:屏幕往 " 后 " 移动半页。   按「 ctrl 」 + 「 d 」:屏幕往 " 前 " 移动半页。   按数字「 0 」:移到文章的开头。   按「 G 」:移动到文章的最后。   按「 $ 」:移动到光标所在行的 " 行尾 " 。   按「 ^ 」:移动到光标所在行的 " 行首 "   按「 w 」:光标跳到下个字的开头   按「 e 」:光标跳到下个字的字尾   按「 b 」:光标回到上个字的开头   按「 #l 」:光标移到该行的第 # 个位置,如: 5l ,56l 。 4 ) . 删除文字   「 x 」:每按一次,删除光标所在位置的 " 后面 " 一个字符。   「 #x 」:例如,「 6x 」表示删除光标所在位置的 " 后面 "6 个字符。   「 X 」:大写的 X ,每按一次,删除光标所在位置的 " 前面 " 一个字符。   「 #X 」:例如,「 20X 」表示删除光标所在位置的 " 前面 "20 个字符。   「 dd 」:删除光标所在行。   「 #dd 」:从光标所在行开始删除 # 行 5 ) . 复制   「 yw 」:将光标所在之处到字尾的字符复制到缓冲区中。   「 #yw 」:复制 # 个字到缓冲区   「 yy 」:复制光标所在行到缓冲区。   「 #yy 」:例如,「 6yy 」表示拷贝从光标所在的该行 " 往下数 "6 行文字。   「 p 」:将缓冲区内的字符贴到光标所在位置。注意:所有与 "y" 有关的复制命令都必须与 "p" 配合才能完成复制与粘贴功能。 6 ) . 替换   「 r 」:替换光标所在处的字符。   「 R 」:替换光标所到之处的字符,直到按下「 ESC 」键为止。 7 ) . 回复上一次操作   「 u 」:如果您误执行一个命令,可以马上按下「 u 」,回到上一个操作。按多次 "u" 可以执行多次回复。 8 ) . 更改   「 cw 」:更改光标所在处的字到字尾处   「 c#w 」:例如,「 c3w 」表示更改 3 个字 9 ) . 跳至指定的行   「 ctrl 」 + 「 g 」列出光标所在行的行号。   「 #G 」:例如,「 15G 」,表示移动光标至文章的第 15 行行首。 4 、 Last line mode 下命令简介   在使用「 last line mode 」之前,请记住先按「 ESC 」键确定您已经处于「 command mode 」下后,再按「:」冒号即可进入「 last line mode 」。 A) 列出行号  「 set nu 」:输入「 set nu 」后,会在文件中的每一行前面列出行号。 B) 跳到文件中的某一行  「 # 」:「 # 」号表示一个数字,在冒号后输入一个数字,再按回车键就会跳到该行了,如输入数字 15 ,再回车,就会跳到文章的第 15 行。 C) 查找字符  「 / 关键字」:先按「 / 」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按「 n 」会往后寻找到您要的关键字为止。  「 ? 关键字」:先按「 ? 」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按「 n 」会往前寻找到您要的关键字为止。 D) 保存文件  「 w 」:在冒号输入字母「 w 」就可以将文件保存起来。 E) 离开 vi  「 q 」:按「 q 」就是退出,如果无法离开 vi ,可以在「 q 」后跟一个「 ! 」强制离开 vi 。  「 qw 」:一般建议离开时,搭配「 w 」一起使用,这样在退出的时候还可以保存文件。 5 、 vi 命令列表 1 、下表列出命令模式下的一些键的功能: h 左移光标一个字符 l 右移光标一个字符 k 光标上移一行 j 光标下移一行 ^ 光标移动至行首 0 数字 "0" ,光标移至文章的开头 G 光标移至文章的最后 $ 光标移动至行尾 Ctrl+f 向前翻屏 Ctrl+b 向后翻屏 Ctrl+d 向前翻半屏 Ctrl+u 向后翻半屏 i 在光标位置前插入字符 a 在光标所在位置的后一个字符开始增加 o 插入新的一行,从行首开始输入 ESC 从输入状态退至命令状态 x 删除光标后面的字符 #x 删除光标后的#个字符 X ( 大写 X) ,删除光标前面的字符 #X 删除光标前面的 # 个字符 dd 删除光标所在的行 #dd 删除从光标所在行数的 # 行 yw 复制光标所在位置的一个字 #yw 复制光标所在位置的 # 个字 yy 复制光标所在位置的一行 #yy 复制从光标所在行数的 # 行 p 粘贴 u 取消操作 cw 更改光标所在位置的一个字 #cw 更改光标所在位置的 # 个字 2 、下表列出行命令模式下的一些指令 w filename 储存正在编辑的文件为 filename wq filename 储存正在编辑的文件为 filename ,并退出 vi q! 放弃所有修改,退出 vi set nu 显示行号 / 或 ? 查找,在 / 后输入要查找的内容 n 与 / 或 ? 一起使用,如果查找的内容不是想要找的关键字,按 n 或向后(与 / 联用)或向前(与 ? 联用)继续查找,直到找到为止。 对于第一次用 vi ,有几点注意要提醒一下: 1 、用 vi 打开文件后,是处于「命令行模式( command mode )」,您要切换到「插入模式( Insert mode )」才能够输入文字。切换方法:在「命令行模式( command mode )」下按一下字母「 i 」就可以进入「插入模式( Insert mode )」,这时候你就可以开始输入文字了。 2 、编辑好后,需从插入模式切换为命令行模式才能对文件进行保存,切换方法:按「 ESC 」键。 3 、保存并退出文件:在命令模式下输入 :wq 即可!(别忘了 wq 前面的 : )  
1731 次阅读|0 个评论
[转载]郁闷的时候看看这头驴
ephedra 2011-12-31 11:28
有一头驴,掉到了一个很深很深的废弃的陷阱里。主人权衡一下,认为救它上来不划算,走了。只留下它孤零零的自己。每天,还有人往陷阱里面倒垃圾,驴很生气:自己真倒霉,掉到了陷阱里,主人不要他了,就连死也不让他死得舒服点,每天还有那么多垃圾扔在他旁边。 可是有一天,它的思维发生了转变,它决定改变它的人生态度(确切点说应该是驴生态度),它每天都把垃圾踩到自己的脚下,而不是被垃圾所淹没,并从垃圾中找些残羹来维持自己的体能。终于有一天,垃圾成为它的垫脚石,使它重新回到了地面上。 不要抱怨你的不如意,不要抱怨你的男人穷,你的女人丑,不要抱怨你没有一个好爸爸,不要抱怨你的工作差,工资少,不要抱怨你空怀一身绝技没人赏识你,现实有太多的不如意,就算生活给你的是垃圾,你同样能把垃圾踩在脚底下,登上世界之巅。这个世界只在乎你是否到达了一定的高度,而不在乎你是踩在巨人的肩膀上上去的,还是踩在垃圾上上去的。而事实上,踩在垃圾上上去的人更值得尊重。 年轻,没有失败!看驴生豪迈,不过从头再来······ 人生不过如此,又有什么值得你去伤悲的事,你就当它是踩在脚下的垃圾好了,让它成为你人生成功的垫脚石。 如果这个故事能够感动你的话,请你转走吧,让你身边郁闷的朋友看看吧! 博主按:从莫哥那看到,觉得有趣,嘿嘿……
1581 次阅读|0 个评论
博文公式编辑器试水
qihongshao 2011-12-8 17:58
\
2 次阅读|0 个评论
用iPad写博客
lujiangxiao 2011-11-21 14:46
用iPad 几个月,一直不能在网上发表博客, 今天终于学会了. 周末带着这个问题去问苹果店的精英,那人十分傲慢地说是网站问题.说你这境外网站都是"阿拉伯"文,一定有问题. 我根本不愿意辩解这网站是中文,以免带来更大反感. 可是在与他半讨论,半争论的时候听出一点线索.可能问题是在写日记的编辑器支持苹果的死敌flash. 于是iPad就坚决不让进, 就像老中老婆为了防止小三, 干脆连七十岁的老婆婆也不让接触. 知道了这个问题,现在可以绕过了.只要把网页编辑器设置成纯文本就行了.虽然损失一些功能,至少能有基本功能.我写博客都是抽零星时间写,能用iPad就能有很多时间了. 上照片还没学会. 也许完全不行,最后要靠越狱.提到越狱,把那精英气得直冒烟,我也算出了口鸟气.
5418 次阅读|0 个评论
在Word2007中添加公式编辑器图标
gulie 2011-11-9 15:09
今天师妹问我怎么在Word07中添加MathType的图标,说是在网上找到的方法不实用。其实之前我也碰到过这个问题,不过不是很关心,也就没怎么弄。今天师妹都问到头上了,当师兄的不作出表率怎么行?呵呵~ 我采用的方法是利用“宏”的功能完成的,具体的步骤如下: 1、打开Word2007,单击左上角的“Microsoft Office 按钮”图标,然后单击弹出框右下角的“ Word 选项 ” 2、单击“ 常用 ”,在“使用 Word 时采用的首选项”之下 选中 “在功能区显示‘ 开发工具 ’选项卡”复选框。 3、在“开发工具”选项卡上的“代码”组中,单击“ 录制宏 ”。 4、在“ 宏名 ”框中,键入宏名称,例如可以输入“公式”,单击“确定”。 5、在“ 插入 ”选项卡上的“ 文本 ”组中,单击“ 对象 ”。 6、在弹出的“对象”对话框中,选择“对象类型”:“MathType 6.0 Equation”,单击“确定”。 7、此时即进入公式编辑器输入界面,不作任何输入,直接关闭公式编辑器。 8、单击“开发工具”选项卡上的“停止录制”。 9、在选项卡上单击鼠标右键,单击“自定义快速访问工具栏”。 10、在“Word选项”对话框中,单击“自定义”,将“从下列位置选择命令”下面的列表框选为“宏”,选中刚录制的宏“Normal.NewMacros.公式”,单击“ 添加 ”按钮将其添加到右侧。 11、单击“ 修改 ”按钮,将“显示名称”改为“ 公式 ”,并在上方 选择一个易于识别的图标 。 12、单击“确定”。OK~
8980 次阅读|0 个评论
原来已经有六年没拿过刻刀了,看看我的新作品
热度 23 runrun 2011-10-30 18:41
原来已经有六年没拿过刻刀了,看看我的新作品
呵呵,今天用以前买的石刻了个印章权当练习吧,有很多瑕疵,只能要求自己不断去改进,希望买到石后能刻一个好点的,呵呵! 记得以前刻过一个章,刻得是自己的名字,两只大拇指都被刀刮上了,流了不少血,这次刻章时好多了,没有光荣负伤,值得表扬! 刻得不好,忘见谅! 宿舍光线不好,加之手机像素不咋的,太朦胧了,看来大家是无法点评的了,抱歉啊,等成品出来后再传新的,望见谅! 看得可能很难受,对不起,润润错了!
1096 次阅读|31 个评论
[转载][转]南人北游(1) 卧铺 (学生写的,感觉很好,转来)
frank021 2011-10-12 14:21
南人北游(1) 卧铺 生平第一次坐卧铺,很是稀奇,虽孤独上路,心情倒也舒愉。 同厢六人:吵闹的小孩、闷睡的小伙、聊天的中妇、看小孩的老妇、吃粽子的老夫妇,而第七个人则坐在窗前看观光。 窗外风景游走,高楼逐渐由密集变得稀疏,树木却慢慢丰茂起来,田野也越来越黄,时而闪过几片荷塘……直至房屋在视野完全消失,我的好奇心也只得无奈屈服于那一望无际的旷野。 小孩是镇江人,上大班,与奶奶去北京游玩,由于吃了我很多零食,他缠着问我要电话,我提笔写下“110”三个大字,“你是警察啊?!”,“嘘,不要说出来”。不得已让他知道了我的真实身份,终于安稳了。 爬上床,与往常一样,辗转反侧,难以入眠。拿出川爷资助的《读者》,似看非看地扫着。9:00突然熄灯 ,我意识到,这个漫长的夜开始了,而且比往常足足多出两个小时。大家都睡了,我仍在梦的入口徘徊——这种场景似乎总是那么熟悉。 天亮得很早,我算是全程观赏了黑夜到黎明的过渡——就如水墨在宣纸上自然渗开,没有束缚地铺展变淡,最后突然一下变白,太阳也就出来了。车厢中陆续开始有人走动,车速渐减,窗外开始出现青青杨柳,并且越来越清晰,直至火车完全停止,一个诗意江南般的地名出现了——杨柳青。 停后不久,火车继续前进,稍作漱洗之后便又上床,想象着迷路北京的悲凉场景。不知过了多久,广播中传出邓丽君的《月亮代表我的心》,借着这首朦胧的背景,列车员告诉大家终点站快到了。高楼渐密,火车开始减速,取下早已收拾好的行李,跟大家简要道别,直至火车停稳,下火车,穿梭于缓慢的人流中,恨不得立马出站。 激动与恐惧交织:北京,我来了!
个人分类: 生活点滴|2117 次阅读|0 个评论
[转载]MATLAB的MEX文件编写和调试
shixuanlv305 2011-10-12 10:04
转自: http://hi.baidu.com/kaien_space/blog/item/fe9d60ec225db72c62d09ffa.html MATLAB的MEX文件编写和调试 1. MEX的编写格式 写MEX程序其实就是写一个DLL程序,所以你可以使用C,C++,Fortran等多种编程语言来写。 编写MEX程序的编辑器可以使用MATLAB的代码编辑器,也可使用自己的C++编辑器,如VS2008等。 用MATLAB的编辑器的好处是,MEX函数会加粗高亮显示,这给程序编写带来便利,可惜无法动态调试。如用VC即可编译也可调试,比较方便。mex的编译结果实际上就是一个带输出函数mexFunction 的dll文件,所以会用VC编写和调试dll,就会用VC编写和调试MEX程序。 a. MEX文件格式 #include "mex.h" void mexFunction( int nlhs, mxArray *plhs ) { } 四个参数分别用来输出和输入数据: nlhs 输出参数个数,plhs 输出参数指针 (nrhs和prhs是输入参数相关的)。 注意: 我们对 输出和输入参数的操作都是通过指针的方式进行的 。(这点很容易理解,因为我们的计算结果是需要传递给MATLAB的,实际上我们传递的不是数据,而是指针。MATLAB可以通过这些指针,访问内存中的数据。) b. 操作输入数据 对输入数据进行操作,需要通过MEX函数mxGetPr 得到数据的指针地址。 mxGetM 和 mxGetN 得到矩阵数据的行和列 (返回整数)。对于实矩阵,我们可以定义 double *M; 来对实矩阵数据操作。如: double *M; int m,n; // 指针指向第一个参数的数据地址 M = mxGetPr(prhs ); m = mxGetM(prhs ); n = mxGetN(prhs ); 需要注意的是, MATLAB矩阵数据的存储顺序是"从上到下,从左到右" 的,这点和Fortran是一样的。也就是说对于MATLAB的m x n的矩阵A。 A(1,1) 就是 *M,A(2,1) 就是 *(M+1) ,以此类推,A(i,j) 就是 *(M + m*(j-1) + (i-1)). 注意: MATLAB的指标从1开始,C的指标从0开始。 c. 操作输出数据 对于输出数据,我们需要首先分配内存空间,有专门的mex函数可以使用,如: plhs = mxCreateDoubleMatrix(m,n, mxREAL); //生成m x n 的实矩阵。 同输入数据一样,要对输出数据操作,我们也需要一个 指向数据的指针变量 ,如 double *A; A = mxGetPr(plhs ); 下面介绍一下如何使用VS2008编写MEX并编译调试。 2. VC中编写MEX 打开VS2008, 新建项目, 选择MFC DLL. a. 配置项目属性 打开项目属性配置页,C++ - 附加包含目录 加入MATLAB安装目录下的 \extern\include 路径。 连接器 - 附加库目录 加入MATLAB的 \extern\lib\win32\microsoft 路径。 连接器 - 输入 - 附加依赖项 输入libmx.lib libeng.lib libmat.lib libmex.lib 这四个lib文件。 b. 编辑输出函数 在项目源文件的. def 中EXPORTS段加入 mexFunction, 如: EXPORTS ; 此处可以是显式导出 mexFunction c. 编写MEX文件 项目文件中新建一个C++文件 如 mexproc.cpp,里面按前面介绍的格式编写代码即可。 d. VC编译MEX 像编译其他程序那样直接编译即可,成功会生成dll文件。如果编译链接时出错,根据错误提示,检查一下lib和h的路径是否正确,有无缺少lib文件,代码是否有语法错误等。 3. VC中调试MEX 要调试MEX程序就要先编译,再调用她。所以我们需要在MATLAB中调用这个函数,并在VC的MEX程序相应位置处下断点即可。调用的函数名就是dll的主文件名,你可以根据自己的需要改名。我们用mymexfun.dll为例,先在VC的 mexFunction 函数代码段开始处F9下断。然后Ctrl+Alt+P附加MATLAB.exe进程。这样就可以运行命令调试程序了。我们可以在MATLAB的命令行里输入命令: = mymexfun(输入变量) (如果命令找不到,检查一下matlab当前路径,和path路径。) 程序一旦被调用,就会被断在我们的断点处。接着你就可以像调试C++程序那样调试MEX程序了。 在MATLAB中编译MEX可以输入: mex 文件名.cpp MATLAB上编译MEX时,你可以选择不同的编译器如lc, gcc等。也可以在编译时附加lib和h文件。关于mex的命令详解请参考MATLAB帮助文档。 kaien
个人分类: 编程|2341 次阅读|0 个评论
在线latex编辑器
热度 1 onewaystreet 2011-10-11 10:33
在线latex编辑器地址: http://www.codecogs.com/latex/eqneditor.php
个人分类: latex|4137 次阅读|2 个评论
科研在线已支持移动终端,智能手机可自由访问云端内容与服务
zzyyhh 2011-9-25 02:41
2011年09月22~23日,面向科研团队知识协作与管理的 科研在线 ( http://www.escience.cn/ )培训结束了,这次培训的主题是:云服务与科研在线,本次培训的PPT可以在官方会议网站上去下载:http://duckling2011.escience.cn/dct/page/65580。 科研在线测试版的功能主要包括了以下几个方面: 以云服务的方式为广大科研人员提供团队知识协作与分享的平台环境; 移动终端支持,智能手机用户可以去 网站 ( http://www.escience.cn /)下载手机客户端,随时随地的管理在云端的团队知识,并进行团队内的沟通与协作; 快速分享,用户只需简单填写邮件地址及分享的文件,一键搞定文件共享,并可以方便的二次分享; 面向内容的编辑器
3065 次阅读|0 个评论
[转载]WinEdt 编辑器和 PDF 文件的 Acrobat 程序关联
liuyongkui 2011-7-24 10:35
http://blog.lehu.shu.edu.cn/shuishousong/A210059.html CTeX 套装 2.8 版本以后,也就是09年9月以后的版本加入了SumatraPDF程序,将PDF文件与Acrobat程序取消了关联,改用了SumatraPDF程序显示,也就是在WinEdt编辑器的面板上,点击“Acrobat Reader”按钮后用SumatraPDF程序打开关联的PDF文档,这可能涉及到版权啥的原因,在此就不多说了。 我们可能还是习惯使用Acrobat程序查看和标记PDF文档,因此介绍一下如何在WinEdt编辑器中重设程序关联。 比如说Acrobat程序安装在"C:\Program Files\Adobe\Acrobat 7.0" 打开WinEdt编辑器——》 左击菜单栏的“Options”——》 左击下拉菜单中的“Execution Modes”选项——》 在出现的跳出窗口中左击“Acrobat”子面板——》 左击“PDF Viewer Executable”选项的右侧文件夹图标,在弹出窗口中找到你的Acrobat程序,点击“打开”即可。完成后的显示路径就为"C:\Program Files\Adobe\Acrobat 7.0\Acrobat\Acrobat.exe"。 左击“PDF Bin Folder”选项的右侧文件夹图标,在弹出窗口中找到你的Acrobat程序安装的文件夹,点击“打开”即可。完成后的显示路径就为 C:\Program Files\Adobe\Acrobat 7.0\Acrobat 。 “Auto-detect”前面的方框你可以选择是否打钩,如果打钩的话,选择好Acrobat程序安装的文件夹就可以自行检测PDF文件的查阅程序了。 最后左击“OK”即可。 上面例示的程序路径个人可能不一样,程序也不一定相同,有的是专业版/标准版/Reader版等等,仅是示例作用! 这样以后你点击WinEdt编辑器的面板上的“Acrobat Reader”按钮后就用Acrobat程序打开关联的PDF文档了。 ps,另外介绍一份关于WinEdt编辑器的使用技巧,是华东师大的汤银才老师写的。 文件名称: WinEdt5.4 使用技巧,汤银才 下载地址: Uploads/UserDirs/2/586/234299/WinEdt5_4 使用技巧,汤银才.pdf
个人分类: 科研工具|3369 次阅读|0 个评论
[转载]LaTex简介
liuyongkui 2011-7-23 22:03
http://zhanghong7329.blog.163.com/blog/static/49858557200907103442841/ 如果你经常编排带数学公式的文章, 那么你对WORD估计不陌生, 而且对它的公式编辑器也用得不少, 那你可能会发现, WORD编排出来的段落不是那么令人满意, 如果左对齐, 那么每行的右边参差不齐, 很不美观; 而如果选用两边对齐, 那么WORD为了达到这点要求, 可能就加大了某些词与词之间的间距, 那样也达不到我们满意的文章格式. 能不能在行末自动地把一个单词在音节处拆开, 并加上连字符呢? TeX可以. 公式编辑器用多了, 你可能就发现, 如果你要修改文章字体的大小, 这时需要一个一个地调整公式的大小, 简直是无法承受的工作量; 而且, 你经常会发现, WORD的公式大小并不是和正文那么适配, 许多时候看起来要么大了, 要么小了, 尤其是碰到大行的公式, 页面编排都可能因此受到影响了. 而TeX美观的公式混排, 统一的公式正文大小, 会令你感觉你编排的文章和正式出版的数学书籍一样漂亮. WORD编一篇大的文章, 你就会发现你可能不得不将它按章节存储成各个小文件, 因为公式多的文章的WORD文档大得不是一张软盘能解决的了. 而我们使用的TeX格式的文档, 一个50页包含很多公式的文章可能只有不到100K大小. 微软的东西就是版本多, 你一定为WORD6.0, WORD95, WORD97,还有英文WORD, 中文WORD的诸多版本的不兼容性大感头疼, 有时不是头疼就能解决的, 公式编辑器的不兼容, 使低版本的WORD公式根本无法在高版本中使用. 而虽然TeX也有非常多的版本, 但是TeX的基本格式以及公式等编排格式都有统一的标准, 而那些灵活多样的格式, 往往只是一两个文本文件就可以解决的, 甚至我可能一点不直到别人所用的格式, 但从文档中我猜出大致意思了, 那我也可以自己写出那样特殊的格式, 因为TeX是纯文本格式, 你可以轻松地读懂每一句话. 而WORD文档格式的不公开, 我想不会有几个人能从一个WORD文档看出编排后的样式. TeX的纯文本文件, 使得各个操作系统下的TeX环境都能轻松地编辑修改浏览打印你的文章, DOS, WINDOWS, 甚至UNIX. 最为关键的是, 现在很多国内外杂志, 要求寄去的文章按TeX格式排版(可能有些杂志可以接收WORD文档, 那你可能又要在茫茫软件海洋中寻找英文WORD, 因为国外根本就没有中文WORD, 而你的中文WORD文档在英文WORD中什么都看不出来). 那么会用TeX就更是你迫在眉睫的需要. TeX就和vi一样, 在你对他一点不懂的时候, 你总觉得他很难相处, 但是在你了解他之后, 你会越来越发现他的好. TeX 2 +----------------------------------------------------+ | 本节内容: 一个最最最最简单的TeX文档, 并在CCT环境 | | 下编译浏览打印该文件, 编译出现错误后的继续, 以及 | | DOS下的CCT EMTEX的下载及安装. | | (附CCT EMTEX的 readme.cct 文件) | +----------------------------------------------------+ 我们已经讲过, TeX源文件是文本文件, 就象一个C语言的源文件一样, 那么我们也象编译C语言程序得到可执行程序一样, 我们编译TeX源文件, 得到能在计算机上浏览或打印的格式文件,那就是后缀为.DVI的文件(我们就称它为DVI文件). TeX源文件我们通常把其后缀取为.TEX. 当然, 如果你在中文TeX的环境中编排你的中文文章, 那么你的源文件后缀可能就是那个中文TeX给你约定的了, 我们现在常用的CCT EMTEX, 所用的后缀是.CTX, 系统的操作是将.CTX源文件中的中文经过预处理, 产生标准的TeX文件, 然后再照平常的TeX文档一样操作, 得到DVI文件. 今后, 我们均以DOS下的CCT EMTEX环境为例, 来讲述TeX文章的编排. 因为TeX的标准, 所以在不同的TeX环境, 其实文章编排的内容格式是一样的, 只是可能它得到DVI的途径不同而已. 而我们就以现在比较流行的LaTeX为准来讲述TeX的使用, 其它如amstex, amslatex等, 仅是文档的最外层框架以及少数扩展的命令不大一样之外, 其它命令都是相同的. 一个最最简单的TeX文档可能是: (比如我们用EDIT, 当然也可以用写字板或UltraEdit等甚至是UNIX下的vi编辑器等编辑一个文本文件如下四行, 取名为'1.tex') \documentstyle{article} \begin{document} my example content \end{document} 现在流行的TeX格式似乎已经不是documentstyle而是documentclass了, 但是它们除了一开始的写法不大一样之外, 正文的命令排版等等都没有任何区别. 以CCT EMTEX环境为例, 我们用'latex 1.tex' 来编译TeX文件来得到DVI文件, 然后用'view 1.dvi'来浏览, 用'dvi24p 1.dvi'(24针打)或'dviljp 1.dvi'(激打)来打印文章.(以上三条命令的后缀均可以省去, 仅用'latex 1','view 1'和'dviljp 1'等.) 如果你的TeX文件不符合TeX语法, 那编译将可能出错, 这时可以让系统忽略错误产生DVI文件(这时可能就不能达到你所期望的排版效果了), 或者你应该修改源文件中的错误, 重新编译, 直到全部通过. 在LaTeX编译出错时, 会在屏幕上显示出错信息, 并显示"?"以接受用户进一步的指示. 在"?"后, 输入: 1. 回车: LaTeX尽量忽略此错误, 继续运行; 2. s: LaTeX继续运行, 并之后还有错误, 也不停止运行; 3. r: 类似s, 比上者更强硬, 甚至连打不开文件这样的严重错误也不停止; 4. q: 同r, 但错误及提示均不在屏幕显示, 直接写入.LOG文件; 5. I: 之后跟一个字符串, 用来插入替代出错的字符串. 比如在正文需要纵向空出1cm空白, 用"\vskip 1cm", 但是输入错误成为"\vship 1cm", 则编译出错: ! Undefined control sequence. l.102 \vship 1cm ? 表示在第102行, \vship是未定义的命令, 这时在?后输入"I\vskip", 则用\vskip替代出错的\vship, 继续执行. 这里需要注意的是, 这条指令只是编译中临时修改错误, 并没有真正地修改源文件; 6. 小于10的数: 表示删出从当前位置开始的那么多个字符; 7. ?: 显示提示 8. h: 显示帮助, 对当前错误提出进一步动作的建议; 9. x: 中断编译, 将已编译的结果写入.DVI中, 出错及提示写入 .LOG中. 下载CCT EMTEX, 科大内可去 ftp://202.38.68.76/chencs/cct-new/ 该软件源站点是 ftp.cc.ac.cn:/pub/cct 安装请阅读hdinst.doc. 装之后,关于CCT(TeX的中文接口)部分的说明请看cctman.zip解开后的man.dvi. 文后附CCT中readme.cct 的内容. TeX 3 +----------------------------------------------------+ | 本节内容: TeX 中的十个保留字符; TeX 中关于空格, | | 段落, 断行, 分页的约定; 几种TeX中的短横线以及单 | | 双引号的使用; 字体, 字号, 分组; 特殊字符, 重音 | +----------------------------------------------------+ TeX中, 你很常见到的是"\"符号, 那是TeX排版命令的标志,比如说\Omega就是能输出键盘无法直接输入的特殊字符Ω, 而\begin{tabular}{ll}将说明一个制表环境的开始. 和"\"字符一起, $ % # _ ^ { } ~ 是TeX的保留字符, 如果要在文章中输出以上字符, 分别应该用\backslash, \$, \,\%, \#, \_, \^{}, \{, \}, \~{}来表出. $ 是数学环境的分界符 在制表中和数学环境中, 用来对齐各列的 % 表示之后的为注释, TeX忽略该行此符号之后的内容 # TeX定义命令时, #1--#9表示第几个参数 _ 数学公式中的下标 ^ 数学公式中的上标 { } 分组的开始和结束 ~ 用在英文排版中, 表示不可断行的空格 TeX中有几个约定: 1.空格和符以及回车符, 都被TeX当做一个空格(即使你连续输入很多空格), 也因此, 不能将一个完整的英文单词用回车切开; 2.段落: 在TeX源文件中, 一个空行就表示一个新段落的开始, 也可以用"\par"产生新段落; 3.TeX将一段的正文按定义的宽度及页高自动进行断行分页,因此如果需要强制断行用"\\"或"\newline"来表示; 换页用"\newpage"或"\clearpage"; 4.短横线的长度: 连字符, 用"-", 如"X-ray"; 表示数字的范围, 用"--", 如"1--2"; 破折号, 用"---"; 在数学环境中, "-"总是当作减号; 5.单引号和双引号 单引号, 分别用"`"和"'"来表示; 双引号, 则用"``"和"''"(两个同方向单引号连用). LaTeX中有256种字体甚至更多, 而常用的是5--6种而已, 比如英文正文常用罗马体("\rm"), 公式中常用意大利体("\it"), 其它字体有黑体("\bf"), 斜体("\sl"), 等线体("\sf"), 打字机 体("\tt"). 在不使用字体控制时, 缺省是罗马体, LaTeX一直使用当前字体, 直到出现改变字体的命令为止. 而CCT中增加了改变中文字体的命令: "\songti"(宋体), "\heiti"(黑体), "\fangsong"(仿宋), "\kaishu"(楷书), 中文字体缺省是宋体. LaTeX英文字号使用point(点制). 1 inch=72.26 pt. LaTeX 从小到大,依次用"\tiny", "\scriptsize", "\footnotesize", "\small", "\normalsize", "\large", "\Large", "\LARGE", "\huge", "\Huge"来定义和改变字号. 在定义了10pt, 11pt或12pt的基准字号后, LaTeX也相应地调整以上各字号的大小. 这里还要注意的是, 在同时使用英文字体和字号控制中, 应先改变字号再改变字体, 否则可能得不到希望的结果. CCT中, 对中文还有专门的命令"\zihao{n}", 这里n是中文字号的号数, 为0到7, 以及-4(小四)和-5(小五). 在上面, 我们已经知道了{和}定义了分组(group), 所有在分组字符之间出现的命令的作用范围都只是在这组相应的大括号中. 看看例子"normal {\bf this is bf} normal again"就知道了. 在编排科技文献中, 经常会遇到一些键盘无法直接输入的字符, 比如节号, 版权号, 剑号以及在字母上加一些重音符号等等.你来试试看: \S \P \copyright \dag \ddag \^a 以a为例, 下面看看各个重音符号的作用: \^{a}, \v{a},\~{a}, \'{a}, \`{a}, \.{a}, \"{a}, \u{a}, \={a}; 而在以后要讲的数学环境中, 以上几个重音应该分别表示为$\hat{a}$,$\check{a}$, $\tilde{a}$, $\acute{a}$, $\grave{a}$, $\dot{a}$, $\ddot{a}$, $\breve{a}$, $\bar{a}$, 最后, 在数学环境中, 还有$\vec{a}$是在a上面加一小箭头. 其中, 数学环境中, 还有\widhat和\widtilde, 可以自动地调整^或~的长度, 以适应其后{}中的多个字符. TeX 4 +----------------------------------------------------+ | 本节内容: TeX的文件版式\documentstyle, 页面格式 | | \pagestyle, 版面的尺寸参数 | +----------------------------------------------------+ TeX的版式首先是文件版式, 也就是我们接触的第一个最最最简单的TeX文档中的第一句: \documentstyle {格式} 其中的 } % \date{Mar. 1, 1999} %日期, 如果没有此项, %则以当前日期代替, 若 %不要日期, 则用空{} % \begin{document} %document开始. %以上定义标题各项内容, \maketitle %此句产生标题, 不可缺少, %一般都是正文第一句 \begin{abstract} %套用abstract格式 This is mini-page defined for abstract, %自动形成小页 you only write your abstract in it. If % you want to shows keywords, maybe you % should use: % {\bf Keywords: }\LaTeX, example %LaTeX没有keywords环境 \end{abstract} %自己手工来做吧 % \section{The very beginning} %一个节, 节的使用后详 This is the first section of your % article. You may find every first %一节的第一段缺省情况 paragraph of your section, subsection, %为段首不自动缩进 chapter or ... always has no % ``parindent'' at the beginning. % This is the second paragrph, you can %但是以后的段段首 find this has parindent at the % 自动缩进 beginning. If you want to show % parindent at first paragraph too, % do as the first paragraph I showed % in the next section. % % \section{The 2nd step} %第二节,使用自动标号 \hskip \parindent %横向空出\parindent This is the second section. In this %从这里大家看到 first paragraph, I use `hskip' to %\parindent其实是 get the first parindent. Maybe you %一个长度单位, 长 can get this effect by another way. %度单位后详 % \subsection{Sub-sect of 2} %小节 this % % \subsection*{\S 2.2 Another sub of 2} %节,小节可以不使用 this %自动标号, 这时有关 %的计数器不增加 \section{Conclusion} % I think you have know \TeX well now. %又是一节 I want to show you how to use % bibliography. In the article, you %参考文献的 can use as ``see \cite{texbook}''. %引用方法\cite{标识} % \begin{thebibliography}{0} %参考文献列在这里 %{0}表示最长文献序号 % 为一位数 %\bibitem{标识} %参考文献使用后详 \bibitem{texbook} Donald~E.~Knouth, ``The \TeX book'', Addison-Wesley, 1984 \bibitem{lamport} L.\ Lamport, ``\LaTeX: A Document Preparation System'', Addison-Wesley, 1994 \bibitem{companion} M.~Goossens, F.~Millelbach, and A.~Samarin, ``The \LaTeX\ Companion'', Addison--Wesley, 1994 \end{thebibliography} \end{document} %document结束 TeX 6 +----------------------------------------------------+ | 本节内容: 章节划分, 正文空白, TeX的长度, 脚注 | +----------------------------------------------------+ 上一节我们"亲密接触"了一个LaTeX文章, 下面, 我们就其中一些地方做补充说明. LaTeX的章节划分很方便, 只要使用章节命令, TeX就能自动地改变其字体, 字号, 行距和排版方式. 章节划分的一般格式为 \sect-command{sect-name} 或 \sect-command*{sect-name}这两种格式的区别是, 前者自动给章节加序号, 而后者不加序号,也不加相应计数器. 这里的\sect-command可以是(从大到小)\part, \chapter, \section, \subsection, \subsubsection, \paragraph, \subparagraph. 其中在article环境中没有\chapter. 大家可以参看上节的例子. 在TeX中, 大家已经知道, 不管你用了多少个连在一起的空格, 都代表一个, 不管你用几个空行, 都只表示新起一段. 那么, 怎么在正文中留空格呢?(关于数学环境, 以后再讲) 在TeX中, 横向用"\ "或"\enskip"表示空格, 可以用"\quad"表示大空格, "\qquad" 更大一些, 而"\hskip 长度"或"\hspace{长度}"可以任意控制空白的大小; 纵向, 从小到大可以使用"\smallskip", "\medskip","\bigskip", 而"\vskip 长度"和"\vspace{长度}"可以控制纵向空白的大小. 这里还要多说一句的是: 命令"\hspace*{长度}"和"\vspace*{长度}", 这二者的空白只在当前行当前页有效, 不会在行尾或页末造成影响. 上面大家看到"长度"这个概念了, 在TeX中, 有绝对长度和相对长度之分, 前者为数字加上绝对长度单位, 如mm(毫米), cm(厘米), in(英寸), pt(点), 例: 1.5mm, +2.8cm, -1.2in, 72.27pt.这里还要注意的是即时是零长度, 也要加上单位: 0cm等. 而相对长度单位有: em(当前字号M字母的宽), ex(当前字号x字母的高), CCT中还定义了"\ccwd"(当前字号汉字宽), "\ccht"(当前字号汉字高), "\ccdp"(当前字号汉字的深度). 从上节的例子大家可以看到, "\parindent", "\baselineskip", "\parskip"等距离参数, 也可以作为长度单位, 因此, "0.5 \textwidth"也是合法的长度,它等于当前页面正文宽度的一半. 最后, 我们看看TeX怎么在文中加脚注的. 一般格式是: \footnote {内容} 其中 是可选项, 如果省略, 则自动给该页脚注排序, 从1开始标号. footnote只能用于普通正文模式中, 比如盒子或数学环境中都无法使用, 因此系统提供了另外两条命令: \footnotemark 用来在文中插入脚注符号, 但不产生脚注内容; 而 \footnotetext {内容} 则用来真正产生脚注内容. 注意在以后要讲的minipage中, 系统可能会将脚注放错位置. TeX 7 +----------------------------------------------------+ | 本节内容: 三种数学环境, 数学环境中字体和字号, 数 | | 学公式中的空格, 上下标, 分式, \displaystyle, 大 | | 大小小的括号, 根式, 导数. | +----------------------------------------------------+ 到这里, 大家就已经能输入一篇完整的一般文章了, 但是科技文章总少不了数学公式, 而且大家选择TeX作为排版工具, 其中一个原因也是看中了它美观的公式编排, 现在我们就来看看和一般正文不一样的公式. TeX提供三种有关数学公式的环境, 一种是"文中公式", 通过$或\(进入"数学环境", 通过$或\)来结束数学环境的; 第二种是"独立公式", 用$$或\ 退出, 在正文, 它是独占一行的, 它排出的字体要稍微比文中公式要大些; 第三种是带公式标号的数学公式: "方程",这个以后我们详细再讲. 数学环境是自动根据当前字号来调整公式中字的大小的. 数学环境中, 缺省字体是数学斜体(显示出来和意大利体一样), 因此如果要用到正文, 需要改变字体或使用盒子, 如我们要输出"y=x, if x0,"这一句, 其中的"y=0"和"x0"应该是数学公式(虽然不进入数学环境也能输), 而"if"却属于正文内容, 因此不应该用数学斜体显示, 而应该用"$y=x, {\rm if} x0$"或用盒子: "$y=x, \mbox{if } x0$", 但这里还要注意的是, 数学环境中忽 略一切空格(当然分隔命令的空格除外), 因此第一种输入可以发现, if和x0之间没有我们想要的空格, 而第二种输入方式由于在\mbox{} 中if后加了一个空格, 所以if和x0有一个空格, 这正是我们想要的. 因此标准的输入方法一般用后者. 而且, 前者的方法对汉字就不适用, 因为汉字不能出现在数学环境中, 而用盒子框起来就没问题了. 这里再多说一句的是, 数学环境中不能使用字号命令, 如果需要改变字号, 应该在数学环境之外改变, 而数学环境自动根据当前字号调整字的大小. 上面已经提到数学环境中忽略任何空白字符, 那么, 怎么在公式中输出空格呢? 当然我们可以用以前讲过的\quad或hskip来空出横向空格等, 但是如果我们要输出诸如"fdx"(这里dx是微分),这样在f和dx中要有一个小空格, 用\quad显然太大了, hskip根本不知道该空出多大距离. 在公式中, 常用的几个调整距离的命令是"\,"(小距离), "\:"(中距离), "\;"(大距离), "\!"(负距离),象刚才说的例子, 我们一般就用$f\,dx$即可. 当然, 一般情况我们很少改变数学公式中的距离. 下面我们看看如何在数学公式中输入上下标, 在讲TeX保留字时大家就有印象了, 上下标分别用"^"和"_"来表示, 如$x_0^2$, TeX中, 先输上标后输下标和先写下标再写上标是没有区别的, 它都会一样地自动调整字符大小和位置. 如果上下标的字符不止一个, 那就用"{}"括起来, 如$x^{1+y^{i+1}}$. 如果有人突然想在字符的左边输上下标呢? 简单的方法是在前面加一个空的{}, 如${}_{17}^{35}Cl$, 哦, 可能不是用的数学斜体, 那只好再用盒子了: ${}_{17}^{35}\mbox{Cl}$. 有时我们可能直接用1/2来表示分数就可以了, 但是如果分子分母我们想要排在分数线的上下, 那就要用"\frac{分子}{分母}"来表示了, 如$$\frac{1}{x+1}$$. 但是大家如果再把这个例子用单$括起做文中公式, 或者$$y=\frac{y-\frac{1}{x+1}}{y+1}$$,就会发现, 这个分式显示出来觉得比正常字号小, 要解决这个问题就要用\displaystyle的命令了. 可以试试 $$y=\frac{y-\displaystyle\frac{1}{x+1}}{y+1}$$, 可以了吧. 当然, 如果你在\documentstyle中使用了vatola选项(需要TeX系统在指定目录有vatola.sty文件), 那么, 你可以直接用\dfrac来代替\frac来达到同样的效果, 而避免使用冗长的\displaystyle 的输入.(格式如\documentstyle {article}; 而如果用\documentclass{article}, 则用\usepackage{vatola}); 或二者均可以在第一句后面加上\input vatola.sty来包含这个包) 有人可能又要问了, 如果我输出的分数, 分子还是有分子分母的分数, 分母也是一个不简单的分数, 那层层迭迭的分数线, 不够美观, 我还是喜欢"分子/分母"的格式, 那怎么把这条斜分数线画得长一些呢? 这里就要用到所谓的"定界符", 也就是成对出现的类似于括号的符号了, 如(), {表达式}", 其中 可选参数, 如果没有则是开平方, 如 $$\sqrt {x+y}+\sqrt{2}$$. 而导数, 也就是在字母右上方加一撇或两撇的输出, 我们常用$$f^{\prime}$$和$$f^{\prime\prime}$$来表示, 或更简单地, 用$$f'$$和$$f''$$来表示. TeX 8 +----------------------------------------------------+ | 本节内容: 数学符号: 希腊字母, 二元运算符, 关系运 | | 算符, 箭头, 其它符号, 可用于一般环境的符号, 花体 | | 符号及函数名, 可变大小的符号, \limits和\nolimits, | | 省略号, 符号的上下堆积, 上下标的分行 | +----------------------------------------------------+ TeX提供了许多"控制符号"来得到诸如希腊字母, 关系运算符,箭头等无法用ASCII键盘直接输入的符号. 小写希腊字母, 如\alpha,\beta, \gamma, \pi; 大写希腊字母, 如\Gamma, \Pi, \Omega; 二元运算符, 如\times(乘号), \div(除号), \pm(加减号), \circ(小圆圈), \cdot(点)等; 关系运算符, 如\leq(小于等于), \geq(大于等于), \subset(包含于), \supset(包含), \in(属于); 否定关系运算符, 如\not=(不等于), \not(不小于), \not\supset (不包含); 箭头, \leftarrow, \rightarrow, \longrightarrow, \uparrow, \mapto等; 其它符号, \nabla(Nabla算子), \angle(角), \infty(无穷), \forall(任意), \exists(存在), \prime(导数的撇). 这些符号比较多, 这里就不细细一一列出, 大家去找一本TeX书, 复印那两三页下来就可以了. 本节讲的绝大多数符号都只能在数学环境中使用, 有几个符号也可以使用在一般环境中, 那是\S(节号), \P(段落号), \dag(剑号), \ddag(双剑号). 有时数学公式中的函数名, 算子等要用特别的花体来排版, TeX提供了\cal字体, 如"function $\cal F$". 而对于专有名词,如一些函数名, 如sin x中的sin, 就要用罗马体, 而不是一般的数学斜体排印, 我们可以用$${\rm sin}x$$, 也可以用TeX提供的直接在函数名前加"\"的方法: $$\sin x$$, 一般的函数均有定义, 如\sin, \cos, \lim, \log等. 数学环境中, 还有一类特殊的符号, 那就是可变大小符号, 如求和号, 积分号, 它们会因为符号后面的内容的大小自动调整自己的大小: \sum, \prod, \coprod, \int, \oint, \bigcap, \bigcup, \bigsqcup, \bigvee, \bigwedge, \bigodot, \bigotimes, \bigoplus, \biguplus. 需要注意的是, 有些可变符号的上下标位置在文中公式和独立公式中是不一样的, 大家看个例子: $\sum_{i=1}^n x_i=\int_0^\infty f(x)dx$ 和$$\sum_{i=1}^n x_i=\int_0^\infty f(x)dx$$, 这里大家看到, \sum在文中公式中, 上下标是写在右上角和右下角的, 在独立公式中, 是写在上面和下面的; 而\int在二者中都写在右上角和右下角的. 我们可以强制用\limits和\nolimits来控制上下标的出现位置: 使用方法如$\sum\limits_{i=1}^b x_i$就强制将上下标写在上边和下边, 而\nolimits使其出现在右边角上. 这里多说一句, 如果你想把一般的操作符也想用\limits或\nolimits用, 只须把你的操 作符用\mathop{}括起来即可. 大家如果编排矩阵或行列式, 就会遇到特别的省略号, 大家试试\cdots, \vdots, \ddots就是三个方向的省略号. 而\ldots是比 \cdots低一点的省略号, 它和其它三个不同的是也可以用在正文环境中. \ldots一般用于$x_1, x_2, \ldots, x_n$这样的时候. 排版数学公式可能还会遇到需要把两个符号上下组合在一起,最常见的就是上划线和下划线, 大家试试$$\overline{a+b+c+d}$$ 和$$\underline{a+b+c+d}$$, 这里需要说明的是, \overline只能用于数学环境, 而\underline也可以用在正文中. 类似地还有用花 括号括在式子上下的: $$\overbrace{a+\underbrace{b+c}+d}$$, 而如果上下括号上面或下面还有符号, 可以用上下标来表示, 如: $$\overbrace{a+\underbrace{b+c}_{1.0}+d}^{2.0}$$. LaTeX还可以将任意两个符号重叠在一起: \stackrel{上层符号}{下层符号}, 如$$\vec{x} \stackrel{\rm def}{=}(x_1, x_2, \ldots, x_n)$$, 这里需要说明的是\stackrel中第一个参数的符号以较小字号输出的. 而$${上面 \atop 下面}$$可以把两行内容按相同字号排出, 类似 地就出现了$${n \choose m}$$则是带括号的n个取m个的写法. 符号可以上下堆积, 可是我们如果要在\sum的下面写诸如i9和j9这两行下标, 用$$\sum_{i9 \\ j9} i/j$$是不行的. 我们怎么实现这样的分行呢? 我们可以用\atop来堆积, 如 $$\sum_{\scriptstyle i3 \atop \scriptstyle j3} i/j$$ 这里之所以加了\scriptstyle是因为仅用\atop命令会把上下的字体再缩小一号. 另外, 我们也可以用另外的方法: 前面我们在讲\frac时提到\dfrac这个符号需要使用包vatola.sty, 这里, 如果使用了vatola.sty这个包, 我们可以在下标中用{\Sb 第一行 \\第二行 \endSb}, 在上标中用{\Sp 第一行 \\ 第二行 \endSp}来表示多行下标或上标. TeX 9 +----------------------------------------------------+ | 本节内容: 数组array, 方程(标号)equation, 多行方程 | | eqnarray, \aligned(vatola.sty), 标号的交叉引用 | | 参考文献的使用(more) | +----------------------------------------------------+ 数组环境通常用来编排矩阵, 行列式等对齐的数学公式的.它的格式是: \begin{array}{列对齐} 第一行 \\ 第二行 \\ ... 最后一行 \end{array} 这里, 列对齐的格式是{c1c2c3...cn}, 每个ci为一个字母, 说明第i列的对齐方式, 可以是c(居中), l(左对齐), r(右对齐). 而每一行的各列用符号隔开, 行末是\\. 因此n列的数组, {列对齐}应该有n项, 每行应该有n-1个, 一个\\(最后行通常不用\\). 数组中某一列可以不存在, 但是号不能少. 数组外常常使用可变大小的定界符\left和\right, 大家看个例子: $$\left( \begin{array}{clr} a+b+c a+b+c a+b+c \\ a+b a+b a+b \\ a a a \end{array} \right) $$ 这里要作些说明,数组中某两行的距离可以用"\\ "来改变, 也可以用"\renewcommand\arraystretch{实数}"来整体修改数组的垂直距离(缺省为1.0), 而参数\arraycolsep=...是修改其列间距. 使用数组时, 经常容易出错的是: array必须出现在数 学环境中, 的个数和\\的个数一定要正确, 如果使用可变大小的 括号, 一定要注意\left和\right必须成对出现, 即使只排印半对括号. 一般的$和$$环境, 不能给公式或方程编号, 因此, 就用到了方程环境. 格式是: \begin{equation} 方程 \end{equation} 这其中的方程, 和$$情况没有两样, 只是在公式右边自动加上了程编号(如果\documentstyle用了\leqno选项, 则公式标号在左边). 多行的方程可以把array使用在equation中来实现, 但是标号只出现一个, 出现在多行的中间. 如果多行要分别标号, 或者不想用麻烦的$$嵌套array, 那就要用到多行方程环境: \begin{eqnarray} ...... \end{eqnarray} 和 \begin{eqnarray*} ... \end{eqnarray*} 二者的区别是, 带*号的不将公式标号排出来, 而不带*的自动给每行式子编排标号. 在\begin{eqnarray}和\end{eqnarray}中的部分是一个三列的array环境, 因此有两个和一个\\, 如: \begin{eqnarray} y=1+2+3+4+5+6+7+8+9+10 \\ =55 \end{eqnarray} 而如果把方程某行的\\前加上"\nonumber", 则TeX不给该行方程编排标号, 如"y=1+2+3+4+5+6+7+8+9+10 \nonumber \\", 则该行不出现标号. 这里还要注意的是equation和eqnarray都是直接进入$$的显示数学环境, 此不能在前面和后面加上$或$$了. 大家可能会注意到, 不论是array还是eqnarray, 每个符号都会在公式中产生列的小空隙, 同样也在vatola宏库中, 定义了一个aligned对齐环境, 它使得编排多行公式在对齐的同时不会出现$符号位置的列空隙. 它可以出现在$$环境中, 那公式不标号; 或出现在equation中, 它对一个多行公式只标一个标号, 类似于array. 它相当于一个两列的array, 因此每行仅有一个. \begin{equation} \aligned y=1+2+3+4+5+6+7+8+9+10 \\ =55 \endaligned \end{equation} 这里需要注意的是, \begin{array} \end{array}和\begin{tabular}(制表)\end{tabular}不能出现在\aligned与\endaligned中, 如须 使用, 要用\vbox{}或\hbox{}等把array或tabular环境括起来. 在讲第一个完整的TeX文档例子时, 大家一定注意到参考文献标号的交叉引用, 而方程也有标号, 也可以交叉引用. 为什么我们选择交叉引用而不是直接在文中写"公式(1)中..."的原因很简单, 交叉引用可以实时地调整标号, 插入或删去一个公式带来整体标号的改变, 无需改变引用标号的地方; 而且, 可以在不修改正文的情况下灵活地调整标号的风格. TeX使用\lable{标号}来定义标号, 这里的标号可以是字母,数字, 标点等组成的字符串. 需要引用, 则使用\ref{标号}, 这里的"标号"应该是有\lable定义过的, 定义和引用的先后无关. 例如, 我们有 \subsection{Early Results} \label{sec-early} %这里定义子节标号 Euler's equation \begin{equation} e^{i\pi}+1=0 \label{eq:euler} %这里定义方程标号 \end{equation} \combines the five most important numbers in mathematics in a single euqtion. 然后我们就可以如下地引用 Equation~\ref{eq:euler} in Section~\ref{sec-early} ... 不管这里方程或子节的标号是多少, 引用时都能准确地指出. 这就是我们要使用自动交叉引用的原因. 这里, \label会自动根据自己的位置, 得出标号, 如出现在equation, eqnarray, enumerate (项目), figure(图), table(表)环境中, 被引用的是公式号, 项目编号或图表号; 而出现在其它位置则是章节号. 引用时除了\ref外还有一个\pageref{标号}, 它显示的是\label{标号}出现的页面位置. \cite和\bibitem我们在一开始的例子中就看到了, 我们这里更详细地说说这两条命令的完整格式: \cite {标号1, 标号2, ..., 标号n} \bibitem {标号} 先看一个\cite加附加信息的例子(这个例子是在第5节例子的参考 文献的基础上的): See \cite{texbook, companion} or \cite {lamport} .. 再看\bibitem的名称可选项: See \cite{kn:texbook} for more details. ... \begin{thebibliography} % {kn:texbook} D. E. Knuth. {\sl The \TeX{}book}. Addison-Wesley, Reading. \end{thebibliography} 这里再多说一句的是: 所有涉及交叉引用的文件, 在修改过与交叉引用有关的内容之后, 都需要对源文件进行两次编译才能得到正确的结果. TeX 10 +----------------------------------------------------+ | 本节内容: 居中, 左对齐, 右对齐环境; 小页环境; 抄 | | 录环境; 列表环境; 制表环境. | +----------------------------------------------------+ 这里要介绍的是几个TeX中常用的环境, 它的一般格式是: \begin{环境名} ... \end{环境名} 首先是居中, 左对齐, 右对齐环境, 这三者的环境名分别是center, flushleft和flushright, 在环境中的正文以\\断行. 这三个环境比较简单, 就不举例子了. 需要注意的是, 紧接这环境后的正文和环境如果没有空行隔开, 那么系统认为是一个段落,就是说环境后的正文行首没有\parindent的缩进. 小页环境大家在第一个完整的TeX例子中已经看到了, abstract就是小页. 小页环境的格式是: \begin{minipage} {宽度} ... \end{minipage} {宽度}可以用TeX的任何合法距离; 是可选项, 可以选择t 或b来表示小页是和正文是"顶部对齐"还是"底部对齐", 请看例子: NORMAL TEXT \begin{minipage}{1 in} This is a minipage aligned on its bottom line. \end{minipage} AND \begin{minipage} {1 in} This is a minipage aligned on its top line. \end{minipage} END 注意的是, 小页的footnote(脚注)是紧跟在小页后面, 而不是在整个页面的下面, 所以在minipage嵌套时, 可能系统会放错脚注的位置. 抄录环境(verbatim)在\begin{verbatim}和\end{verbatim} 的任何字符都将原样输出, 包括\等TeX保留字. 而"verbatim*"与verbatim的区别是, 它将把空格用|_|表示出来. verbatim有一个简写形式, "\verb标识符 字符串 标识符", 其中标识符可以是空格以外任何字符, 它与\verb之间没有空格. 如: \verb+ This is \!@#$%%^**({ All you want to type. + 当然, 字符串里就不能出现你作为标识符的符号了. 列表环境itemize, enumerate, description. \begin{itemize} \item 列表项1 \item 列表项2 ... \item 列表项n \end{itemize} 自动编号; 如果超过一行, 自动缩进以突出编号. 而enumerate与itemize的区别是, 它不出现数字编号, 而是以小黑圆点来标识. description一般用于类似于名词解释的情形: \begin{description} \item 解释 \item 解释 ... \end{description} 一般, 还在 中加上\bf或\heiti以突出名词.列表环境还可以嵌套使用, 具体就不细述了. TeX专门提供了一个制表环境, 用来排印有线或无线的表格. \begin{tabular} {列定义} ... \end{tabular} 这里 和minipage一样, 可选t或b, 但我们通常用的表格都是独立表格, 所以通常不定义位置, 而直接独立一段. {列定义}类似于array的列对齐, 可以用c,l和r来表示对齐方式, 这里的列定义还可以在列对齐字母间用"|"以画出表格中列的竖线. 表格内容如array一样, 用隔开, \\换行, 同样要注意的个数. 表格的横线可以用\hline来表示, 如: \begin{tabular}{|c|c|c} \hline 1 2 3 \\ \hline 4 6 \\ %这里要注意, 若最后行要画横线, 则此处要有\\ \hline \end{tabular} 而"\cline{列号1-列号2}"则是表示从列号1到列号2的一条横线. 而如果要在表格元素中画竖线, 则可以用"\vline". 有时我们还会遇到需要把某行表格的几列合并起来, 这就要使用 \multicolumn{栏数}{栏定义}{内容} {栏数}是要合并的栏的数目, {栏定义}类似于表格的{列定义}, 如: \begin{tabular}{|c|c|c|} \hline \multicolumn{2}{|c|}{1} 2 \\ \hline 3 4 5 \\ \hline \end{tabular} 而 \begin{tabular*}{宽度} {列定义} ... \end{tabular*}可以自己定义表格的总宽度, 如\textwidth等TeX 的合法距离. 最后, 我们讲讲制表环境的四个参数, 这四个参数都是局部 参数, 也就是说只要用分组限定命令的作用范围, 就可以调整某个表格的参数而不影响其它表格. \tabcolsep是两列间水平距离的一半, 缺省为6pt; \arrayrulewidth为定义\hline, \vline,\cline及列定义的分隔线|的线宽, 缺省为0.4pt; \doublerulesep为连续两个\hline或列定义中连续两个|所画的线段之间的间隔,缺省为2pt, 如果设为0pt, 则可以用连续的\hline或|来加粗表格的某些线框; \arraystretch是一个实数, 缺省为1.0, 定义行距的一个因子, 用\renewcommand来改变.
个人分类: 科研工具|6946 次阅读|0 个评论
完全在Linux系统下做科研工作
热度 4 blownsand 2011-7-17 12:59
我工作用的计算机上只安装了Linux操作系统,自带的开源软件完全能够满足科研需要,现把常用的罗列如下: 1)数值计算:实验数据的处理和理论模型的验证都离不开数值计算。熟练掌握 Fortran 就足够了,但编程过程略显复杂。偶尔也用一下 Octave 。至于编辑器嘛,有经典的Vi和Emacs,小巧灵活的Gedit, Kate和KWrite, 甚至Notepad也挺好的。 2)图像处理:画数据图和示意图当然用 Metapost 啦!稍微复杂一点儿的可以用 Xfig ,输出成metapost文件再做精确修改。一般的图像处理有 GIMP 呢! 3)文字处理:写科技论文的首选工具是 LaTeX ,谁不想让自己的研究结果以漂亮的方式展现在同行面前呢! Kile 是LaTeX专用编辑器之一。很多一流期刊都提供 LaTeX格式文件,作者只需拿过来直接填内容而不必在写论文时分心考虑如何排版。Open Office可以写doc文件。不过,只接受doc文件的刊物一般是不必考虑投稿的,呵呵!
12431 次阅读|9 个评论
[转载]mcc、mbuild和mex命令详解
songhaiyu 2011-7-16 22:15
http://www.matlabsky.com/thread-544-1-1.html 好多学习Matlab扩展编程的人经常把这几个命令给搞混淆的,下面我就给大家仔细讲讲,希望呢给大家讲明白! 先简单的说说mcc、mbuild和mex到底怎么回事: mcc将M文件转换成C/C++文件和相应的MEX包裹文件(需要Matlab编辑器),但在特定条件下可以自动调用mbuild或者mex mex将C/C++文件(入口函数为mexfunction())编译成MEX(DLL)文件(需要C/C++编辑器) mbuild将C/C++文件(入口函数为main())生成可独立运行的C应用程序(需要C/C++编辑器) 复制代码 一 mcc命令 Matlab编译器使用 mcc命令能将一个M文件翻译成C文件,同时生成一个相应的包裹文件 ,这个包裹文件包含了编译器产生的代码和它支持的可执行文件类型之间所需的接口。利用改包裹文件提供的接口,生成的C文件能用在任何编译器所支持的可执行文件类型(如MEX文件、EXE文件、DLL文件)中,这些C文件与最终生成的可执行文件是相互独立的。 Matlab编译器(Lcc)在 特定的条件下能自动调用mex和mbuild函数 ,尤其是mcc –x/-m/-p时。 (1)创建MEX文件 mcc –x filename (注意这个命令在2008a中已经去掉了) 将M文件filename.m翻译成C代码,并生成一个可被Matlab直接调用的C的MEX。 (2)创建simulink S函数 mcc –s filename 将M文件filename.m翻译成C代码,并生成一个相应的simulink S函数,该函数的输入输出变量的大小可动态改变。 (3)创建可独立执行的C程序 mcc –m filename 将M文件filename.m翻译成C代码,生成的可执行文件能独立于Matlab运行环境。 (4)创建可独立运行的C++程序 mcc –p filename 将M文件filename.m翻译成C++代码,生成的可执行文件能独立于Matlab运行环境。 (5)创建可独立运行的C图形库函数 mcc –B sgl filename 如果filename.m中包含了对Matlab图形处理函数的调用,上述命令,将filename转换成为C语言,并生成一个能独立于Matlab运行环境的可执行程序。 (6) 创建可独立运行的C++图形库函数 mcc –B sgl cpp filename 如果filename.m中包含了对Matlab图形处理函数的调用,上述命令,将filename转换成为C++语言,并生成一个能独立于Matlab运行环境的可执行程序。 (7)创建C函数库 mcc –m –W lib:libfoo –T link:libfoo.m 创建一个C函数库 二 mex命令 用户可以在Matlab中按简单的M文件语法规则设计出来完成特定计算的算法。然后用 Matlab编译器调用mex命令创建C共享库函数(DLL)或C++静态函数库 ,最后将它们整合到C/C++应用程序中,编译完这些C/C++应用程序,就可以用这些算法来实现特定的计算功能。当然这过程中也隐藏了算法和加快了代码的执行效率。 由于MEX文件执行效率高,故如果有文件重名的话,Matlab将优先调用MEX文件 ,下面以一个例子说明: function theimage=gasket(numpoits) theimage=zeros(1000); corners= ; startpoit= ; therand=ceil(rand(numpoits,1)*3); for ii=1:numpoits startpoit=floor((corners(therand(ii),:)+startpoit)/2); theimage(startpoit(1),startpoit(2))=1; end imagesc(theimage) colormap( ); axis equal tight 复制代码 现在直接调用 tic ,gasket(5000000);toc Elapsed time is 7.240129 seconds. 复制代码 接着把它编译成mex文件在调用试试 mcc -p tic gasket;tic ,gasket(5000000);toc Elapsed time is 1.23861 seconds. 复制代码 三 mbuild命令 要建立独立运行的C应用程序,系统中需要 安装Matlab、Matlab编译器、C/C++编译器以及Matlab C/C++数学库函数和图形库函数 。 Matlab编译器使用 mbuild命令可以直接将C/C++源代码编译为独立运行程序 ,在这些源代码中可以使用Matlab提供的接口来调用Matlab数学库函数。 虽然生成的 可执行程序可以脱离Matlab环境运行,但是它需要Matlab C/C++数学库文件或者图形库文件的支持才能运行 。但如果C/C++源代码完全是按传统C/C++源代码语法规则编写,没有包含Matlab数学库和图形库的调用,则不仅可以独立与Matlab环境,也不需要那两个库函数的支持。 对于如何在其他环境中运行那个生成的exe文件,大家看看这个帖子: http://www.matlabsky.com/thread-543-1-1.html 下面说说一些比较和区别: 1. MEX文件和EXE文件的差别 Mex文件与Matlab解释器在同一个过程空间运行,当用户调用一个MEX文件时Matlab解释器就会动态的连接到MEX文件。 可独立运行的C/C++应用程序(exe)可以独立于Matlab环境而运行, 而MEX文件则不行,它需要Matlab的支持 。还有EXE中可以调用MEX文件。 2.mex和mbuild编译的C/C++文件的差别 使用mbuild命令编译的C/C++源文件中, 必须包含main()函数 ,它能独立于Matlab运行。而mex命令编译的C/C++源文件中不含main()函数, 它是以mexfunction()函数作为入口的 ,编译后生成的是mex文件,被Matlab调用。 下面是我的一些使用心得 由于真正掌握C/C++接口编程比较麻烦, 故对初学者较少直接使用mex命令 (花费那么大的精力去学习那些接**术,接着利用接**术编写C/C++文件,再使用mex命令来编译它),一般大家都是先写好M文件再使用mcc –x命令让它生成MEX (DLL)文件。 但对纯正的C/C++大家却都比较熟悉,故mbuild命令还是有些市场的
个人分类: 程序设计|4843 次阅读|0 个评论
[转载]vi命令的使用小结
robin7777 2011-6-7 14:44
功能最强大的编辑器——vi vi是所有UNIX系统都会提供的屏幕编辑器,它提供了一个视窗设备,通过它可以编辑文件。当然,对UNIX系统略有所知的人,或多或少都觉得vi超级难用,但vi是最基本的编辑器,所以希望读者能好好把它学起来,以后在UNIX世界里必将畅行无阻、游刃有余,因为其他几种文本处理器并非UNIX标准配备。说不定别人的Linux机器没安装joe或pico,如果您不会vi,那您可能就没辄了。 vi的基本概念 基本上vi可分为三种操作状态,分别是命令模式(Command mode)、插入模式(Insert mode)和底线命令模式(Last line mode),各模式的功能区分如下: 1. Comand mode:控制屏幕光标的移动,字符或光标的删除,移动复制某区段及进入Insert mode下,或者到Last line mode。 2. Insert mode:唯有在Insert mode下,才可做文字数据输入,按Esc等可回到Comand mode。 3. Last line mode:将储存文件或离开编辑器,也可设置编辑环境,如寻找字符串、列出行号等。 不过可以把vi简化成两个模式,即是将Last line mode也算入Command mode,把vi分成Command 和Insert mode。 vi的基本操作 ?进入vi 在系统提示符号输入vi及文件名称后,即可进入vi全屏幕编辑画面: $ vi testfile 有一点要特别注意,就是您进入vi之后是处于“Command mode”下,您要切换到Insert mode才能输入文字。初次用vi的用户都会想先用上下左右键移动光标,结果电脑一直叫,把自己气个半死,所以进入vi后,先不要乱动,转换入Insert后再说。 ?切换至Insert mode编辑文件 在Command mode下按‘i’、‘a’或‘o’三键就可进入Insert mode。这时候您就可以开始输入文字了。 i: 插入,从目前光标所在之处插入所输入的文字。 a: 增加,目前光标所在的下一个字开始输入文字。 o: 插入新的一行,从行首开始输入文字。 ?Insert的切换→Command mode,按Esc键 您目前处于Insert mode,您就只能一直打字。假如您发现打错字了,想用光标键往回移动,将该字删除,就要按ESC键转换回Command mode,再删除文字。 ?离开vi及存文件 在Command mode下,可按冒号“:”键入入Last line mode,例如: :w filename (输入“w filename”,将文章存入指定的文件名filename) :wq (输入“wq”,因为进入之时已经指定文件名testfile,所以会写入testfile并离开vi) :q! (输入“q!”,强制离开并放弃编辑的文件) Command mode功能键列表 在介绍command mode指令的时后,指令后面加上“常用”字眼的功能键,表示比较常用的vi指令,请读者您一定要学会、记住。 (1)I、a、o切换进入Insert mode。 (2)移动光标 vi可以直接用键盘上的光标键来上下左右移动,但正规的vi是用小写英文字母 h、j、k、l,分别控制光标左、下、上、右移一格。 按Ctrl+B:屏幕往后移动一页。 按Ctrl+F:屏幕往前移动一页。 按Ctrl+U:屏幕往后移动半页。 按Ctrl+D:屏幕往前移动半页。 按 0 (数字零):移动文章的开头。 按 G:移动到文章的最后。 按 w:光标跳到下个word的开头。 按 e:光标跳到下个word的字尾。 按 b:光标回到上个word的开头。 按 $:移到光标所在行的行尾。 按 ^:移到该行第一个非空白的字符。 按 0:移到该行的开头位置。 按 #:移到该行的第#个位置,例:51、121。 (3)删除文字 x:每按一次删除光标所在位置的后面一个字符。 #x:例如,6x 表删除光标所在位置的后面6个字符。 X:大字的X,每按一次删除光标所在位置的前面一个字符。 #X:例如,20X 表删除光标所在位置的前面20个字符。 dd:删除光标所在行。 #dd:例如,6dd表删除从光标所在的该行往下数6行之文字。 (4)复制 yw:将光标所在处到字尾的字符复制到缓冲区中。 (想在和#x、#X的功能相反) p:将缓冲区内的字符粘贴到光标所在位置(指令‘yw’与‘p必须搭配使用)。 yy:复制光标所在行。 p:复制单行到您想粘贴之处。(指令‘yy’与‘p’必须搭配使用) #yy:如:6yy表示拷贝从光标所在的该行往下数6行之文字。 p:复制多行到您想粘贴之处。(指令‘#yy’与‘p’必须搭配使用) “ayy:将复制行放入buffer a, vi提供buffer功能,可将常用的数据存在buffer “ap:将放在buffer a的数据粘贴。 “b3yy:将三行数据存入buffer b。 “b3p:将存在buffer b的资料粘贴 (5)取代 r: 取代光标所在处的字符: R:取代字符直到按Esc为止。 (6)复原(undo)上一个指令 u:假如您误操作一个指令,可以马上按u,回复到上一个操作。 .: .可以重复执行上一次的指令。 (7)更改 cw:更改光标所在处的字到字尾$处。 c#w:例如,c3w代表更改3个字。 (8)跳至指定行 Ctrl+G:列出光标所在行的行号。 #G:例如,15G,表示移动光标至文章的第15行行首。 Last line mode下指令简介 读者您要使用Last line mode之前,请记得先按Esc键确定您已经处于Command mode下后,再按冒号“:”或“/”或“?”三键的其中一键进入Last line mode。 1.列出行号 set nu: 输入“set nu”后,会在文章的每一行前面列出行号。 2.跳到文章的某一行 #:井号代表一个数字,在Last line mode提示符号“:”前输入数字,再按Enter就会跳到该行了,如:15 就会跳到文章的第15行。 3.寻找字符串 /关键字:先按/,再输入您想寻找的字,如果第一次找的关键字不是您相尽可能的,可以一直按n会往下寻找到您要的关键字为止。 ?关键字:先按?,再输入您想寻找的字,如果第一次找的关键字不是您想要的,可以按n会往前寻找到您要的关键字为止。 4.取代字符串 1,$s/string/replae/g:在last line mode输入“1,$s/string/replace/g”会将全文的string字符串取代为replace字符串,其中1,$s就是指搜寻区间为文章从头至尾的意思,g则是表示全部取代不必确认。 %s/string/replace/c:同样会将全文的string字符串取代为replace字符串,和上面指令不同的地方是,%s和1,$s是相同的功能,c则是表示要替代之前必须再次确认是否取代。 1,20s/string/replace/g:将1至20行间的string替代为relpace字符串。 5.存文件 w:在last line mode提示符号“:”前按w即可将文件存起来。 #,# w filename:如果您想摘取文章的某一段,存成另一个文件,可用这个指令#代表行号,例如30,50 w nice,将您正在编辑文章的第30~50行存成nice这个文件。 6.离开 q:按q就离开,有时如果无法离开vi,可搭配“!:强置离开vi,如“q!” qw:一般建议离开时,搭配w一起使用,如此离开时还可存文件。 VI命令集锦: 进入vi的命令 vi filename :打开或新建文件,并将光标置于第一行首 vi +n filename :打开文件,并将光标置于第n行首 vi + filename :打开文件,并将光标置于最后一行首 vi +/pattern filename:打开文件,并将光标置于第一个与pattern匹配的串处 vi -r filename :在上次正用vi编辑时发生系统崩溃,恢复filename vi filename....filename :打开多个文件,依次编辑 移动光标类命令 h :光标左移一个字符 l :光标右移一个字符 space:光标右移一个字符 Backspace:光标左移一个字符 k或Ctrl+p:光标上移一行 j或Ctrl+n :光标下移一行 Enter :光标下移一行 w或W :光标右移一个字至字首 b或B :光标左移一个字至字首 e或E :光标右移一个字j至字尾 ) :光标移至句尾 ( :光标移至句首 }:光标移至段落开头 {:光标移至段落结尾 nG:光标移至第n行首 n+:光标下移n行 n-:光标上移n行 n$:光标移至第n行尾 H :光标移至屏幕顶行 M :光标移至屏幕中间行 L :光标移至屏幕最后行 0:(注意是数字零)光标移至当前行首 $:光标移至当前行尾 屏幕翻滚类命令 Ctrl+u:向文件首翻半屏 Ctrl+d:向文件尾翻半屏 Ctrl+f:向文件尾翻一屏 Ctrl+b;向文件首翻一屏 nz:将第n行滚至屏幕顶部,不指定n时将当前行滚至屏幕顶部。 插入文本类命令 i :在光标前 I :在当前行首 a:光标后 A:在当前行尾 o:在当前行之下新开一行 O:在当前行之上新开一行 r:替换当前字符 R:替换当前字符及其后的字符,直至按ESC键 s:从当前光标位置处开始,以输入的文本替代指定数目的字符 S:删除指定数目的行,并以所输入文本代替之 ncw或nCW:修改指定数目的字 nCC:修改指定数目的行 删除命令 ndw或ndW:删除光标处开始及其后的n-1个字 do:删至行首 d$:删至行尾 ndd:删除当前行及其后n-1行 x或X:删除一个字符,x删除光标后的,而X删除光标前的 Ctrl+u:删除输入方式下所输入的文本 搜索及替换命令 : /pattern:从光标开始处向文件尾搜索pattern ?pattern:从光标开始处向文件首搜索pattern n:在同一方向重复上一次搜索命令 N:在反方向上重复上一次搜索命令 :s/p1/p2/g:将当前行中所有p1均用p2替代 :n1,n2s/p1/p2/g:将第n1至n2行中所有p1均用p2替代 :g/p1/s//p2/g:将文件中所有p1均用p2替换 选项设置 all:列出所有选项设置情况 term:设置终端类型 ignorance:在搜索中忽略大小写 list:显示制表位(Ctrl+I)和行尾标志($) number:显示行号 report:显示由面向行的命令修改过的数目 terse:显示简短的警告信息 warn:在转到别的文件时若没保存当前文件则显示NO write信息 nomagic:允许在搜索模式中,使用前面不带“\”的特殊字符 nowrapscan:禁止vi在搜索到达文件两端时,又从另一端开始 mesg:允许vi显示其他用户用write写到自己终端上的信息 最后行方式命令 :n1,n2 co n3:将n1行到n2行之间的内容拷贝到第n3行下 :n1,n2 m n3:将n1行到n2行之间的内容移至到第n3行下 :n1,n2 d :将n1行到n2行之间的内容删除 :w :保存当前文件 :e filename:打开文件filename进行编辑 :x:保存当前文件并退出 :q:退出vi :q!:不保存文件并退出vi :!command:执行shell命令command :n1,n2 w!command:将文件中n1行至n2行的内容作为command的输入并执行之,若不指 定n1,n2,则表示将整个文件内容作为command的输入 :r!command:将命令command的输出结果放到当前行 。
个人分类: 操作及编程|6 次阅读|0 个评论
[转载]shell入门基础必备
chnfirst 2011-6-2 08:47
http://www.21ds.net/article/31/508 shell入门基础必备 日期:2005-05-17 来源: Linux先生 作者: KornLee 1.建立和运行shell程序 什么是shell程序呢? 简单的说shell程序就是一个包含若干行shell或者linux命令的文件.象编写高级语言的程序一样,编写一个shell程序需要一个文本编辑器.如VI等.在文本编辑环境下,依据shell的语法规则,输入一些shell/linux命令行,形成一个完整的程序文件. 执行shell程序文件有三种方法 (1)#chmod +x file(在/etc/profile中,加入export PATH=${PATH}:~/yourpath,就可以在命令行下直接运行,像执行普通命令一样) (2)#sh file (3)# . file (4)#source file 在编写shell时,第一行一定要指明系统需要那种shell解释你的shell程序,如:#! /bin/bash, #! /bin/csh,/bin/tcsh,还是#! /bin/pdksh . 2.shell中的变量 (1)常用系统变量 $ # :保存程序命令行参数的数目 $ ? :保存前一个命令的返回码 $ 0 :保存程序名 $ * :以("$1 $2...")的形式保存所有输入的命令行参数 $ @ :以("$1""$2"...)的形式保存所有输入的命令行参数 (2)定义变量 shell语言是非类型的解释型语言,不象用C++/JAVA语言编程时需要事先声明变量.给一个变量赋值,实际上就是定义了变量. 在linux支持的所有shell中,都可以用赋值符号(=)为变量赋值. 如: abc=9 (bash/pdksh不能在等号两侧留下空格 ) set abc = 9 (tcsh/csh) 由于shell程序的变量是无类型的,所以用户可以使用同一个变量时而存放字符时而存放整数. 如: name=abc (bash/pdksh) set name = abc (tcsh) 在变量赋值之后,只需在变量前面加一个$去引用. 如: echo $abc (3)位置变量 当运行一个支持多个命令行参数的shell程序时,这些变量的值将分别存放在位置变量里.其中第一个参数存放在位置变量1,第二个参数存放在位置变量2,依次类推...,shell保留这些变量,不允许用户以令外的方式定义他们.同别的变量,用$符号引用他们. 3.shell中引号的使用方法 shell使用引号(单引号/双引号)和反斜线("\")用于向shell解释器屏蔽一些特殊字符.反引号(")对shell则有特殊意义. 如: abc="how are you" (bash/pdksh) set abc = "how are you" (tcsh) 这个命令行把三个单词组成的字符串how are you作为一个整体赋值给变量abc. abc1='@LOGNAME,how are you!' (bash/pdksh) set abc1='$LOGNAME,how are you!' (tcsh) abc2="$LOGNAME,how are you!" (bash/pdksh) set abc2="$LOGNAME,how are you!" (tcsh) LOGNAME变量是保存当前用户名的shell变量,假设他的当前值是:wang.执行完两条命令后,abc1的内容是:$LOGNAME, how are you!.而abc2的内容是;wang, how are you!.象单引号一样,反斜线也能屏蔽所有特殊字符.但是他一次只能屏蔽一个字符.而不能屏蔽一组字符.反引号的功能不同于以上的三种符号.他不具有屏蔽特殊字符的功能.但是可以通过他将一个命令的运行结果传递给另外一个命令. 如: contents=`ls` (bash/pdksh) set contents = `ls` (tcsh) 4.shell程序中的test命令 在bash/pdksh中,命令test用于计算一个条件表达式的值.他们经常在条件语句和循环语句中被用来判断某些条件是否满足. test命令的语法格式: test expression 或者 在test命令中,可以使用很多shell的内部操作符.这些操作符介绍如下: (1)字符串操作符 用于计算字符串表达式 test命令 | 含义 ----------------------------------------- Str1 = str2 | 当str1与str2相同时,返回True Str1! = str2| 当str1与str2不同时,返回True Str | 当str不是空字符时,返回True -n str | 当str的长度大于0时,返回True -z str | 当str的长度是0时,返回True ----------------------------------------- (2)整数操作符具有和字符操作符类似的功能.只是他们的操作是针对整数 test表达式 | 含义 --------------------------------------------- Int1 -eq int2|当int1等于int2时,返回True Int1 -ge int2|当int1大于/等于int2时,返回True Int1 -le int2|当int1小于/等于int2时,返回True Int1 -gt int2|当int1大于int2时,返回True Int1 -ne int2|当int1不等于int2时,返回True ----------------------------------------- (3)用于文件操作的操作符,他们能检查:文件是否存在,文件类型等 test表达式 | 含义 ------------------------------------------------ -d file |当file是一个目录时,返回 True -f file |当file是一个普通文件时,返回 True -r file |当file是一个刻读文件时,返回 True -s file |当file文件长度大于0时,返回 True -w file |当file是一个可写文件时,返回 True -x file |当file是一个可执行文件时,返回 True ------------------------------------------------ (4)shell的逻辑操作符用于修饰/连接包含整数,字符串,文件操作符的表达式 test表达式 | 含义 ---------------------------------------------------------- ! expr |当expr的值是False时,返回True Expr1 -a expr2|当expr1,expr2值同为True时,返回True Expr1 -o expr2|当expr1,expr2的值至少有一个为True时,返回True ----------------------------------------------------------- 注意: tcsh shell 不使用test命令,但是tcsh中的表达式同样能承担相同的功能.tcsh 支持的表达式于C中的表达式相同.通常使用在if和while命令中. tcsh表达式 | 含义 ------------------------------------------------------- Int1 = int2 |当int1小于/等于int2时,返回True Int1 = int2 |当int1大于/等于int2时,返回True Int1 int2 |当int1小于int2时,返回True Int1 int2 |当int1大于int2时,返回True Str1 == str2 |当str1与str2相同时,返回True Str1 != str2 |当str1与str2不同时,返回True -r file |当file是一个可读文件时,返回True -w file |当file是一个可写文件时,返回True -x file |当file是一个可执行文件时,返回True -e file |当file存在时,返回True -o file |当file文件的所有者是当前用户时,返回True -z file |当file长度为0时,返回True -f file |当file是一个普通文件时,返回True -d file |当file是一个目录时,返回True Exp1 || exp2 |当exp1和exp2的值至少一个为True时,返回True Exp1 exp2 |当exp1和exp2的值同为True时,返回True ! exp |当exp的值为False时,返回True
0 个评论
[转载]研究生应当常去的几个学术和英语网站
yizhenzhong 2011-5-30 19:20
研究生应当常去的网站 1. 小木虫( http://emuch.net/ ) 推荐理由:里边有不少学术科研用得到的资料,且全部为免费的。 2. 国家自然科学基金( http://www.nsfc.gov.cn/Portal0/default40.htm ) 推荐理由:堪称中国科学研究的风向标。 3. 台湾博硕士论文网( http://etds.ncl.edu.tw/theabs/index.jsp ) 推荐理由:有近10万的博士、硕士毕业论文全文可以下载;当然,下载的前提是你得搞到一个台湾身份证号来注册一个帐号。 4. 中国学术会议在线( http://211.68.23.76/a.asp ) 推荐理由:大量学术会议征文信息,有的被三大检索收录。 6. 研学论坛( http://bbs.matwav.com/ ) 7. 网上读书园地( http://www.readfree.net/bbs/index.php ) 9. 博研联盟( http://www.bylm.net/forum/index.php ) 11. 中国经济学教育科研网( http://www.cenet.org.cn/cn/ ) 12. 人大经济论坛( http://www.pinggu.org/bbs ) 推荐理由:经济学资源下载、学习交流的网站。 网天书城http://www.net-sky.com/book](网上读书,看看吧) 中华电脑书库http://www.pcbookcn.com](大量计算机方面图书,可以下载) 考试163 http://www.pcbookcn.com(大量考试方面的图书,可以下载) 择校学习网http://www.zexiao.com](出国学习外语,咨询等) 163考试网http://www.test163.com](要过CET的朋友要去看看,还有听力资料啊) 英语之声http://www.4english.cn](网上学习英语的好地方) 疯狂英语俱乐部http://www.crazyenglish.org](想了解疯狂英语吗?) 在线英语杂志http://www.englishcn.com](不错的地方) 英语写作网http://www.4ewriting.com](英语协作技巧等) 英语周报http://www.ew.com.cn](学习英语的好地方) 英语角http://www.english-corner.com.cn](看看吧)
个人分类: 研究微博|3689 次阅读|0 个评论
我常用的计算机工具
wlusheng 2011-5-18 14:17
在Ubuntu系统中自己喜欢的工具: TeXlive %文字排版系统,主要用于学术论文的写作; Vim %编辑器,文档的编写和修改。同时结合LaTeX-Suite作为TeX的编辑器; RedNoteBook %记日记的工具; Zim %; StarDict %词典; JabRef %参考文献管理工具,使用BibTeX来管理自己的文献; Beamer %制作演示文稿; Gnuplot %科学绘图工具; GFortran %Fortran 程序编译器; Evolution %邮件客户端; MultiGet %下载工具 待续。。。。。。。。
个人分类: 计算机工具|1 次阅读|0 个评论
解决Linux下的Codeblocks编辑器无法输入中文的问题
热度 1 elitelcf 2011-5-6 13:39
在ubuntu下安装好codeblocks之后,会发现系统的ctrl + space的输入法快捷切换无法正常运行。 这并不是codeblocks的代码编辑器的问题,而是系统的切换热键和编辑器的热键冲突的原因。 编辑器的自动完成快捷键也为ctrl + space,所以必须将此热键重新设置,需要用到codeblocks的 shortcut插件。 这个插件默认安装时并没有安装好,必须使用如下命令安装插件 sudo apt-get installcodeblocks-contrib 安装好之后,进入settings-editor-keyboard shortcut设置 将complete code 的热键更改即可 好久没写文章了,语句都说不清楚了
个人分类: Linux|10630 次阅读|1 个评论
2010年春夏的日子
lijinssc 2011-5-5 20:07
2011年02月17日 11:29 阅读( 52 ) 评论( 6 ) 分类: 个人日记 权限: 公开 2010 年春夏的日子 ---------------- 迟到的总结 相识相知相别 …… 留下点记忆 …… 也是总结和回忆 第一次给你们开会让你们在我的本子上写下了你们的姓名班级选题,随后收到了你们手写的自我简介,我去院里查了你们每个人的上学以来的成绩,再后来一次次集体开会和单独讨论,我心中的你们一个个渐渐鲜明 …… ,当你们交来论文,我看着,粗粗一浏览就能感受到你们每个人的个性,即便是拷的文字也有着你们个人的气息,我从文中寻找着你们自己,一次次 ……. ,我想我就是这样对你们加深了认识,当然,还有平时的交流和感受 …… 。人是在观察人与事中度过的,观察中认识他人也认识自己。日子也就是这样一点点流走的 ..... 。 尽管觉得较真没有意义(其实人生又有多少意义呢?),但看到可以做得更好时还是希望你们再尽些力花些时间的,可一想如果你们不能从你们做的点滴中得到(比如心安踏实、比如自信满足 …… )、如果你们不乐意花时间,那我对你们的要求就成了找麻烦。还是尽可能由你们自己去吧 …… 。我总在给自已这样那样的理由:由你们去的理由、让你们再花些时间精力的理由,难以平衡 ...... 。随着时间什么都会过去、其实就是这样一点点挨到最后的日子,反正结束了,哈哈,总算结束了 …… 。 也许没有人再认真阅读你们成文的,没有人欣赏你们也许曾认真推敲的文字、欣赏你们在得出结果的过程中付出的艰辛、反复琢磨后对论文的一点点改动、拷贝文字过程中也付出了那么多时间,选择、对比、取舍 ...... ,但我们真是因为这些才做毕业设计的吗? 我认真阅读了你们的论文,也推敲了你们每一个人评语, 分别了,我想还是对你们在我心中的印象做一个总结,对你们说几句话吧: CZX 忠厚善良诚恳,是个可托付的男子汉。每次开会会面总会注意到你的目光,从中我读出你的希望,希望你自己尽快成长、希望你自己强劲、还有好多 …… ,你会踏实地行走在路上,无论前方泥泞还是顺畅,你的心中都会充满感激庆幸,你一定会幸福,有一颗厚重的心,周围的一切都那么自然而然 …… 。 你的评语: “ CZX 同学毕业设计初期赴签约单位,参加了野外采集和室内处理工作,通过磁法、自然电位等物探方法的实习,加深了对课堂知识的理解,在后期资料解释和报告撰写的过程中,该学生表现出较强的动手能力和较高的专业素质。 …… 该生责任心强,继续努力会有更大进步。 ” 答辩发挥很好, “ 优 ” 是对你的奖赏。谢谢你节日电话,谢谢你的问候。祝如意好运! LDSH 没得说,你是我这几个学生中最稳重成熟的,最省心的。没带过你课,但可以想像许多老师都会喜欢你的。你的论文每次交来都会有进步,有些是我们商量着让你改的,有些是你自己发现后改的,以你做事的态度一定会有很好的发展。 你的评语: “ LDSH 同学在毕业设计的整个环节中勤奋、认真、努力。能积极及时地完成应做的工作,主动补充相关知识。在采集、处理、解释成图三个环节中,遇到问题总能认真思考尽力解决,论文修改几经易稿一步步修正,每一过程表现出该学生积极向上、态度认真、责任心强的品质。 …… 该生踏实好学,具备成为科研人员的素质 ” 。 我当然会给你 “ 优 ” 。 谢谢你逢节日发来的问候,祝如意好运! LX 认识你最早,几度相遇,你大学的最后又到我这儿做论文了。 你还记得上课时你坐在最后,我点名让你往前坐?当时我说:大家欢迎 LX 同学到前面来,我是记得的。在讲台上我时常看着学生,不是相貌是眼神,你的眼神有种羞涩还有一点急切,是带着希望的 …… 。 你一直在签约单位野外实习,见面很少,交流也有限,你最终的课题不是我熟悉的内容,找人指导你,我也听,感到你有主意、较真,你不是个应付差事的人,很好! 翻译传来,顺畅。改论文了,你一点点推敲,很是上心,你不断说着这个那个地方本来怎么样又怎么样应该怎么样,一遍遍 …… 。你留存了一份自己的论文,自已的心血的当然会珍惜,我内心十分庆幸你能这样,当初有老师告诉我说我这儿好多差生,很可能算上你的。 你一点儿也不差,还很好! 你的评语: “ LX 同学毕业设计初期签约单位,参加了野外采集和室内处理工作。通过 VSP 方法的实施:采集时仪器操作、资料处理时的软件应用,对此次选题的意义及 VSP 工作过程中涉及的条件因素有了深刻的认识。这对该生过后设计合理的工作方法和相关的观测系统参数奠定了基础。 …… 该生乐于思索与实践,有了一个积极的态度定会取得满意的结果。 ” 收到你们大家临走前的礼物,我给大家发了 email 致谢,你回了长长的一封信,那时我就要去西藏,本打算回来给你回信,一系列的事,再后来时间一久 ……. 。你的信使我进一步认识了你,你已是一个男子汉了。你身边那么多爱你的人,珍惜吧,所有的彷徨碰撞曲折,你经历过,担当起来,未来在招唤,也许还有更多的历练等你,不在话下,是吧?! 祝福你! NCZH 姓牛,这个小牛崽不省心。由于我曾与你父是同系同学,自然亲近些。你的自得也常溢于言表。认识几年了,见识了你的偏激、任性、自以为是,是一个被父母惯的有点失形了的孩子。你善良大方。对比周围的同学,良好的教育环境和条件让你的知识面也许宽些,见识也许广些,很让你自得,是吧?!那时我极力推荐你到旁的老师那去,你偏不,跟了我,后悔了吗? 机房也蹲了、别的同学采集也去了、让改论文也改了 …… ,你嘟哝着:你还要让我怎么样?哈哈,我能让你怎么样? 你说你才不去从事这专业呢,专业是你父挑的。专业上你欠缺的太多了,没想着让你补。这次是用了点心、花了点时间,也夸了夸你。可一夸,你那个自得啊!说什么好呢?头顶上斗大的天,你以为是全部了? 好孩子,也只有对你,我能流畅自然的叫出来孩子这两个字。很有意思,我这个做长辈老师的还要被你原谅,哈哈,一直以来我以为帮着你,谁知听你说是我害了你,你说你不怪我,你还说:因为我是个搞技术的不懂政治,我得罪了人还不知道,连累让你受了害。哈哈!谁错了?错哪儿了呢? 总记着你耿着脖子、斜着眼睛、嘴里咕噜着表示着心中的不满,我怎么就不能记点你好的呢?我也有毛病!! 再没有你的消息,似乎将你的父母也得罪了,哈哈 …… 。 难为在这儿的四年挨了我家这个挨那个的训教,忍不住啊!连带你的父亲也被训教了。不过你的反击也给力,扯平了,哈哈 …… 。祝这个小帅哥 …… 什么呢? …… 一生顺利。 PD 一付无所事事百般无聊的样子,对毕业设计毫无兴趣!这是我对你的第一感觉。料不到后来你会笑的那么得意。哈哈,当我们努力了、有了结果时,底气足心情畅,看着自己那个美啊!真是个小孩子! 一想起你开始时对以后要做研究避之唯恐不及、最后欣欣然自满的样子,我心中的微笑忍不住溢出来,哈哈!时常夸夸你,你也巴巴地等着夸,还不错,你! “ PD 同学在毕业设计中逐渐认真重视,一步步进入研究状态。对设计内容的理解不断加深,从理论知识的补充到软件的应用做出了应有的努力。实地采集、资料处理、参数对比、论文撰写的过程使该生动手能力、专业知识、认识水平、综合素养逐步提高。报告编写几经易稿完成。 ” 算是我对你这一阶段的总结吧。 你如果要走在研究的路上,路还很长。但,想你也明白:努力、付出、进步是我们信心骄傲的最基本支撑,无论做什么缺了这些,也许会失去你要的一切! 得知你还有个小女友我很惊讶,你的小女友曾是我带过课的学生,印象中学习还不错,这个多情小公子哥,祝好运啦! WL : 记得我说过:我们 WL 真有本事。果真! 我一直等着与你一起完成你的结果,等着你结果出不来会着急 ...... ,我相信你的聪明,可我没料到你 “ 能煨无米之炊 ” ,最终你用一小点米煨了一锅饭,好象还不赖。 我每次见到你总觉得你想一步登天,那个天对你没太大吸力、你也并不觉得沿途会有什么风景,你总是零零碎碎浅浅的,在课题的表面浮呀浮 ...... 。 送来的数码像框听说是你的主意,你应邀传来的照片真是很阳光很帅气,谢谢。造物主很厚待你,你得当心呀,往往容易地得到太多的人却忽略了自身的努力和提高,最终错过了高飞的机会,当然如果不想高飞又是另一回事了 ...... 。 一手漂亮的好字,真是难得! 你早早签了工作,早早离校去工作,很快又感到了工作的各种不适应,我想我们应该认真想想我们一生到底想要什么?也许很难有满意的答案,但我们得一直问自己,从而确定自己的追求、踏实地前往,一定是踏实地前往, 不撞南墙不回头也许太犟了点,但一遇挫便掉头也是由于选择盲目、缺乏信念, “ 聪明灵活。如若用心深入对待事物会得到好的结果,否则将失于肤浅表面,影响未来发展。 ” 这是我给你毕业设计的评语,我想你是看到了吧,真心希望你能在这浮躁的社会现实中把握住方向,前行、高飞,你的天空很大 …… 。 祝好梦成真! WY 唯一的女生。也是历届选我做指导教师的唯一女生。 本来也许我们会交流更多,但期间的一些变故使我们只有一个多月的时间了,你自主、独立、大气,对社会的认知及对事物的看法及处理让我惊讶,真不是个小小女孩子了,我想过:比你年龄大的我的女儿逢遇大事能会有一个什么样的表现呢?真希望现在的女孩子都有一独立的人格,坚强自信。希望女人任何时候都可以底气十足生活在这个似乎是男人的天地间,可以扬长而去不靠任何人。哈哈,悄悄地对你说:若有得依赖不要客气,尽管可以偷着乐的啊! 你的评语: “ WY 同学在毕业设计的整个环节中勤奋、认真、努力,从理论知识的补充到软件的应用花费了很长的时间,经过不断地学习和探索,熟练掌握了 Jason 软件中 InverTrace 模块及相关方法的应用。学习中认真求实的态度使她理论水平和实际动手能力很快提高,圆满完成了本科最后一阶段的工作。 ” 听说你一到单位就很忙了,忙着学习。你写信要资料时我在西藏,还需要什么吗?很乐意对你有所帮助。 所有人中我最遗憾是没有过多地了解帮助你!不过人生相遇随缘。 祝这位小美女幸福好运! YY 说话沉沉绵绵的,对自己要求不高,没花多少时间学习,几次的在机房我感到你接受能力挺强的,也觉得你还是在机房忙过一阵子,可论文一来气得我半死,就是文摘也是乱七八糟,天呐!最后总算交了差了。 你成了一面镜子,照出了 PD 的美,难怪他如此开心 …… ,你可以学好的,忙着谈朋友去了? 能看出你最后的歉疚,也看得出你自己的无奈,我没有过多地责怪要求你,我自己对你花功夫也不多,你的课题资料齐全,现成的东西太多,我太放心了 …… ,我的歉疚是因为看到你最后的歉疚,如果料想到你也会有歉意,也许我会多促促你,我不大去逼迫训斥学生,但花点时间引导你结果也许好一些 …… 。 自勉吧!人生没有捷径 …… 。 毕业设计结束了,有天你来实验室,说是看见我的车在外面想着我会在就进来看看我,我真是好感动,多懂事的孩子,一直觉得你是会躲着我的。你是个会生活的人,情商很高,也谢谢你得知我出车祸打电话来问候。 你性情随和,对社会有你自己的认识,智商不低。祝你好运吧! ZHQH 活泼、激扬、情感丰富、志向高远,好思好学 …… ,你是后来加入的,其间又离校去实习,接触比较少,但见面总能感到你跳动的思绪,还有你的独特。看你的论文感到杂乱但一点也不让人生气,因为其中有那么多你自己的文字,而文字是你自己的认识和看法,难能可贵了 …… 。 你的评语: “ ZHQH 同学在毕业设计的整个环节中好学、认真、努力,乐于探索,独立思考。工作认真求实,主动热情。经过不断学习反复分析研究对比,对自己采集资料进行了处理对比,又借用他人资料处理成图综合解释。在毕业设计的整个过程中学习补充了相关知识。动手能力和研究问题的能力较强。报告编写几经易稿完成。 …… 该生思维活跃,如若注重严谨,会取得更大进步。 ” 严谨?其实有时有了这个定会失去那个的 …… 。 记得杨振宁在《美与物理》讲座上介绍过的狄拉克、海森伯的区别,你让我想起海森伯,其实遗憾没有更多地了解你。 你们年龄都比我女儿还小了,哈哈,我是都一把年纪了,你说的!还跟小孩似的。竟然笑话我?掌嘴! 记得有次检查学生野外实习报告,有学生写到一位老师时用 “ 年过半百还跟着他们一起爬山 …… 好辛苦、好感动 ” ,我们哈哈大笑,而那老师四十刚出头的,一直我们觉得他长相很年轻呢。 未来的路已在你面前延展,激情奔放的你会有怎样精彩的人生呢?期待中 …… 。 这篇日志毕业设计结束不久就开始写了,一拖半年多又跨了年了,放假前就决定完成,又一拖,总算要划上句号了,也要开学了,下一届学生我得操心着开始了。 停笔(其实是键盘)时已是深夜,刚小小改动了下,人的前后顺序不是写的前后,我按人名拼音排了下序,对你们所有当然有我自己的偏爱,每个人都有让我欣赏的品格,你们自知,对吧?
个人分类: 我与学生|2665 次阅读|0 个评论
分式编辑器测试
热度 11 cai7net 2011-4-29 13:17
编辑公式时一定要在预览公式处看到公式,如果看不到,可以打一个空格 先输入一个简单的公式 复杂一点的 比较复杂的 有问题请留言 X 2 X 4 XX
2740 次阅读|0 个评论
说课(6)(从逐点收敛到一致收敛)--实变函数
热度 15 gfcao 2011-4-29 10:47
写这篇博文不太容易,本想用编辑器,可总有些符号出不来,只好用Word文档照贴过来,好不好看就这样了。要看懂这篇文章需要一定的基础,但以思想方法论,本文是实变函数的精髓部分。 可测函数这一章包含一些精彩的思想与基本技巧值得学习。可测函数的定义与可测集的定义一样是件很自然的事,这一章的重点在于可测函数列的收敛性与可测函数的结构,通俗地说,可测函数列按什么方式收敛?可测函数都是些什么样的函数? 定义可测函数有两种基本的方法,一种是根据 Lebesgue 积分的定义自然诱导出可测集,另一种是先定义特殊的可测函数然后做逼近,通常在定义可测函数时会讨论这两者的关系从而证明它们是等价的。 关于可测函数最精彩的结论有两个,其中之一是如何由(几乎)处处收敛的函数列得到一致收敛的函数列,这个问题的重要性是不言而喻的,一个函数列一旦一致收敛,积分与极限的交换顺序问题、求导与极限的交换顺序问题以及级数的求和问题都变得简单了。能从(几乎)处处收敛想到一致收敛的人很伟大,因为一般人不敢相信从处处收敛能得到一致收敛。这个伟大的人是谁?他就是叶果洛夫,这个定理称为叶果洛夫定理,如果说叶果洛夫定理是 Lebesgue 积分理论的基石恐怕不算过分。事实上,无论是运用连续函数逼近可测函数的鲁津定理还是 Lebesgue 控制收敛定理,其基本的证明思想都离不开叶果洛夫定理。这一点也不奇怪,因为连续函数序列的一致收敛极限仍是连续的,一致收敛的可积函数列其极限与积分可以交换顺序。作为最强的一种收敛性,其极限函数最大限度地遗传了函数列的性质。无论是结论还是证明的思想,叶果洛夫定理都堪称经典与精彩,在许多后续问题的处理中都运用了叶果洛夫定理的证明思想。 我想即使不是做数学的人大概也对这样的定理极其感兴趣,因为你在过去的研究中肯定曾经为极限问题伤过脑筋,你也许曾经期盼过:“要是这个函数列一致收敛多好啊”,现在我就来告诉你如何做到一致收敛,这也是我们的任课教师在课堂上应该教给学生的。 在得到叶果洛夫定理前先让我们适应一下如何用集合的语言描述函数或函数列的性质,这是学习实变函数的诀窍,你如果善于在集合的语言与分析的语言之间相互转换,那学习实变函数对你就不是一件难事。假设 {fn} 是可测集 E 上的可测函数列, f 是 E 上的可测函数,所谓 {fn} 在 E 上几乎处处收敛到 f 指的是存在 E 的一个零测度子集 E0 ,使得 fn 在 E-E0 上处处收敛到 f 。企图让 fn 在 E 或者 E-E0 上一致收敛是不可能的,我们只能考察 fn 是否存在一致收敛的子列,或者将 fn 限制在一个比 E 或 E-E0 小的集合上使得 fn 在这个集合上一致收敛,但这个更小的集合不能比原来的集合小太多,否则即使得到一致收敛性也可能没有多大价值。 从何入手呢?这就需要运用集合的语言来重新描述一下函数列不收敛的那些点了,这个问题初看似乎并不复杂,按如下方式就可以: E1=E{x|fn(x) 不收敛到 f(x)} 。 问题是啥叫 fn(x) 不收敛到 f(x) ?这又回到微积分中的 N- ε 语言了, N- ε 语言的重要性不需要我多说大家都知道,没有它你无法进行极限的量化论证,因此有必要将极限的 N- ε 语言转换成集合的语言,完成了这一步,接下来的事情就好办了。 回顾一下如何用 N- ε 语言描述不收敛:我们说 fn(x) 不收敛到 f(x) 是指存在 ε 0 0 ,对任意自然数 N ,存在 nNN ,使得 |fnN(x)-f(x)| ε 0 应该注意的是,对不同的 x ∈ E1 , nN 及 ε 0 可能各不相同,我们暂且将上述不等式表示成集合的形式: E{x||fnN(x)-f(x)| ε 0 } , 接下来的任务是如何将“对不同的 x ∈ E1 , nN 及 ε 0 可能各不相同”在集合中体现出来?对任意的 N ,存在 nNN 用集合的语言如何表达?存在 nNN 是说对某个 nNN ,不等式 |fnN(x)-f(x)| ε 0 成立,所以 x 应该在并集 ∪ n N E{x||fn(x)-f(x)| ε 0 } 中。而上述不等式对任意 N 都成立,所以 x 应该在交集 ∩ N ∪ n N E{x||fn(x)-f(x)| ε 0 } 中,这个集合把 N 、 nN 以及 ε 0 的关系反映出来了,但是还有一个因素没有考虑到,这就是对不同的 x , ε 0 可能是不同的,按理说,应该再将不同的 ε 0 对应的集合并上,即构造集合 ∪ε 0 ∩ N ∪ n N E{x||fn(x)-f(x)| ε 0 } 。 上述集合的确表示了所有不收敛的点构成的集合(你能验证吗?),但可测性出了问题,在上面关于 ε 0 的并中,由于 ε 0 可能有不可数多个,如何能保证不可数多个可测集的并集还是可测的?所以上述集合的并运算需要可数化。不管 ε 0 是何正数,总存在自然数 k ,使得 ε 0 1/k ,从而当 |fn(x)-f(x)| ε 0 时必然有 |fn(x)-f(x)|1/k 。反之,如果对任意自然数 N ,存在 nNN ,使得 |fnN(x)-f(x)|1/k , fn(x) 当然不收敛到 f(x) ,可见函数列不收敛的点集可以改写成: E{x|fn(x) 不收敛到 f(x)}= ∪ k ∩ N ∪ n N E{x||fn(x)-f(x)| 1/k } , 这个表示式在整个定理的证明中发挥了至关重要的作用。试试看,通过对上述集合的分析以及一致收敛的 N- ε语言 如何寻找一个与原来集合的测度相差不大的子集,使得函数列在这个集合上一致收敛?如果你能找到,你就发现了叶果洛夫定理,你比叶果洛夫也就平凡一点点而已。 这里先卖个关子,倘若你绞尽脑汁依然摸不着头脑,那就耐心等待下回分解。
个人分类: 教育点滴|28417 次阅读|58 个评论
台湾记行(六)
qinwei58 2011-4-28 10:46
26日 晨5时3O分起床,冲茶时发现有香片,甚为激动,福州巳无处寻香片。在阳台上观海景,水篮山清,天籁空灵。触发灵感写诗一首:还乡。早餐后去鹅峦鼻公园及灯塔观光。此处东临巴士海峡、台湾海峡及太平洋交汇处,附近有国军空军雷达站。下午参观少数民族文化园,观阿美族舞蹈。 晚餐于蜻蜓小筑,一家组织山民生产水晶、陶瓷产品与经营休闲饮食业自救的单位,台政府高官多人曾来此考查。路遇当地里长候选人到处拜票,此候选人在几个志愿者的前呼后拥下,一路入户问候居民与店家、送小点心与宣传材料,并一再拜托投5号的票,这是5号候选人。 晚间到达高雄,入住寒轩大酒店。大家去夜市了,我则到附近逛了一家书店,打听茗要的CD,店员告知要到大卖场才有CD专柜。此书店购书的方便性及品种数量不及我们的新华图书城。学术著作少,杂书闲书多,学术研究少,揭短戏说多,近年来不少学者外流,博士失业也加重了这个程度,太多的资源被用于选举了。台湾文化学术界离沙漠不远了。
2114 次阅读|0 个评论
台湾记行(二)
qinwei58 2011-4-22 17:19
台湾记行(二) 21日 晨5时半,在一片朝阳中醒来。烧水、泡铁观音,在窗前品茗并观尝窗外的一片绿。这 中坜市 与台北市有不少公共绿地,因为人少,所以特别显的静寂。 中坜市 对于我们大陆同胞来说是不太熟悉的,它是 台湾桃园县 下 辖 的一个小市, 县辖 市?我还是一头雾水。这个市有 四 个 区即市中心区、内坜区、龙冈区、大仑(西)区。境内水 源 丰沛, 有 老街溪、新街溪 二条小河 蜿蜒 穿越 市区 。它是 桃园县第二大市,与北边的桃园市形成双子星城,为南桃园的中心都市。清乾隆五十年间,满清政府在淡水、新竹两地设县,由于此地处二县中心,故得名涧仔坜 。 1920年设立新竹州中坜郡中坜庄 , 1945年设立新竹县中坜区中坜镇 , 1950年新竹县分为桃、竹、苗三县 后 ,中坜镇为桃园县直辖。1967年,升格为县辖市,中央大学 在此创办, 1974年成立中坜工业区 。 1977年发生中坜事件 。 1995年,人口突破三十万人 。 这个地 区自古以来就是桃竹苗区客家人与北部鹤佬人两族交会的重要地区,1950年代,国民政府将云南省、金门县、以及马祖地区的部分居民迁移到中坜居住,形成台湾典型的多族群居住区。在中坜可以看到代表客家人精神信仰的义民庙,可以在各大节庆时看到鹤佬人的传统习俗,也可以在龙冈地区看到台湾极少见的清真寺,以及众多的军事 基 地与马祖外省村落。中坜 市 原为一 个 传统农业及小型商业 集中地区 ,1974年成立中坜工业区之後,经济开始快速成长,并吸引大量外移人口,成为北台湾最重要的工商都市之一。 7时到二楼咖啡厅进早餐。餐厅不大,但很温馨,在旅行中的早餐,我通常选择西餐,面包、糕点、蛋品与咖啡,简单而且合口味。饭后回客房着装。今天 是大会, 要求着正装 。此为 我所不欲 , 打领带多麻烦 , 一年也打不了一二次,西服平时也极少穿着。在落地镜前怀着纠结的心情打领带,前后三次才完成。 8时15分到大堂集中,2O分钟后到达元智大学。 元智大学是台湾的一家私立大学。台湾的公办大学中台湾大学、台湾清华大学与阳明大学是位列前三甲的。私立大学有老式与新式之分,元智大学在新式私立大学中名列榜首,因为他最早开设e-mba与通识等时兴的专业,有些名气。这个大学也是最早与大陆合作进行科普研究的,是我们的学术合作伙伴。 大学门口是一个自行车停车场,密密麻麻地停了 数 百辆车。进门主路的右侧是一片大操场,有数位学生在打棒球。 今天 这 第三届海峡两岸科普论坛,会场设在元智大学的主楼,主办方在楼前迎接我们。 元智大学 于 1989 年由 台湾 地区远东集团 徐有庠 先生 创办,是一所新型的私立大学。 主楼通道的一楼是图书馆,尚未开门,但早到的学生们用书包摆在门前的地上排队 ,看来这图书馆里的座位也是很紧缺的。 三楼会场门前是签到席, 参会的 人们陆续到达。会议于9日开始。主席台两侧挂着对联"树百年庠序、跨世纪挑战"。这应当是元智大学的校训吧。 第一单元两个报告, 元智大学前校长 王立文与大陆 中国科普研究所所长 居云锋 做报告 ,每人2O分钟。但居云锋严重超时。 10时开始茶歇 。我 将带来的两盒白琳功夫 茶 分送 台湾作家 张之杰与程树德 教授,他们是我往来多年的老朋友 。 所有参会者到楼前 合影 ,虽然大家兴味盎然,但 安排十分混乱 ,可能台湾大学比较少安排种大会合影的。一般而论,大学的大型学术会议,学者只是少数,合影比较好安排,大多数参加者是学生,是不参加合影的,因此今天搞得手忙脚乱 。 茶歇之后第二单元共七人发言,每人十二分钟。我发言 主题是“从管理学的角度看科普期刊”。 说的颇自然 , 听的很认真 ,这个报告是很成功的 。最后是 台湾“科学月刊”的创始人 林孝信 教授 ,他因为讲 了 二个主题,也是超时超死死 , 延迟 了 3O分钟。 12时3O分在5楼平台 参加 自助餐,由学校外约提供 。听说 学校食堂办的卫生 , 但不好吃。 学生们要求菜肴的味道浓,但近些年台湾成年人流行无比清淡的保健素食口味:清水白灼蔬菜,不加任何味道,因此学生与老师们的口味是相反的。 长风浩荡,虽室外气温巳 达 33度,但此高台上十分阴凉。午餐时与元智大学孙长祥教授交流。 13时3O分,分组交流开始 ,我在主会场组听发言。台湾作家 张之杰在发言中提出科学读物与科普读物 大小 不同 范畴 ,科学读物 包含 科普读物,但不能相反。科普读物有传播的功利目的,但科学读物只是作者个人的东西,他不考虑是否被多少读者关心。张 的发言 每每有新意。 福建代表 陈永光谈科学精神 :求实、实证、探索、理性、创新、怀疑、独立与原理。 一位台湾女代表提问为何大陆都是政府主导的科普活动,而民间的力量呢?确实有些大陆代表讲话中有些莫名其妙的 官 话,他们分不清讲话的场合,不知道交流的对象,缺乏学术交流的能力。晚上与 筹办论坛的 高文仲交流,希望今后要重视审稿,可以要求作者修改文稿,不必在这种场合讲官话,主要是不合时宜又不合对象。 席间 与张之杰交谈,他要我今天发言的电子稿,因为 上午 参会者中有出版业者,他们认为我的发言有参考价值。 但我只有PPT,没有文字稿,答应回大陆后将发言稿写出来。旋 接硕茗短信,告知他上周的风景习作被老师在画室贴出,他颇 感 兴奋。回信鼓励他要有自信。 傍晚会议结束后,元智大学设宴招待我们。 晚餐后多数团友去逛夜市,我则回房泡了一 壶 铁观音 ,品品 茶,看看报 ,自得其乐 。
2242 次阅读|0 个评论
[转载]数学公式编辑器常用快捷键
sdssxwfd 2011-4-18 09:41
[转载]数学公式编辑器常用快捷键
给启动“公式编辑器”设置快捷键 通过菜单“视图/工具栏/自定义”,打开“自定义”对话框,通过按钮“键盘”,再打开“自定义键盘”对话框,在类别下选择“插入”,指定命令下选择“Insert Equation”,如图所示,把输入点移到“请按快捷键”输入框中,通过按键输入相应的快捷键。以后启动,只要按快捷键就可快速启动公式编辑器
5637 次阅读|0 个评论
python集成开发环境——wingIDE
liumwei 2011-4-14 14:51
最近在学习Python编程,主要是为简单的数据处理。由于自己以前从没有什么编程经历,从头开始学习,需找一个更简单的语言开始。Python似乎比较满足这个要求。不过,选择一个合适python开发工具倒是费了不少周折。在windows下倒是有不少工具,但是功能强大的也不多。但是,由于日常90%的工作都转到Linux下,因此需要一个在Linux下表现良好的Python集成开发工具。 google了很多网页,看了很多评论,也亲自安装测试多个工具,最后发现wingIDE实在不错。wingIDE 是一个面向 Python 的工具,内涵的编辑器包括大量语言语法标签高亮显示、命令自动完成和函数跳转列表等功能。同时,它包含了实用的源代码浏览器,可对项目或模块进行摘要性浏 览。它具有很好的调试器设计,能及时反馈问题的根源。它的界面采用"多窗口"排列模式,仿佛是界面增强的Idle。在BioInfoServ系统下,这个 平台对于代码中的中文注释显示,已经完全没问题。您安装后,已经无需要进行设置即可完美显示。 值得一提的是,它是一个商业软件,如果使用它来进行商业开发,需购买相应的使用证书。当然,目前未发现,它可以免费使用在学术研究上。尽管如此,我们可以用gooogle搜索到windows下破解连接。而这种破解办法,对linux是有效的。 安装这个软件很简单,首先到 http://www.wingware.com/downloads/wingide 下载对应系统的安装包。BioInfoServ 4系统下,选择debian/Ubuntu Package。你也可以在 BioInfoServ站点下载 到它的专业版3.2及其 破解连接文件 。下载完成,双击打开即可安装。 启动该软件后,您会发现软件界面颜色比较难 看,如果您想改变它,由"edit"进去,选择"perference",修改"display theme"即可。而且,如有您有好看的风格文件也可添加到软件的安装目录/usr/lib/wingide3.2/bin/gtk-bin/share /themes 下。实际上,BioInfoServ 4.0系统中的gtk风格文件(/usr/share/themes)可连接至这里。然后,您到软件的设置界面中选择相应的显示风格文件即可。如下,软件 加载的TheBlues-gtk2-Emerald风格文件显示效果: 现在就可以编写代码了,编写过程中,可随时按F5键,进行调试。很不错吧,应该。
7177 次阅读|0 个评论
如何在网页中写数学公式
热度 6 htrmt 2011-3-27 01:05
2011.0327.0130 看到科学网博主们在博客中写数学公式很不方便,感觉有必要介绍一下如何在HTML页面中显示数学公式的方法。目前有如下几种方法在网页中显示数学公式: 1、在其它编辑器(如word的公式编辑器、Tex convertor )中编辑数学公式,然后截取成图片; 缺点是用户上传图片比较繁琐。 2、利用tex或latex语法写数学公式,然后通过CGI程序在网页中在线动态生成图片(Mathtex ,Mimetex ,Google Chart Tools ); 缺点是服务器端需专门安装相应的CGI应用(由于对用户透明,相对于其他几个方法,这几乎不是缺点)。 3、利用javascript动态生成图片,图片可自由缩放(MathJax 、ASCIIMathML ); 缺点是增加页面的载入时间,增大用户计算机的负荷。 4、使用MathML ; 缺点是检索困难 结论:如果科学网的服务器非常好,而且已安装latex,则建议首选Mathtex,否则Mimetex,再次选ASCIIMathML。Mimetex的安装依赖性最少,图省事的话,建议安装Mimetex。 mathtex的具体用法为: 编辑器中引用图片的URL = {URL_of_Mathtex_Service}+"?"+{Latex_formula} 在科学网博客编辑器中点击引用图片那个按钮,会弹出一个“图片引用URL”的对话框,然后把 http://www.forkosh.com/mathtex.cgi?c=\sqrt{a^2+b^2} 填入("?"号后是latex公式),点击“确定”后,即可在编辑器中看到如下公式: 在科学网服务器安装了mathtex服务以后,假设科学网mathtex服务的URL为 http://www.sciencenet.cn/mathtex.cgi 则上述公式图片的引用地址改为 http://www.sciencenet.cn/mathtex.cgi?c=\sqrt{a^2+b^2} 其它例: Mathtex: Mimetex: 2012.0801.1508 补充:http://www.forkosh.dreamhost.com已经改为http://www.forkosh.com,更新mathtex和mimetex图片引用地址。 http://www.forkosh.com/mathtex.html http://www.forkosh.com/mimetex.html http://code.google.com/apis/chart/ 注:因众所周知的原因,访问不稳定 http://www.mathjax.org/ http://www1.chapman.edu/~jipsen/mathml/asciimath.html http://www.w3.org/Math/ http://www.mayer.dial.pipex.com/tex.htm
个人分类: 杂类|24358 次阅读|11 个评论
博客编辑器进行调整
热度 16 科学网编辑部 2011-3-15 13:58
博客编辑器进行调整
博客编辑器进行以下调整: 1、恢复原有“无格式粘贴”功能。 图一中红色方框中的按钮就是“无格式粘贴”按钮。点击“无格式粘贴”,复制的文字会以纯文本的形式,粘贴到编辑框中。 (图一) 2、恢复原有“规整”功能。 图二中红色方框中的按钮就是“规整”按钮。点击“规整”,编辑器中的博文会自动排版。 (图二) 3、增加“整理word格式”功能 。 “整理word格式”按钮可以解决个别粘贴自word的博文无法发布的情况。 图三中红色方框中的按钮就是“整理word格式”按钮。 如果遇到粘贴自word的博文无法发布,点击“整理word格式”按钮即可正常发布博文。 (图三) 4、恢复原有“公式编辑器”功能 图四中红色方框中的按钮就是“公式编辑器”按钮。 (图四)
个人分类: 通知公告|7081 次阅读|46 个评论
[转载]google reader小技巧
wangke321 2011-3-4 16:50
相信现在很多人已离不开Google Reader,每天必须耗掉很多时间在它上,看着1000+总不爽,总怕错过什么信息,呵呵。我使用Google Reader也有三年多了,总结了一些常用的小技巧。 一、快捷键 j/k: 上一个条目/下一个条目 (模仿vi编辑器,用惯vi的朋友不会感到陌生吧?) s: 标记当前条目星号 r: 刷新 v: 查看原文 t: 给文章加标签 m: 标记为已读 u: 隐藏侧栏,增加横向阅读空间 Shift + s: 共享当前条目 Shift + a: 标记所有条目为已读 Shift + n/p: 下一个/上一个订阅 Shift + x: 展开/收起导航 1: 切换到预览模式 2: 切换到列表模式 f: 全屏浏览,全屏后能显示的内容宽裕了很多,看起来也比较舒服,把鼠标移到上面会出来导航栏,方便切换feed: 二、订阅被和谐的feed 当你访问被和谐的feed时,可能会出现这种情况: 这时,在不用翻墙的情况下,使用https访问就能解决问题: https://www.google.com/reader/view/?hl=zh-CN 三、全文输出feed 有些订阅只输出摘要,而我们不想去查看原文,怎么办呢,这里提供两种办法: 1、 Google Reader Preview Enhanced Preview Enhanced是一个greasemonkey脚本,它可以将原网页加载到google reader中。 2、使用摘要转全文的网站 http://fivefilters.org/content-only 或者 http://feedity.com/ 将原始订阅地址输入网站中,网站就会生成全文订阅的地址。 四、Google Reader的彩蛋 打开Google Reader,然后输入↑↑↓↓←→←→BA (上上下下左右左右BA),没错,这就是当年 FC 上的游戏大作《魂斗罗》的秘籍,没想到在Google Reader也有这个秘籍吧?赶快尝试一下有什么惊喜吧! 最后,贴一个Google Reader的图标
1502 次阅读|0 个评论
科学网的博文编辑器真让人难以忍受
热度 2 fs007 2011-2-25 08:07
在编辑器里看到的跟发表出来的博文差别太大,编辑器也没有查看源文件的功能了,发出来的博客排版往往看着就难受,忍了很久,实在忍不住了,报怨一下。
个人分类: 博务杂务|3028 次阅读|3 个评论
[观点]维基百科(Wikipedia)的意义
热度 5 htrmt 2011-2-21 00:01
本文是看到刘洋的博文“ 博文引用wiki百科算是cheap吗? ”后所做的一个调查。 “Wiki”没什么,它指的是一种人们可在其上通过“所见即所得”编辑器合作编辑网页的网站。可是“Wikipedia”(即维基百科)则非同寻常。“Wikipedia”是一种允许全世界连入互联网的人们合作编辑的在线百科全书;人们称:“百科全书是记录人类知识最全面、最系统的大型综合工具书。” ;也有称:“百科全书是对人类过去积累的全部知识或某一类知识的书面摘要。”。 上述两种说法中: “工具书”的定位意味着:人们利用它可以快速获取所查询条目(特别是查询者不熟悉、不确定的领域、知识)的相关知识; “摘要”的定位意味着:百科全书中叙述的内容可能不够详致,但基本正确。 所以在某方面不熟悉、不确信或者研究不够深入时,从百科全书中寻求快速支持未尝不是一种次优的选择。(潜台词:如果已经有比百科全书更好、更可信的知识来源,自然不会再求助于百科全书)。另外,由于Wiki软件的协作性,任何人对某一条目的最佳理解、定义或相关知识都可以在第一时间反映到条目中(通过追加、修订、删除等操作,并同时保留所有操作历史以便回滚),并随即接受所有关心该条目的人的审议。这个特点正是Wikipedia出生不到5年,即已赶上大英百科全书的最重要原因 。 这同时也使得维基百科拥有发展成最佳参考资料的潜在力量 。 到目前为止(2011.0220.2308),维基百科无论在内容的丰富程度、可用性、易用性、可信性方面,已经较2005年引起广泛关注 时有了更大的提高。 Nature 在2005年12月的一份调查 的结果中有这样一句话:“Jimmy Wales' Wikipedia comes close to Britannica in terms of the accuracy of its science entries, a Nature investigation finds. ” 更多关于“维基百科的可靠性”的知识请参考 。对“维基百科的可靠性”有争议的人,可以访问 ,或者直接参与 的编辑。 a news story comparing the accuracy of science articles taken from the website of Encyclopedia Britannica and Wikipedia , http://www.nature.com/nature/journal/v438/n7070/full/438900a.html Nature's responses to Encyclopaedia Britannica, March 2006. http://www.nature.com/nature/britannica/index.html Wikipedia, Britannica: A Toss-Up, http://www.wired.com/culture/lifestyle/news/2005/12/69844 Study: Wikipedia as accurate as Britannica, http://news.cnet.com/Study-Wikipedia-as-accurate-as-Britannica/2100-1038_3-5997332.html Reliability of Wikipedia, http://en.wikipedia.org/wiki/Reliability_of_Wikipedia Talk:Reliability_of_Wikipedia, http://en.wikipedia.org/wiki/Talk:Reliability_of_Wikipedia
个人分类: 杂类|5951 次阅读|8 个评论
关于无法正常发布博文的解决方法
热度 63 科学网编辑部 2011-1-25 10:30
关于无法正常发布博文的解决方法
博主在word文档中编辑生成的文档,直接粘入新系统编辑器中,可能会存在个别不兼容的情况,以致于在点击“保存发布”时无法正常发布。 博客编辑器进行以下调整 : 1、恢复原有“无格式粘贴”功能。 图一中红色方框中的按钮就是“无格式粘贴”按钮。点击“无格式粘贴”,复制的文字会以纯文本的形式,粘贴到编辑框中。 图一 2、恢复原有“规整”功能。 图二中红色方框中的按钮就是“规整”按钮。点击“规整”,编辑器中的博文会自动排版。 图二 3、增加“整理word格式”功能。 “整理word格式”按钮可以解决个别粘贴自word的博文无法发布的情况。 图三中红色方框中的按钮就是“整理word格式”按钮。 如果遇到粘贴自word的博文无法发布,点击“整理word格式”按钮即可正常发布博文。 图三 1. 如果仍然无法“保存发布”博文的情况 ,请点击编辑器右侧的“切换到纯文本”按钮,然后即可正常发布博文。 2. 如果博主遇到上述无法正常“保存发布”博文的情况 ,且点击编辑器右侧的“切换到纯文本”按钮没有反应,请重新发布博文。 在重新发布博文的过程中,请先点击编辑器右侧的“切换到纯文本”按钮切换到纯文本状态,然后将word文档中的内容粘贴到编辑器中。粘贴完成后,再点击一次编辑器左侧的“切换到多媒体”按钮切换到格式编辑状态,进行格式编辑。最后点击“保存发布”按钮即可成功发布博文。
6865 次阅读|116 个评论
世界上最强大的编辑器 Emacs 学习笔记
lxping 2011-1-7 22:59
share_info.allow_share = 1 简介 Emacs 被很多人称作世界上最强大的编辑器。用户从无数高手到IT民工到普通文本编辑器用户,可以符合几乎所有人的需求。甚至可以在Emacs 里运行音乐播放器、网页浏览器等等,Emacs 更像是一个操作平台。 使用 Emacs 可以完全抛弃鼠标,不必在打字的同时把手移开键盘找鼠标,不必在一大堆深藏不露的菜单里寻找那些常用功能,也不必被一条条工具栏遮挡视线。大多数的 Windows 编辑器都有一条菜单栏,n条工具栏。菜单里有无数选项,很多选项都会弹出一个对话框,这个对话框又会带有层层叠叠的标签,每个标签里 又有很多输入框很多按钮。一个简单的把所有字母大写的命令就要在菜单里翻半天,说不定还找不到,而他们的帮助信息又总是不知所云。而 Emacs 的大多数操作都可以通过快捷键或直接输入命令完成,而且有着极好的帮助系统,可以通过多种方式找到你想要的命令或按键。 不要被 Emacs 简单的外观和与众不同的操作方式迷惑,上手 Emacs 并不是什么难事,看一遍 Tutorial 就可以了,Emacs23 已经带着多种语言版本的快速指南,包括中文。仍然觉得 Tutor 太长?那可以继续看本文。 按键说明 首先说明一下,Emacs 的按键表示方法。最常用的是 Ctrl 和 Alt 的组合键, 分别用 C 和 M 表示,比如: C-x 就是 Ctrl+x, M-x 就是 Alt+x, C-M-f 就是 Ctrl+Alt+f, M-% 就是 Alt+%,实际上是 Alt+Shift+5 C-x C-f 就是 Ctrl+x 然后再按 Ctrl+f,中间可以一直按着 Ctrl 也可以松 开,无所谓间隔多长时间。 这样你就可以简单的用 C 和 M 表示 ctrl 和 alt 了。Shift 可以用 S 表示。 键盘上的特殊按键用表示,比如 回车, 空格, 方向键上, 等等,一看就知道什么意思。 打开和保存文件 启动 Emacs 后,按 C-x C-f,minibuffer (就是 Emacs 最下面一条) 会提示路 径,你可以在这里输入路径名和文件名,或者 回车看到这个目录列表。可以 用方向键移动光标到文件名上 回车打开文件,或者在子目录上 进入子 目录,在 .. 上 进入上一层目录。 打开文件后像往常一样编辑,随便按字母键输入一些字符。按 C-x C-s 保存文件。按 C-x k 回车关闭这个 buffer。 小结:按键说明 这里可以看到很多 C-x 开头的组合键,这些通常都是 Emacs 预先定义,全局性 的命令。按了 C-x 不动,一秒钟后 minibuffer 提示 C-x- ,表示 Emacs 正在 等待用户按下一个键。如果你想取消这次按键,可以接下去按 C-g,minibuffer 提示 C-x C-g is undefined 也就是说 Emacs 什么都没有执行。C-g 一般都是取消命令,取消按键。如果按了 C-x C-h 就会出现一个帮助 buffer,里面是以 C-x 开头的按键帮助。C-h 是一个帮助按键。如何获得更多的帮助,会在之后的小节介绍。C-c 开头的按键通常是用户自定义的按键和扩展包或扩展模式定义的 按键,同样也可以获得帮助信息。 选定区域,剪切、复制、粘贴 你可以用鼠标拖选一块区域。当然,最好用键盘。按 C-@,minibuffer 提示 Mark set,设定了一个 mark。然后移动光标,这时候你就选定了光标和 Mark 之 间的区域。什么都看不到?你可以按 C-w,这块区域就消失了,C-w 是剪切。按 C-x u 可以撤销上一次的剪切,C-x u 是取消。你肯定想看到你到底选中了哪块 区域,可以按M-x 然后输入 transient-mark-mode ,回车。这次你就可以看到你选中了哪块区域了。M-x 是执行 Emacs 命令。 Emacs 有一个很有用的功能,在你选定了区域之后按 C-x C-x 可以交换光标 (point) 和 Mark 的位置,这样你就可以修改调整你选定的区域了。 按 C-g 取消选定的区域。 重新用 C-@ 选定一块区域,按 M-w,这是复制,移动光标到别处,按 C-y,这是粘贴。紧接着再按一次 M-y,这时可以看到粘贴的内容变成了上一次剪切的内容。 再按 M-y 又变成之前一次复制的内容。 C-k 可以剪切一行。连续的 C-k 会把剪切的内容放在一起,一次 C-y 就可以把之前的 n 行一起贴上。 C-x u 可以撤销,不过这个撤销和常规 windows 程序的撤销不太一样。按了 C-x u 撤销后,如果移动一下光标,再按一次 C-x u,可以撤销之前的撤销命令。 这样相当于是 redu。 小结: C-@ 选定区域 C-w 剪切 M-w 复制 C-y 粘贴 M-y 粘贴剪贴板之前的内容 C-k 剪切一行 C-x u 撤销 查找 其他 windows 程序的查找通常会跳出一个对话框,这很讨厌,会遮住文本内容, 有时候我就会忘了我到底要找什么。Emacs 就不会这样。按 C-s 是查找, minibuffer 提示 I-search: 接下来你可以输入你要找的词,比如想找 windows, 输入 w,Emacs 开始找到 w,光标移动到 w 上,接着输入 i,Emacs 找到 wi, 并注意到Emacs 会同时高亮所有的 wi,接着输入 n,Emacs 找到 win,等等。这 就是 incremetal search,它的好处是,你想要找 windows,但实际上你只要输 入 win 就能定位到 windows 上了,不需要继续输入 dows 了。继续按 C-s 找下一个匹配的。C-r 往回查找。按回车或者方向键结束本次查找,再按两次 C-s 重复上次查找,按 C-g 取消查找,光标回到原处。 C-s 或 C-r 也可以用作光标定位,比如想要移到前面 Emacs 处,就可以 C-r Emacs,效率很高,可以说是指哪打哪。 如果查找输入的全是小写,那么这次查找是大小写不敏感的,如果输入字符中有 大写字母,那么这次查找就是大小写敏感的。很智能吧。 C-M-s 或 C-M-r 是正则表达式查找。或者在 C-s 之后按 M-r 也可以切换到正则 表达式查找。这里不仔细讲 Emacs 的正则表达式是怎么样的。 替换 M-% 是 query-replace,输入查找内容和替换内容,然后 Emacs 会询问是否要 替换,y 替换,n 不替换,! 替换光标之后所有,q 结束,? 可以得到帮助。 Emacs 的替换有一个很好的特性,可以只在选定区域内进行替换。这样就可以放心大胆地使用 ! 替换所用,而不用担心超出范围了。 C-M-% 是正则表达式的替换。 小结: C-s 和 C-r 向前向后查找 C-% 替换 C-M-s 和 C-M-r 向前向后正则表达式查找 C-M-% 正则表达式替换 寻求帮助 Emacs 提供了极其强大的帮助系统。 C-h t 是一个 tutorial,现在也有不同语言的 tutorial。按 M-x 输入 help-with-tutorial-spec-language 可以选择不同的语言。按 Emacs 可 以帮你补全命令。按两次 会有补全的提示。 C-h a 是 apropos command,你可以输入几个简单的单词,Emacs 可以帮你找到 相应的命令,这个帮助非常好用。比如你想把一个单词全部大写,但不知道该怎 么做,可以 C-h a 输入 upcase word 或者 up word,Emacs 就会找到几个命令, 其中一个是 upcase-word,并且对应的按键是 M-u,你只要把光标移动到单词前按 M-u 就可以了。 C-h k 是描述某个按键会执行什么。例如你要看看 M-; 是干什么的,按 C-h k, 接着按 M-; 你就会看到 M-; 会运行 comment-dwim,dwim 是 do what i mean 的缩写,这个命令会注释或反注释你选定的区域,如果没有选定区域,会在这一行后面加上注释。很聪明的命令吧。 C-h c 简单描述某个按键执行什么。 C-h f 描述某个函数 C-h v 描述某个变量 C-h 会提供很多很多帮助信息,C-h ? 会显示有哪些帮助信息。 简单配置 Emacs 有超强的可配置性,1000个人可以有1000种配置,可以有自己的键绑定, 有自定义的函数,有自己喜欢的扩展包。配置放在 home 目录下的 .emacs 里, Emacs 启动的时候会自动读取这个文件。启动 Emacs 后,C-x C-f ~/.emacs 会 打开 .emacs 文件,如果不存在的话就是新建这个文件。home 目录在哪里呢? 可以 M-x getenv home 得到 home 的位置。Linux 系统很好理解。 Windows 系统,会默认放在 C:\Documents and Settings\username\Application Data 下,有几种方法可以指定 home 的位置: 在 我的电脑-属性-高级-环境变量 里添加一个 HOME 环境变量,指定位置。 在注册表 (如果没有 GNU 或 Emacs,添加一个即可) 添加 HOME 字符串变量,值为指定的 home 路径。 Emacs 配置使用的语言是 Elisp,Emacs 附带非常详细的 Elisp 手册,可以通 过 M-x info 得到。配置 .emacs 一般只需要几个简单语句,比如: (setq variable-name value) 设置变量值,例如 (setq transient-mark-mode t) 设置选定区域范围高亮 (require 'extension) 安装一个扩展包。 (load file-name) 使用一个 .el 文件 (global-set-key (kbd C-c f) 'function-name) 全局自定义键绑定 (define-key dired-mode (kbd j) 'dired-next-line) 局部键绑定,只在 dired-mode 起作用 (if ...) 一些简单的判断语句 这里提供一个简单的 .emacs 文件: quick.emacs.el 你可以把它复制到你的 home 目录下并改名为 .emacs 注意有个. 或者用 runemacs.exe -q -l quick.emacs.el 来指定 emacs 使用这个配置文件。 总结 介绍一些文本编辑的基本操作。只是为了说明上手 Emacs 其实很简单,而且几乎每一样操作都有比普通 Windows 文本编辑器更好的特性,比如可以任意调整已选定的区域,更好的复制粘贴机制,更好的撤销机 制,更好的 isearch 查找方式,可以在区域内替换,强大得多的帮助系统,没有任何限制的扩展性。用了几天或几个星期后就会觉得其他的编辑是多么麻烦和弱小。 本文摘自《30分钟Emacs入门》,特此声明。
个人分类: @emacs|5855 次阅读|2 个评论
科学网的编辑器表现得太差劲了~~
botnet 2010-9-26 18:12
设计上的不人性化,可以容忍 但是设计上的错误就令人不满了: 1)对一篇博文进行修改时,莫名地出来很多‘ ,导致修改一次,行距增加一倍; 2)普通模式和编辑器模式切换时,会多出Enter来。 博客最基本的就是博文编辑器了,迫切希望科学网能够尽快修正,并且进一步优化编辑器。
个人分类: 生活点滴|3066 次阅读|3 个评论
在线公式编辑器
yaoronggui 2010-9-20 09:59
很多网站和论坛的网页中不支持数学等复杂的公式显示,今天上小木虫看到有一个帖子写的就是关于利用在线公式编辑器来解决网页中显示公式并在线编辑公式的问题,觉得非常不错,整理如下。 网站地址: http://www.codecogs.com/latex/eqneditor.php 方法一: 例如,要在网页中显示如下公式: 操作如下: 1. 在网页http://www.codecogs.com/latex/eqneditor.php上方的大框框中输入公式:a=\sum_{x=1}^{+\infty}\frac{1}{x}; 2. 在网页http://www.codecogs.com/latex/eqneditor.php下方有个下拉列表,选择URL,然后在该复选框下方将出现一个超链接,复制它。 3. 在你帖子的相应位置粘贴刚才复制的超链接(框框中的代码)。 4. 在上一步粘贴的超链接前边加上 ,后边加上 。经过以上操作即可显示你想要的公式。 方法二: 例如要在帖子中显示如下公式: 操作如下: 1、在网页http://www.codecogs.com/latex/eqneditor.php上方的大框框中输入公式,得到上述公式latex代码,即: \begin{eqnarray*} \Psi(x)= \begin{cases}\widetilde{x}, x\in A,\\ x,x\in B.\end{cases}\end{eqnarray*} 2、在这段代码前后都加上$符号。即: $\begin{eqnarray*} \Psi(x)= \begin{cases}\widetilde{x}, x\in A,\\ x,x\in B.\end{cases}\end{eqnarray*}$ 3、在http://latex.codecogs.com/gif.latex?之后输入上述公式latex代码,即: http://latex.codecogs.com/gif.latex?$\begin{eqnarray*} \Psi(x)= \begin{cases}\widetilde{x}, x\in A,\\ x,x\in B.\end{cases}\end{eqnarray*}$ 在这段长代码前边加上 ,后边加上 。经过以上操作即可显示你想要的公式。 Ps: 通过此方法得到的公式都是以图片的形式保存在 http://www.codecogs.com 网站上,如果以后这个网站不存在了,则这些公式图片也就不存在啦。所以最安全的方式还是将这些公式图片放在自己的网站服务器上。哈哈。 在线公式编辑器方法下载地址: 在线公式编辑器方法
个人分类: 电脑网络|18028 次阅读|0 个评论

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-5-22 04:53

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部