Cells as Wolfram Language Expressions

Like other objects in the Wolfram Language, the cells in a notebook, and in fact the whole notebook itself, are all ultimately represented as Wolfram Language expressions. With the standard notebook front end, you can use the command (MenuGrayLink[Show Expression, paclet:ref/menuitem/ShowExpression]) to see the text of the Wolfram Language expression that corresponds to any particular cell.

Handling (RefLink[Cell, paclet:ref/Cell]) expressions in the notebook front end.

Here is a cell displayed in its usual way in the front end.

Here is the underlying Wolfram Language expression that corresponds to the cell.

Wolfram Language expressions corresponding to cells in notebooks.

Within a given notebook, there is always a collection of styles that can be used to determine the appearance and behavior of cells. Typically the styles are named so as to reflect what role cells which have them will play in the notebook.

Some typical cell styles defined in notebooks.

Here are several cells in different styles.

Here are the expressions that correspond to these cells.

A particular style such as "Section" or "Text" defines various settings for the options associated with a cell. You can override these settings by explicitly setting options within a specific cell.

Here is the expression for a cell in which options are set to use a gray background and to put a frame around the cell.

This is how the cell looks in a notebook.

A few of the large number of possible options for cells.

The standard notebook front end for the Wolfram System provides several ways to change the options of a cell. In simple cases, such as changing the size or color of text, there will often be a specific menu item for the purpose. But in general you can use the Option Inspector that is built into the front end. This is typically accessed using the (MenuGrayLink[Option Inspector, paclet:ref/menuitem/OptionInspector]) menu item in the (MenuGrayLink[Format, paclet:guide/FormatMenu]) menu.

Ways to manipulate cells in the front end.

Sometimes you will want just to change the options associated with a specific cell. But often you may want to change the options associated with all cells in your notebook that have a particular style. You can do this by using the (MenuGrayLink[Edit Stylesheet, paclet:ref/menuitem/EditStylesheet]) command in the front end to create a custom stylesheet associated with your notebook. Then use the controls in the stylesheet to create a cell corresponding to the style you want to change and modify the options for that cell.

Inserting cells into a notebook.

This inserts a section cell into the current notebook:

CellPrint[Cell["The heading","Section"]]

This inserts a text cell with a frame around it:

CellPrint[Cell["Some text","Text",CellFrame->True]]

(RefLink[CellPrint, paclet:ref/CellPrint]) allows you to take a raw (RefLink[Cell, paclet:ref/Cell]) expression and insert it into your current notebook. The cell created by (RefLink[CellPrint, paclet:ref/CellPrint]) is grouped with the input and will be overwritten if the input is reevaluated.