标签归档:LaTex

用Mendeley替代EndNote管理PDF科技文献

作为科研人员,很多人可能用EndNote管理科技文献,但我不用它,主要是因为商业化软件EndNote太贵了,一份最便宜的学生版本授权费都需要113.95美元——都赶上一份Windows 8操作系统的价格了。

我的原则是当有替代开源软件存在时,尽量使用开源软件——它们通常是免费的。那么,如果不用EndNote管理科技文献,用什么呢?介绍一款我经常用的EndNote替代品软件:Mendeley

这款软件能自动管理电脑上所有的PDF科技文献,当然也可以设定指定的文件夹。不过,我不清楚是否支持中国知网、重庆维普等文档格式。Mendeley最大的特点是免费(开源?)、跨平台,可以安装在Windows, Linux, Mac OS和iOS等操作系统上。

Mendeley支持全文搜索,并支持软件内打开PDF文档。它还具备在线上传文献功能,实现将文档保存在云端,免费用户有1G空间,需要更多空间则需要付费——这就是Mendeley的盈利模式。

对于我这种LaTeX用户来说,Mendeley还有一些独到的特性。如果是从ElseVier www.ScienceDirect.com等SCI期刊网下载的文档,会自动被Mendeley分析好文章的标题、作者等信息,生成导出JabRef数据库,并保持与这份数据库同步。

这一点非常方便,尤其是如果已经在电脑上保存了很多文献后却没有文献数据库,通过它能批量导出一份完整的JabRef数据库,方便在用LaTeX写作时,方便是插入参考文献。

当然,对于非LaTeX用户,Mendeley也支持Word和OpenOffice用户直接插入参考文献。

我知道很多人肯定会给我一个“好办法”:找一个破解序列号,将EndNote破解不就可以了?我觉得作为科研一分子,不应该使用盗版软件,这是对知识产权最起码的尊重。

拥抱Markdown格式文档

曾经质疑使用Markdown语法来编写文档,因为我总觉得,使用带有代码的东西有一种故意为了表现极客的感觉。我推崇纯文本,因为纯文本是最简单的形式,所以我也痛恨Microsoft Word这种复杂笨重的私有文档格式。

其实我有时候也使用LaTeX写文档,虽然是纯文本,但语法规则还是有些复杂。LaTeX的好处是可以严格精准地控制格式,一切都以命令方式实现,能做到所想即所得,而非所见即所得——所见的背后不一定是所想。

我甚至连演示文档(即通常所说的PPT)都是用LaTeX Beamer编写,最后生成PDF,简洁漂亮,而且做成一个模板后,以后就方便一些。

写博客或者日常写点乱七八糟的东西没有那么多格式。但格式还是有的,比如加粗,超链接、引用、列表等,有点格式总还是能把文字表现得更美观,提高可读性,就像一个清秀的女子稍微打扮一下回头率会更高一些。

要实现必要的格式时,纯文本的不足就出来了:纯文本没有格式。HTML语法可以实现网络上几乎所有的格式(HTML5可以播放视频),可惜HTML语法规则太复杂繁琐,用它来写博客简直打击所有的灵感。任何事情走到极端就不好了。

出于好奇,我上周阅读了一下Markdown语法,发现它的简单超乎我的想像——我读完后心里直说:怎么就这么一点点内容?它基于纯文本,使用很简单的语法规则,写完后预览一下就可以生成HTML格式,实现常用的排版格式,再把它复制粘贴到博客中,就可以避免以前需要的在线排版操作。

如此看来,Markdown做了一个折衷,兼顾纯文本的简洁和HTML的丰富格式。看来我当初看不上Markdown真的先入为主了。

分享一下我使用的Markdown写作工具(其实都未必要工具),使用Chrome浏览器插件:Writebox(Nocs应用也不错),可通过离线或在线方便结合Dropbox编写存储文本,这款工具还有iOS应用(12块钱的样子),好用又轻便,安装后就可以实现手机上也随时记录自己的想法,并随时通过Dropbox同步到电脑端。

工具没有绝对的好坏,关键是在于使用工具的那个人,但工具的相对优劣还是有的。

How to Display Decimal Numbers in Chemical Equations with LaTeX mhchem Package?

Like many people who use LaTeX, I like using the mhchem package to type chemical equations, but there was a problem I met when I was typing numbers with decimal in mhchem package, e.g. if an equation is written as follows,

\ce{3.043 Fe2O3}

decimal numbers in chemical equations

mhchem would gives the result 3·043 Fe2O3 instead of the expected 3.043 Fe2O3. The dot here is actually for the center dot in chemistry equations. But we need the mathematical decimal dot (period).

because mhchem normally does not render the dot as decimal. I tried several methods to make the decimal dot does not display at the middle, e.g. a possible method can be

\ce{\text{3.043} Fe2O3}

though it is not so handy and looks a bit weird (numbers display as plain texts). Finally, I found the following trick works:

\ce{$3.043$ Fe2O3}

decimal numbers in chemical equations

just use maths-escape mode, using $$ to embrace the number. There should not be any white spaces between $ and the number otherwise the compiling would go wrongly, though this is not the case in normal equations.

中文:在LaTeX mhchem包中输入带小数点数字的化学公式时,用美元符号$$将小数点数字包括起来,就可以正常显示小数点而不是在中间位置的点,$与数字之间不得有空格。

Ubuntu英文系统LaTex中文设置

上次介绍过“简单的Windows英文操作系统LaTex中文解决方案”,然而我的个人笔记本电脑是Ubuntu 10.04英文操作系统,因此下面为博主亲自试验并总结的简单方法,解决如何在Ubuntu系统Texlive中处理LaTex中文文档(绝非不负责任地复制粘贴):

先使用命令sudo apt-get install texlive安装官方源里的texlive后,再用命令sudo apt-get install latex-cjk-all安装latex-cjk-all中文字体包。包括bsmi,bkai,gkai,gbsn四种中文字体,bsmi和bkai是Big5编码的明体(其实就是宋体)和楷体字,因此这两个字体有可能无法显示许多简体字,后两者gkai,gbsn分别处理简体中文楷体字和宋体字。

安装好之后,在LaTex源文件里添加类似如下的代码,就能正确处理中文了。示例代码:

\documentclass{article}
\usepackage{CJKutf8}
\begin{document}
\begin{CJK}{UTF8}{gkai}
这是一个楷体中文测试,处理简体字。
\end{CJK}
\begin{CJK}{UTF8}{gbsn}
这是一个宋体中文测试,处理简体字。
\end{CJK}
\begin{CJK}{UTF8}{bkai}
這是一個big5編碼的楷體中文測試,處理繁體文字。
\end{CJK}
\begin{CJK}{UTF8}{bsmi}
這是一個个big5編碼的明體中文測試,處理繁體文字。
\end{CJK}
\end{document}

上面的代码中begin{CJK}后面使用UTF8编码而不是GB,字体使用了gbsn(宋体),不需要再手工安装任何字体,也不需要再做任何配置。此方法对Ubuntu其它版本原则上也应该适用。

参考:http://blog.sinzy.net/1/entry/19944

制作演示文档的经验建议

如果让我说国内与国外做研究有什么区别的话,其中之一就是国外喜欢做Presentation,即做报告。给导师汇报的进展,展示给别人的想法,甚至一个产品的发布会或者说明书,都可用演示文档来完成。因此如何编写一份演示文档就显得相当重要,的确是一门必修的基本功。我原来在国内的时候整个硕士期間就做了一个答辩的Presentation,博士一年级的时候也只做过一回,而且是出于一门英語课的作业,说起来真是惭愧得很。

大多数人选用微软的Office PPT做幻灯片,不过也有人用开源的LaTeX  Beamer做成PDF文档。工具之选本身没有绝对的答案。无论使用哪种工具,编写演示文档的经验和建议倒是一致的。一直以来就很想总结一些做演示文档的经验,供大家参考并交流。最近发现一篇博文,总结的经验非常好,特转发在此分享,也不用我再多费功夫总结了,更何况这篇博文总结得如此之好。

知识经验本身就讲究分享精神,好的成果本应该共享,只要注明原创者就可以了,毫无必要的重复工作简直就是对整个人类金钱和精力的浪费。

制作科研Slide的规范建议

在页面上放什么?

  1. 一个内容太少的页面总比内容太多的页面好。
  2. 不要假定听众中的所有人都是这方面的专家,记住无知听众准则,即使听你讲的人应该是专家,他们也可能是最近才听说你认为应该很早就知道的内容。你永远应当预留出时间对那些专业的词汇做出解释。
  3. 永远不要把你不准备在演讲中谈到的内容放到页面中,不要给大家造成你要谈论的主题非常复杂的印象。但是你可以解释一些不在页面中列出来的内容。
  4. 保持简单。一般来说,你的听众用来看一张幻灯片的时间不会超过50秒。他们可能来不及来领会那些长句子和复杂的公式。

对标题的建议

  1. 每个页面都要放置一个标题。对那些不能抓住页面细节的听众来说,看标题能使之知道页面的内容。
  2. 标题要确确实实说清楚一件事情。不要用让人无法理解的神秘总结做标题,除非听众能够完全理解页面的内容。
  3. 理想情况下,前后标题本身要构成完整叙述。
  4. 英语中大小写前后要一直。或者所有的标题首字母都大写,或者不。不管如何,整篇文档的标题要大写。

对正文文本的建议

  1. 永远不要为了放置更多的内容而选择更小的字体。
  2. 应尽量选用列表项(enumerate, itemize),不要用长句子。
  3. 不要用连字符分割单词。如果确实需要,使用命令”-“手工分割。
  4. 手工换行,不要依赖程序的自动换行。在有逻辑停顿的地方换行。
  5. 图表中的文字和数字要和普通文本同样大小。坐标轴上不可分辨的数字往往使图表表达的信息减半。

对图形的建议

  1. 如果可能,每一页都尽量放一个图形。可视的图形可以帮听众很多忙。
  2. 图形应该跟文本有同样的排版参数。比如:在图形中的文字应该跟正文用同样的字体。图形中小点应该跟正文中的点一样大,线的宽度也应该一样。
  3. 当使用位图的时候,比如照片,可以会比其它文本色彩更丰富;而矢量图应该和正文遵守同样的色彩逻辑(比如,黑色代表正文,红色表示加亮,绿色代表例子,蓝色代表结构)。
  4. 同文本一样,你应该解释图表中出现的所有内容。不管对演讲主题来说是否重要,一些不能解释的细节往往会使听众迷惑不解。当从论文或者别的地方拷贝图形的时候一定要注意,因为那里面可能包含你无法解释的内容。

对色彩的建议

  1. 尽量少用颜色。在模板的定义中已经用了比较多的颜色。如果用比较多的色彩,应当有足够的理由。
  2. 在白背景下使用较亮的色彩时要小心,特别是绿色。在你的监视器上看起来不错的东西在你投影上效果可能完全不同。当你在亮背景下使用前景色时,一定要用比较暗的。
  3. 背景的阴影和渐变在降低易读性的同时并不会增加任何信息。不要因为好看而增加这种效果。
  4. 反色视觉效果(亮文本黑背景)在光线比较足的环境下放映时会出现问题,而且打印和复印时都不方便,应当少用。

对动画和特殊效果的建议

  1. 选用动画来演示动态的系统。
  2. 不要仅仅为了吸引听众而使用动画。这往往会分散听众对原本主题的注意力。
  3. 尽量不要使用类似”消融”等分散注意力的换页效果。除非你有好的理由要用它,即使这样也要少用。

感謝原创作者的分享,原作链接:http://dsec.pku.edu.cn/~yuhj/wiki/TeXSlides.html

注:上面博文的部分经验内容是针对LaTeX工具。