My sample Jupyter Notebook
In [1]:
import sys
sys . version_info
sys.version_info(major=3, minor=6, micro=2, releaselevel='final', serial=0)
In [2]:
% matplotlib inline
import matplotlib.pyplot as plt
import numpy as np
In [3]:
x = np . linspace ( 0 , 3 * np . pi , 500 )
plt . plot ( x , np . sin ( x ** 2 ))
plt . title ( 'A simple chirp' );
Setting up files for Jekyll
From the command line:
jupyter nbconvert --to markdown <notebook>.ipynb --config jekyll.py
Now some LaTeX magic:
Be aware that this is a markdown cell inside a Jupyter notebook, and the formula
is converted by Jupyter.
Experiments
In [4]:
import math
import numpy as np
import tables as pt
from IPython.display import display , Math , Latex , SVG
The wing
In [5]:
c_r = 4.0 ; c_t = 1.5 ; b = 27 ; Lambda_le = 25 * math . pi / 180
In [6]:
Latex (
r'\begin{array}{rl}'
+ r'\text{root chord,}\, c_{\mathrm{r}}: & ' + r'{0}' . format ( c_r ) + r'\,\text{m}'
+ r'\newline'
+ r'\text{tip chord,}\, c_{\mathrm{t}}: & ' + r'{0}' . format ( c_t ) + r'\,\text{m}'
+ r'\newline'
+ r'\text{span,}\, b: & ' + r'{0}' . format ( b ) + r'\,\text{m}'
+ r'\newline'
+ r'\text{leading edge sweep,}\, \Lambda_{\mathrm{le}}: &'
+ r'{0}' . format ( Lambda_le * 180 / math . pi ) + r'\,\text{deg}'
+ r'\end{array}'
)
\begin{array}{rl}\text{root chord,}\, c_{\mathrm{r}}: & 4.0\,\text{m}\newline\text{tip chord,}\, c_{\mathrm{t}}: & 1.5\,\text{m}\newline\text{span,}\, b: & 27\,\text{m}\newline\text{leading edge sweep,}\, \Lambda_{\mathrm{le}}: &25.0\,\text{deg}\end{array}
Testing tikz output in Jupyter notebooks
In [7]:
% load_ext tikzmagic
Then start each cell with the magic string: %%tikz
followed by optional
directives.
Directives:
-s, --size: Pixel size of plots.
example: -s <width,height>. Default is -s 400,240
-f, --format: Plot format (png, svg or jpg)
-l, --library: TikZ libraries to load, separated by comma.
example: -l matrix,arrows.
-S, --save: Save a copy to "filename".
-p, --package: LaTeX packages to load, separated by comma.
example: -p pgfplots,textcomp
-e, --encoding: text encoding.
example: -e utf-8
In [8]:
%% tikz -- scale 2 -- size 300 , 300 - f svg
\draw ( 0 , 0 ) rectangle ( 1 , 1 );
\filldraw ( 0.5 , 0.5 ) circle ( .1 );
In [9]:
%% tikz - p pgfplots - f svg
\begin { axis }[
xlabel = $ x $ ,
ylabel = { $ f ( x ) = x ^ 2 - x + 4 $ }
]
\addplot { x ^ 2 - x + 4 };
\end { axis }
In [10]:
%% tikz - p pgfplots - f svg - l calc , positioning
\path node [ fill = red ]( ROW_1 ){ this is some line of text };
\path node
[ fill = green ,
above = 0 mm of ROW_1 . north west ,
xshift =- 5 mm ,
anchor = south west ,
scale = 0.5
] ( lt ) { little tag };
\path node
[ fill = green ,
above left = 0 mm and 5 mm of lt . north west ,
anchor = south west ,
scale = 0.5
]{ little tag };
In [11]:
%% tikz - p tkz - fct - l positioning - f svg - s 800 , 500
\begin { scope }
\tkzInit [ xmin =- 3 , xmax = 3 , xstep = 2 , ymin =- 3 , ymax = 3 , ystep = 2 ]
\tkzGrid [ sub , subxstep = 1 , subystep = 1 ]( - 2 , - 2 )( 2 , 2 )
\tkzAxeXY
\node ( a ) at ( 3 , 0 ) { hello };
\end { scope }
\begin { scope }[ xshift = 5 cm ]
\tkzInit [ xmin =- 3 , xmax = 3 , xstep = 2 , ymin =- 3 , ymax = 3 , ystep = 2 ]
\tkzGrid [ sub , subxstep = 1 , subystep = 1 ]( - 2 , - 2 )( 2 , 2 )
\tkzAxeXY
\node ( b ) at ( 3 , 0 ) { hello };
\tkzText [ above , color = red ]( 3 , 0 ){ hello }
\end { scope }
In [12]:
%% tikz - l decorations . pathreplacing , shapes . misc - f svg - s 800 , 500
\tikzset {
show curve controls /. style = {
decoration = {
show path construction ,
curveto code = {
\draw [ blue , densely dashed ]
( \tikzinputsegmentfirst ) -- ( \tikzinputsegmentsupporta )
node [ at end , cross out , draw , solid , red , inner sep = 2 pt ]{};
\draw [ blue , densely dashed ]
( \tikzinputsegmentsupportb ) -- ( \tikzinputsegmentlast )
node [ at start , cross out , draw , solid , red , inner sep = 2 pt ]{};
}
}, decorate
}
}
\draw [ gray ! 50 ] ( 0 , 0 ) -- ( 1 , 1 ) -- ( 3 , 1 ) -- ( 1 , 0 ) -- ( 2 , - 1 ) -- cycle ;
\draw [ show curve controls ] plot [ smooth cycle ] coordinates {( 0 , 0 ) ( 1 , 1 ) ( 3 , 1 ) ( 1 , 0 ) ( 2 , - 1 )};
\draw [ red ] plot [ smooth cycle ] coordinates {( 0 , 0 ) ( 1 , 1 ) ( 3 , 1 ) ( 1 , 0 ) ( 2 , - 1 )};
\draw [ gray ! 50 , xshift = 4 cm ] ( 0 , 0 ) -- ( 1 , 1 ) -- ( 3 , - 1 ) -- ( 5 , 1 ) -- ( 7 , - 2 );
\draw [ cyan , xshift = 4 cm , line width = 1.2 pt ] plot [ smooth , tension = 2 ] coordinates { ( 0 , 0 ) ( 1 , 1 ) ( 3 , - 1 ) ( 5 , 1 ) ( 7 , - 2 )};
\draw [ show curve controls , cyan , xshift = 4 cm ] plot [ smooth , tension = 2 ] coordinates { ( 0 , 0 ) ( 1 , 1 ) ( 3 , - 1 ) ( 5 , 1 ) ( 7 , - 2 )};