Automatic execution of code blocks
Compile this document with
doconce format ipynb execute.do.txt --execute
Hidden execution cells (pyhid, pycod-e) can be used to perform operations (e.g. imports, variable initializations) without showing any cell.
The pyhid environment executes and hides the cell in formats other than .ipynb:
The pycod-e environment executed but hides the cell also in .ipynb files:
import os
os.listdir(".")
a = 1
pycod is a normal cell that should execute automatically when using --execute. Note that this cells relies on code executed in a previous hidden cell:
print(sys.version)
b = 2
c = a + b
print("The result is {}".format(c))
c
The *-t environment (e.g. pycod-t) formats a cell to text, and can be used to print an example
# This is a for-loop example
for i in [0,10]:
print(i)
The *out (e.g. pycod-out) environment can be used to write a cell output:
# This is a normal pycod cell
1/0
1/0: You cannot divide by zero
Plotting
This is a cell that should plot and output:
from pylab import *
x = linspace(0, 10, 100)
plot(x, x*x)
show()
To improve quality when exporting to LaTeX, the following code has automatically
been run to enable PDF export in notebooks.
from IPython.display import set_matplotlib_formats
set_matplotlib_formats('png', 'pdf')
Ignore output
Predefined output can be omitted by passing --ignore_output to DocOnce.
This will remove all environments ending with out.
Code with errors
If code contains errors, it will still be run and the exception shown as part
of the output:
for a in range(10)
print(a)
Opening files
The working directory is the same as the .do.txt file.
You may want to use os.chdir to change the directory.
with open("../LICENSE") as f:
print(f.read())