<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>浏忙大爆炸 &#187; TeX</title>
	<atom:link href="http://blog.waterlin.org/articles/tag/tex/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.waterlin.org</link>
	<description>源于理工科男的烂笔头情结</description>
	<lastBuildDate>Fri, 03 Feb 2012 08:35:37 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.3</generator>
		<item>
		<title>Emacs Org Mode 与 BibTeX 的结合</title>
		<link>http://blog.waterlin.org/articles/bind-emacs-org-mode-with-bibtex.html</link>
		<comments>http://blog.waterlin.org/articles/bind-emacs-org-mode-with-bibtex.html#comments</comments>
		<pubDate>Tue, 27 Jul 2010 11:50:25 +0000</pubDate>
		<dc:creator>waterlin</dc:creator>
				<category><![CDATA[技术]]></category>
		<category><![CDATA[Emacs]]></category>
		<category><![CDATA[TeX]]></category>

		<guid isPermaLink="false">http://blog.waterlin.org/articles/bind-emacs-org-mode-with-bibtex.html</guid>
		<description><![CDATA[Emacs Org Mode 可以是一个优秀的笔记工具，可是，如果你想用它来写正式一点的论文，可以吗？当然可以了，你可以把 Org Mode 和 LaTeX 结合起来用，当然最重要的是要解决参考文献引用的问题。 整体的思路如下： 先准备好你的 BibTeX 文件 可以用 Emacs BibTeX Mode 或 JabRef 之类的方式来生成这个文件，当然也可以用其它文献管理工具，只要它能导出 BibTeX 文件即可。 用 Emacs Org 建立工程并记笔记 创建 Org 工程的时候，和一般的工程没有任何区别。 用 RefTeX 方式来插入 BibTeX 的记录 在这里，重点介绍一下第三个步骤，即如何在 Org Mode 里插入 BibTeX 记录。从官方的这篇参考文献里可以看出，我们可以用三种方法在 org 文件里引用 BibTeX 参考文献，从而插入 LaTeX 类的参考文献。 1). 最简单的办法，给所有的 Org 文件指定一个 BibTeX 文件，然后在 Org 文件里插入该 BibTeX [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.waterlin.org/articles/publish-org-files-to-html-project.html">Emacs Org Mode 可以是一个优秀的笔记工具</a>，可是，如果你想用它来写正式一点的论文，可以吗？当然可以了，你可以<a href="http://orgmode.org/worg/org-contrib/babel/languages/org-babel-doc-LaTeX.php">把 Org Mode 和 LaTeX 结合起来用</a>，当然最重要的是要解决参考文献引用的问题。</p>
<p>整体的思路如下：</p>
<ol>
<li>先准备好你的 BibTeX 文件
<p>可以用 Emacs BibTeX Mode 或 JabRef 之类的方式来生成这个文件，当然也可以用其它文献管理工具，只要它能导出 BibTeX 文件即可。</p>
</li>
<li>用 Emacs Org 建立工程并记笔记
<p><a href="http://blog.waterlin.org/articles/publish-org-files-to-html-project.html">创建 Org 工程</a>的时候，和一般的工程没有任何区别。</p>
</li>
<li>用 RefTeX 方式来插入 BibTeX 的记录</li>
</ol>
<p>在这里，重点介绍一下第三个步骤，即如何在 Org Mode 里插入 BibTeX 记录。从官方的<a href="http://orgmode.org/worg/org-faq.php#sec-18_11_1">这篇参考文献</a>里可以看出，我们可以用三种方法在 org 文件里引用 BibTeX 参考文献，从而插入 LaTeX 类的参考文献。</p>
<p>1). 最简单的办法，给所有的 Org 文件指定一个 BibTeX 文件，然后在 Org 文件里插入该 BibTeX 文件的参考文献记录</p>
<p>具体的办法，先把下面的代码放到 .emacs 里：</p>
<pre>
(setq reftex-default-bibliography
      (quote
       (<span>"default.bib"</span> <span>"~/org/notes/refer.bib"</span>)))
(define-key org-mode-map (kbd <span>"C-c )"</span>) 'reftex-citation)
</pre>
<p>在这里，我指定的 BibTeX 文件为 <strong>default.bib</strong> 和 <strong>~/org/notes/refer.bib</strong> 。然后，可以在所有的 Org 文件里，通过命令 <strong>C-c )</strong> 或 <strong>M-x reftex-citation</strong> 来进行参考文献的插入，根据提示进行相关操作即可。</p>
<p>2). 为特定的 Org 文件，指定特定的 BibTeX 文件</p>
<p>这个方法是 <a href="http://www.mfasold.net/blog/2009/02/using-emacs-org-mode-to-draft-papers/">Marios Braindump 的博客里介绍的</a>，具体方法如下：</p>
<p>先把下面的代码放到 .emacs 里：</p>
<pre>
(<span>defun</span> <span>org-mode-reftex-setup</span> ()
  (load-library <span>"reftex"</span>)
  (and (buffer-file-name)
       (file-exists-p (buffer-file-name))
       (reftex-parse-all))
  (define-key org-mode-map (kbd <span>"C-c )"</span>) 'reftex-citation))
(add-hook 'org-mode-hook 'org-mode-reftex-setup)
</pre>
<p>然后在你需要插入 BibTeX 参考文献的 Org 文件里，加入下面这段话（可以是任意位置）：</p>
<pre>
<span>\bibliographystyle</span>{plain}
<span>\bibliography</span>{<span>BIB-NAME</span>}
</pre>
<p>把上面的 BIB-NAME 换成你想指定的 BibTeX 文件，这样就可以对该 Org 文件指定特定的 BibTeX 文件，然后可以用 <strong>C-c )</strong> 或 <strong>M-x reftex-citation</strong> 来插入该 BibTeX 文件里的参考文献。</p>
<p>上面的代码会在 Emacs 启动的时候，要求你指定一个 master 文件，用来存储生成的 tex 文件。</p>
<p>3). 另外一种方法，实现为特定的 Org 文件指定特定 BibTeX 文件的功能</p>
<p>还有<a href="http://orgmode.org/worg/org-faq.php#sec-18_11_2">另外一种方法</a>，可以实现第2种方法类似的功能，即为特定 Org 文件指定特定 BibTeX 文件的方法。把下面的代码放到 .emacs 文件里：</p>
<pre>
(<span>defun</span> <span>org-mode-article-modes</span> ()
  (reftex-mode t)
  (and (buffer-file-name)
       (file-exists-p (buffer-file-name))
       (reftex-parse-all)))

(add-hook 'org-mode-hook
          (<span>lambda</span> ()
            (<span>if</span> (member <span>"REFTEX"</span> org-todo-keywords-1)
                (org-mode-article-modes))))
</pre>
<p>然后把下面这一行加到你需要插入 BibTeX 的 Org 文件的开头：</p>
<pre>
#+TODO: TODO(t) STARTED(s) | DONE(d) DEFERRED(f) REFTEX
</pre>
<p>其它步骤与第2种方法类似。这种方法我没有仔细测试，有兴趣的 Emacser 们可以试试。</p>
<p>通过以上方法，就可以在用 Org Mode 打造的笔记本里，很方便地索引 BibTeX 里的参考文献了。</p>
<p>当然，如果你不喜欢用 Org Mode，也有其它用 Emacs 来写论文的思路，例如：Emacs + AucTeX + RefTeX + Outline-minor-mode</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.waterlin.org/articles/bind-emacs-org-mode-with-bibtex.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>在TeX里去掉标题里的日期</title>
		<link>http://blog.waterlin.org/articles/%e5%9c%a8tex%e9%87%8c%e5%8e%bb%e6%8e%89%e6%a0%87%e9%a2%98%e9%87%8c%e7%9a%84%e6%97%a5%e6%9c%9f.html</link>
		<comments>http://blog.waterlin.org/articles/%e5%9c%a8tex%e9%87%8c%e5%8e%bb%e6%8e%89%e6%a0%87%e9%a2%98%e9%87%8c%e7%9a%84%e6%97%a5%e6%9c%9f.html#comments</comments>
		<pubDate>Wed, 25 Feb 2009 06:05:10 +0000</pubDate>
		<dc:creator>waterlin</dc:creator>
				<category><![CDATA[技术]]></category>
		<category><![CDATA[TeX]]></category>

		<guid isPermaLink="false">http://blog.waterlin.org/articles/%e5%9c%a8tex%e9%87%8c%e5%8e%bb%e6%8e%89%e6%a0%87%e9%a2%98%e9%87%8c%e7%9a%84%e6%97%a5%e6%9c%9f.html</guid>
		<description><![CDATA[在TeX里，你定义\title{}、\author{}，然后再用\maketitle生成标题，默认的情况下，会生成一个写作日期在标题下，此代码类似于： \title{机器学习&#8212;人工智能技术的基础} \author{Water Lin} \maketitle 如果不需要日期，可以用在\maketitle前加上一个空的\date{}，即用类似于如下的代码： \title{机器学习&#8212;人工智能技术的基础} \author{Water Lin} \date{} \maketitle 这样生成的文章标题就不会有日期。]]></description>
			<content:encoded><![CDATA[<p>在<strong>TeX</strong>里，你定义<strong>\title{}</strong>、<strong>\author{}</strong>，然后再用<strong>\maketitle</strong>生成标题，默认的情况下，会生成一个写作日期在标题下，此代码类似于：</p>
<blockquote><p> \title{机器学习&#8212;人工智能技术的基础}<br />
\author{Water Lin}<br />
\maketitle</p></blockquote>
<p>如果不需要日期，可以用在<strong>\maketitle</strong>前加上一个空的<strong>\date{}</strong>，即用类似于如下的代码：</p>
<blockquote><p> \title{机器学习&#8212;人工智能技术的基础}<br />
\author{Water Lin}<br />
\date{}<br />
\maketitle</p></blockquote>
<p>这样生成的文章标题就不会有日期。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.waterlin.org/articles/%e5%9c%a8tex%e9%87%8c%e5%8e%bb%e6%8e%89%e6%a0%87%e9%a2%98%e9%87%8c%e7%9a%84%e6%97%a5%e6%9c%9f.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>用AUCTeX配合TeX Live写文档</title>
		<link>http://blog.waterlin.org/articles/%e7%94%a8auctex%e9%85%8d%e5%90%88tex-live%e5%86%99%e6%96%87%e6%a1%a3.html</link>
		<comments>http://blog.waterlin.org/articles/%e7%94%a8auctex%e9%85%8d%e5%90%88tex-live%e5%86%99%e6%96%87%e6%a1%a3.html#comments</comments>
		<pubDate>Tue, 06 Jan 2009 08:59:10 +0000</pubDate>
		<dc:creator>waterlin</dc:creator>
				<category><![CDATA[技术]]></category>
		<category><![CDATA[Emacs]]></category>
		<category><![CDATA[TeX]]></category>

		<guid isPermaLink="false">http://blog.waterlin.org/articles/%e7%94%a8auctex%e9%85%8d%e5%90%88tex-live%e5%86%99%e6%96%87%e6%a1%a3.html</guid>
		<description><![CDATA[1) 安装TeX Live 2008 TeX Live 2008在Windows下的安装非常简单，去TeX Live的网站上把iso文件下载下来，导入虚拟光驱自动运行，根据弹出来的界面自动安装就可以了。 PS：TeX Live的安装界面好丑，汗一个！ 2) 配置Emacs的AUCTeX 把AUCTeX包下载下来，在Windows下的安装非常简单，这个包已经是编译好的，解压后直接扔到Emacs的path里，然后在.emacs里添加下面的语句： (load &#8220;auctex.el&#8221; nil t t)(setq TeX-auto-save t)(setq TeX-parse-self t)(setq-default TeX-master nil)(load &#8220;preview-latex.el&#8221; nil t t) 这样保证Emacs会启动AUCTeX模式，现在可以开始测试一下了。 3) 测试AUCTeX和Tex Live 重启Emacs，新建一个以.tex为后缀的文件，输入以下代码： \documentclass{article}\begin{document}Small is beautiful.\end{document} 再用C-c C-c命令，按默认的Emacs提示操作即可。如果一切顺利的话，Emacs会提示生成了一个pdf文件，这个文件就是我们想要得到的目标文件。 记得，安装完TeX Live后，要重启Emacs，这样Emacs才会重新读入Windows系统的path变量，才能找到pdflatex、latex这些命令；否则eshell会提示找不到这些命令。 4) 测试AUCTeX和TeX Live，用以生成中文文档 TeX Live自带有一些中文字体，测试生成中文文档的话，可以用下面这段代码： \documentclass{article}\usepackage{CJK}\begin{document}\begin{CJK}{GB}{gbsn}你&#160; 好\end{CJK}\end{document} 如果运气好的话，你就可以得到一个中文的pdf文件了。]]></description>
			<content:encoded><![CDATA[<p>1) 安装<a target="_blank" href="http://www.tug.org/texlive/">TeX Live 2008</a></p>
<p><a target="_blank" href="http://www.tug.org/texlive/">TeX Live 2008</a>在Windows下的安装非常简单，去TeX Live的网站上把iso文件下载下来，导入虚拟光驱自动运行，根据弹出来的界面自动安装就可以了。</p>
<p>PS：TeX Live的安装界面好丑，汗一个！</p>
<p>2) 配置Emacs的<a target="_blank" href="http://www.gnu.org/software/auctex/">AUCTeX</a></p>
<p>把<a target="_blank" href="http://www.gnu.org/software/auctex/">AUCTeX包下载下来</a>，在Windows下的安装非常简单，这个包已经是编译好的，解压后直接扔到Emacs的path里，然后在.emacs里添加下面的语句：<br />
<blockquote>(load &#8220;auctex.el&#8221; nil t t)<br />(setq TeX-auto-save t)<br />(setq TeX-parse-self t)<br />(setq-default TeX-master nil)<br />(load &#8220;preview-latex.el&#8221; nil t t)</p></blockquote>
<p>这样保证Emacs会启动AUCTeX模式，现在可以开始测试一下了。</p>
<p>3) 测试AUCTeX和Tex Live</p>
<p>重启Emacs，新建一个以.tex为后缀的文件，输入以下代码：<br />
<blockquote>\documentclass{article}<br />\begin{document}<br />Small is beautiful.<br />\end{document}</p></blockquote>
<p>再用<b>C-c C-c</b>命令，按默认的Emacs提示操作即可。如果一切顺利的话，Emacs会提示生成了一个pdf文件，这个文件就是我们想要得到的目标文件。</p>
<p>记得，安装完TeX Live后，要重启Emacs，这样Emacs才会重新读入Windows系统的path变量，才能找到pdflatex、latex这些命令；否则eshell会提示找不到这些命令。</p>
<p>4) 测试AUCTeX和TeX Live，用以生成中文文档</p>
<p>TeX Live自带有一些中文字体，测试生成中文文档的话，可以用下面这段代码：<br />
<blockquote>\documentclass{article}<br />\usepackage{CJK}<br />\begin{document}<br />\begin{CJK}{GB}{gbsn}<br />你&nbsp; 好<br />\end{CJK}<br />\end{document}</p></blockquote>
<p>如果运气好的话，你就可以得到一个中文的pdf文件了。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.waterlin.org/articles/%e7%94%a8auctex%e9%85%8d%e5%90%88tex-live%e5%86%99%e6%96%87%e6%a1%a3.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

