用 VIM 和 markdown 格式写学术论文

概要 相对于其它选择来说,markdown 格式方便人更专注于文章内容的写作。然而它用于写短文绰绰有余,论文排版则需要许多额外的功能。本文介绍了我使用 markdown 写论文的折腾过程,基本上扫清了论文写作中的常见需求:一键搜索并插入引用文献、文档内交叉引用、公式图表编号、LaTeX 输出与模板套用、Word 文档输出、一键后台编译多份文档、同义词查询、拼写语法检查等。 本文虽然主体已经完工,但可能不定期修改,以方便读者理解。如果觉得本文有用,欢迎收藏,并在写论文时回来看看有没有更新。 Update on Apr 29 2020: 增加了对 VIM 之外其它编辑器的一些推荐。 如有难以理解的部分,欢迎留言或者对此文件发 Pull Request。 下面是几个使用示例截屏: 一键搜索引用文献 拼写自动更正 同义词检索替换 编译预览结果 引言 去年这个时候我颇花了一点时间打造了一套 VIM 上使用 markdown 写论文的系统。现在我准备投靠 Emacs 和 org-mode,这套系统以后怕是不会再用了。在这里记下来我的配置,或许对于一些人会有用——毕竟 VIM 用户还是比 Emacs 用户多多了。而且这些的许多配置使用其它文本编辑器的人也可以借用。 为什么使用 markdown 写论文? 使用 markdown 的优点 markdown 是一种只保存必要文档结构,不保存格式和样式信息的文档格式,我们可以用同样一份 md 文档很方便地生成不同格式的最终文档。它语法简明,易读易写,作为纯文本文件,方便使用 git 进行版本控制。相较之下,其它的几种流行格式各有各的缺点 HTML 虽然可以将样式定义都放在 CSS 里,但是 HTML 本身手写起来麻烦且不易读。 …

使用 VLC 举办在线观影活动

上一篇 讲了使用 SyncPlay 和朋友一起看电影的办法。这篇讲一讲使用 VLC 串流播放电影的办法。 大体来说,这种办法类似于以前一度流行的网络电台。一个主持人负责开设视频流服务器,其它人连上去即可收看。主持人这边的配置略需要折腾,但参与者那边是比较轻松的,只要往播放器里填一个地址就行。用这种方法和朋友分享电影也有一些缺点。除去主持人这边设置有些门槛(本文就意在消除这种门槛)外,对网络条件要求颇高,要是有几十个朋友一起看的话,恐怕谁家的网络都支撑不住,只适合三五好友一起观影。虽然说播放进度是同步的,但是主持人按播放和暂停之后,都要等小一会儿所有人的屏幕才会有反应,这种延迟也是其它方法没有的。 VLC 是一款很流行的开源媒体播放器。本来叫作 VideoLAN Client,从名字可以看出 VideoLAN 这个计划本来是为了提供一套在网上串流分享视频的工具,播放器只是它的 client 端。后来它的 client 端使用的人越来越多,其 server 端的功能也被整合到播放器里,播放器遂改名为 VLC Player。 整合之后,VLC 的在线串流功能和转码功能是做在一起的。在线串流不过是转码的一个特殊应用——区别仅仅是输出。转码的输出是文件,而串流的输出是一个网络视频流。这项功能的使用并不复杂,界面也还算简单,唯一不好的地方是,虽说顺的时候很顺,一路鼠标点点点就可以过去,可是有时候也会掉坑,想从坑里爬出来的话就需要点技术知识,自带的帮助实在不算友好。 所以写这篇短文介绍一下基本操作和常见的坑。 基本操作 基本操作网上图文教程很多,就不写太细了。 启动 VLC 之后,Media 菜单选择 Stream,弹出 Open Media 对话框,按 Add 按钮添加需要播放的视频文件。如果电影文件不止一个,可以依次添加。然后按 Stream 按钮开始串流设置向导。 点 Next,出现协议选择对话框。一般选择 HTTP 协议,然后点击 add 按钮。端口和路径可以使用默认值,也可以自行修改。 下一步是转码设置。可以选择转码或者不转码。这是最容易掉坑的地方,下文详细讨论。一般来说,如果收看的人网络条件都不错,不想占用 CPU 的话就不要转码。 最后确认所有参数并点击 stream 按钮,VLC 会开始播放视频,但是窗口是黑色的。此时可以在另一个 VLC 或者其它播放器中打开 http://IP地址:端口号 来访问以验证服务是否启动成功。将此地址分享给朋友之后,朋友就可以在视频播放器上使用此地址观看视频 …

关于文本编辑器的一点想法

在强迫自己用VIM写了三篇 paper 之后,我觉得我的 VIM 终于可以出师了。现在开始了 Emacs 的折腾之路。 这其间有几点感触 掌握新的编辑器的最佳方法是逼自己用它完成一个大项目。每天每一步都去想:如何能让操作更方便一些? VIM 和 Emacs 虽然说总被奉为神器,但确实已经开始显露疲态——负的历史包袱太重。就特殊用途来说,自然和大型 IDE 难以比肩,现在连 VSC 这样的新兴编辑器也要追不上了。 然而它们的魅力在哪里?在于——当你只是为了某个小任务想扩展一点功能的时候,用 VIM/Emacs 可以在极短时间内完成——而用 VSC 这样的编辑器,可能就必须要开发新的插件了。TypeScript 什么的门槛再低,也没有一行 VIM 宏来得快。 但是当使用者希望有像 IDE 一样的复杂支持时,VIM/Emacs 毕竟还是小众工具,开发者群体和 VSC 这样火爆的当代编辑器自然有些逊色。大部分插件都属于个人作品,加之UNIX哲学的影响,往往需要组合使用不同插件才能完成某个复杂工作环境的搭建——当然这也是折腾开源软件系统的乐趣之一。可是,对于追求稳定性的人来说,开源软件的频繁更新和复杂的依赖关系往往导致上手之后层出不穷的 bug 。 所以,VIM/Emcas 在当今的意义在哪里呢? VIM 的文本编辑操作经过历史的检验,恐怕在脑机接口出现之前,都会是效率最高的操作方式。现在的大型IDE一般也提供了 VIM 模式的支持,甚至于对 VIM 宏和 ex mode 的支持。一味坚持原教旨 VIM 而拒绝这些先进工具显然是不明智的。 而 Emacs 恐怕主要的用户群体将一直会是有着造轮子爱好的人。只打算装装插件开箱即用的人,不一定适合使用 Emacs。不过要是用一个软件解决从上网、电邮、聊天到煮咖啡的所有需求,大概 Emacs 生态仍然是目前唯一的选择。 不过呢,所有的东西都自带一个文本编辑器。Word 里有一个,WordPress 里有一个,所有的 …

F3507G折腾记

淘宝上搞了一个 Ericsson F3507g,于是我的小黑现在有 WCDMA 和 GPS 支持了 开门见山,对于同样使用 F3507G 正在寻求解决方案的同学,本文可能冗长,包含的最有用的信息均已总结在文章末尾,可以直接跳到倒数第二段。 拿到之后,立刻动手开拆。之前已经打印了一份 X200 Hardware Maintenance Manual 备查。 轻车熟路地拆去键盘、掌托,便露出 mini PCIE 插槽。很久没拆开,已经落满灰。小心吹了吹灰,插上数据卡,拧上螺丝,插上天线。 合上掌托,插 SIM 卡,装电池开机,居然找不到硬件!安装驱动程序,依然找不到。大囧。于是问店家,建议重置 BIOS 试试。虽然在 BIOS 里一点都没找到关于 WWAN 的选项(仅有一个 WLAN 和 WiMaX 的选项),但重置 BIOS 之后再开机,神奇地出现了找到新硬件。 安装 ThinkVantage GPS Enabler,上窗口试了一下,能搜到星。升级 Access Connection,能正常连接联通 WCDMA,信号很好,速度快,便心满心足地睡觉去了。(唯一不好的是流量跑得太快了!!!!) 第二天,开始折腾如何收发短信——真是漫长的历程。 首先查看 Access Connection,竟然没有收发短信的选项。网上网友说,据传说 5.02 版是可以收发短信的,而我的 Access Connection 是 5.95 最新版。总不要为这个把我的 Access Connection …

I780使用手记

这是一篇关于三星I780的使用感受。在旧博客中,原文分作上下两篇发出,现在合起来作为一篇发出。 当年对此机爱不释手,换 Android 手机之后很长一段时间都觉得 Android 手机降低了我的工作效率,万分怀念——2020年4月   I780陪我已经有两个月的时间了。虽然这两个月我没怎么太折腾我的手机,既没有刷系统,也没有刷字体主题。就连软件也不过装了三四十个(这还是算上已经被我卸掉的),但也算里里外外玩了个差不多。回顾一下,对于这部手机,我只有一个字:”爽!”。就是有人拿Iphone跟我换我都不换!如果它寿终正寝了,我的下一部手机一定还是一部差不多的手机。 依例还是先说硬件的使用感受。 触摸屏这东西,没用它的时候觉得是个鸡肋,但用上之后就彻底离不开了。拿着别人的手机操作的时候也总想拿指头往屏幕上戳。果然是手机发展潮流,NOKIA个顽固公司到现在才推触屏手机可不是太晚了些么。本来我还挺喜欢I780的光电鼠标设计,觉得用鼠标点按钮比用手指甲点准多了。而现在我则已经练了出来,用大拇指甲点各种按钮又准又狠,完全不再用光电鼠标了。 Qwerty键盘打短信飞快啊!我使用郑码录入,(插一句,鄙人至今不会用手机拼音输入法,现在都记不住手机数字键盘每个键上有什么字母)郑码的平均码长是1.9键,这个值应该是没有算上空格。手机上打空格可不比打一般键快,所以折算下,打一个字应该需要大概不到2.9键。手指头灵活的人一秒击二键以上肯定是没有问题的(平均才每手每秒一键),这样算来就是一秒一个字,接近电脑上拼音输入法熟手的速度啦!键盘虽然比较硬,但是高速打字聊天时必然是双手同时操作,倒也没有像原来的手机那样总是打短信打得手疼。点讯梅花果然是好输入法,郑码本来重码就少,梅花又支持使用软件键和拨号键选字,这样就完全用不到方向键了。遗憾的是梅花在有些国外程序中无法打开硬键盘,只能使用软键盘录入。梅花的软键盘自带剪贴板等有用工具,但没有Ctrl Alt键也是个缺憾,弄得我现在手机里的每一种输入法都要使用(全屏手写除外,因为有bug)。 握持手感不佳的毛病确实严重,握时间长了虎口容易酸。 GPS也是一个原先以为是鸡肋的东西。但是用了之后也日渐离不开了。开始我还只是用BeeLineGPS记录一下骑车轨迹,步行速度。为日全食而南下华东,尤其是在杭州的日子里颇得益于GPS。不管去哪里,都是打开谷歌地图一查就有路线。那时我的两个同伴本来还成天拿着杭州市地图研究,后来每当要研究去哪里,就说”王玄,上谷歌地图!”,反而埋怨我让他们养成了”GPS依赖症”。 原来一直用GPRS,网速对于文本来说也就是刚刚够用。EDGE相形之下简直就是网速如飞。北京用手机上网的人比较多,网速尚不明显,回家之后网速真是快!这两天正在试用中国移动mmarket,发现网速居然已经快到可以支撑在线音乐播放了!至于在线视频么,中国移动总是告诉我说:”由于人数过多服务器忙,请您稍后再试”。 WIFI虽然是个很爽的东西,但是假期在教室里的时间很少,所以用得不多。但是在图书馆自习的时候,随手就可以Google的感觉很不错! 由于I780的方屏总是会有点兼容性问题,所以我下载了一个微软官方版Windows Mobile 6.1模拟器,每次装软件之前先在模拟器中测试一遍。但还是会有测试通过而实际不能工作的软件,比如说spb shell,问题源于任务栏高度的设置不同。 ——–  现代PDA当然要以网络为中心。 I780支持蓝牙,WIFI(IEEE 802.11b/g),GPRS,EDGE,HSDPA(WCDMA)等多种数据传输方式。在宿舍用蓝牙,教室用WIFI,其它地方用GPRS/EDGE上网。如果将来哪天联通把移动打败了,我还可以转联通用3G。(不过目前我比较同意阚凯力教授的3G观点,3G是个注定失败的东西) 现在我三种浏览器(IE 7 mobile, Opera Mobile, UCWeb)都使用。IE和Opera都是WIFI/3G时代的浏览器,设计的目的就是为了兼容绝大部分WWW网页,所以非常吃数据流量,速度也不快。UC则相对中国特色,流量小,速度快。 IE全面兼容各种网页,但操作实在是太不便利了,既不支持拖拽,缩放也不大灵光。(模拟器里的IE是很好使的,天晓得怎么回事)但是目前对各种网页支持很好,都能打开。据网友说还可以使用网银,非同一般的强大。 Opera的特色是手机的操作方式搭配与PC几乎一样的显示效果。对于大部分网页都可以实现和PC一样的显示效果,支持PHP和JAVA,但对于未名BBS这样有复杂框架的网页尚有困难。最大的问题是对中文输入法支持比较差。Opera毫无疑问是手机上最好的浏览器,详细的缺点见我的另一篇文章。 UC操作、速度感受一流,但默认字体太小太难看,排版也逊于Opera,更不用说对WWW网页的兼容性极差。JAVA版QQ中自带一个很好的浏览器,不输于JAVA版UCWEB,但可惜在PPC版QQ中取消了这个组件,改为嵌入IE了。 现在我WAP以UC为主,偶而用Opera看新闻。WIFI用Opera,需要输入中文的时候切到IE。唉,竟没有一款完美的浏览器!WM模拟器下的IE除了费流量外,倒也可算一款完美的浏览器了,只可惜用不上。 兹列表如下: 浏览器 IE 7 Opera UCWeb 操作便利 极差 好 非常好 显示效果 一般 非常好 好 网页兼容 非常好 好 差 中文输入 正常 不正常 …