You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

123 lines
3.4 KiB

4 years ago
////
Included in:
- user-manual: tables: Cell Formatting
////
[#cell]
=== Cell Formatting
In addition to sharing many of the column specifier capabilities, cell specifiers allow cells to span rows and columns.
Like a column specifier, a cell specifier is made up of components.
These components, listed and defined below, are all optional.
* span
* align
* style
A cell specifier is prefixed directly to the cell delimiter (`|`) preceding the content you want to customize.
The span component can duplicate a cell or have it span multiple rows or columns.
To duplicate a cell in multiple, consecutive columns, prefix the `|` with the multiplication factor and the `+*+` operator.
.Cell duplicated across three columns
[source]
----
include::ex-table-cell.adoc[tag=3dup]
----
.Result: Rendered table where cell was duplicated across three columns
[width="90"]
include::ex-table-cell.adoc[tag=3dup]
To have a cell span multiple, consecutive columns, prefix the `|` with the span factor and the `{plus}` operator.
.Cell spanning three columns
[source]
----
include::ex-table-cell.adoc[tag=3span]
----
.Result: Rendered table where cell spans three columns
[width="90"]
include::ex-table-cell.adoc[tag=3span]
If you want to have a cell span multiple, consecutive rows, prefix the span factor with a dot (`.`).
.Cell spanning two rows
[source]
----
include::ex-table-cell.adoc[tag=2span-r]
----
.Result: Rendered table where a cell spans two rows
[width="90"]
include::ex-table-cell.adoc[tag=2span-r]
Of course you can combine spanning over columns and rows.
The number before the dot (`.`) is the number of columns to span and the number after the dot (`.`) is the number of rows to span.
.Cell spanning columns and rows
[source]
----
include::ex-table-cell.adoc[tag=span-cr]
----
.Result: Rendered table where a cell spans over columns and rows
[width="90"]
include::ex-table-cell.adoc[tag=span-cr]
The alignment component for cells works the same as the <<user-manual#cols-align,column specifier alignment component>>.
.Cells aligned horizontally, vertically, and across a span of three columns
[source]
----
include::ex-table-cell.adoc[tag=cell-align]
----
.Result: Rendered cells aligned horizontally, vertically, and across a span of three columns
[width="90"]
include::ex-table-cell.adoc[tag=cell-align]
[#pipe-in-table-cell]
IMPORTANT: To use a pipe (`|`) within the content of a cell without creating a new cell, you must use the `+{vbar}+` attribute.
The <<cols-style,style component>> can also be applied to individual cells.
For example, you can apply the AsciiDoc element styles to an individual cell by prefixing the vertical bar with an `a`.
.Comparing cells using AsciiDoc styles and no AsciiDoc styles
[source]
----
include::ex-table-cell.adoc[tag=cell-ad]
----
.Result: Rendered table comparing cells using AsciiDoc styles and no AsciiDoc styles
[width="90"]
include::ex-table-cell.adoc[tag=cell-ad]
Source code listing can be placed inside cells by using the listing syntax.
.Cells with source code listing
....
include::ex-table-cell.adoc[tag=cell-src]
....
.Result: Rendered table with cells containing source code listing
[width="90"]
====
include::ex-table-cell.adoc[tag=cell-src]
====
For the grand finale, let's apply a variety of specifiers to individual cells.
.Building a variety of cell specifiers
[source]
----
include::ex-table-cell.adoc[tag=cell-v]
----
.Result: Rendered table featuring a variety of cell specifiers
[width="90"]
include::ex-table-cell.adoc[tag=cell-v]