<?xml version="1.0" encoding="UTF-8"?>

<rss version="2.0"
     xmlns:content="http://purl.org/rss/1.0/modules/content/"
     xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
     xmlns:atom="http://www.w3.org/2005/Atom"
     xmlns:dc="http://purl.org/dc/elements/1.1/"
     xmlns:wfw="http://wellformedweb.org/CommentAPI/"
     >
  <channel>
    <atom:link href="http://kitchingroup.cheme.cmu.edu/blog/feed/index.xml" rel="self" type="application/rss+xml" />
    <title>The Kitchin Research Group</title>
    <link>https://kitchingroup.cheme.cmu.edu/blog</link>
    <description>Chemical Engineering at Carnegie Mellon University</description>
    <pubDate>Sat, 01 Nov 2025 13:47:46 GMT</pubDate>
    <generator>Blogofile</generator>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    
    <item>
      <title>Kolmogorov-Arnold Networks (KANs) and Lennard Jones</title>
      <link>https://kitchingroup.cheme.cmu.edu/blog/2024/05/05/Kolmogorov-Arnold-Networks-KANs-and-Lennard-Jones</link>
      <pubDate>Sun, 05 May 2024 11:06:22 EDT</pubDate>
      <category><![CDATA[uncategorized]]></category>
      <guid isPermaLink="false">1zelkWojiUWoC3g4YT1TkwYFW18=</guid>
      <description>Kolmogorov-Arnold Networks (KANs) and Lennard Jones</description>
      <content:encoded><![CDATA[


&lt;div id="table-of-contents" role="doc-toc"&gt;
&lt;h2&gt;Table of Contents&lt;/h2&gt;
&lt;div id="text-table-of-contents" role="doc-toc"&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#org6ed4d7a"&gt;1. Create a dataset&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#orgca2cb78"&gt;2. Create and train the model&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;
KANs have been a hot topic of discussion recently (&lt;a href="https://arxiv.org/abs/2404.19756"&gt;https://arxiv.org/abs/2404.19756&lt;/a&gt;). Here I explore using them as an alternative to a neural network for a simple atomistic potential using Lennard Jones data. I adapted this code from  &lt;a href="https://github.com/KindXiaoming/pykan/blob/master/hellokan.ipynb"&gt;https://github.com/KindXiaoming/pykan/blob/master/hellokan.ipynb&lt;/a&gt;. 
&lt;/p&gt;

&lt;p&gt;
TL;DR It was easy to make the model, and it fit this simple data very well. It does not extrapolate in this example, and it is not obvious what the extrapolation behavior should be.
&lt;/p&gt;

&lt;div id="outline-container-org6ed4d7a" class="outline-2"&gt;
&lt;h2 id="org6ed4d7a"&gt;&lt;span class="section-number-2"&gt;1.&lt;/span&gt; Create a dataset&lt;/h2&gt;
&lt;div class="outline-text-2" id="text-1"&gt;
&lt;p&gt;
We leverage the &lt;code&gt;create_dataset&lt;/code&gt; function to generate the dataset here. I chose a range with some modest nonlinearity, and the minimum.
&lt;/p&gt;

&lt;div class="org-src-container"&gt;
&lt;pre class="src src-jupyter-python"&gt;&lt;span style="color: #0000FF;"&gt;import&lt;/span&gt; matplotlib.pyplot &lt;span style="color: #0000FF;"&gt;as&lt;/span&gt; plt
&lt;span style="color: #0000FF;"&gt;import&lt;/span&gt; torch
&lt;span style="color: #0000FF;"&gt;from&lt;/span&gt; kan &lt;span style="color: #0000FF;"&gt;import&lt;/span&gt; create_dataset, KAN

&lt;span style="color: #0000FF;"&gt;def&lt;/span&gt; &lt;span style="color: #006699;"&gt;LJ&lt;/span&gt;(r):
    &lt;span style="color: #BA36A5;"&gt;r6&lt;/span&gt; = r**6
    &lt;span style="color: #0000FF;"&gt;return&lt;/span&gt; 1 / r6**2 - 1 / r6

&lt;span style="color: #BA36A5;"&gt;dataset&lt;/span&gt; = create_dataset(LJ, n_var=1, ranges=[0.95, 2.0],
                         train_num=50)

plt.plot(dataset[&lt;span style="color: #008000;"&gt;'train_input'&lt;/span&gt;], dataset[&lt;span style="color: #008000;"&gt;'train_label'&lt;/span&gt;], &lt;span style="color: #008000;"&gt;'b.'&lt;/span&gt;)
plt.xlabel(&lt;span style="color: #008000;"&gt;'r'&lt;/span&gt;)
plt.ylabel(&lt;span style="color: #008000;"&gt;'E'&lt;/span&gt;);
&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;
&lt;figure&gt;&lt;img src="/media/0db7627856ef3cacbeb19cba9e64a53fb49bf422.png"&gt;&lt;/figure&gt; 
&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;


&lt;div id="outline-container-orgca2cb78" class="outline-2"&gt;
&lt;h2 id="orgca2cb78"&gt;&lt;span class="section-number-2"&gt;2.&lt;/span&gt; Create and train the model&lt;/h2&gt;
&lt;div class="outline-text-2" id="text-2"&gt;
&lt;p&gt;
We start by making the model. We are going to model a Lennard-Jones potential with one input, the distance between two atoms, and one output. We start with a width of 2 "neurons".
&lt;/p&gt;

&lt;div class="org-src-container"&gt;
&lt;pre class="src src-jupyter-python"&gt;&lt;span style="color: #BA36A5;"&gt;model&lt;/span&gt; = KAN(width=[1, 2, 1])
&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;
Training is easy. You can even run this cell several times.
&lt;/p&gt;

&lt;div class="org-src-container"&gt;
&lt;pre class="src src-jupyter-python"&gt;model.train(dataset, opt=&lt;span style="color: #008000;"&gt;"LBFGS"&lt;/span&gt;, steps=20);

model.plot()
&lt;/pre&gt;
&lt;/div&gt;

&lt;pre class="example"&gt;
train loss: 1.64e-04 | test loss: 1.46e-02 | reg: 6.72e+00 : 100%|██| 20/20 [00:03&amp;lt;00:00,  5.61it/s]

&lt;/pre&gt;

&lt;p&gt;
&lt;figure&gt;&lt;img src="/media/0cea2b134045cc964f990ac28b524c32d441976b.png"&gt;&lt;/figure&gt; 
&lt;/p&gt;


&lt;p&gt;
We can see here that the fit looks very good.
&lt;/p&gt;

&lt;div class="org-src-container"&gt;
&lt;pre class="src src-jupyter-python"&gt;&lt;span style="color: #BA36A5;"&gt;X&lt;/span&gt; = torch.linspace(dataset[&lt;span style="color: #008000;"&gt;'train_input'&lt;/span&gt;].&lt;span style="color: #006FE0;"&gt;min&lt;/span&gt;(),
                   dataset[&lt;span style="color: #008000;"&gt;'train_input'&lt;/span&gt;].&lt;span style="color: #006FE0;"&gt;max&lt;/span&gt;(), 100)[:, &lt;span style="color: #D0372D;"&gt;None&lt;/span&gt;]

plt.plot(dataset[&lt;span style="color: #008000;"&gt;'train_input'&lt;/span&gt;], dataset[&lt;span style="color: #008000;"&gt;'train_label'&lt;/span&gt;], &lt;span style="color: #008000;"&gt;'b.'&lt;/span&gt;, label=&lt;span style="color: #008000;"&gt;'data'&lt;/span&gt;)

plt.plot(X, model(X).detach().numpy(), &lt;span style="color: #008000;"&gt;'r-'&lt;/span&gt;, label=&lt;span style="color: #008000;"&gt;'fit'&lt;/span&gt;)
plt.legend()
plt.xlabel(&lt;span style="color: #008000;"&gt;'r'&lt;/span&gt;)
plt.ylabel(&lt;span style="color: #008000;"&gt;'E'&lt;/span&gt;);
&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;
&lt;figure&gt;&lt;img src="/media/24eddff0ce69063a1aaabc80060e78b56ecef0b5.png"&gt;&lt;/figure&gt; 
&lt;/p&gt;

&lt;p&gt;
KANs do not save us from extrapolation issues though. I think a downside of KANs is it is not obvious what extrapolation behavior to expect. I guess it could be related to what happens in the spline representation of the functions. Eventually those have to extrapolate too.
&lt;/p&gt;

&lt;div class="org-src-container"&gt;
&lt;pre class="src src-jupyter-python"&gt;&lt;span style="color: #BA36A5;"&gt;X&lt;/span&gt; = torch.linspace(0, 5, 1000)[:, &lt;span style="color: #D0372D;"&gt;None&lt;/span&gt;]
plt.plot(dataset[&lt;span style="color: #008000;"&gt;'train_input'&lt;/span&gt;], dataset[&lt;span style="color: #008000;"&gt;'train_label'&lt;/span&gt;], &lt;span style="color: #008000;"&gt;'b.'&lt;/span&gt;)
plt.plot(X, model(X).detach().numpy(), &lt;span style="color: #008000;"&gt;'r-'&lt;/span&gt;);
&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;
&lt;figure&gt;&lt;img src="/media/a16818596b6a60ea026406808143fcddcfae54f9.png"&gt;&lt;/figure&gt; 
&lt;/p&gt;


&lt;p&gt;
It is early days for KANs, so many things we know about MLPs are still unknown for KANs. For example, with MLPs we know they extrapolate like the activation functions. Probably there is some insight like that to be had here, but it needs to be uncovered. With MLPs there are a lot of ways to regularize them for desired behavior. Probably that is true here too, and will be discovered. Similarly, there are many ways people have approached uncertainty quantification in MLPs that probably have some analog in KANs. 
Still, the ease of use suggests it could be promising for some applications.
&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Copyright (C) 2024 by John Kitchin. See the &lt;a href="/copying.html"&gt;License&lt;/a&gt; for information about copying.&lt;p&gt;
&lt;p&gt;&lt;a href="/org/2024/05/05/Kolmogorov-Arnold-Networks-(KANs)-and-Lennard-Jones.org"&gt;org-mode source&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Org-mode version = 9.7-pre&lt;/p&gt;]]></content:encoded>
    </item>
    <item>
      <title>A little more than a decade of the Kitchingroup blog</title>
      <link>https://kitchingroup.cheme.cmu.edu/blog/2024/04/03/A-little-more-than-a-decade-of-the-Kitchingroup-blog</link>
      <pubDate>Wed, 03 Apr 2024 08:38:34 EDT</pubDate>
      <category><![CDATA[uncategorized]]></category>
      <guid isPermaLink="false">-ZV6r2to6H-DXZw9bvFEphIHmeU=</guid>
      <description>A little more than a decade of the Kitchingroup blog</description>
      <content:encoded><![CDATA[


&lt;p&gt;
There are a few early entries I backdated, but this blog got started in its present form in January 2013. This entry marks entry #594. I started this blog as part of an exercise in switching from Matlab to Python, and the first hundred entries or so are just me solving a problem in Python that I had previously solved in Matlab. It then expanded to include lots of entries on Emacs and org-mode, and other research related topics from my group. Many entries simply document something I spent time working out and that I wanted to be able to find by Google later.
&lt;/p&gt;


&lt;p&gt;
When I set the blog up, I enabled Google Analytics to see if anyone would look at. Recently Google announced they are shutting down the version of analytics I was using, and transitioning to a newer approach. They no longer collect data with the version this blog is using (since Oct last year), and they will delete the data this summer, so today I downloaded some of it to see what has happened over the past decade.
&lt;/p&gt;

&lt;p&gt;
Anecdotally many people from around the world have told me how useful the blog was for them. Now, I have data to see how many people have been impacted by this blog. This figure shows that a lot of people spent time in some part of the blog over the past decade! The data suggests over 1M people viewed these pages over 2M times. 
&lt;/p&gt;


&lt;p&gt;
&lt;figure&gt;&lt;img src="/media/date-03-04-2024-time-08-26-10.png"&gt;&lt;/figure&gt; 
&lt;/p&gt;


&lt;p&gt;
The peak usage was around 2020, and it has been trailing off since then. I have not been as active in posting since then. You can also see there is a very long build up to that peak.
&lt;/p&gt;

&lt;p&gt;
The user group for the blog is truly world wide, including almost every country in this map. That is amazing!
&lt;/p&gt;


&lt;p&gt;
&lt;figure&gt;&lt;img src="/media/date-03-04-2024-time-08-33-54.png"&gt;&lt;/figure&gt; 
&lt;/p&gt;

&lt;p&gt;
Finally, I found the pages that were most viewed. It is interesting most of them are the older pages, and all about Python. I guess that means I should write more posts on Python.
&lt;/p&gt;


&lt;p&gt;
&lt;figure&gt;&lt;img src="/media/date-03-04-2024-time-08-35-06.png"&gt;&lt;/figure&gt; 
&lt;/p&gt;


&lt;p&gt;
I don't know what the future of the blog is. It is in need of an overhaul. The packages that build it still work, but are not actively maintained. I have also spent more time writing with Jupyter Book lately than the way I wrote this blog. It isn't likely to disappear any time soon, it sits rent-free in GitHUB pages.
&lt;/p&gt;

&lt;p&gt;
To conclude, to everyone who has read these pages, thank you! It has been a lot of work to put together over the years, and I am glad to see many people have taken a look at it.
&lt;/p&gt;
&lt;p&gt;Copyright (C) 2024 by John Kitchin. See the &lt;a href="/copying.html"&gt;License&lt;/a&gt; for information about copying.&lt;p&gt;
&lt;p&gt;&lt;a href="/org/2024/04/03/A-little-more-than-a-decade-of-the-Kitchingroup-blog.org"&gt;org-mode source&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Org-mode version = 9.7-pre&lt;/p&gt;]]></content:encoded>
    </item>
    <item>
      <title>pycse YouTube Channel</title>
      <link>https://kitchingroup.cheme.cmu.edu/blog/2021/11/23/pycse-YouTube-Channel</link>
      <pubDate>Tue, 23 Nov 2021 18:03:38 EST</pubDate>
      <category><![CDATA[uncategorized]]></category>
      <guid isPermaLink="false">9t7DbY84uR8heTNNpiNIKcC9OXQ=</guid>
      <description>pycse YouTube Channel</description>
      <content:encoded><![CDATA[


&lt;p&gt;
Over the past few months, I have been making a series of short Python videos on YouTube. You can find the playlist at &lt;a href="https://www.youtube.com/playlist?list=PL0sMmOaE_gs2yzwy54kLZk5c1ZH-Nh-62"&gt;https://www.youtube.com/playlist?list=PL0sMmOaE_gs2yzwy54kLZk5c1ZH-Nh-62&lt;/a&gt;. They are not particularly well organized there, since I make them in the order I feel like, and when I have some spare time, so today I took some time to organize them by some topics here. If you find them useful, please subscribe to the channel and tell your friends about them!
&lt;/p&gt;

&lt;ul class="org-ul"&gt;
&lt;li&gt;Basic Python
&lt;ul class="org-ul"&gt;
&lt;li&gt;Conditional statements &lt;a href="https://www.youtube.com/watch?v=XymPeBMILUY&amp;amp;list=PL0sMmOaE_gs2yzwy54kLZk5c1ZH-Nh-62&amp;amp;index=2"&gt;https://www.youtube.com/watch?v=XymPeBMILUY&amp;amp;list=PL0sMmOaE_gs2yzwy54kLZk5c1ZH-Nh-62&amp;amp;index=2&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Membership operators &lt;a href="https://www.youtube.com/watch?v=CZstHHjfCHo&amp;amp;list=PL0sMmOaE_gs2yzwy54kLZk5c1ZH-Nh-62&amp;amp;index=3"&gt;https://www.youtube.com/watch?v=CZstHHjfCHo&amp;amp;list=PL0sMmOaE_gs2yzwy54kLZk5c1ZH-Nh-62&amp;amp;index=3&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Logical operators &lt;a href="https://www.youtube.com/watch?v=q-uDWDSF0l8&amp;amp;list=PL0sMmOaE_gs2yzwy54kLZk5c1ZH-Nh-62&amp;amp;index=4"&gt;https://www.youtube.com/watch?v=q-uDWDSF0l8&amp;amp;list=PL0sMmOaE_gs2yzwy54kLZk5c1ZH-Nh-62&amp;amp;index=4&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Comparison operators &lt;a href="https://www.youtube.com/watch?v=BayqeeF_iKM&amp;amp;list=PL0sMmOaE_gs2yzwy54kLZk5c1ZH-Nh-62&amp;amp;index=5"&gt;https://www.youtube.com/watch?v=BayqeeF_iKM&amp;amp;list=PL0sMmOaE_gs2yzwy54kLZk5c1ZH-Nh-62&amp;amp;index=5&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Operator precedence &lt;a href="https://www.youtube.com/watch?v=Vy4USf-UVAI&amp;amp;list=PL0sMmOaE_gs2yzwy54kLZk5c1ZH-Nh-62&amp;amp;index=19"&gt;https://www.youtube.com/watch?v=Vy4USf-UVAI&amp;amp;list=PL0sMmOaE_gs2yzwy54kLZk5c1ZH-Nh-62&amp;amp;index=19&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Iteration &lt;a href="https://www.youtube.com/watch?v=7rVsD9kT9RM&amp;amp;list=PL0sMmOaE_gs2yzwy54kLZk5c1ZH-Nh-62&amp;amp;index=16"&gt;https://www.youtube.com/watch?v=7rVsD9kT9RM&amp;amp;list=PL0sMmOaE_gs2yzwy54kLZk5c1ZH-Nh-62&amp;amp;index=16&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;functions &lt;a href="https://www.youtube.com/watch?v=kidVLLHtzbc&amp;amp;list=PL0sMmOaE_gs2yzwy54kLZk5c1ZH-Nh-62&amp;amp;index=17"&gt;https://www.youtube.com/watch?v=kidVLLHtzbc&amp;amp;list=PL0sMmOaE_gs2yzwy54kLZk5c1ZH-Nh-62&amp;amp;index=17&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;

&lt;li&gt;Math
&lt;ul class="org-ul"&gt;
&lt;li&gt;Integration &lt;a href="https://www.youtube.com/watch?v=6xAO7te0kdA&amp;amp;list=PL0sMmOaE_gs2yzwy54kLZk5c1ZH-Nh-62&amp;amp;index=10"&gt;https://www.youtube.com/watch?v=6xAO7te0kdA&amp;amp;list=PL0sMmOaE_gs2yzwy54kLZk5c1ZH-Nh-62&amp;amp;index=10&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;polynomials &lt;a href="https://www.youtube.com/watch?v=8e1yOKMTP8o&amp;amp;list=PL0sMmOaE_gs2yzwy54kLZk5c1ZH-Nh-62&amp;amp;index=11"&gt;https://www.youtube.com/watch?v=8e1yOKMTP8o&amp;amp;list=PL0sMmOaE_gs2yzwy54kLZk5c1ZH-Nh-62&amp;amp;index=11&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Numpy array broadcasting &lt;a href="https://www.youtube.com/watch?v=slWgreHaQNE&amp;amp;list=PL0sMmOaE_gs2yzwy54kLZk5c1ZH-Nh-62&amp;amp;index=23"&gt;https://www.youtube.com/watch?v=slWgreHaQNE&amp;amp;list=PL0sMmOaE_gs2yzwy54kLZk5c1ZH-Nh-62&amp;amp;index=23&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Array broadcasting example &lt;a href="https://www.youtube.com/watch?v=FXhEKNtvoVs&amp;amp;list=PL0sMmOaE_gs2yzwy54kLZk5c1ZH-Nh-62&amp;amp;index=24"&gt;https://www.youtube.com/watch?v=FXhEKNtvoVs&amp;amp;list=PL0sMmOaE_gs2yzwy54kLZk5c1ZH-Nh-62&amp;amp;index=24&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;

&lt;li&gt;Root finding
&lt;ul class="org-ul"&gt;
&lt;li&gt;solving nonlinear functions &lt;a href="https://www.youtube.com/watch?v=KeRNoXWs_y0&amp;amp;list=PL0sMmOaE_gs2yzwy54kLZk5c1ZH-Nh-62&amp;amp;index=15"&gt;https://www.youtube.com/watch?v=KeRNoXWs_y0&amp;amp;list=PL0sMmOaE_gs2yzwy54kLZk5c1ZH-Nh-62&amp;amp;index=15&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Newton's method &lt;a href="https://www.youtube.com/watch?v=spLsyP-5PF8&amp;amp;list=PL0sMmOaE_gs2yzwy54kLZk5c1ZH-Nh-62&amp;amp;index=1"&gt;https://www.youtube.com/watch?v=spLsyP-5PF8&amp;amp;list=PL0sMmOaE_gs2yzwy54kLZk5c1ZH-Nh-62&amp;amp;index=1&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Replacing fsolve &lt;a href="https://www.youtube.com/watch?v=_1bOzIYcDaA&amp;amp;list=PL0sMmOaE_gs2yzwy54kLZk5c1ZH-Nh-62&amp;amp;index=6"&gt;https://www.youtube.com/watch?v=_1bOzIYcDaA&amp;amp;list=PL0sMmOaE_gs2yzwy54kLZk5c1ZH-Nh-62&amp;amp;index=6&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;root failures &lt;a href="https://www.youtube.com/watch?v=FaOJxeVfeH4&amp;amp;list=PL0sMmOaE_gs2yzwy54kLZk5c1ZH-Nh-62&amp;amp;index=26"&gt;https://www.youtube.com/watch?v=FaOJxeVfeH4&amp;amp;list=PL0sMmOaE_gs2yzwy54kLZk5c1ZH-Nh-62&amp;amp;index=26&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;

&lt;li&gt;Differential equations
&lt;ul class="org-ul"&gt;
&lt;li&gt;first order ODEs &lt;a href="https://www.youtube.com/watch?v=4H0Qr-gxMN4&amp;amp;list=PL0sMmOaE_gs2yzwy54kLZk5c1ZH-Nh-62&amp;amp;index=14"&gt;https://www.youtube.com/watch?v=4H0Qr-gxMN4&amp;amp;list=PL0sMmOaE_gs2yzwy54kLZk5c1ZH-Nh-62&amp;amp;index=14&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;events in ODEs &lt;a href="https://www.youtube.com/watch?v=fv_-3ZtYBEo&amp;amp;list=PL0sMmOaE_gs2yzwy54kLZk5c1ZH-Nh-62&amp;amp;index=25"&gt;https://www.youtube.com/watch?v=fv_-3ZtYBEo&amp;amp;list=PL0sMmOaE_gs2yzwy54kLZk5c1ZH-Nh-62&amp;amp;index=25&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;BVPs &lt;a href="https://www.youtube.com/watch?v=vWcRuay1tt4&amp;amp;list=PL0sMmOaE_gs2yzwy54kLZk5c1ZH-Nh-62&amp;amp;index=7"&gt;https://www.youtube.com/watch?v=vWcRuay1tt4&amp;amp;list=PL0sMmOaE_gs2yzwy54kLZk5c1ZH-Nh-62&amp;amp;index=7&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;

&lt;li&gt;Optimization
&lt;ul class="org-ul"&gt;
&lt;li&gt;minimizing a function &lt;a href="https://www.youtube.com/watch?v=2HMKU2nHAbE&amp;amp;list=PL0sMmOaE_gs2yzwy54kLZk5c1ZH-Nh-62&amp;amp;index=13"&gt;https://www.youtube.com/watch?v=2HMKU2nHAbE&amp;amp;list=PL0sMmOaE_gs2yzwy54kLZk5c1ZH-Nh-62&amp;amp;index=13&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;constrained optimization &lt;a href="https://www.youtube.com/watch?v=QKiOm1iqciE&amp;amp;list=PL0sMmOaE_gs2yzwy54kLZk5c1ZH-Nh-62&amp;amp;index=12"&gt;https://www.youtube.com/watch?v=QKiOm1iqciE&amp;amp;list=PL0sMmOaE_gs2yzwy54kLZk5c1ZH-Nh-62&amp;amp;index=12&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;

&lt;li&gt;Data
&lt;ul class="org-ul"&gt;
&lt;li&gt;Using Excel in colab &lt;a href="https://www.youtube.com/watch?v=rfcstL5eTbs&amp;amp;list=PL0sMmOaE_gs2yzwy54kLZk5c1ZH-Nh-62&amp;amp;index=8"&gt;https://www.youtube.com/watch?v=rfcstL5eTbs&amp;amp;list=PL0sMmOaE_gs2yzwy54kLZk5c1ZH-Nh-62&amp;amp;index=8&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Reading data files in colab &lt;a href="https://www.youtube.com/watch?v=xf6qprxmBaM&amp;amp;list=PL0sMmOaE_gs2yzwy54kLZk5c1ZH-Nh-62&amp;amp;index=21"&gt;https://www.youtube.com/watch?v=xf6qprxmBaM&amp;amp;list=PL0sMmOaE_gs2yzwy54kLZk5c1ZH-Nh-62&amp;amp;index=21&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;More ways to read data in colab &lt;a href="https://www.youtube.com/watch?v=NjRd41QtU14&amp;amp;list=PL0sMmOaE_gs2yzwy54kLZk5c1ZH-Nh-62&amp;amp;index=22"&gt;https://www.youtube.com/watch?v=NjRd41QtU14&amp;amp;list=PL0sMmOaE_gs2yzwy54kLZk5c1ZH-Nh-62&amp;amp;index=22&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;linear regression &lt;a href="https://www.youtube.com/watch?v=ZXSaLcFSOsU&amp;amp;list=PL0sMmOaE_gs2yzwy54kLZk5c1ZH-Nh-62&amp;amp;index=20"&gt;https://www.youtube.com/watch?v=ZXSaLcFSOsU&amp;amp;list=PL0sMmOaE_gs2yzwy54kLZk5c1ZH-Nh-62&amp;amp;index=20&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;nonlinear regression &lt;a href="https://www.youtube.com/watch?v=hbchKAgeDcU&amp;amp;list=PL0sMmOaE_gs2yzwy54kLZk5c1ZH-Nh-62&amp;amp;index=18"&gt;https://www.youtube.com/watch?v=hbchKAgeDcU&amp;amp;list=PL0sMmOaE_gs2yzwy54kLZk5c1ZH-Nh-62&amp;amp;index=18&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;

&lt;li&gt;Miscellaneous
&lt;ul class="org-ul"&gt;
&lt;li&gt;hand written work in Jupyter lab &lt;a href="https://www.youtube.com/watch?v=5qCY9Eoeoyo&amp;amp;list=PL0sMmOaE_gs2yzwy54kLZk5c1ZH-Nh-62&amp;amp;index=9"&gt;https://www.youtube.com/watch?v=5qCY9Eoeoyo&amp;amp;list=PL0sMmOaE_gs2yzwy54kLZk5c1ZH-Nh-62&amp;amp;index=9&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;uncertainty quantification &lt;a href="https://www.youtube.com/watch?v=KP-km6XedVg&amp;amp;list=PL0sMmOaE_gs2yzwy54kLZk5c1ZH-Nh-62&amp;amp;index=27"&gt;https://www.youtube.com/watch?v=KP-km6XedVg&amp;amp;list=PL0sMmOaE_gs2yzwy54kLZk5c1ZH-Nh-62&amp;amp;index=27&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;units in python &lt;a href="https://www.youtube.com/watch?v=au5Jwz_STXI&amp;amp;list=PL0sMmOaE_gs2yzwy54kLZk5c1ZH-Nh-62&amp;amp;index=28"&gt;https://www.youtube.com/watch?v=au5Jwz_STXI&amp;amp;list=PL0sMmOaE_gs2yzwy54kLZk5c1ZH-Nh-62&amp;amp;index=28&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Copyright (C) 2021 by John Kitchin. See the &lt;a href="/copying.html"&gt;License&lt;/a&gt; for information about copying.&lt;p&gt;
&lt;p&gt;&lt;a href="/org/2021/11/23/pycse-YouTube-Channel.org"&gt;org-mode source&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Org-mode version = 9.5&lt;/p&gt;]]></content:encoded>
    </item>
    <item>
      <title>Integration of the heat capacity</title>
      <link>https://kitchingroup.cheme.cmu.edu/blog/2018/09/05/Integration-of-the-heat-capacity</link>
      <pubDate>Wed, 05 Sep 2018 13:48:14 EDT</pubDate>
      <category><![CDATA[uncategorized]]></category>
      <guid isPermaLink="false">dZGy-Kx0naEkhAQmLx5Q7VtMAJg=</guid>
      <description>Integration of the heat capacity</description>
      <content:encoded><![CDATA[


&lt;div id="table-of-contents"&gt;
&lt;h2&gt;Table of Contents&lt;/h2&gt;
&lt;div id="text-table-of-contents"&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#orgf41bb27"&gt;1. Integrate the heat capacity&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#orgf021687"&gt;1.1. solution&amp;#xa0;&amp;#xa0;&amp;#xa0;&lt;span class="tag"&gt;&lt;span class="solution"&gt;solution&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="#orgebff74a"&gt;2. Verify via &amp;Delta; H&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#orgb0cce22"&gt;2.1. solution&amp;#xa0;&amp;#xa0;&amp;#xa0;&lt;span class="tag"&gt;&lt;span class="solution"&gt;solution&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;
From thermodynamics, the heat capacity is defined as \(C_p = \left(\frac{dH}{dT}\right)_P\). That means we can calculate the heat required to change the temperature of some material from the following integral:
&lt;/p&gt;

&lt;p&gt;
\(H_2 - H_1 = Q = \int_{T_1}^{T_2} C_p(T) dT\)
&lt;/p&gt;

&lt;p&gt;
In the range of 298-1200K, the heat capacity of CO&lt;sub&gt;2&lt;/sub&gt; is given by a &lt;a href="https://webbook.nist.gov/cgi/cbook.cgi?ID=C124389&amp;amp;Units=SI&amp;amp;Mask=1#Thermo-Gas"&gt;Shomate polynomial&lt;/a&gt;:
&lt;/p&gt;

&lt;p&gt;
\(C_p(t) = A + B t + C t^2 + D t^3 + E/t^2\) with units of J/mol/K.
&lt;/p&gt;

&lt;p&gt;
where \(t = T / 1000\), and \(T\) is the temperature in K. The constants in the equation are
&lt;/p&gt;

&lt;table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides"&gt;


&lt;colgroup&gt;
&lt;col  class="org-left" /&gt;

&lt;col  class="org-right" /&gt;
&lt;/colgroup&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th scope="col" class="org-left"&gt;&amp;#xa0;&lt;/th&gt;
&lt;th scope="col" class="org-right"&gt;value&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td class="org-left"&gt;A&lt;/td&gt;
&lt;td class="org-right"&gt;24.99735&lt;/td&gt;
&lt;/tr&gt;

&lt;tr&gt;
&lt;td class="org-left"&gt;B&lt;/td&gt;
&lt;td class="org-right"&gt;55.18696&lt;/td&gt;
&lt;/tr&gt;

&lt;tr&gt;
&lt;td class="org-left"&gt;C&lt;/td&gt;
&lt;td class="org-right"&gt;-33.69137&lt;/td&gt;
&lt;/tr&gt;

&lt;tr&gt;
&lt;td class="org-left"&gt;D&lt;/td&gt;
&lt;td class="org-right"&gt;7.948387&lt;/td&gt;
&lt;/tr&gt;

&lt;tr&gt;
&lt;td class="org-left"&gt;E&lt;/td&gt;
&lt;td class="org-right"&gt;-0.136638&lt;/td&gt;
&lt;/tr&gt;

&lt;tr&gt;
&lt;td class="org-left"&gt;F&lt;/td&gt;
&lt;td class="org-right"&gt;-403.6075&lt;/td&gt;
&lt;/tr&gt;

&lt;tr&gt;
&lt;td class="org-left"&gt;G&lt;/td&gt;
&lt;td class="org-right"&gt;228.2431&lt;/td&gt;
&lt;/tr&gt;

&lt;tr&gt;
&lt;td class="org-left"&gt;H&lt;/td&gt;
&lt;td class="org-right"&gt;-393.5224&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;

&lt;div id="outline-container-orgf41bb27" class="outline-2"&gt;
&lt;h2 id="orgf41bb27"&gt;&lt;span class="section-number-2"&gt;1&lt;/span&gt; Integrate the heat capacity&lt;/h2&gt;
&lt;div class="outline-text-2" id="text-1"&gt;
&lt;p&gt;
Use this information to compute the energy (Q in kJ/mol) required to raise the temperature of CO&lt;sub&gt;2&lt;/sub&gt; from 300K to 600K. You should use &lt;code&gt;scipy.integrate.quad&lt;/code&gt; to perform the integration.
&lt;/p&gt;

&lt;div class="org-src-container"&gt;
&lt;pre class="src src-ipython"&gt;
&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div id="outline-container-orgf021687" class="outline-3"&gt;
&lt;h3 id="orgf021687"&gt;&lt;span class="section-number-3"&gt;1.1&lt;/span&gt; solution&amp;#xa0;&amp;#xa0;&amp;#xa0;&lt;span class="tag"&gt;&lt;span class="solution"&gt;solution&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;div class="outline-text-3" id="text-1-1"&gt;
&lt;div class="org-src-container"&gt;
&lt;pre class="src src-ipython"&gt;&lt;span style="color: #BA36A5;"&gt;A&lt;/span&gt; =  24.99735
&lt;span style="color: #BA36A5;"&gt;B&lt;/span&gt; =  55.18696
&lt;span style="color: #BA36A5;"&gt;C&lt;/span&gt; = -33.69137
&lt;span style="color: #BA36A5;"&gt;D&lt;/span&gt; =  7.948387
&lt;span style="color: #BA36A5;"&gt;E&lt;/span&gt; = -0.136638
&lt;span style="color: #BA36A5;"&gt;F&lt;/span&gt; = -403.6075
&lt;span style="color: #BA36A5;"&gt;G&lt;/span&gt; =  228.2431
&lt;span style="color: #BA36A5;"&gt;H&lt;/span&gt; = -393.5224

&lt;span style="color: #0000FF;"&gt;def&lt;/span&gt; &lt;span style="color: #006699;"&gt;Cp&lt;/span&gt;(T):
&lt;span style="color: #9B9B9B; background-color: #EDEDED;"&gt; &lt;/span&gt;   &lt;span style="color: #BA36A5;"&gt;t&lt;/span&gt; = T / 1000
&lt;span style="color: #9B9B9B; background-color: #EDEDED;"&gt; &lt;/span&gt;   &lt;span style="color: #0000FF;"&gt;return&lt;/span&gt; A + B*t + C*t**2 + D*t**3 + E / t**2

&lt;span style="color: #0000FF;"&gt;from&lt;/span&gt; scipy.integrate &lt;span style="color: #0000FF;"&gt;import&lt;/span&gt; quad

&lt;span style="color: #BA36A5;"&gt;dH&lt;/span&gt;, &lt;span style="color: #BA36A5;"&gt;_&lt;/span&gt; = quad(Cp, 300, 600)
&lt;span style="color: #0000FF;"&gt;print&lt;/span&gt;(f&lt;span style="color: #008000;"&gt;'The change in enthalpy is {dH / 1000:1.3f} kJ/mol'&lt;/span&gt;)
&lt;/pre&gt;
&lt;/div&gt;

&lt;pre class="example"&gt;
The change in enthalpy is 12.841 kJ/mol


&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;


&lt;div id="outline-container-orgebff74a" class="outline-2"&gt;
&lt;h2 id="orgebff74a"&gt;&lt;span class="section-number-2"&gt;2&lt;/span&gt; Verify via &amp;Delta; H&lt;/h2&gt;
&lt;div class="outline-text-2" id="text-2"&gt;
&lt;p&gt;
The change in enthalpy (in kJ / mol) from standard state is
&lt;/p&gt;

&lt;p&gt;
\(dH − dH_{298.15}= A t + B t^2/2 + C t^3/3 + D t^4/4 − E/t + F − H\)
&lt;/p&gt;

&lt;p&gt;
again, \(t = T / 1000\).
&lt;/p&gt;

&lt;p&gt;
Use this equation to compute the change in enthalpy when you increase the temperature from 300 K to 600 K.
&lt;/p&gt;

&lt;div class="org-src-container"&gt;
&lt;pre class="src src-ipython"&gt;
&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;


&lt;div id="outline-container-orgb0cce22" class="outline-3"&gt;
&lt;h3 id="orgb0cce22"&gt;&lt;span class="section-number-3"&gt;2.1&lt;/span&gt; solution&amp;#xa0;&amp;#xa0;&amp;#xa0;&lt;span class="tag"&gt;&lt;span class="solution"&gt;solution&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;div class="outline-text-3" id="text-2-1"&gt;
&lt;div class="org-src-container"&gt;
&lt;pre class="src src-ipython"&gt;&lt;span style="color: #0000FF;"&gt;def&lt;/span&gt; &lt;span style="color: #006699;"&gt;dH&lt;/span&gt;(T):
&lt;span style="color: #9B9B9B; background-color: #EDEDED;"&gt; &lt;/span&gt;   &lt;span style="color: #BA36A5;"&gt;t&lt;/span&gt; = T / 1000
&lt;span style="color: #9B9B9B; background-color: #EDEDED;"&gt; &lt;/span&gt;   &lt;span style="color: #0000FF;"&gt;return&lt;/span&gt; A * t + B*t**2 / 2 + C * t**3 / 3 + D * t**4 / 4 - E/t + F - H

&lt;span style="color: #0000FF;"&gt;print&lt;/span&gt;(f&lt;span style="color: #008000;"&gt;'The change in enthalpy is {dH(600) - dH(300):1.3f} kJ/mol'&lt;/span&gt;)
&lt;/pre&gt;
&lt;/div&gt;

&lt;pre class="example"&gt;
The change in enthalpy is 12.841 kJ/mol


&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Copyright (C) 2018 by John Kitchin. See the &lt;a href="/copying.html"&gt;License&lt;/a&gt; for information about copying.&lt;p&gt;
&lt;p&gt;&lt;a href="/org/2018/09/05/Integration-of-the-heat-capacity.org"&gt;org-mode source&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Org-mode version = 9.1.13&lt;/p&gt;]]></content:encoded>
    </item>
    <item>
      <title>helm actions when there is no match</title>
      <link>https://kitchingroup.cheme.cmu.edu/blog/2015/02/02/helm-actions-when-there-is-no-match</link>
      <pubDate>Mon, 02 Feb 2015 16:31:07 EST</pubDate>
      <category><![CDATA[uncategorized]]></category>
      <guid isPermaLink="false">6xQtR-zTp9q98z6VO9YTfH1mqCY=</guid>
      <description>helm actions when there is no match</description>
      <content:encoded><![CDATA[



&lt;p&gt;
Sometimes you run out of matches in a helm selection buffer, and all that is left is the pattern you have typed in. It turns out you can perform some action on that pattern! Why would you do that? Suppose you are searching your bibliography, and you do not find what you are looking for. Then, you may want to send the pattern to Google, or some other search engine to see what comes up.
&lt;/p&gt;

&lt;p&gt;
The key to handling this situation is to use &lt;i&gt;two&lt;/i&gt; sources in your helm session. One that works on the candidates and deals with actions on them, and one that has no candidates, and works on the pattern. The variable helm-pattern contains what you typed in. We call the second source the Fallback option. The second source has no candidates, and we use (dummy) in place of the candidates.
&lt;/p&gt;

&lt;p&gt;
It easy to add two sources. Here we define the sources as variables, and use the variables in the :sources list to the helm command.
&lt;/p&gt;

&lt;div class="org-src-container"&gt;

&lt;pre class="src src-emacs-lisp"&gt;(&lt;span style="color: #0000FF;"&gt;defun&lt;/span&gt; &lt;span style="color: #006699;"&gt;some-action&lt;/span&gt; (arg)
  (message-box &lt;span style="color: #008000;"&gt;"%s\n%s"&lt;/span&gt;
    (helm-get-selection)
    (helm-marked-candidates)))

(&lt;span style="color: #0000FF;"&gt;defun&lt;/span&gt; &lt;span style="color: #006699;"&gt;default-action&lt;/span&gt; (candidate)
  (browse-url
   (format
    &lt;span style="color: #008000;"&gt;"http://www.google.com/search?q=%s"&lt;/span&gt; (url-hexify-string helm-pattern))))

(&lt;span style="color: #0000FF;"&gt;defvar&lt;/span&gt; &lt;span style="color: #BA36A5;"&gt;source1&lt;/span&gt; '((name . &lt;span style="color: #008000;"&gt;"HELM"&lt;/span&gt;)
                  (candidates . (1 2 3 4))
                  (action . ((&lt;span style="color: #008000;"&gt;"open"&lt;/span&gt; . some-action)))))

(&lt;span style="color: #0000FF;"&gt;defvar&lt;/span&gt; &lt;span style="color: #BA36A5;"&gt;fallback-source&lt;/span&gt; '((name . &lt;span style="color: #008000;"&gt;"fallback"&lt;/span&gt;)
                          (dummy)
                          (action . ((&lt;span style="color: #008000;"&gt;"Google"&lt;/span&gt; . default-action)))))

(helm &lt;span style="color: #006FE0;"&gt;:sources&lt;/span&gt; '(source1 fallback-source))
&lt;/pre&gt;
&lt;/div&gt;

&lt;pre class="example"&gt;
#&amp;lt;process open http://www.google.com/search?q=addtion%20pul&amp;gt;
&lt;/pre&gt;

&lt;p&gt;
When you run this, if you run out of search candidates, all that will be left is the fallback option, and when you press enter, it will launch a browser pointing to the google search for your pattern.
&lt;/p&gt;
&lt;p&gt;Copyright (C) 2015 by John Kitchin. See the &lt;a href="/copying.html"&gt;License&lt;/a&gt; for information about copying.&lt;p&gt;&lt;p&gt;&lt;a href="/org/2015/02/02/helm-actions-when-there-is-no-match.org"&gt;org-mode source&lt;/a&gt;&lt;p&gt;&lt;p&gt;Org-mode version = 8.2.10&lt;/p&gt;]]></content:encoded>
    </item>
    <item>
      <title>New org-mode link to Web of Science</title>
      <link>https://kitchingroup.cheme.cmu.edu/blog/2015/01/28/New-org-mode-link-to-Web-of-Science</link>
      <pubDate>Wed, 28 Jan 2015 13:55:54 EST</pubDate>
      <category><![CDATA[uncategorized]]></category>
      <guid isPermaLink="false">6dYb6CvpWcX2w67rhyluY7avvTQ=</guid>
      <description>New org-mode link to Web of Science</description>
      <content:encoded><![CDATA[


&lt;p&gt;
For ages I have been trying to figure out how to make a link to open a search in Web of Science. Today, thanks to help from our library, I finally figured it out!
&lt;/p&gt;

&lt;p&gt;
It turns out you can embed a search widget to Web of Science in a web page. See &lt;a href="http://wokinfo.com/webtools/searchbox/"&gt;http://wokinfo.com/webtools/searchbox/&lt;/a&gt; . Here is an example.
&lt;/p&gt;


&lt;form method="get" action="http://gateway.webofknowledge.com/gateway/Gateway.cgi" target="_blank"&gt;
&lt;table style="background-color:#FFF; border:1px solid #999; width:354px;" cellspacing="0" cellpadding="6" border="0"&gt;
&lt;tr&gt;
&lt;td&gt;&lt;p&gt;&lt;img border="0" src="http://wokinfo.com/img/webtools/woknameplate_flat2.png" width="311" height="36" alt="Web of Science"&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;font face="Verdana, Geneva, sans-serif"&gt;&lt;font size="2" color="#808080"&gt;Search Web of Science&amp;#8482;&lt;/font&gt;&lt;/font&gt;&lt;/strong&gt;&lt;br&gt;
&lt;input type="hidden" name="GWVersion" value="2"&gt;
&lt;input type="hidden" name="SrcApp" value="WEB"&gt;
&lt;input type="hidden" name="SrcAuth" value="HSB"&gt;
&lt;input type="hidden" name="DestApp" value="UA"&gt;
&lt;input type="hidden" name="DestLinkType" value="GeneralSearchSummary"&gt;
&amp;nbsp;&lt;input type="text" name="topic" size="27" maxlength="255" value="Enter a topic to search" onfocus="this.value='';"&gt;&amp;nbsp;&lt;input type="submit" name="btnWS" value="Search"&gt;&amp;nbsp;&lt;input type="reset" name="btnR" value="Reset"&gt;&lt;/p&gt;
&lt;p align="right"&gt;&lt;font face="Arial, Helvetica, sans-serif"&gt;&lt;font size="1"&gt;Copyright 2014 &lt;a href="http://thomsonreuters.com" target="_blank"&gt;Thomson Reuters&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;/form&gt;

&lt;p&gt;
This simple form just sends a GET http request to a cgi script at Web of Knowledge. Awesome, we can create a url that does just that to make an org link! We will make a link that you can click on to open the web page, and a simple formatting function to make the link work in html too when we export it.
&lt;/p&gt;

&lt;div class="org-src-container"&gt;

&lt;pre class="src src-emacs-lisp"&gt;(org-add-link-type
 &lt;span style="color: #008000;"&gt;"wos"&lt;/span&gt;
 (&lt;span style="color: #0000FF;"&gt;lambda&lt;/span&gt; (path)
   (browse-url
    (format  &lt;span style="color: #008000;"&gt;"http://gateway.webofknowledge.com/gateway/Gateway.cgi?topic=%s&amp;amp;GWVersion=2&amp;amp;SrcApp=WEB&amp;amp;SrcAuth=HSB&amp;amp;DestApp=UA&amp;amp;DestLinkType=GeneralSearchSummary"&lt;/span&gt;
             (s-join &lt;span style="color: #008000;"&gt;"+"&lt;/span&gt;
              (split-string path)))))
 &lt;span style="color: #8D8D84;"&gt;;; &lt;/span&gt;&lt;span style="color: #8D8D84; font-style: italic;"&gt;formatting function. Assume html&lt;/span&gt;
 (&lt;span style="color: #0000FF;"&gt;lambda&lt;/span&gt; (link desc format)
   (format &lt;span style="color: #008000;"&gt;"&amp;lt;a href=\"%s\"&amp;gt;%s&amp;lt;/a&amp;gt;"&lt;/span&gt;
           (format  &lt;span style="color: #008000;"&gt;"http://gateway.webofknowledge.com/gateway/Gateway.cgi?topic=%s&amp;amp;GWVersion=2&amp;amp;SrcApp=WEB&amp;amp;SrcAuth=HSB&amp;amp;DestApp=UA&amp;amp;DestLinkType=GeneralSearchSummary"&lt;/span&gt;
             (s-join &lt;span style="color: #008000;"&gt;"+"&lt;/span&gt;
              (split-string path)))
           (format &lt;span style="color: #008000;"&gt;"wos:%s"&lt;/span&gt; link)
           )))
&lt;/pre&gt;
&lt;/div&gt;

&lt;p&gt;
Now, here is a link: &lt;a href="http://gateway.webofknowledge.com/gateway/Gateway.cgi?topic=alloy+segregation&amp;GWVersion=2&amp;SrcApp=WEB&amp;SrcAuth=HSB&amp;DestApp=UA&amp;DestLinkType=GeneralSearchSummary"&gt;wos:alloy segregation&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
When I click on it in org-mode, Web of Science opens to articles that match that search. When I export the post to html, you should also see a link that opens to Web of Science (assuming you click on it from an IP address with access).
&lt;/p&gt;

&lt;p&gt;
The link may not seem all that useful, but we can use the idea to highlight words, and send them to a web of science query, e.g. &lt;a href="https://github.com/jkitchin/jmax/blob/master/words.el#L63"&gt;https://github.com/jkitchin/jmax/blob/master/words.el#L63&lt;/a&gt; , or in org-ref to query web of science for the words you typed into helm-bibtex that do not match any references in your database. One more powerful tool in doing research for a living!&lt;/p&gt;
&lt;p&gt;Copyright (C) 2015 by John Kitchin. See the &lt;a href="/copying.html"&gt;License&lt;/a&gt; for information about copying.&lt;p&gt;&lt;p&gt;&lt;a href="/org/2015/01/28/New-org-mode-link-to-Web-of-Science.org"&gt;org-mode source&lt;/a&gt;&lt;p&gt;&lt;p&gt;Org-mode version = 8.2.10&lt;/p&gt;]]></content:encoded>
    </item>
    <item>
      <title>Pandoc does org-mode now</title>
      <link>https://kitchingroup.cheme.cmu.edu/blog/2014/07/17/Pandoc-does-org-mode-now</link>
      <pubDate>Thu, 17 Jul 2014 10:04:41 EDT</pubDate>
      <category><![CDATA[uncategorized]]></category>
      <guid isPermaLink="false">XYJbJvZTG1yfq8Hs1Y8NnprHhws=</guid>
      <description>Pandoc does org-mode now</description>
      <content:encoded><![CDATA[


&lt;div id="table-of-contents"&gt;
&lt;h2&gt;Table of Contents&lt;/h2&gt;
&lt;div id="text-table-of-contents"&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#sec-1"&gt;1. A subsection with some equations&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#sec-2"&gt;2. A section with a figure&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#sec-3"&gt;3. A section with a table&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#sec-4"&gt;4. Some citations&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#sec-5"&gt;5. some source code&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;
Pandoc (&lt;a href="http://johnmacfarlane.net/pandoc/"&gt;http://johnmacfarlane.net/pandoc/&lt;/a&gt; ) is a document converter. It does a pretty good job of converting a document in one format to another. Pandoc also knows about org-mode now, and can convert an org-file to a Word document! We are going to test it out in this post to see what it does well with.
&lt;/p&gt;

&lt;div id="outline-container-sec-1" class="outline-2"&gt;
&lt;h2 id="sec-1"&gt;&lt;span class="section-number-2"&gt;1&lt;/span&gt; A subsection with some equations&lt;/h2&gt;
&lt;div class="outline-text-2" id="text-1"&gt;
&lt;p&gt;
Einstein showed us that \(E = mc^2\). 
&lt;/p&gt;

&lt;p&gt;
A matrix looks like this:
&lt;/p&gt;

\begin{equation}
\begin{matrix}
  a &amp; b &amp; c \\
  d &amp; e &amp; f \\
  g &amp; h &amp; i
 \end{matrix}
\end{equation}
&lt;/div&gt;
&lt;/div&gt;

&lt;div id="outline-container-sec-2" class="outline-2"&gt;
&lt;h2 id="sec-2"&gt;&lt;span class="section-number-2"&gt;2&lt;/span&gt; A section with a figure&lt;/h2&gt;
&lt;div class="outline-text-2" id="text-2"&gt;
&lt;p&gt;
Here is a figure in the document.
&lt;/p&gt;


&lt;div class="figure"&gt;
&lt;p&gt;&lt;img src="/media/2014-07-17-Pandoc-does-org-mode-now/cos-plot.png"&gt; 
&lt;/p&gt;
&lt;p&gt;&lt;span class="figure-number"&gt;Figure 1:&lt;/span&gt; A cosine function.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div id="outline-container-sec-3" class="outline-2"&gt;
&lt;h2 id="sec-3"&gt;&lt;span class="section-number-2"&gt;3&lt;/span&gt; A section with a table&lt;/h2&gt;
&lt;div class="outline-text-2" id="text-3"&gt;
&lt;table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides"&gt;
&lt;caption class="t-above"&gt;&lt;span class="table-number"&gt;Table 1:&lt;/span&gt; A simple table.&lt;/caption&gt;

&lt;colgroup&gt;
&lt;col  class="right" /&gt;

&lt;col  class="right" /&gt;
&lt;/colgroup&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th scope="col" class="right"&gt;x&lt;/th&gt;
&lt;th scope="col" class="right"&gt;y&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td class="right"&gt;1&lt;/td&gt;
&lt;td class="right"&gt;1&lt;/td&gt;
&lt;/tr&gt;

&lt;tr&gt;
&lt;td class="right"&gt;2&lt;/td&gt;
&lt;td class="right"&gt;4&lt;/td&gt;
&lt;/tr&gt;

&lt;tr&gt;
&lt;td class="right"&gt;3&lt;/td&gt;
&lt;td class="right"&gt;9&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div id="outline-container-sec-4" class="outline-2"&gt;
&lt;h2 id="sec-4"&gt;&lt;span class="section-number-2"&gt;4&lt;/span&gt; Some citations&lt;/h2&gt;
&lt;div class="outline-text-2" id="text-4"&gt;
&lt;p&gt;
For fun, a reference to the org-mode book &lt;a href="#dominik-2010-org-mode"&gt;dominik-2010-org-mode&lt;/a&gt;.
&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div id="outline-container-sec-5" class="outline-2"&gt;
&lt;h2 id="sec-5"&gt;&lt;span class="section-number-2"&gt;5&lt;/span&gt; some source code&lt;/h2&gt;
&lt;div class="outline-text-2" id="text-5"&gt;
&lt;p&gt;
here is a python block.
&lt;/p&gt;

&lt;div class="org-src-container"&gt;

&lt;pre class="src src-python"&gt;print 'hello pandoc'
&lt;/pre&gt;
&lt;/div&gt;

&lt;pre class="example"&gt;
hello pandoc
&lt;/pre&gt;

&lt;p&gt;
and finally, we write a block that will convert this file to a word document.
&lt;/p&gt;

&lt;div class="org-src-container"&gt;

&lt;pre class="src src-emacs-lisp"&gt;(save-buffer)
(shell-command "pandoc -s -s org-to-word.org -o org-to-word.docx")
&lt;/pre&gt;
&lt;/div&gt;

&lt;pre class="example"&gt;
0
&lt;/pre&gt;

&lt;p&gt;
Now, here is that &lt;a href="/media/2014-07-17-Pandoc-does-org-mode-now/org-to-word.docx"&gt;org-to-word.docx&lt;/a&gt; 
&lt;/p&gt;

&lt;p&gt;
it is pretty good, and blazing fast. The output is not quite as good as the native org to pdf (&lt;a href="/media/2014-07-17-Pandoc-does-org-mode-now/org-to-word.pdf"&gt;org-to-word.pdf&lt;/a&gt; ), but since the translation is happening outside of Emacs the results are still pretty impressive, and if you need a Word document there is no substitute &lt;sup&gt;&lt;a id="fnr.1" name="fnr.1" class="footref" href="#fn.1"&gt;1&lt;/a&gt;&lt;/sup&gt;. The simple equation was translated to a Word equation format (cool!) but the matrix did not show up in the word document, nor did the figure caption. The code does show up, but the lines are not numbered as they are in the pdf. The citation did not work out of the box. The User guide suggests it might be possible to get this to work with a citations extension though.
&lt;/p&gt;

&lt;p&gt;
I am impressed that the Word document has proper section headings. Overall, my impression is that this is a very good way to get 90+% of the way to a finished word document with an org-source file!
&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id="footnotes"&gt;
&lt;h2 class="footnotes"&gt;Footnotes: &lt;/h2&gt;
&lt;div id="text-footnotes"&gt;

&lt;div class="footdef"&gt;&lt;sup&gt;&lt;a id="fn.1" name="fn.1" class="footnum" href="#fnr.1"&gt;1&lt;/a&gt;&lt;/sup&gt; &lt;p class="footpara"&gt;
Ok, there is the ODT export engine. So far I have not been able to make that export documents that Word can open though, and it takes more configuration than just installing Pandoc.
&lt;/p&gt;&lt;/div&gt;


&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Copyright (C) 2014 by John Kitchin. See the &lt;a href="/copying.html"&gt;License&lt;/a&gt; for information about copying.&lt;p&gt;&lt;p&gt;&lt;a href="/org/2014/07/17/Pandoc-does-org-mode-now.org"&gt;org-mode source&lt;/a&gt;&lt;p&gt;&lt;p&gt;Org-mode version = 8.2.6&lt;/p&gt;]]></content:encoded>
    </item>
    <item>
      <title>Popup tips on bibtex links in org-mode</title>
      <link>https://kitchingroup.cheme.cmu.edu/blog/2014/04/12/Popup-tips-on-bibtex-links-in-org-mode</link>
      <pubDate>Sat, 12 Apr 2014 14:15:45 EDT</pubDate>
      <category><![CDATA[uncategorized]]></category>
      <guid isPermaLink="false">BaCw4ei3ue2VaCdMj66DsKOcjnE=</guid>
      <description>Popup tips on bibtex links in org-mode</description>
      <content:encoded><![CDATA[



&lt;p&gt;
I want to explore using popup tips to display richer information about org-mode links. The idea is to have something like a tooltip that displays the bibtex entry when you hover over it, or click on it. 
&lt;/p&gt;

&lt;p&gt;
&lt;a href="https://github.com/auto-complete/popup-el/blob/master/popup.el"&gt;https://github.com/auto-complete/popup-el/blob/master/popup.el&lt;/a&gt; 
&lt;/p&gt;

&lt;p&gt;
Here is a canonical example of a popup.
&lt;/p&gt;

&lt;div class="org-src-container"&gt;

&lt;pre class="src src-emacs-lisp"&gt;(popup-tip &lt;span style="color: #228b22;"&gt;"Hello, World!"&lt;/span&gt;)
&lt;/pre&gt;
&lt;/div&gt;

&lt;pre class="example"&gt;
t
&lt;/pre&gt;


&lt;div class="figure"&gt;
&lt;p&gt;&lt;img src="/media/2014-04-12-Popup-tips-on-bibtex-links-in-org-mode/hello-world-popup.png"&gt; 
&lt;/p&gt;
&lt;/div&gt;

&lt;p&gt;
All I need to do is figure out a simple way to get the bibtex entry as a string, and pop it up when a link is clicked on.
&lt;/p&gt;

&lt;div class="org-src-container"&gt;

&lt;pre class="src src-emacs-lisp"&gt;(org-add-link-type
 &lt;span style="color: #228b22;"&gt;"test"&lt;/span&gt;
 &lt;span style="color: #ff0000; font-weight: bold;"&gt;;; &lt;/span&gt;&lt;span style="color: #ff0000; font-weight: bold;"&gt;this function is run when you click&lt;/span&gt;
 (&lt;span style="color: #8b0000;"&gt;lambda&lt;/span&gt; (link-string) 
   (popup-tip link-string))
 &lt;span style="color: #ff0000; font-weight: bold;"&gt;;; &lt;/span&gt;&lt;span style="color: #ff0000; font-weight: bold;"&gt;formatting&lt;/span&gt;
(&lt;span style="color: #8b0000;"&gt;lambda&lt;/span&gt; (keyword desc format)
   (&lt;span style="color: #8b0000;"&gt;cond&lt;/span&gt;
    ((eq format 'html) (format &lt;span style="color: #228b22;"&gt;"&amp;lt;pre&amp;gt;%s:%s&amp;lt;/pre&amp;gt;"&lt;/span&gt; keyword desc)))))
&lt;/pre&gt;
&lt;/div&gt;
&lt;table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides"&gt;


&lt;colgroup&gt;
&lt;col  class="left" /&gt;

&lt;col  class="left" /&gt;

&lt;col  class="left" /&gt;
&lt;/colgroup&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td class="left"&gt;lambda&lt;/td&gt;
&lt;td class="left"&gt;(link-string)&lt;/td&gt;
&lt;td class="left"&gt;(popup-tip link-string)&lt;/td&gt;
&lt;/tr&gt;

&lt;tr&gt;
&lt;td class="left"&gt;lambda&lt;/td&gt;
&lt;td class="left"&gt;(keyword desc format)&lt;/td&gt;
&lt;td class="left"&gt;(cond ((eq format (quote html)) (format &amp;lt;pre&amp;gt;%s:%s&amp;lt;/pre&amp;gt; keyword desc)))&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;

&lt;p&gt;
Now we give it a try.   &lt;pre&gt;test:show-me-the-popup&lt;/pre&gt; 
&lt;/p&gt;


&lt;div class="figure"&gt;
&lt;p&gt;&lt;img src="/media/2014-04-12-Popup-tips-on-bibtex-links-in-org-mode/test-link-popup.png"&gt; 
&lt;/p&gt;
&lt;/div&gt;

&lt;p&gt;
That looks good.
&lt;/p&gt;

&lt;p&gt;
Ok, the penultimate step will be to lookup a bibtex entry, and show the entry in a popup. We will hardcode the path to the bibtex file. 
&lt;/p&gt;

&lt;div class="org-src-container"&gt;

&lt;pre class="src src-emacs-lisp"&gt;(org-add-link-type
 &lt;span style="color: #228b22;"&gt;"test"&lt;/span&gt;
 &lt;span style="color: #ff0000; font-weight: bold;"&gt;;; &lt;/span&gt;&lt;span style="color: #ff0000; font-weight: bold;"&gt;this function is run when you click&lt;/span&gt;
 (&lt;span style="color: #8b0000;"&gt;lambda&lt;/span&gt; (bibtex-key)
   (&lt;span style="color: #8b0000;"&gt;let&lt;/span&gt; ((entry (&lt;span style="color: #8b0000;"&gt;with-temp-buffer&lt;/span&gt;
                  (insert-file-contents &lt;span style="color: #228b22;"&gt;"~/Dropbox/bibliography/references.bib"&lt;/span&gt;)
                  (goto-char (point-min))
                  (re-search-forward bibtex-key)
                  (bibtex-narrow-to-entry)
                  (buffer-string))))
     (popup-tip entry))))
&lt;/pre&gt;
&lt;/div&gt;

&lt;table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides"&gt;


&lt;colgroup&gt;
&lt;col  class="left" /&gt;

&lt;col  class="left" /&gt;

&lt;col  class="left" /&gt;
&lt;/colgroup&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td class="left"&gt;lambda&lt;/td&gt;
&lt;td class="left"&gt;(bibtex-key)&lt;/td&gt;
&lt;td class="left"&gt;(let ((cb (current-buffer)) (entry (with-temp-buffer (insert-file-contents ~/Dropbox/bibliography/references.bib) (goto-char (point-min)) (re-search-forward bibtex-key) (bibtex-narrow-to-entry) (buffer-string)))) (popup-tip entry))&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;


&lt;p&gt;
&lt;pre&gt;test:mehta-2014-ident-poten&lt;/pre&gt; 
&lt;/p&gt;

&lt;p&gt;
And here is what appears for me:
&lt;img src="/media/2014-04-12-Popup-tips-on-bibtex-links-in-org-mode/bibtex-popup-entry.png"&gt; 
&lt;/p&gt;

&lt;p&gt;
The final step is to connect this to an &lt;a href="http://www.gnu.org/software/emacs/manual/html_node/elisp/Idle-Timers.html"&gt;idle timer&lt;/a&gt; . We want a popup to occur when our mouse is idle. I am setting this up to run one time, after 5 seconds of idleness.
&lt;/p&gt;

&lt;div class="org-src-container"&gt;

&lt;pre class="src src-emacs-lisp"&gt;(run-with-idle-timer 5 nil (&lt;span style="color: #8b0000;"&gt;lambda&lt;/span&gt; () (popup-tip &lt;span style="color: #228b22;"&gt;"You are being idle"&lt;/span&gt;)))
&lt;/pre&gt;
&lt;/div&gt;
&lt;pre class="example"&gt;
[nil 0 5 0 nil (lambda nil (popup-tip "You are being idle")) nil idle 0]
&lt;/pre&gt;


&lt;div class="figure"&gt;
&lt;p&gt;&lt;img src="/media/2014-04-12-Popup-tips-on-bibtex-links-in-org-mode/idle-timer-popup.png"&gt; 
&lt;/p&gt;
&lt;/div&gt;

&lt;p&gt;
So, we need to setup an idle timer that runs on some interval. When the cursor is on the right kind of link, we want to get a popup. I adapted the following code from &lt;a href="http://www.emacswiki.org/emacs/IdleTimers"&gt;http://www.emacswiki.org/emacs/IdleTimers&lt;/a&gt; .
&lt;/p&gt;

&lt;div class="org-src-container"&gt;

&lt;pre class="src src-emacs-lisp"&gt;&lt;span style="color: #ff0000; font-weight: bold;"&gt;;; &lt;/span&gt;&lt;span style="color: #ff0000; font-weight: bold;"&gt;variable for the timer object&lt;/span&gt;
(&lt;span style="color: #8b0000;"&gt;defvar&lt;/span&gt; &lt;span style="color: #8b008b;"&gt;idle-timer-bibtex-timer&lt;/span&gt; nil)

&lt;span style="color: #ff0000; font-weight: bold;"&gt;;; &lt;/span&gt;&lt;span style="color: #ff0000; font-weight: bold;"&gt;callback function &lt;/span&gt;
(&lt;span style="color: #8b0000;"&gt;defun&lt;/span&gt; &lt;span style="color: #8b2323;"&gt;idle-timer-bibtex-callback&lt;/span&gt; ()
  &lt;span style="color: #228b22;"&gt;"displays a popup of the bibtex entry in a test link"&lt;/span&gt;
  (interactive)
  (&lt;span style="color: #8b0000;"&gt;let&lt;/span&gt; ((object (org-element-context)))    
    (&lt;span style="color: #8b0000;"&gt;when&lt;/span&gt; (and (equal (org-element-type object) 'link) 
               (equal (org-element-property &lt;span style="color: #cd0000;"&gt;:type&lt;/span&gt; object) &lt;span style="color: #228b22;"&gt;"test"&lt;/span&gt;))
      (&lt;span style="color: #8b0000;"&gt;let*&lt;/span&gt; ((bibtex-key (org-element-property &lt;span style="color: #cd0000;"&gt;:path&lt;/span&gt; object))
             (entry (&lt;span style="color: #8b0000;"&gt;with-temp-buffer&lt;/span&gt;
                      (insert-file-contents &lt;span style="color: #228b22;"&gt;"~/Dropbox/bibliography/references.bib"&lt;/span&gt;)
                      (goto-char (point-min))
                      (re-search-forward bibtex-key)
                      (bibtex-narrow-to-entry)
                      (buffer-string))))
        (popup-tip entry)))))

&lt;span style="color: #ff0000; font-weight: bold;"&gt;;; &lt;/span&gt;&lt;span style="color: #ff0000; font-weight: bold;"&gt;start functions&lt;/span&gt;
(&lt;span style="color: #8b0000;"&gt;defun&lt;/span&gt; &lt;span style="color: #8b2323;"&gt;idle-timer-bibtex-start&lt;/span&gt; ()
  (interactive)
  (&lt;span style="color: #8b0000;"&gt;when&lt;/span&gt; (timerp idle-timer-bibtex-timer)
    (cancel-timer idle-timer-bibtex-timer))
  (setq idle-timer-bibtex-timer
          (run-with-timer 1 1 #'idle-timer-bibtex-callback)))

&lt;span style="color: #ff0000; font-weight: bold;"&gt;;; &lt;/span&gt;&lt;span style="color: #ff0000; font-weight: bold;"&gt;stop function&lt;/span&gt;
(&lt;span style="color: #8b0000;"&gt;defun&lt;/span&gt; &lt;span style="color: #8b2323;"&gt;idle-timer-bibtex-stop&lt;/span&gt; ()
  (interactive)
  (&lt;span style="color: #8b0000;"&gt;when&lt;/span&gt; (timerp idle-timer-bibtex-timer)
    (cancel-timer idle-timer-bibtex-timer))
  (setq idle-timer-bibtex-timer nil))

(idle-timer-bibtex-start)
&lt;/pre&gt;
&lt;/div&gt;
&lt;pre class="example"&gt;
idle-timer-bibtex-stop
&lt;/pre&gt;


&lt;p&gt;
&lt;pre&gt;test:kitchin-2008-alloy&lt;/pre&gt; 
&lt;/p&gt;

&lt;p&gt;
Now, whenever the cursor is on the link, and there is an idle of about a sec, I get a popup window of the bibtex entry. It looks like this:
&lt;/p&gt;


&lt;div class="figure"&gt;
&lt;p&gt;&lt;img src="/media/2014-04-12-Popup-tips-on-bibtex-links-in-org-mode/bibtex-popup2.png"&gt; 
&lt;/p&gt;
&lt;/div&gt;

&lt;p&gt;
There are still some limitations to this code. It does not handle multiple citations in a link (like the cite links I normally use do). That will take a little work to fixup. I cannot figure out how to get mouse-over tooltips; this only works when the cursor is on the link.  I do not know what the optimal timer setting is. This one runs every second. I do not see any issues in performance with that. Another issue might be making the timer a file local variable. It would be nice if the timer quit running when the file was closed. I do not know how easy that would be to implement, or if there should be one timer running for org-mode. Finally, this code is hard-coded to use my reference file. For a real module, we would probably provide some customization to choose other bibtex files. Overall though, this might be a handy way to quickly peruse the citations in an org-file.
&lt;/p&gt;
&lt;p&gt;Copyright (C) 2014 by John Kitchin. See the &lt;a href="/copying.html"&gt;License&lt;/a&gt; for information about copying.&lt;p&gt;&lt;p&gt;&lt;a href="/org/2014/04/12/Popup-tips-on-bibtex-links-in-org-mode.org"&gt;org-mode source&lt;/a&gt;&lt;p&gt;&lt;p&gt;Org-mode version = 8.2.5h&lt;/p&gt;]]></content:encoded>
    </item>
    <item>
      <title>Limitations?</title>
      <link>https://kitchingroup.cheme.cmu.edu/blog/2013/10/19/Limitations</link>
      <pubDate>Sat, 19 Oct 2013 14:32:28 EDT</pubDate>
      <category><![CDATA[uncategorized]]></category>
      <guid isPermaLink="false">gCt1_eahttPAQolGO0O0Z9GdUrc=</guid>
      <description>Limitations?</description>
      <content:encoded><![CDATA[


&lt;p&gt;
JSON is flexible, and can store text and numeric data. It does not store numpy arrays, but rather it is limited to storing lists of data. You would have to convert them back to arrays if you want to do array math. You probably wouldn't want to store a 3d array of electron density in this format, although it probably isn't worse than a CUBE file format. We haven't tested these files very significantly yet at a large scale to see how fast it is to read from lots of them.
&lt;/p&gt;

&lt;p&gt;
Nonetheless, this looks like a reasonable format to share data in human and machine readable form, without violating the VASP licence conditions.
&lt;/p&gt;
&lt;p&gt;Copyright (C) 2013 by John Kitchin. See the &lt;a href="/copying.html"&gt;License&lt;/a&gt; for information about copying.&lt;p&gt;&lt;p&gt;&lt;a href="/org/2013/10/19/Limitations?.org"&gt;org-mode source&lt;/a&gt;&lt;p&gt;]]></content:encoded>
    </item>
    <item>
      <title>Exporting accented characters to latex from org-mode</title>
      <link>https://kitchingroup.cheme.cmu.edu/blog/2013/10/03/Exporting-accented-characters-to-latex-from-org-mode</link>
      <pubDate>Thu, 03 Oct 2013 12:49:02 EDT</pubDate>
      <category><![CDATA[uncategorized]]></category>
      <guid isPermaLink="false">HncCuLUtSwg_OfpsPKlom2vlSxw=</guid>
      <description>Exporting accented characters to latex from org-mode</description>
      <content:encoded><![CDATA[


&lt;div id="table-of-contents"&gt;
&lt;h2&gt;Table of Contents&lt;/h2&gt;
&lt;div id="text-table-of-contents"&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#sec-1"&gt;1. Letters&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#sec-1-1"&gt;1.1. Latin&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#sec-1-2"&gt;1.2. Latin (special face)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#sec-1-3"&gt;1.3. Greek&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#sec-1-4"&gt;1.4. Hebrew&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#sec-1-5"&gt;1.5. Dead languages&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="#sec-2"&gt;2. Punctuation&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#sec-2-1"&gt;2.1. Dots and Marks&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#sec-2-2"&gt;2.2. Dash-like&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#sec-2-3"&gt;2.3. Quotations&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="#sec-3"&gt;3. Other&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#sec-3-1"&gt;3.1. Misc. (often used)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#sec-3-2"&gt;3.2. Whitespace&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#sec-3-3"&gt;3.3. Currency&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#sec-3-4"&gt;3.4. Property Marks&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#sec-3-5"&gt;3.5. Science et al.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#sec-3-6"&gt;3.6. Arrows&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#sec-3-7"&gt;3.7. Function names&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#sec-3-8"&gt;3.8. Signs &amp;amp; Symbols&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#sec-3-9"&gt;3.9. Miscellaneous (seldom used)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#sec-3-10"&gt;3.10. Smilies&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#sec-3-11"&gt;3.11. Suits&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="#sec-4"&gt;4. Summary.&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;
I noticed recently in writing a technical paper in org-mode that I had some trouble exporting some accented characters to LaTeX.
&lt;/p&gt;

&lt;p&gt;
Here are 5 words that render correctly in LaTeX
&lt;/p&gt;

&lt;pre class="example"&gt;
1. Jos\'{e}
2. peque\~{n}o
3. Gro\ss
4. Gr\"{u}neisen
5. N\o{}rskov
&lt;/pre&gt;

&lt;p&gt;
Here we wrap these words in a LaTeX block so it exports verbatim to see how they look in a PDF.
&lt;/p&gt;

&lt;p&gt;
Note to see this in LaTeX, you must view the &lt;a href="/media/2013-10-03-Exporting-accented-characters-to-latex-from-org-mode/exporting-accented-characters.pdf"&gt;exporting-accented-characters.pdf&lt;/a&gt;. Now, we use the same characters in org-mode.
&lt;/p&gt;

&lt;ol class="org-ol"&gt;
&lt;li&gt;Jos\'{e}
&lt;/li&gt;
&lt;li&gt;peque\~{n}o
&lt;/li&gt;
&lt;li&gt;Gro\ss
&lt;/li&gt;
&lt;li&gt;Gr\"{u}neisen
&lt;/li&gt;
&lt;li&gt;N\o{}rskov
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;
The exported LaTeX code looks like:
&lt;/p&gt;
&lt;pre class="example"&gt;
\begin{enumerate}
\item Jos$\backslash$'\{e\}
\item peque$\backslash$\textasciitilde{}\{n\}o
\item Gro\ss
\item Gr$\backslash$"\{u\}neisen
\item N\o{}rskov
\end{enumerate}
&lt;/pre&gt;

&lt;p&gt;
The exporter does not handle all of them correctly. Org-mode is its own system, and it is not, and won't be a total replacement for LaTeX. Nevertheless, these are pretty common characters for me, and We need a solution! A clunky way we found to solve this is to add a LATEX&lt;sub&gt;HEADER&lt;/sub&gt; line that defines a new LaTeX command like this:
&lt;/p&gt;

&lt;pre class="example"&gt;
#+LATEX_HEADER: \newcommand{\gruneisen}{Gr\"{u}neisen}
&lt;/pre&gt;

&lt;p&gt;
Then you can use the new command in org-mode. So this text:
&lt;/p&gt;
&lt;pre class="example"&gt;
We use \gruneisen in a sentence.
&lt;/pre&gt;

&lt;p&gt;
Renders like this:
&lt;/p&gt;

&lt;p&gt;
We use \gruneisen in a sentence.
&lt;/p&gt;

&lt;p&gt;
That is not too ideal, since some journals do not like you to define new commands. It turns out that org-mode has its own commands to solve this problem! There is a list of these commands stored in a variable called &lt;code&gt;org-entities&lt;/code&gt;.
&lt;/p&gt;

&lt;p&gt;
Here we print these entities for "the record". I add an extra star to the data in org-entities so they will all be nested in this post.
&lt;/p&gt;

&lt;div class="org-src-container"&gt;

&lt;pre class="src src-emacs-lisp"&gt;(mapcar (&lt;span style="color: #8b0000;"&gt;lambda&lt;/span&gt;(x)
  &lt;span style="color: #228b22;"&gt;"print element x. If it is a heading, add an extra star"&lt;/span&gt;
  (interactive)
  (&lt;span style="color: #8b0000;"&gt;if&lt;/span&gt; (and (stringp x) (string= (substring x 0 1) &lt;span style="color: #228b22;"&gt;"*"&lt;/span&gt;))
      (princ (format &lt;span style="color: #228b22;"&gt;"*%s\n"&lt;/span&gt; x))
    (princ (format &lt;span style="color: #228b22;"&gt;"%s\n"&lt;/span&gt; x)))) org-entities)
&lt;/pre&gt;
&lt;/div&gt;
&lt;div id="outline-container-sec-1" class="outline-2"&gt;
&lt;h2 id="sec-1"&gt;&lt;span class="section-number-2"&gt;1&lt;/span&gt; Letters&lt;/h2&gt;
&lt;div class="outline-text-2" id="text-1"&gt;
&lt;/div&gt;&lt;div id="outline-container-sec-1-1" class="outline-3"&gt;
&lt;h3 id="sec-1-1"&gt;&lt;span class="section-number-3"&gt;1.1&lt;/span&gt; Latin&lt;/h3&gt;
&lt;div class="outline-text-3" id="text-1-1"&gt;
&lt;p&gt;
(Agrave \`{A} nil &amp;amp;Agrave; A À À)
(agrave \`{a} nil &amp;amp;agrave; a à à)
(Aacute \'{A} nil &amp;amp;Aacute; A Á Á)
(aacute \'{a} nil &amp;amp;aacute; a á á)
(Acirc \&lt;sup&gt;A&lt;/sup&gt; nil &amp;amp;Acirc; A Â Â)
(acirc \&lt;sup&gt;a&lt;/sup&gt; nil &amp;amp;acirc; a â â)
(Atilde \~{A} nil &amp;amp;Atilde; A Ã Ã)
(atilde \~{a} nil &amp;amp;atilde; a ã ã)
(Auml \"{A} nil &amp;amp;Auml; Ae Ä Ä)
(auml \"{a} nil &amp;amp;auml; ae ä ä)
(Aring &amp;Aring; nil &amp;amp;Aring; A Å Å)
(AA &amp;Aring; nil &amp;amp;Aring; A Å Å)
(aring \aa{} nil &amp;amp;aring; a å å)
(AElig \AE{} nil &amp;amp;AElig; AE Æ Æ)
(aelig \ae{} nil &amp;amp;aelig; ae æ æ)
(Ccedil \c{C} nil &amp;amp;Ccedil; C Ç Ç)
(ccedil \c{c} nil &amp;amp;ccedil; c ç ç)
(Egrave \`{E} nil &amp;amp;Egrave; E È È)
(egrave \`{e} nil &amp;amp;egrave; e è è)
(Eacute \'{E} nil &amp;amp;Eacute; E É É)
(eacute \'{e} nil &amp;amp;eacute; e é é)
(Ecirc \&lt;sup&gt;E&lt;/sup&gt; nil &amp;amp;Ecirc; E Ê Ê)
(ecirc \&lt;sup&gt;e&lt;/sup&gt; nil &amp;amp;ecirc; e ê ê)
(Euml \"{E} nil &amp;amp;Euml; E Ë Ë)
(euml \"{e} nil &amp;amp;euml; e ë ë)
(Igrave \`{I} nil &amp;amp;Igrave; I Ì Ì)
(igrave \`{i} nil &amp;amp;igrave; i ì ì)
(Iacute \'{I} nil &amp;amp;Iacute; I Í Í)
(iacute \'{i} nil &amp;amp;iacute; i í í)
(Icirc \&lt;sup&gt;I&lt;/sup&gt; nil &amp;amp;Icirc; I Î Î)
(icirc \&lt;sup&gt;i&lt;/sup&gt; nil &amp;amp;icirc; i î î)
(Iuml \"{I} nil &amp;amp;Iuml; I Ï Ï)
(iuml \"{i} nil &amp;amp;iuml; i ï ï)
(Ntilde \~{N} nil &amp;amp;Ntilde; N Ñ Ñ)
(ntilde \~{n} nil &amp;amp;ntilde; n ñ ñ)
(Ograve \`{O} nil &amp;amp;Ograve; O Ò Ò)
(ograve \`{o} nil &amp;amp;ograve; o ò ò)
(Oacute \'{O} nil &amp;amp;Oacute; O Ó Ó)
(oacute \'{o} nil &amp;amp;oacute; o ó ó)
(Ocirc \&lt;sup&gt;O&lt;/sup&gt; nil &amp;amp;Ocirc; O Ô Ô)
(ocirc \&lt;sup&gt;o&lt;/sup&gt; nil &amp;amp;ocirc; o ô ô)
(Otilde \~{O} nil &amp;amp;Otilde; O Õ Õ)
(otilde \~{o} nil &amp;amp;otilde; o õ õ)
(Ouml \"{O} nil &amp;amp;Ouml; Oe Ö Ö)
(ouml \"{o} nil &amp;amp;ouml; oe ö ö)
(Oslash \O nil &amp;amp;Oslash; O Ø Ø)
(oslash \o{} nil &amp;amp;oslash; o ø ø)
(OElig \OE{} nil &amp;amp;OElig; OE OE Œ)
(oelig \oe{} nil &amp;amp;oelig; oe oe œ)
(Scaron \v{S} nil &amp;amp;Scaron; S S Š)
(scaron \v{s} nil &amp;amp;scaron; s s š)
(szlig \ss{} nil &amp;amp;szlig; ss ß ß)
(Ugrave \`{U} nil &amp;amp;Ugrave; U Ù Ù)
(ugrave \`{u} nil &amp;amp;ugrave; u ù ù)
(Uacute \'{U} nil &amp;amp;Uacute; U Ú Ú)
(uacute \'{u} nil &amp;amp;uacute; u ú ú)
(Ucirc \&lt;sup&gt;U&lt;/sup&gt; nil &amp;amp;Ucirc; U Û Û)
(ucirc \&lt;sup&gt;u&lt;/sup&gt; nil &amp;amp;ucirc; u û û)
(Uuml \"{U} nil &amp;amp;Uuml; Ue Ü Ü)
(uuml \"{u} nil &amp;amp;uuml; ue ü ü)
(Yacute \'{Y} nil &amp;amp;Yacute; Y Ý Ý)
(yacute \'{y} nil &amp;amp;yacute; y ý ý)
(Yuml \"{Y} nil &amp;amp;Yuml; Y Y Ÿ)
(yuml \"{y} nil &amp;amp;yuml; y ÿ ÿ)
&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div id="outline-container-sec-1-2" class="outline-3"&gt;
&lt;h3 id="sec-1-2"&gt;&lt;span class="section-number-3"&gt;1.2&lt;/span&gt; Latin (special face)&lt;/h3&gt;
&lt;div class="outline-text-3" id="text-1-2"&gt;
&lt;p&gt;
(fnof \textit{f} nil &amp;amp;fnof; f f ƒ)
(real \Re t &amp;amp;real; R R ℜ)
(image \Im t &amp;amp;image; I I ℑ)
(weierp \wp t &amp;amp;weierp; P P ℘)
&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div id="outline-container-sec-1-3" class="outline-3"&gt;
&lt;h3 id="sec-1-3"&gt;&lt;span class="section-number-3"&gt;1.3&lt;/span&gt; Greek&lt;/h3&gt;
&lt;div class="outline-text-3" id="text-1-3"&gt;
&lt;p&gt;
(Alpha A nil &amp;amp;Alpha; Alpha Alpha Α)
(alpha &amp;alpha; t &amp;amp;alpha; alpha alpha α)
(Beta B nil &amp;amp;Beta; Beta Beta Β)
(beta &amp;beta; t &amp;amp;beta; beta beta β)
(Gamma &amp;Gamma; t &amp;amp;Gamma; Gamma Gamma Γ)
(gamma &amp;gamma; t &amp;amp;gamma; gamma gamma γ)
(Delta &amp;Delta; t &amp;amp;Delta; Delta Gamma Δ)
(delta &amp;delta; t &amp;amp;delta; delta delta δ)
(Epsilon E nil &amp;amp;Epsilon; Epsilon Epsilon Ε)
(epsilon &amp;epsilon; t &amp;amp;epsilon; epsilon epsilon ε)
(varepsilon &amp;epsilon; t &amp;amp;epsilon; varepsilon varepsilon ε)
(Zeta Z nil &amp;amp;Zeta; Zeta Zeta Ζ)
(zeta &amp;zeta; t &amp;amp;zeta; zeta zeta ζ)
(Eta H nil &amp;amp;Eta; Eta Eta Η)
(eta &amp;eta; t &amp;amp;eta; eta eta η)
(Theta &amp;Theta; t &amp;amp;Theta; Theta Theta Θ)
(theta &amp;theta; t &amp;amp;theta; theta theta θ)
(thetasym &amp;thetasym; t &amp;amp;thetasym; theta theta ϑ)
(vartheta &amp;thetasym; t &amp;amp;thetasym; theta theta ϑ)
(Iota I nil &amp;amp;Iota; Iota Iota Ι)
(iota &amp;iota; t &amp;amp;iota; iota iota ι)
(Kappa K nil &amp;amp;Kappa; Kappa Kappa Κ)
(kappa &amp;kappa; t &amp;amp;kappa; kappa kappa κ)
(Lambda &amp;Lambda; t &amp;amp;Lambda; Lambda Lambda Λ)
(lambda &amp;lambda; t &amp;amp;lambda; lambda lambda λ)
(Mu M nil &amp;amp;Mu; Mu Mu Μ)
(mu &amp;mu; t &amp;amp;mu; mu mu μ)
(nu &amp;nu; t &amp;amp;nu; nu nu ν)
(Nu N nil &amp;amp;Nu; Nu Nu Ν)
(Xi &amp;Xi; t &amp;amp;Xi; Xi Xi Ξ)
(xi &amp;xi; t &amp;amp;xi; xi xi ξ)
(Omicron O nil &amp;amp;Omicron; Omicron Omicron Ο)
(omicron \textit{o} nil &amp;amp;omicron; omicron omicron ο)
(Pi &amp;Pi; t &amp;amp;Pi; Pi Pi Π)
(pi &amp;pi; t &amp;amp;pi; pi pi π)
(Rho P nil &amp;amp;Rho; Rho Rho Ρ)
(rho &amp;rho; t &amp;amp;rho; rho rho ρ)
(Sigma &amp;Sigma; t &amp;amp;Sigma; Sigma Sigma Σ)
(sigma &amp;sigma; t &amp;amp;sigma; sigma sigma σ)
(sigmaf &amp;sigmaf; t &amp;amp;sigmaf; sigmaf sigmaf ς)
(varsigma &amp;sigmaf; t &amp;amp;sigmaf; varsigma varsigma ς)
(Tau T nil &amp;amp;Tau; Tau Tau Τ)
(Upsilon &amp;Upsilon; t &amp;amp;Upsilon; Upsilon Upsilon Υ)
(upsih &amp;Upsilon; t &amp;amp;upsih; upsilon upsilon ϒ)
(upsilon &amp;upsilon; t &amp;amp;upsilon; upsilon upsilon υ)
(Phi &amp;Phi; t &amp;amp;Phi; Phi Phi Φ)
(phi &amp;phi; t &amp;amp;phi; phi phi φ)
(Chi X nil &amp;amp;Chi; Chi Chi Χ)
(chi &amp;chi; t &amp;amp;chi; chi chi χ)
(acutex &amp;acute; x t &amp;amp;acute;x 'x 'x 𝑥́)
(Psi &amp;Psi; t &amp;amp;Psi; Psi Psi Ψ)
(psi &amp;psi; t &amp;amp;psi; psi psi ψ)
(tau &amp;tau; t &amp;amp;tau; tau tau τ)
(Omega &amp;Omega; t &amp;amp;Omega; Omega Omega Ω)
(omega &amp;omega; t &amp;amp;omega; omega omega ω)
(piv \varpi t &amp;amp;piv; omega-pi omega-pi ϖ)
(partial &amp;part; t &amp;amp;part; [partial differential] [partial differential] ∂)
&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div id="outline-container-sec-1-4" class="outline-3"&gt;
&lt;h3 id="sec-1-4"&gt;&lt;span class="section-number-3"&gt;1.4&lt;/span&gt; Hebrew&lt;/h3&gt;
&lt;div class="outline-text-3" id="text-1-4"&gt;
&lt;p&gt;
(alefsym \aleph t &amp;amp;alefsym; aleph aleph ℵ)
&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div id="outline-container-sec-1-5" class="outline-3"&gt;
&lt;h3 id="sec-1-5"&gt;&lt;span class="section-number-3"&gt;1.5&lt;/span&gt; Dead languages&lt;/h3&gt;
&lt;div class="outline-text-3" id="text-1-5"&gt;
&lt;p&gt;
(ETH \DH{} nil &amp;amp;ETH; D Ð Ð)
(eth \dh{} nil &amp;amp;eth; dh ð ð)
(THORN \TH{} nil &amp;amp;THORN; TH Þ Þ)
(thorn \th{} nil &amp;amp;thorn; th þ þ)
&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div id="outline-container-sec-2" class="outline-2"&gt;
&lt;h2 id="sec-2"&gt;&lt;span class="section-number-2"&gt;2&lt;/span&gt; Punctuation&lt;/h2&gt;
&lt;div class="outline-text-2" id="text-2"&gt;
&lt;/div&gt;&lt;div id="outline-container-sec-2-1" class="outline-3"&gt;
&lt;h3 id="sec-2-1"&gt;&lt;span class="section-number-3"&gt;2.1&lt;/span&gt; Dots and Marks&lt;/h3&gt;
&lt;div class="outline-text-3" id="text-2-1"&gt;
&lt;p&gt;
(dots &amp;hellip; nil &amp;amp;hellip; &amp;#x2026; &amp;#x2026; …)
(hellip &amp;hellip; nil &amp;amp;hellip; &amp;#x2026; &amp;#x2026; …)
(middot \textperiodcentered{} nil &amp;amp;middot; . · ·)
(iexcl !` nil &amp;amp;iexcl; ! ¡ ¡)
(iquest ?` nil &amp;amp;iquest; ? ¿ ¿)
&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div id="outline-container-sec-2-2" class="outline-3"&gt;
&lt;h3 id="sec-2-2"&gt;&lt;span class="section-number-3"&gt;2.2&lt;/span&gt; Dash-like&lt;/h3&gt;
&lt;div class="outline-text-3" id="text-2-2"&gt;
&lt;p&gt;
(shy &amp;#x00ad; nil &amp;amp;shy;   )
(ndash &amp;#x2013; nil &amp;amp;ndash; - - –)
(mdash &amp;#x2014; nil &amp;amp;mdash; &amp;#x2013; &amp;#x2013; —)
&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div id="outline-container-sec-2-3" class="outline-3"&gt;
&lt;h3 id="sec-2-3"&gt;&lt;span class="section-number-3"&gt;2.3&lt;/span&gt; Quotations&lt;/h3&gt;
&lt;div class="outline-text-3" id="text-2-3"&gt;
&lt;p&gt;
(quot \textquotedbl{} nil &amp;amp;quot; " " ")
(acute \textasciiacute{} nil &amp;amp;acute; ' ´ ´)
(ldquo \textquotedblleft{} nil &amp;amp;ldquo; " " “)
(rdquo \textquotedblright{} nil &amp;amp;rdquo; " " ”)
(bdquo \quotedblbase{} nil &amp;amp;bdquo; " " „)
(lsquo \textquoteleft{} nil &amp;amp;lsquo; ` ` ‘)
(rsquo \textquoteright{} nil &amp;amp;rsquo; ' ' ’)
(sbquo \quotesinglbase{} nil &amp;amp;sbquo; , , ‚)
(laquo \guillemotleft{} nil &amp;amp;laquo; &amp;lt;&amp;lt; « «)
(raquo \guillemotright{} nil &amp;amp;raquo; &amp;gt;&amp;gt; » »)
(lsaquo \guilsinglleft{} nil &amp;amp;lsaquo; &amp;lt; &amp;lt; ‹)
(rsaquo \guilsinglright{} nil &amp;amp;rsaquo; &amp;gt; &amp;gt; ›)
&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div id="outline-container-sec-3" class="outline-2"&gt;
&lt;h2 id="sec-3"&gt;&lt;span class="section-number-2"&gt;3&lt;/span&gt; Other&lt;/h2&gt;
&lt;div class="outline-text-2" id="text-3"&gt;
&lt;/div&gt;&lt;div id="outline-container-sec-3-1" class="outline-3"&gt;
&lt;h3 id="sec-3-1"&gt;&lt;span class="section-number-3"&gt;3.1&lt;/span&gt; Misc. (often used)&lt;/h3&gt;
&lt;div class="outline-text-3" id="text-3-1"&gt;
&lt;p&gt;
(circ \&lt;sup&gt;nil&lt;/sup&gt; nil &amp;amp;circ; ^ ^ ˆ)
(vert &amp;#124; t &amp;amp;#124; | | |)
(brvbar \textbrokenbar{} nil &amp;amp;brvbar; | ¦ ¦)
(sect \S nil &amp;amp;sect; paragraph § §)
(amp \&amp;amp; nil &amp;amp;amp; &amp;amp; &amp;amp; &amp;amp;)
(lt \textless{} nil &amp;amp;lt; &amp;lt; &amp;lt; &amp;lt;)
(gt \textgreater{} nil &amp;amp;gt; &amp;gt; &amp;gt; &amp;gt;)
(tilde \~{} nil &amp;amp;tilde; ~ ~ ~)
(slash / nil / / / /)
(plus + nil + + + +)
(under \_ nil _ _ _ _)
(equal = nil = = = =)
(asciicirc \textasciicircum{} nil ^ ^ ^ ^)
(dagger \textdagger{} nil &amp;amp;dagger; [dagger] [dagger] †)
(Dagger \textdaggerdbl{} nil &amp;amp;Dagger; [doubledagger] [doubledagger] ‡)
&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div id="outline-container-sec-3-2" class="outline-3"&gt;
&lt;h3 id="sec-3-2"&gt;&lt;span class="section-number-3"&gt;3.2&lt;/span&gt; Whitespace&lt;/h3&gt;
&lt;div class="outline-text-3" id="text-3-2"&gt;
&lt;p&gt;
(nbsp ~ nil &amp;amp;nbsp;      )
(ensp \hspace*{.5em} nil &amp;amp;ensp;      )
(emsp \hspace*{1em} nil &amp;amp;emsp;      )
(thinsp \hspace*{.2em} nil &amp;amp;thinsp;      )
&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div id="outline-container-sec-3-3" class="outline-3"&gt;
&lt;h3 id="sec-3-3"&gt;&lt;span class="section-number-3"&gt;3.3&lt;/span&gt; Currency&lt;/h3&gt;
&lt;div class="outline-text-3" id="text-3-3"&gt;
&lt;p&gt;
(curren \textcurrency{} nil &amp;amp;curren; curr. ¤ ¤)
(cent \textcent{} nil &amp;amp;cent; cent ¢ ¢)
(pound \pounds{} nil &amp;amp;pound; pound £ £)
(yen \textyen{} nil &amp;amp;yen; yen ¥ ¥)
(euro \texteuro{} nil &amp;amp;euro; EUR EUR €)
(EUR &amp;euro; nil &amp;amp;euro; EUR EUR €)
(EURdig &amp;euro; nil &amp;amp;euro; EUR EUR €)
(EURhv &amp;euro; nil &amp;amp;euro; EUR EUR €)
(EURcr &amp;euro; nil &amp;amp;euro; EUR EUR €)
(EURtm &amp;euro; nil &amp;amp;euro; EUR EUR €)
&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div id="outline-container-sec-3-4" class="outline-3"&gt;
&lt;h3 id="sec-3-4"&gt;&lt;span class="section-number-3"&gt;3.4&lt;/span&gt; Property Marks&lt;/h3&gt;
&lt;div class="outline-text-3" id="text-3-4"&gt;
&lt;p&gt;
(copy \textcopyright{} nil &amp;amp;copy; (c) © ©)
(reg \textregistered{} nil &amp;amp;reg; (r) ® ®)
(trade \texttrademark{} nil &amp;amp;trade; TM TM ™)
&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div id="outline-container-sec-3-5" class="outline-3"&gt;
&lt;h3 id="sec-3-5"&gt;&lt;span class="section-number-3"&gt;3.5&lt;/span&gt; Science et al.&lt;/h3&gt;
&lt;div class="outline-text-3" id="text-3-5"&gt;
&lt;p&gt;
(minus &amp;minus; t &amp;amp;minus; - - −)
(pm \textpm{} nil &amp;amp;plusmn; +- ± ±)
(plusmn \textpm{} nil &amp;amp;plusmn; +- ± ±)
(times \texttimes{} nil &amp;amp;times; * × ×)
(frasl / nil &amp;amp;frasl; / / ⁄)
(div \textdiv{} nil &amp;amp;divide; / ÷ ÷)
(frac12 \textonehalf{} nil &amp;amp;frac12; 1/2 ½ ½)
(frac14 \textonequarter{} nil &amp;amp;frac14; 1/4 ¼ ¼)
(frac34 \textthreequarters{} nil &amp;amp;frac34; 3/4 ¾ ¾)
(permil \textperthousand{} nil &amp;amp;permil; per thousand per thousand ‰)
(sup1 \textonesuperior{} nil &amp;amp;sup1; ^1 ¹ ¹)
(sup2 \texttwosuperior{} nil &amp;amp;sup2; ^2 ² ²)
(sup3 \textthreesuperior{} nil &amp;amp;sup3; ^3 ³ ³)
(radic \sqrt{\,} t &amp;amp;radic; [square root] [square root] √)
(sum &amp;sum; t &amp;amp;sum; [sum] [sum] ∑)
(prod &amp;prod; t &amp;amp;prod; [product] [n-ary product] ∏)
(micro \textmu{} nil &amp;amp;micro; micro µ µ)
(macr \textasciimacron{} nil &amp;amp;macr; [macron] ¯ ¯)
(deg \textdegree{} nil &amp;amp;deg; degree ° °)
(prime &amp;prime; t &amp;amp;prime; ' ' ′)
(Prime &amp;prime;&amp;prime; t &amp;amp;Prime; '' '' ″)
(infin \propto t &amp;amp;infin; [infinity] [infinity] ∞)
(infty &amp;infin; t &amp;amp;infin; [infinity] [infinity] ∞)
(prop \propto t &amp;amp;prop; [proportional to] [proportional to] ∝)
(proptp \propto t &amp;amp;prop; [proportional to] [proportional to] ∝)
(not \textlnot{} nil &amp;amp;not; [angled dash] ¬ ¬)
(neg &amp;not; t &amp;amp;not; [angled dash] ¬ ¬)
(land &amp;and; t &amp;amp;and; [logical and] [logical and] ∧)
(wedge &amp;and; t &amp;amp;and; [logical and] [logical and] ∧)
(lor &amp;or; t &amp;amp;or; [logical or] [logical or] ∨)
(vee &amp;or; t &amp;amp;or; [logical or] [logical or] ∨)
(cap &amp;cap; t &amp;amp;cap; [intersection] [intersection] ∩)
(cup &amp;cup; t &amp;amp;cup; [union] [union] ∪)
(int &amp;int; t &amp;amp;int; [integral] [integral] ∫)
(there4 \therefore t &amp;amp;there4; [therefore] [therefore] ∴)
(sim &amp;sim; t &amp;amp;sim; ~ ~ ∼)
(cong &amp;cong; t &amp;amp;cong; [approx. equal to] [approx. equal to] ≅)
(simeq &amp;cong; t &amp;amp;cong; [approx. equal to] [approx. equal to] ≅)
(asymp &amp;asymp; t &amp;amp;asymp; [almost equal to] [almost equal to] ≈)
(approx &amp;asymp; t &amp;amp;asymp; [almost equal to] [almost equal to] ≈)
(ne &amp;ne; t &amp;amp;ne; [not equal to] [not equal to] ≠)
(neq &amp;ne; t &amp;amp;ne; [not equal to] [not equal to] ≠)
(equiv &amp;equiv; t &amp;amp;equiv; [identical to] [identical to] ≡)
(le &amp;le; t &amp;amp;le; &amp;lt;= &amp;lt;= ≤)
(ge &amp;ge; t &amp;amp;ge; &amp;gt;= &amp;gt;= ≥)
(sub &amp;sub; t &amp;amp;sub; [subset of] [subset of] ⊂)
(subset &amp;sub; t &amp;amp;sub; [subset of] [subset of] ⊂)
(sup &amp;sup; t &amp;amp;sup; [superset of] [superset of] ⊃)
(supset &amp;sup; t &amp;amp;sup; [superset of] [superset of] ⊃)
(nsub &amp;not;&amp;sub; t &amp;amp;nsub; [not a subset of] [not a subset of ⊄)
(sube \subseteq t &amp;amp;sube; [subset of or equal to] [subset of or equal to] ⊆)
(nsup &amp;not;&amp;sup; t &amp;amp;nsup; [not a superset of] [not a superset of] ⊅)
(supe \supseteq t &amp;amp;supe; [superset of or equal to] [superset of or equal to] ⊇)
(forall &amp;forall; t &amp;amp;forall; [for all] [for all] ∀)
(exist &amp;exist; t &amp;amp;exist; [there exists] [there exists] ∃)
(exists &amp;exist; t &amp;amp;exist; [there exists] [there exists] ∃)
(empty &amp;empty; t &amp;amp;empty; [empty set] [empty set] ∅)
(emptyset &amp;empty; t &amp;amp;empty; [empty set] [empty set] ∅)
(isin &amp;isin; t &amp;amp;isin; [element of] [element of] ∈)
(in &amp;isin; t &amp;amp;isin; [element of] [element of] ∈)
(notin &amp;notin; t &amp;amp;notin; [not an element of] [not an element of] ∉)
(ni &amp;ni; t &amp;amp;ni; [contains as member] [contains as member] ∋)
(nabla &amp;nabla; t &amp;amp;nabla; [nabla] [nabla] ∇)
(ang &amp;ang; t &amp;amp;ang; [angle] [angle] ∠)
(angle &amp;ang; t &amp;amp;ang; [angle] [angle] ∠)
(perp &amp;perp; t &amp;amp;perp; [up tack] [up tack] ⊥)
(sdot &amp;sdot; t &amp;amp;sdot; [dot] [dot] ⋅)
(cdot &amp;sdot; t &amp;amp;sdot; [dot] [dot] ⋅)
(lceil &amp;lceil; t &amp;amp;lceil; [left ceiling] [left ceiling] ⌈)
(rceil &amp;rceil; t &amp;amp;rceil; [right ceiling] [right ceiling] ⌉)
(lfloor &amp;lfloor; t &amp;amp;lfloor; [left floor] [left floor] ⌊)
(rfloor &amp;rfloor; t &amp;amp;rfloor; [right floor] [right floor] ⌋)
(lang \langle t &amp;amp;lang; &amp;lt; &amp;lt; ⟨)
(rang \rangle t &amp;amp;rang; &amp;gt; &amp;gt; ⟩)
(hbar &amp;#8463; t &amp;amp;#8463; hbar hbar ℏ)
&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div id="outline-container-sec-3-6" class="outline-3"&gt;
&lt;h3 id="sec-3-6"&gt;&lt;span class="section-number-3"&gt;3.6&lt;/span&gt; Arrows&lt;/h3&gt;
&lt;div class="outline-text-3" id="text-3-6"&gt;
&lt;p&gt;
(larr &amp;larr; t &amp;amp;larr; &amp;lt;- &amp;lt;- ←)
(leftarrow &amp;larr; t &amp;amp;larr; &amp;lt;- &amp;lt;- ←)
(gets &amp;larr; t &amp;amp;larr; &amp;lt;- &amp;lt;- ←)
(lArr &amp;lArr; t &amp;amp;lArr; &amp;lt;= &amp;lt;= ⇐)
(Leftarrow &amp;lArr; t &amp;amp;lArr; &amp;lt;= &amp;lt;= ⇐)
(uarr &amp;uarr; t &amp;amp;uarr; [uparrow] [uparrow] ↑)
(uparrow &amp;uarr; t &amp;amp;uarr; [uparrow] [uparrow] ↑)
(uArr &amp;uArr; t &amp;amp;uArr; [dbluparrow] [dbluparrow] ⇑)
(Uparrow &amp;uArr; t &amp;amp;uArr; [dbluparrow] [dbluparrow] ⇑)
(rarr &amp;rarr; t &amp;amp;rarr; -&amp;gt; -&amp;gt; →)
(to &amp;rarr; t &amp;amp;rarr; -&amp;gt; -&amp;gt; →)
(rightarrow &amp;rarr; t &amp;amp;rarr; -&amp;gt; -&amp;gt; →)
(rArr &amp;rArr; t &amp;amp;rArr; =&amp;gt; =&amp;gt; ⇒)
(Rightarrow &amp;rArr; t &amp;amp;rArr; =&amp;gt; =&amp;gt; ⇒)
(darr &amp;darr; t &amp;amp;darr; [downarrow] [downarrow] ↓)
(downarrow &amp;darr; t &amp;amp;darr; [downarrow] [downarrow] ↓)
(dArr &amp;dArr; t &amp;amp;dArr; [dbldownarrow] [dbldownarrow] ⇓)
(Downarrow &amp;dArr; t &amp;amp;dArr; [dbldownarrow] [dbldownarrow] ⇓)
(harr &amp;harr; t &amp;amp;harr; &amp;lt;-&amp;gt; &amp;lt;-&amp;gt; ↔)
(leftrightarrow &amp;harr; t &amp;amp;harr; &amp;lt;-&amp;gt; &amp;lt;-&amp;gt; ↔)
(hArr &amp;hArr; t &amp;amp;hArr; &amp;lt;=&amp;gt; &amp;lt;=&amp;gt; ⇔)
(Leftrightarrow &amp;hArr; t &amp;amp;hArr; &amp;lt;=&amp;gt; &amp;lt;=&amp;gt; ⇔)
(crarr &amp;crarr; t &amp;amp;crarr; &amp;lt;-' &amp;lt;-' ↵)
(hookleftarrow &amp;crarr; t &amp;amp;crarr; &amp;lt;-' &amp;lt;-' ↵)
&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div id="outline-container-sec-3-7" class="outline-3"&gt;
&lt;h3 id="sec-3-7"&gt;&lt;span class="section-number-3"&gt;3.7&lt;/span&gt; Function names&lt;/h3&gt;
&lt;div class="outline-text-3" id="text-3-7"&gt;
&lt;p&gt;
(arccos arccos t arccos arccos arccos arccos)
(arcsin arcsin t arcsin arcsin arcsin arcsin)
(arctan arctan t arctan arctan arctan arctan)
(arg arg t arg arg arg arg)
(cos cos t cos cos cos cos)
(cosh cosh t cosh cosh cosh cosh)
(cot cot t cot cot cot cot)
(coth coth t coth coth coth coth)
(csc csc t csc csc csc csc)
(deg &amp;deg; t &amp;amp;deg; deg deg deg)
(det det t det det det det)
(dim dim t dim dim dim dim)
(exp exp t exp exp exp exp)
(gcd gcd t gcd gcd gcd gcd)
(hom hom t hom hom hom hom)
(inf inf t inf inf inf inf)
(ker ker t ker ker ker ker)
(lg lg t lg lg lg lg)
(lim lim t lim lim lim lim)
(liminf liminf t liminf liminf liminf liminf)
(limsup limsup t limsup limsup limsup limsup)
(ln ln t ln ln ln ln)
(log log t log log log log)
(max max t max max max max)
(min min t min min min min)
(Pr Pr t Pr Pr Pr Pr)
(sec sec t sec sec sec sec)
(sin sin t sin sin sin sin)
(sinh sinh t sinh sinh sinh sinh)
(sup &amp;sup; t &amp;amp;sup; sup sup sup)
(tan tan t tan tan tan tan)
(tanh tanh t tanh tanh tanh tanh)
&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div id="outline-container-sec-3-8" class="outline-3"&gt;
&lt;h3 id="sec-3-8"&gt;&lt;span class="section-number-3"&gt;3.8&lt;/span&gt; Signs &amp;amp; Symbols&lt;/h3&gt;
&lt;div class="outline-text-3" id="text-3-8"&gt;
&lt;p&gt;
(bull \textbullet{} nil &amp;amp;bull; * * •)
(bullet \textbullet{} nil &amp;amp;bull; * * •)
(star * t * * * ⋆)
(lowast &amp;lowast; t &amp;amp;lowast; * * ∗)
(ast &amp;lowast; t &amp;amp;lowast; * * *)
(odot o t o [circled dot] [circled dot] ʘ)
(oplus &amp;oplus; t &amp;amp;oplus; [circled plus] [circled plus] ⊕)
(otimes &amp;otimes; t &amp;amp;otimes; [circled times] [circled times] ⊗)
(checkmark &amp;#10003; t &amp;amp;#10003; [checkmark] [checkmark] ✓)
&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div id="outline-container-sec-3-9" class="outline-3"&gt;
&lt;h3 id="sec-3-9"&gt;&lt;span class="section-number-3"&gt;3.9&lt;/span&gt; Miscellaneous (seldom used)&lt;/h3&gt;
&lt;div class="outline-text-3" id="text-3-9"&gt;
&lt;p&gt;
(para \P{} nil &amp;amp;para; [pilcrow] ¶ ¶)
(ordf \textordfeminine{} nil &amp;amp;ordf; &lt;span class="underline"&gt;a&lt;/span&gt; ª ª)
(ordm \textordmasculine{} nil &amp;amp;ordm; &lt;span class="underline"&gt;o&lt;/span&gt; º º)
(cedil \c{} nil &amp;amp;cedil; [cedilla] ¸ ¸)
(oline \overline{~} t &amp;amp;oline; [overline] ¯ ‾)
(uml \textasciidieresis{} nil &amp;amp;uml; [diaeresis] ¨ ¨)
(zwnj \/{} nil &amp;amp;zwnj;   ‌)
(zwj  nil &amp;amp;zwj;   ‍)
(lrm  nil &amp;amp;lrm;   ‎)
(rlm  nil &amp;amp;rlm;   ‏)
&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div id="outline-container-sec-3-10" class="outline-3"&gt;
&lt;h3 id="sec-3-10"&gt;&lt;span class="section-number-3"&gt;3.10&lt;/span&gt; Smilies&lt;/h3&gt;
&lt;div class="outline-text-3" id="text-3-10"&gt;
&lt;p&gt;
(smile &amp;#9786; t &amp;amp;#9786; :-) :-) ⌣)
(smiley &amp;#9786; nil &amp;amp;#9786; :-) :-) ☺)
(blacksmile \blacksmiley{} nil &amp;amp;#9787; :-) :-) ☻)
(sad \frownie{} nil &amp;amp;#9785; :-( :-( ☹)
&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;

&lt;div id="outline-container-sec-3-11" class="outline-3"&gt;
&lt;h3 id="sec-3-11"&gt;&lt;span class="section-number-3"&gt;3.11&lt;/span&gt; Suits&lt;/h3&gt;
&lt;div class="outline-text-3" id="text-3-11"&gt;
&lt;p&gt;
(clubs &amp;clubs; t &amp;amp;clubs; [clubs] [clubs] ♣)
(clubsuit &amp;clubs; t &amp;amp;clubs; [clubs] [clubs] ♣)
(spades &amp;spades; t &amp;amp;spades; [spades] [spades] ♠)
(spadesuit &amp;spades; t &amp;amp;spades; [spades] [spades] ♠)
(hearts &amp;heartsuit; t &amp;amp;hearts; [hearts] [hearts] ♥)
(heartsuit &amp;heartsuit; t &amp;amp;heartsuit; [hearts] [hearts] ♥)
(diams &amp;diams; t &amp;amp;diams; [diamonds] [diamonds] ♦)
(diamondsuit &amp;diams; t &amp;amp;diams; [diamonds] [diamonds] ♦)
(Diamond \diamond t &amp;amp;diamond; [diamond] [diamond] ⋄)
(loz \diamond t &amp;amp;loz; [lozenge] [lozenge] ◊)
&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id="outline-container-sec-4" class="outline-2"&gt;
&lt;h2 id="sec-4"&gt;&lt;span class="section-number-2"&gt;4&lt;/span&gt; Summary.&lt;/h2&gt;
&lt;div class="outline-text-2" id="text-4"&gt;
&lt;p&gt;
Wow, there are a lot of commands &amp;#9786;. We just need to use them. For example, I can write Gr&amp;uuml;neisen, and it finally renders the way it should!
&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Copyright (C) 2013 by John Kitchin. See the &lt;a href="/copying.html"&gt;License&lt;/a&gt; for information about copying.&lt;p&gt;&lt;p&gt;&lt;a href="/org/2013/10/03/Exporting-accented-characters-to-latex-from-org-mode.org"&gt;org-mode source&lt;/a&gt;&lt;p&gt;]]></content:encoded>
    </item>
  </channel>
</rss>
