Automatically Use Separate Contexts for Different Notebooks
Set up notebooks so that symbols in one will not interfere with symbols in another, a technique useful for creating “scratch” notebooks for computational experiments.
Using the Menu...
In a notebook with the default context settings, new symbols are created in the Global` context:
Give a second notebook a unique context so that symbols created in it will not interfere with symbols created in the first notebook. With the second notebook frontmost, choose Evaluation ▶ Notebook’s Default Context ▶ Unique to This Notebook:
Symbols in the second notebook are created in a context unique to that notebook:
Since Global`x in the first notebook is different than Notebook$$676$251903`x in the second, setting the value of x in the second notebook does not affect the value of x in the first:
- Packages loaded in other notebooks are unavailable to notebooks with unique contexts.
Programmatically...
In a notebook with the default context settings, new symbols are created in the Global` context:
Set up a second notebook so that it creates symbols in a unique context:
Symbols in the second notebook are created in a context unique to that notebook:
Since Global`x in the first notebook is different than Notebook$$676$251903`x in the second, setting the value of x in the second notebook does not affect the value of x in the first:
- Packages loaded in other notebooks are unavailable to notebooks with unique contexts.