LogoLogo
ClausesDatafieldsSpecial FunctionsStylingQ&AAPI
  • Welcome!
  • Getting started
    • What is Clause9?
    • Structuring your clause library
    • Structuring your clauses
    • Drafting modes in Clause9
    • Creating a questionnaire
    • Sample clauses
    • Videos
      • Concepts and datafields
      • Conditions
      • Q&As
      • Binders
      • Styling
      • Enumerations
      • Tables
      • Definitions
      • Snippets
      • Cross-references
      • Special functions
      • Examples of common clauses
      • Import clauses from MS Word
      • Grammatical conjugations
      • Action buttons
      • Alternative clauses
  • Assemble document
    • Document toolbar
    • Clause hierarchies
    • Focus Mode
    • Bulk generation of documents
    • Exporting documents
    • Assemble Document - FAQ
    • How to: Assemble Document
      • Insert images
  • Assemble Document Operations Panel
    • Operations panel
    • File pane
    • Edit pane
    • Document pane
    • Binder pane in the operations panel
    • Search pane
    • Browse pane
    • Terms pane
    • Data dashboard
    • Advanced pane
    • Styling pane
    • Miscellaneous pane
    • Visibility settings & actions menu
  • Binders
    • Binders: general
    • Styling cross-references to subdocuments
    • Global and local definition lists
    • Document and binder properties
    • Styling of a Binder versus subdocuments
    • (Un)locking documents in a binder
    • Binders - FAQ
    • How to: binders
      • Make a subdocument in a binder conditional
  • Clauses
    • Introduction to clauses
    • Clause structure
    • Grammar sheet
    • Writing conditions
    • Examples of conditions
    • Using codes instead of text fragments
    • Bold, italic and underline
    • Special codes
    • Enabled?
    • Links
    • Cross-references
    • Introduction to tables
    • Deviating table styling
    • Shrinking clauses
    • Action buttons
    • Enumerations
    • File position
    • Snippets
    • Parameters
    • Conjugations
    • Mixing data types
    • For-loops
    • Clause versioning
    • Abstract article references
    • Advanced multi-language features
    • Clauses - FAQ
    • How to: clauses
      • Create an ad-hoc clause
      • Create a library clause
      • Make a clause repeat
      • Make a paragraph within a clause conditional
      • Use a shortcut to refer to a concept
      • Insert a line break or page break
      • Creating a list with both predefined options and free input
      • Defining alternative clauses
      • Creating cross-references
      • Creating signature blocks
      • Creating advanced party introduction clauses
      • Automatically numbered annexes or schedules
      • Reuse any clause in a different context
      • Setting MS Word document properties
      • Add action buttons to clauses
      • Electronically signing documents
  • concepts
    • Introduction to concepts
    • Creating concepts
    • Concept labels
    • Links
    • Organising concepts
    • Concepts - FAQ
    • How to: concepts
      • Add predefines to a datafield
  • Datafields
    • Introduction to datafields
    • Types of datafields
    • Rules of thumb for using datafields
    • Data-expressions
    • Datafield aliases
    • Datafield labels
    • Datafield special tags
    • Datafield descriptions
    • Repeating list datafields
    • Datafield predefines
    • Datafields - FAQ
    • How to: datafields
      • Change datafield type
      • Change the datafield's name or alias
  • Definitions
    • Introduction to definitions
    • How to: definitions
      • How do definitions work?
      • Create a definition
  • Files
    • How files are organised
    • Browse files
    • File types
    • Custom styling
    • Legal comments
    • File description
    • Attributes
    • Reporting
    • File name
    • File category
    • Access rights
    • How to: files
      • Creating advanced folders
      • Naming your files
      • Shortcuts to folders or files
  • Q&A
    • About cards
    • Cards pane
    • About changes
    • Changes pane
    • Types of changes
    • Adding conditions
    • Question options
    • Copying & pasting answers
    • Comments, notes & documentation
    • Interactive Q&A inspection
    • Embedding questions into a document
    • “Changes” button
    • Batch create pane
    • Identifiers pane
    • Import pane
    • Edit clauses pane
    • Q&A options
    • Q&A - FAQ
    • How to: Q&A
      • Create predefined answers to a question
      • Add disclaimers
      • Create categories of questions
      • Modify the exported filename
      • Create a question to change the language of a document
      • Send a questionnaire to someone without a ClauseBase account
      • Create questions for repeating list datafields
      • Selecting legal entities & addresses
      • Create a questionnaire using "batch create"
      • Launch other Q&As
    • Leveraging ClauseBuddy Smart Templates in Clause9
  • Import
    • Introduction to importing clauses
    • Uploading clauses
    • Defined terms in Import mode
    • Datafields in Import mode
    • Cross-references in Import mode
    • Assigning folders
    • Conversion process
    • Exporting
    • Stashing intermediate results
    • Tips, tricks & limitations
  • Styling
    • Styling overview
    • Base styling
    • Numbering
    • Definitions styling
    • Enumerations styling
    • Locale styling
    • References styling
    • Page styling
    • Styling of a Binder versus subdocuments
    • Styling: tips and tricks
    • Advanced styling topics
    • Copying headers and footers from an MS Word file
    • How to: styling
      • Using custom fonts
      • Change bullet styling
  • Special functions
    • Introduction
    • Calculations
    • Concepts
    • Conditions
    • Conjugations
    • Content Control Elements
    • Datafields
    • Dates & durations
    • Languages
    • Lists
    • Numbers
    • References
    • Repeating (looping)
    • Special items
    • Text structure
    • Text modification
    • User
    • Q&A
  • Settings
    • Account
    • Preferences
    • Access bundles
    • Favourites
    • Saved searches
    • Saved datafields
    • Styles
    • Default styles
  • Admin
    • General
    • Users
    • User rights
    • Profiles
    • Groups
    • Styles
    • Default styles
    • Attribute models
    • Usage page
    • Custom homepage
    • Global placeholders
    • Access rights
    • How to: admin
      • Adding a new user
      • Disabling a user
      • Managing group memberships
  • Miscellaneous
    • Advanced tips & tricks
    • Typing special symbols on your keyboard
    • Shortcuts
    • Grammar style guide
    • Inserting MS Word files
    • Globo-panel
    • Creating high-quality documents
    • Excel calculations and lookups
  • Integrations
    • Overview
    • Spreadbases
    • E-signing documents
    • Drag & drop integrations
  • For developers
    • Clause9 API
    • Custom functions
    • Example custom functions
Powered by GitBook
On this page
  • General
  • Automatically reformatting a table
  • Inserting large amounts of text
  • Alignment of cells
  • Merging columns (horizontal cell merging)
  • Merging rows (vertical cell merging)
  • Conditional rows
  • Conditional columns
  • Repeating rows
  • Layout settings
Export as PDF
  1. Clauses

Introduction to tables

PreviousCross-referencesNextDeviating table styling

Last updated 1 year ago

General

Tables are collection of cells, organised in rows (horizontally) and columns (vertically). The first row can optionally be assigned the status of a header row, which will be repeated on each page if a table spans multiple pages. All the other rows are called body rows.

In Clause9, a simple table with one header row and is created as follows:

|| header 1 	  || header 2		|| header 3 	    ||
|| ========== 	  || ----------------- 	|| ---------------- ||
|| cell column 1  || cell column 2 	|| cell column 3    ||

This will result in the following table:

A more complex example:

|| header 1 	  || header 2		 || header for righ-aligned column  ||
|| ------------   || --------------- 	 || ------------------------------: ||
|| cell column 1  || cell column 2       || cell column 3                   ||
||> merged cell columns 1 & 2            || regular cell                    ||
||>> merged all cells                                                       ||
|| regular cell 1 || vertically merged   || regular cell 3                  ||
|| regular cell 1 ||^                    || regular cell 3                  ||

Some general notes:

  • Each cell is separated by a double pipe symbol (||).

  • Rows are separated by a newline (i.e., pressing Enter).

    • It is no problem for a row to span multiple lines in the text editor, e.g. because there are too many columns to fit on one line of Clause9's text editor.

    • You can have maximum one blank line between rows of the same table. If you insert at least two blank lines between rows, then a new table will be started.

  • It is not necessary to line up the double pipe symbols between lines, although it will of course be much cleaner to like at in the editor. In the .DOCX or .PDF file, this will however not make any difference.

  • The first row will be treated as a header row if it is followed by a divider row that contains cells with either multiple dashes (—-), or multiple equal-signs (====). There should be at least three dashes / equal-signs, but no upper limit applies.

  • If a column in the divider row contains equal-signs, then all the cells in that column will have a light grey background. In the example above, this is the case for the first column.

  • Whether the table contains borders, and whether it is left-aligned, center-aligned, right-aligned or instead stretched across the entire width of the page, can be changed in the base styling.

Automatically reformatting a table

You can automatically reformat how a table looks inside the Clause9 grammar:

by pressing “reformat tables” in the popup-menu at the right side:

becomes

Inserting large amounts of text

If you want to insert multiple paragraphs into a single cell, you have to use the internal inclusions mechanism. After all, remember that inserting a newline (Enter) would start a new row of the table…

Example:

|| alpha  || beta    || gamma ||
|| @DELTA || epsilon || zeta  ||

DELTA = this is a large amount of text... 

... spanning multiple paragraphs...

... that will be inserted in the first cell of the second row

results in:

Alignment of cells

The dashes or equal-signs in the divider row can optionally contain a colon (:) before the first dash/equal-sign and/or after the first dash/equal-sign. The presence of these colons will cause all the cells in that column to be left, center or right-aligned, respectively. For example:

  • :—-- or :=== will cause the cells to be left-aligned

  • :—--: or :===: will cause the cells to be center-aligned

  • ---: or ===: will cause the cells to be right-aligned

  • no colon will cause the cells to receive the general alignment specified in the styling (typically left-aligned or justified).

Merging columns (horizontal cell merging)

A cell can optionally span multiple columns. This can be achieved by inserting one or more larger-than symbols (>) immediately after the double pipe (without any space in between).

Example:

|| alpha           || beta            || gamma       ||
||>> delta     
|| epsilon        || zeta             || eta         ||

will be outputted as:

Merging rows (vertical cell merging)

A cell can optionally be merged with the cell above it. This can be achieved by inserting a caret symbol (^) after the double-pipes. The cell must not contain any other content. Example:

|| alpha           || beta            || gamma       ||
||^                || delta           || epsilon     ||

will be outputted as:

Note that horizontal and vertical merging can be combined. The cell that contains the caret will then have the same horizontal merging amount as the above cell it is merged with. Example:

|| alpha           || beta            || gamma       ||
||> delta                             || epsilon     ||
||^                                   || zeta        ||

will be outputted as:

Conditional rows

Each body row can optionally contain a condition that will determine whether or not the row will be shown. This condition can be any valid condition, needs to be surrounded by curly brackets, and needs to be inserted after the last set of double-pipes. For example:

Example:

|| alpha    || beta  || 
|| ----     || ----  ||
|| gamma    || delta || {#deal^value > 5000 EUR}
|| epsilon  || zeta  || {#deal^value <= 5000 EUR}

In this example, the row with cells gamma and delta will only be shown if the #deal^value data-field happens to be larger than 5000 EUR. If not, the row with epsilon and zeta will be shown.

Conditional columns

Similar to rows, columns can also be made conditional, by inserting a condition in curly brackets on the first row of the table. For example:

|| {#deal^value > 5000 EUR} ||       ||
|| alpha                    || beta  || 
|| ----                     || ----  ||
|| gamma                    || delta || 
|| epsilon                  || zeta  ||

The first column will not be shown if the #deal^value data-field contains a value lower than 5000 EUR.

Repeating rows

A row will be automatically repeated if it contains at least one repeating data-field (hence the name of this type of data-field). The row will then be repeated for as many times as there are values in the repeating data-field. (If multiple repeating data-fields are used, then the repetition-amount will be equal to the amount of the repeating data-field with the largest amount of repeating data-fields)

For example, assume that the #item^name, #item^price and #item^quantity data-fields are all repeating-fields, containing the following values:

  • #item^name: alpha, beta, gamma and delta

  • #item^price: 100 EUR, 200 EUR, 300 EUR and 400 EUR

  • #item^quantity: 1, 2 and 3.

The following table:

|| name       || price       || quantity       ||
|| ====       || -----       || -------------- ||
|| #item^name || #item^price || #item^quantity ||

will then result in the following output:

Notice that the quantity of delta is not filled in, because the #item^quantity data-field only contained three items.

Do not use repeating fields from multiple concepts in the same row, as this is ambiguous (you will get an error message about “multiple repeating-lists in the same row”). After all, which of the concepts data should then be used to calculate the number of rows?

Layout settings

In the “Table Settings” of the (which you can always add to a specific clause through the option) you can specify various options for tables, such as a table’s alignment, width, borders, background and text flow.

Base styling
custom styling