Categories
日常应用

在LyX里面使用分章节的子文档

不知道各位用latex有没有分章节写书的习惯……一本书若是近10个章节(chapter)甚至更多到后面可是会让人蛮抓狂的。所以就有了主控文档(main document)和子文档(child documents),所以就造福了吾等懒人……

latex里面标准的命令有两个:include和input(怎么看怎么像php里面的include和require),两者的差别简而言之就是include =newpage input。

然而在这个懒人泛滥的时代,我们已然不用latex的文本编辑器们,转投了可视化编辑器LyX。这东西所见即所得的好处多得很,就不赘述了。但是今天我遇到的问题是,如何把一本书各章节分开写?最后再整合到一块儿去?

分开写的好处很多,比如打开文件之后不用先点鼠标翻到想写的那一行,不用为了调试某一处而忍受漫长的整个文档编译过程(尤其是动辄上M的中文文档),不用一下子把所有章节都放出来(在后面的没完工的时候)等等。
好在我们有LyX如此神器……插入子文档也变得格外简单,“插入> 文件 >子文档”即可。这个时候需要选择插入子文档的路径和模式。所以我们需要提前建立好N个LyX文档,分别命名为chapter1, 2, ....即可。然后按按鼠标把它们按顺序插入。这里其实还有个好处,比如我想把第三章模型A提前,放到第二章模型B之前,那么我们只需要在LyX里面改改include的顺序,所有的编码就调过来了……这比整本书一个文档需要剪切/粘帖一大块方便许多吧?所以其实我们子文档的命名也可以按照内容来,最后只是排序的事儿嘛!

Snap4

LyX第一神奇的地方就在于,不仅仅支持子文档,而且在打开主文档并在左侧显示目录的时候(“文档 > 目录”),子文档的目录也是即时更新的,可以直接通过鼠标点击在各个子文当之间跳转。
当然,它最最神奇地方就是子文档是可以单独编译的,这可比传统的Latex方便多了。这样,若是只改了某一小部分,想看效果就不必要编译整个文件了。再者,子文档也是单独有导言区的,这就意味着我们可以给子文档用不同于主控文档的样式(比如字体啊,页面大小啊)去编译。

最后的最后,LyZ此等神器也是支持子文档的……只是你需要稍稍辛苦点在每个子文档后面都加上参考文献数据库。

目前已知的问题就是超级链接及交叉引用……诸位可以暂时参考此帖(用LaTeX写过书的朋友帮帮忙 ),等我完善了之后再补充上。

Categories
日常应用

OpenOffice引用参考文献的那些事儿

最近Word光荣的崩溃了,卸掉怎么重装也装不上了,于是乎找了个OpenOffice代替之。然而这个参考文献怎么办呢?研究了半天他自带的参考文献数据库(bibliography database),始终觉得不好使。手头一篇文章是用latex做的,因为国情的缘故需要转到doc格式。可是说起来容易做起来难……

于是开始研究bibtex怎么导入openoffice。研究了好久,发现没有特别方便的办法。本来这篇博文就要因此而漫长无趣,结果被我发现了一个新东西!搜了半天,终于发现我常用的zotero是可以支持直接在openoffice中使用的……哇,太神奇了。下了一个插件,叫做Zotero-OpenOffice-Plugin,然后很舒服的就可以在Openoffice中使用了。Yeah!

其实这次搜了搜才知道,zotero已经支持word和openoffice了,真是进化神速!

我还能说什么呢?给我个不用Zotero的理由吧!再给他家做一次广告:Goodbye 3x5 cards, hello Zotero.

Download 2.0

Latest version: 2.0.2

Categories
日常应用

打破语言坚冰,LyZ引用中文文献!

不久以前介绍过LyZ这个神奇的firefox插件,成功的沟通了Zotero和LyX,让工作效率又翻番了。可是最近在处理中文的时候发现它并不是那么完美,中文文献的引用还是存在问题的。所以我就跑到原作者Petr博客上去厚颜无耻的留言,问他能不能升级一下眷顾我们这些非拉丁语系的贫苦大众们。Petr很快的给我直接回了邮件,在我发过去一个测试的中文文件(UTF-8编码)之后仅仅两天,他就升级了LyZ。现在新版已经可以从Firefox插件网上下载了

在这个新版本中,主要加入的就是对UTF-8编码的支持,即可以通过Firefox的about:config里面改变extensions.lyz.use_utf8的值,从false到true,然后LyZ就不会过滤掉UTF-8编码的非拉丁语系的文字了。

有了对于UTF-8的支持,那么接下来对于中文的支持就水到渠成了。这个时候在Zotero里面可以直接引用中文文献,会按照作者姓氏第一个字符的编码引用到LyX里面。然后我们就可以在LyX里面顺顺利利的按照通常的方式改一下格式,比如改成“作者 年份”。

这个时候除了感动到无以复加,我还能说什么呢?万事俱备,只欠把Sweave和LyX配合好,就可以舒舒服服的开始敲键盘了。

Categories
日常应用

在Google Reader里查看新浪博客RSS中图片

新浪博客某种程度上挺烦人的,比如虽然相比于那些RSS只输出摘要的网站,他家的RSS输出的是全文,但是图片做了限制外链,所以导致Goolge Reader等在线RSS阅读器看不到文章里面的图片。其实这个对我来说本来不算是啥事儿,少一张两张的还省了加载时间,但是最近不行,我新近订阅了一大堆关于“美食”“厨艺”“烹饪”之类的博客,就是指着图片学习做饭呢,一个个点过去实在是太麻烦了。

好在,互联网是伟大的,搜了一下就看到了解决办法,在Firefox里面只需要:

  1. 安装 RefControl 扩展
  2. RefControl Options – Add Site:
    • Site: photo.sina.com.cn
    • Action: <Block> (send no referrer)

很简单的说~其实原理无非是屏蔽掉浏览器传给服务器的referer信息。其实同理,类似的操作可以解决一大片的限制图片外链的网站。只是,此方法只能用于本机(本浏览器、本账号 if applicable)。

至于IE浏览器……我就没有细细找相应的方法了,我总觉得在IE下用Google Reader的人不会太多……

刚发现的,再奉上搜狐博客图片外链破解:

  • site: img.pp.sohu.com.cn
  • Action: <Block> (send no referrer)
Categories
日常应用

LyZ的官方说明档翻译版

在上一篇博文 [cref %e6%96%b0%e5%b9%b4%e7%9a%84%e6%83%8a%e5%96%9c%e2%80%94%e2%80%94lyz%ef%bc%81]里面介绍了LyZ之后,索性一同连官方的说明档也翻译一下,供大家节省时间之用。

LyZ: 一个整合LyX的Zotero插件

LyZ是一个Zotero的插件,用来更好的整合LyX和Zotero。

特性

  • 在LyX里面插入Zotero的文献引用
  • 当有新的引用增加的时候BibTex会自动更新
  • 当文献信息更改的时候BibTex会自动更新
  • 定义的BibTex关键字格式
  • 独特的BibTex关键字检查
  • 在LyX、BibTex数据库和LyZ之间同步
  • 编辑主文档和子文档(使用同一个BibTex数据库)和多个文件(每个文件使用不同的BibTex数据库)
  • LyX和BibTex数据库之间的永久合作
  • 支持小组协作

安装和配置

请在Firefox Addons汇报您的体验

1. 从Firefox Addons安装LyZ并重启Firefox。
2. 打开LyX并设定LyX服务器路径(在LyX里面,工具>配置>路径,将LyX管道目录设置为:Windows下可以使用默认路径“\.pipelyxpipe”,Linux and Mac 用户可以使用“~/.lyxpipe”,并在LyZ里面改为一样的配置)。
3. 重启LyX并打开一个文档。

添加并且插入引用

1. 打开Zotero,选中一篇或多篇文献,并点击LyZ菜单中的引用,或者也可以直接按右键在弹出菜单上选择“在LyX中引用”。
2. 当你试图在一个新文档(第一次告诉LyZ的文档)中插入文献的时候,你必须选择一个BibTex数据库。你可以创造一个新的数据库或者选择以前创建的数据库。然后键入数据库的名字(.bib的后缀会自动生成)并且按“确定”。然后这个引用就被加入你刚刚建立的BibTex数据库了,并且已经插入到LyX文档中了。这个时候打开LyX看看,该引用是不是已经出现了?
3. 插入数据库到LyX文档(译者注:可以参见我的这篇文章:[cref %e5%8f%82%e8%80%83%e6%96%87%e7%8c%ae%e8%87%aa%e5%8a%a8%e6%90%9c%e9%9b%86%e5%85%a8%e6%94%bb%e7%95%a5%ef%bc%88%e5%9b%be%e6%96%87%e7%89%88%ef%bc%89%ef%bc%9alatexlyxzotero])
4. 加入更多的引用或者新的引用的时候,可以直接通过LyX界面或者依旧通过Zotero(重复第一步)
5. 如果你在Zotero里面更改了文献的信息,可以在LyZ那里单击“更新BibTex”,从而刷新你的BibTex数据库。

自定义BibTex 关键字格式

1. 自定义的BibTex关键字:在LyZ>配置弹出的对话框里
2. 默认的格式是“作者 年代 标题(author year title)”。如果你使用natbib这个包那么最好设置为“zotero”,它将生成“非人类可阅读”的非主流型BibTex关键字。
3. 关键字格式可以使用下面这些 “author”, “year”, “title”, “zotero” 以及分隔符例如“_” 。下面这些也可以使用,不过请小心:a-z, 0-9!$&*+-.:;<>?[]^`|
例子:“author year title” 将生成形如“作者 年代 标题”,即“ tichy1988thefoundations”。如果你更喜欢Zotero导出BibTex的默认格式,(tichy_thefoundations_1988),请在这里设置为“author _ title _ year”。这些关键字和分隔符之间请用空格隔开。

更新BibTex

菜单中有“更新BibTex”这个命令,可以用来更新使用中的LyX文档的BibTex数据库。Zotero中的任何变化将被反映在更新中,包括BibTex关键字——如果你更改了关键字的格式。
当一个单独的BibTex数据库被多个作者共享的时候——例如使用版本控制系统(SVN、CVS等),LyZ的数据库将依据本地的BibTex数据库更新。

LyX/BibTex/LyZ之间的同步

当Zotero中的文献信息被更改的时候,BibTex数据库和LyX文档都可以被更新。这项功能在较好的BibTex关键字被使用的时候(如‘author year title’)可以发挥作用。例如当标题或者第一作者的姓被更改的时候,BibTex关键字也将随之更改。当“更新BibTex”的时候,你必须选择是否更新LyX文档中的引用信息(因为影响到了BibTex关键词)。在更新之前,使用中的LyX文档会自动生成一个备份(*.lyz),LyZ将会保存、关闭并重新打开你的文档。

注意事项

1. 致谢:LyZ的灵感有由Lytero激发,我开始只是加以改良,后来干脆从头开始,所以有了这个新的名字。
2. 请一直在Zotero中更新你的文献信息。如果你手动更改了BibTex数据库或者使用其他软件该管理,当使用“更新BibTex”的时候LyZ将覆盖你的所有更改。
3. 请让你的Zotero中的各个文献保持唯一性。LyZ并不会识别重复的项目,他们将会被认为是不同的项目并且各自生成一个BibTex关键词。
4. 当使用主/子文档的时候,你需要对每个子文档设置BibTex数据库。可能这个和主文档的数据库是一样的,但是很不幸LyZ并没有识别各个文档之间联系的魔力。
5. 你可以从LyZ的菜单中删除以前的项目。当BibTex数据库记录被删除了,所有的相关的LyX文档的记录也被一并删除。当LyX文档被删除了,相关的BibTex数据库将保留并可以被其他文档使用。
6. 如果BibTex数据库需要包括一些外文,请把LyX文档编码设置为“Unicode (utf8)”。
7. LyZ把所有的文档和BibTex数据库信息储存在Zotero安装目录下的lyz.sqlite 文件。如果你使用一些同步软件备份Zotero,你需要一同备份这个文件。

原文见:http://www.klubko.net/?page_id=945&amp;cpage=1&lang=cs-cz