Skip to content

Latest commit

 

History

History
128 lines (94 loc) · 2.92 KB

inline.md

File metadata and controls

128 lines (94 loc) · 2.92 KB
file_format kernelspec mystnb
mystnb
name
python3
execution_mode
inline

(render/eval)=

Inline variable evaluation (eval)

The eval submodule allows you to insert code variables directly into the text flow of your documentation.

Use of eval requires that the notebook execution mode is set to inline, since the variables are evaluated by the notebook kernel. For example, using the top-matter:

---
file_format: mystnb
kernelspec:
  name: python3
mystnb:
    execution_mode: 'inline'
---

Basic example

Below we set a variable v1 within a code cell.

v1 = "My variable"

Using the eval role, we can insert the variable v1 into the text of a paragraph:

{eval}`v1` -> {eval}v1

If we update the variable, we can see the change reflected in subsequent evaluation:

v1 = "My new variable"

{eval}`v1` -> {eval}v1

:::{important} Variable names must match the regex [a-zA-Z][a-zA-Z0-9_]* :::

Inserting different output types

Any variable type can be inserted into the text flow using the eval role, and the most suitable output type will be used, based on the output format (see {ref}render/output/priority for more information). For example:

import ipywidgets as widgets
slider = widgets.IntSlider(value=5, min=0, max=10)

An inline slider ({eval}`slider`): {eval}slider

You can also use the eval directive to insert variables as blocks:

import matplotlib.pyplot as plt
myplot, ax = plt.subplots(figsize=(6, 2))
mean = 2.0
ax.plot([1,2,3])
ax.grid()
plt.close()

using:

```{eval} myplot
```

gives:

Embedding outputs in figures

The eval:figure directive allows you to embed outputs in a figure, with an optional caption and other formatting options.

For example, we can embed the output of the above plot in a figure:

```{eval:figure} myplot
:name: myplot
My plot with a mean value of {eval}`mean`.
```

which gives:

:name: myplot
My plot with a mean value of {eval}`mean`.

That can be referenced with {ref}`myplot`: {ref}myplot

The following directive options are available:

:::{table} eval:figure directive options

Option Type Description
figwidth length or percentage The width of the figure
figclass text A space-separated list of class names for the figure
name text referenceable label for the figure
alt text Alternate text of an image
height length The desired height of an image
width length or percentage The width of an image
scale percentage The uniform scaling factor of an image
class text A space-separated list of class names for the image
align text left, center, or right
:::