MultilineTables¶
This preprocessor converts tables to multiline and grid format before creating document (very useful especially for pandoc processing). It helps to make tables in doc and pdf formats more proportional — column with more text in it will be more wide. Also it helps whith processing of extremely wide tables with pandoc. Convertation to the grid format allows arbitrary cell' content (multiple paragraphs, code blocks, lists, etc.).
Installation¶
$ pip install foliantcontrib.multilinetables
Config¶
To enable the preprocessor with default options, add multilinetables
to preprocessors
section in the project config:
preprocessors:
- multilinetables
The preprocessor has a number of options (best values set by default):
preprocessors:
- multilinetables:
rewrite_src_files: false
min_table_width: 100
keep_narrow_tables: true
table_columns_to_scale: 3
enable_hyphenation: false
hyph_combination: '<br>'
convert_to_grid: false
targets:
- docx
- pdf
rewrite_src_file
- You can update source files after each use of preprocessor. Be careful, previous data will be deleted.
min_table_width
- Wide markdown tables will be shrinked to this width in symbols. This parameter affects scaling - change it if table columns are merging.
keep_narrow_tables
- If
true
narrow tables will not be stretched to minimum table width. table_columns_to_scale
- Minimum amount of columns to process the table.
enable_hyphenation
- Switch breaking text in table cells with the tag set in
hyph_combination
. Good for lists, paragraphs, etc. hyph_combination
- Custom tag to break a text in multiline tables.
convert_to_grid
- If
true
tables will be converted to the grid format, that allows arbitrary cell' content (multiple paragraphs, code blocks, lists, etc.). targets
- Allowed targets for the preprocessor. If not specified (by default), the preprocessor applies to all targets.
Usage¶
Just add preprocessor to the project config and enjoy the result.