In [11]:
# some temp stuff
# /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/nbconvert

In [7]:
%%javascript
var nb = IPython.notebook;
var kernel = IPython.notebook.kernel;
var command = "NOTEBOOK_FULL_PATH = '" + nb.base_url + nb.notebook_path + "'";
kernel.execute(command);

var kernel = IPython.notebook.kernel;
var thename = window.document.getElementById("notebook_name").innerHTML;
var command = "theNotebook = " + "'"+thename+"'";
kernel.execute(command);



In [8]:
# load libraries and set plot parameters
import numpy as np
import publicationextensions.PrettyTable as pt

import matplotlib.pyplot as plt
%matplotlib inline

from IPython.display import set_matplotlib_formats
set_matplotlib_formats('pdf', 'png')
plt.rcParams['savefig.dpi'] = 75

plt.rcParams['figure.autolayout'] = False
plt.rcParams['figure.figsize'] = 10, 6
plt.rcParams['axes.labelsize'] = 18
plt.rcParams['axes.titlesize'] = 20
plt.rcParams['font.size'] = 16
plt.rcParams['lines.linewidth'] = 2.0
plt.rcParams['lines.markersize'] = 8
plt.rcParams['legend.fontsize'] = 14

plt.rcParams['text.usetex'] = True
plt.rcParams['font.family'] = "serif"
plt.rcParams['font.serif'] = "cm"
plt.rcParams['text.latex.preamble'] = "\usepackage{subdepth}, \usepackage{type1cm}"

In [9]:
data_dir = "data/"

In [10]:
# create data

recalc = False

if recalc==True:
    # this would typically something timeconsuming!
    t = np.linspace(0,20,100)
    someCoolData = np.random.random((3,2))
    moreCoolData = np.sin(t[::,np.newaxis]*someCoolData[:,0])*someCoolData[:,1]

    outfile = open(data_dir+"coolData.npz","w")
    np.savez(outfile, t=t, someCoolData=someCoolData, moreCoolData=moreCoolData)
    outfile.close()
else:
    infile = open(data_dir+"coolData.npz")
    npzfile = np.load(infile)
    t = npzfile["t"]
    someCoolData = npzfile["someCoolData"]
    moreCoolData = npzfile["moreCoolData"]
    infile.close()

Introduction

Let us first create some simple data, some values for $a$ and $b$, which are shown in Table \ref{tab:data}. From that we can print some nice figures, namely Fig. \ref{fig:amazingdata} and \ref{fig:amazingdata_seperate}.

We can also do some nice calculations and show the result in the markdown cell: $a+b = $ {{"%2.3f" % (someCoolData[0,0]+someCoolData[0,1]) }}, where $a$, $b$ are from the first row from below's table.

$a+b = $ {{"%2.3f" % (someCoolData[0,0]+someCoolData[0,1]) }}

We can also cite some nice scientific article suc h as the the Gromacs paper by Pronk et. al..

Some test for a name containing weird slovenian characters:

Cite some book chapter

Cite some book:

Color is also no problem.

Color with a linebreak is also not a problem any more.

One can also do formulas: $\int f(x) = F(x)$


In [32]:
pt.PrettyTable(someCoolData, ["$a$", "$b$"], formatstring="3.2f", span_page=True, print_latex_longtable=True)


Out[32]:
$a$$b$
0.700.28
0.130.49
0.410.21

In [33]:
a = 10
b = 5
print "Some Result: ", a+b


Some Result:  15

In [34]:
from IPython.display import Image
Image(filename='lena.png')


Out[34]:

Results

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas elementum blandit consequat. Nunc ac rhoncus purus. Duis vestibulum mi id aliquam lacinia. Aliquam eu ipsum purus. Nunc eget lacus ac est scelerisque rhoncus sed id justo. Nam blandit placerat pharetra. Quisque consequat ligula a tincidunt lobortis. Curabitur magna risus, consectetur a massa id, tincidunt maximus urna. Curabitur dignissim convallis erat, id condimentum purus lacinia quis. Nam ut gravida eros, quis tempor turpis. Maecenas blandit eros non purus commodo pellentesque. Fusce pulvinar ipsum tellus, facilisis interdum lorem ultrices vitae. Donec in commodo libero. Nunc et arcu ipsum. In ultricies lacus eu quam ullamcorper eleifend. Proin sed purus fermentum, commodo eros at, faucibus ipsum.

Suspendisse non leo id nisi luctus vehicula eu ac massa. Nunc eu tortor pretium, egestas nisi eget, volutpat eros. Fusce lectus nunc, pulvinar sed nisl vitae, laoreet laoreet nisl. Vestibulum lorem justo, semper nec ultrices sit amet, facilisis eget urna. Nunc tincidunt pellentesque metus, ut laoreet felis vehicula quis. Donec facilisis ac velit eget placerat. Nulla dictum quam ac magna auctor, eget bibendum ex cursus. Duis fringilla eu lorem eget iaculis. Curabitur porta dictum aliquam. In auctor mollis interdum. Fusce vel enim urna. Mauris metus quam, ultricies et quam in, lacinia tempor eros. Sed aliquet tincidunt purus eu pellentesque. Ut dui massa, pulvinar volutpat venenatis commodo, vulputate in diam. Nullam iaculis varius eleifend.

Integer in eros mollis, hendrerit diam non, sodales risus. Donec sit amet eros tristique, pellentesque nisi sodales, gravida erat. Ut pretium, sem ac aliquet vulputate, lacus arcu blandit elit, at rutrum neque ligula a risus. Etiam sed ipsum id massa porta malesuada ut ac dolor. Nam pretium finibus mollis. Vestibulum aliquam augue mi, ut vulputate mi molestie eget. In ligula est, porttitor ac est eu, cursus fringilla metus. Duis nec velit malesuada, facilisis lectus id, posuere est. Integer rhoncus, lectus condimentum pretium gravida, nulla mi aliquet mauris, ac tempus lectus urna ut quam. In a ultrices sem. Mauris cursus justo in tortor viverra interdum. Nunc quis laoreet dui. Nunc sed sagittis quam.

Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Morbi est nibh, lobortis vel eleifend gravida, vulputate id urna. Sed in bibendum erat. Pellentesque elementum quam vitae massa ultricies rhoncus. Nullam ornare sit amet orci quis hendrerit. Duis finibus turpis vel est egestas, ut consequat eros egestas. Curabitur suscipit scelerisque lacus, vitae porttitor neque fermentum quis. Ut pulvinar id justo ut aliquet.

Donec bibendum metus ac purus convallis suscipit. Integer tempus faucibus urna, ut interdum eros tincidunt ac. Sed eget nibh ligula. Quisque porttitor malesuada lectus, vel sollicitudin massa pellentesque vel. In eget scelerisque risus. Etiam ac varius nisi. Nam porta, elit ac sollicitudin condimentum, justo nibh tristique nunc, ac volutpat enim arcu elementum neque. Curabitur finibus fringilla tortor eget fringilla.


In [35]:
lines = plt.plot(t, moreCoolData )
plt.xlabel(r"$t$")
plt.ylabel(r"$a\,\sin(b\,t)$")
plt.legend(lines, [r"$a = %1.2f, b = %1.2f$"%(a,b) for a,b in someCoolData]);


Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas elementum blandit consequat. Nunc ac rhoncus purus. Duis vestibulum mi id aliquam lacinia. Aliquam eu ipsum purus. Nunc eget lacus ac est scelerisque rhoncus sed id justo. Nam blandit placerat pharetra. Quisque consequat ligula a tincidunt lobortis. Curabitur magna risus, consectetur a massa id, tincidunt maximus urna. Curabitur dignissim convallis erat, id condimentum purus lacinia quis. Nam ut gravida eros, quis tempor turpis. Maecenas blandit eros non purus commodo pellentesque. Fusce pulvinar ipsum tellus, facilisis interdum lorem ultrices vitae. Donec in commodo libero. Nunc et arcu ipsum. In ultricies lacus eu quam ullamcorper eleifend. Proin sed purus fermentum, commodo eros at, faucibus ipsum.

Suspendisse non leo id nisi luctus vehicula eu ac massa. Nunc eu tortor pretium, egestas nisi eget, volutpat eros. Fusce lectus nunc, pulvinar sed nisl vitae, laoreet laoreet nisl. Vestibulum lorem justo, semper nec ultrices sit amet, facilisis eget urna. Nunc tincidunt pellentesque metus, ut laoreet felis vehicula quis. Donec facilisis ac velit eget placerat. Nulla dictum quam ac magna auctor, eget bibendum ex cursus. Duis fringilla eu lorem eget iaculis. Curabitur porta dictum aliquam. In auctor mollis interdum. Fusce vel enim urna. Mauris metus quam, ultricies et quam in, lacinia tempor eros. Sed aliquet tincidunt purus eu pellentesque. Ut dui massa, pulvinar volutpat venenatis commodo, vulputate in diam. Nullam iaculis varius eleifend.

Integer in eros mollis, hendrerit diam non, sodales risus. Donec sit amet eros tristique, pellentesque nisi sodales, gravida erat. Ut pretium, sem ac aliquet vulputate, lacus arcu blandit elit, at rutrum neque ligula a risus. Etiam sed ipsum id massa porta malesuada ut ac dolor. Nam pretium finibus mollis. Vestibulum aliquam augue mi, ut vulputate mi molestie eget. In ligula est, porttitor ac est eu, cursus fringilla metus. Duis nec velit malesuada, facilisis lectus id, posuere est. Integer rhoncus, lectus condimentum pretium gravida, nulla mi aliquet mauris, ac tempus lectus urna ut quam. In a ultrices sem. Mauris cursus justo in tortor viverra interdum. Nunc quis laoreet dui. Nunc sed sagittis quam.

Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Morbi est nibh, lobortis vel eleifend gravida, vulputate id urna. Sed in bibendum erat. Pellentesque elementum quam vitae massa ultricies rhoncus. Nullam ornare sit amet orci quis hendrerit. Duis finibus turpis vel est egestas, ut consequat eros egestas. Curabitur suscipit scelerisque lacus, vitae porttitor neque fermentum quis. Ut pulvinar id justo ut aliquet.

Donec bibendum metus ac purus convallis suscipit. Integer tempus faucibus urna, ut interdum eros tincidunt ac. Sed eget nibh ligula. Quisque porttitor malesuada lectus, vel sollicitudin massa pellentesque vel. In eget scelerisque risus. Etiam ac varius nisi. Nam porta, elit ac sollicitudin condimentum, justo nibh tristique nunc, ac volutpat enim arcu elementum neque. Curabitur finibus fringilla tortor eget fringilla.


In [36]:
f, axarr = plt.subplots(1, len(someCoolData), figsize=(20,8))
for i in range(len(someCoolData)):
    axarr[i].plot(t, moreCoolData[:,i], label = r"$a = %1.2f, b = %1.2f$"%(someCoolData[i,0],someCoolData[i,1]))
    axarr[i].legend()
    axarr[i].set_xlabel("t")
    axarr[i].set_ylabel(r"$a\,\sin(b\,t)$")


Even more sample text

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas elementum blandit consequat. Nunc ac rhoncus purus. Duis vestibulum mi id aliquam lacinia. Aliquam eu ipsum purus. Nunc eget lacus ac est scelerisque rhoncus sed id justo. Nam blandit placerat pharetra. Quisque consequat ligula a tincidunt lobortis. Curabitur magna risus, consectetur a massa id, tincidunt maximus urna. Curabitur dignissim convallis erat, id condimentum purus lacinia quis. Nam ut gravida eros, quis tempor turpis. Maecenas blandit eros non purus commodo pellentesque. Fusce pulvinar ipsum tellus, facilisis interdum lorem ultrices vitae. Donec in commodo libero. Nunc et arcu ipsum. In ultricies lacus eu quam ullamcorper eleifend. Proin sed purus fermentum, commodo eros at, faucibus ipsum.

Suspendisse non leo id nisi luctus vehicula eu ac massa. Nunc eu tortor pretium, egestas nisi eget, volutpat eros. Fusce lectus nunc, pulvinar sed nisl vitae, laoreet laoreet nisl. Vestibulum lorem justo, semper nec ultrices sit amet, facilisis eget urna. Nunc tincidunt pellentesque metus, ut laoreet felis vehicula quis. Donec facilisis ac velit eget placerat. Nulla dictum quam ac magna auctor, eget bibendum ex cursus. Duis fringilla eu lorem eget iaculis. Curabitur porta dictum aliquam. In auctor mollis interdum. Fusce vel enim urna. Mauris metus quam, ultricies et quam in, lacinia tempor eros. Sed aliquet tincidunt purus eu pellentesque. Ut dui massa, pulvinar volutpat venenatis commodo, vulputate in diam. Nullam iaculis varius eleifend.

Integer in eros mollis, hendrerit diam non, sodales risus. Donec sit amet eros tristique, pellentesque nisi sodales, gravida erat. Ut pretium, sem ac aliquet vulputate, lacus arcu blandit elit, at rutrum neque ligula a risus. Etiam sed ipsum id massa porta malesuada ut ac dolor. Nam pretium finibus mollis. Vestibulum aliquam augue mi, ut vulputate mi molestie eget. In ligula est, porttitor ac est eu, cursus fringilla metus. Duis nec velit malesuada, facilisis lectus id, posuere est. Integer rhoncus, lectus condimentum pretium gravida, nulla mi aliquet mauris, ac tempus lectus urna ut quam. In a ultrices sem. Mauris cursus justo in tortor viverra interdum. Nunc quis laoreet dui. Nunc sed sagittis quam.

Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Morbi est nibh, lobortis vel eleifend gravida, vulputate id urna. Sed in bibendum erat. Pellentesque elementum quam vitae massa ultricies rhoncus. Nullam ornare sit amet orci quis hendrerit. Duis finibus turpis vel est egestas, ut consequat eros egestas. Curabitur suscipit scelerisque lacus, vitae porttitor neque fermentum quis. Ut pulvinar id justo ut aliquet.

Donec bibendum metus ac purus convallis suscipit. Integer tempus faucibus urna, ut interdum eros tincidunt ac. Sed eget nibh ligula. Quisque porttitor malesuada lectus, vel sollicitudin massa pellentesque vel. In eget scelerisque risus. Etiam ac varius nisi. Nam porta, elit ac sollicitudin condimentum, justo nibh tristique nunc, ac volutpat enim arcu elementum neque. Curabitur finibus fringilla tortor eget fringilla.