headers_flextable_at_bkm()
and footers_flextable_at_bkm()
are defunct.flextable_to_rmd()
is now using knit_child()
for safer usage from for
loops or if
statements.save_as_image()
and ph_with.flextable()
.as_raster()
since gen_grob()
is easier to use and render nicer.align()
, the default argument value for align
is now "left"
, rather than c("left", "center", "right", "justify")
. This returns the default value to how it was in older versions of {flextable}.
align()
, use of the old default align
argument could cause an error if the number of columns being adjusted was not a multiple of 4.align
had to be a single value, when it could actually accept multiple values. This is why a default value of c("left", "center", "right", "justify")
, was problematic. This documentation has now been updated and new examples included in the documentation.align
argument will now apply left alignment to all columns in the body.path
argument now has a signature of part = c("body", "header", "footer", "all")
, but because only a single value can be selected, it will pick "body"
by default, as before.lollipop()
since it produces (ugly) results that can be replaced by nice results with gg_chunk()
or grid_chunk()
.as_image()
when the table contains no text.align()
issue with recycling and update documentation that was wrong about argument align
that is vectorized over columns.tab_settings()
to set tabulation marks configuration for Word and RTF. It works with officer::fp_tabs()
.fmt_signif_after_zero()
to round significant figures after zeros.summarizor()
don’t stop anymore if table only contain discrete columns.as_flextable.data.frame()
supports ‘data.table’footnote()
handle undefined ref_symbols
argumentdelete_rows()
does not delete rows if the row selection is emptygen_grob()
alignments when wrapping textgen_grob()
when cells are vertically mergedset_caption()
can have no bookmark and have autonumber used together.tabcolsep
is now set to 2.set_formatter_type()
.fmt_2stats()
so that it uses global flextable settings, i.e. digits, etc.set_table_properties(opts_pdf = list(footer_repeat = TRUE))
.as_chunk()
ph_with.flextable()
formats widths and heights correctly.delete_columns()
and delete_rows()
to let users delete rows or columns.save_as_image()
now supports svg export with ‘svglite’.summarizor()
function has been enhanced to offer three new options:
by
argument meaning ‘no grouping,’as_flextable.data.frame()
always shows the number of rows even if less than 10 (because I need it!).as_flextable.lm()
, as_flextable.gam()
, as_flextable.glm()
, as_flextable.merMod()
and as_flextable.htest()
now respect the global value of getOption("show.signif.stars")
.add.random
in as_flextable.merMod()
to let add or not random effects in the final table.max_iter
of function fit_to_width
is not ignored anymore.part
to .part
so that column named part
can be used.dim_pretty()
returns correct numbers when not ‘inches’as_flextable.table()
now propagates ...
as expectedset_table_properties(opts_pdf = list(caption_repeat = FALSE))
.as_flextable()
now works on tabular objects and R < 4.1
.to_html(type = "img")
now use the correct width and height1.4
.as_flextable.tabular()
now generate tabulated content only if the sub group contains more than a single row. When possible, row titles are tabulated.footers_flextable_at_bkm
and headers_flextable_at_bkm
are deprecated. Instead, we recommend using the prop_section()
and block_list()
functions from the officer
package as alternative solutions. These functions provide more reliable and flexible options for managing footers and headers.keepnext
and ft.keepnext
are defunct, they are replaced by function paginate()
that enable nice pagination of tables across pages or keep_with_next()
to get total control over rows pagination.set_flextable_defaults()
gains parameter pct_digits
(number of digits for percentages) that will be used in relevant functions (only proc_freq()
for now).as_flextable.table()
.fmt_dbl()
, fmt_int()
and fmt_pct()
.paginate()
type
is now possible when using tabulator()
.save_as_html()
ugly default title.set_header_labels()
from a simple un-named vector.set_formatter()
now accepts single function to be applied to all columns.gdtools::register_gfont()
.save_as_html()
: use rmarkdown and add google fonts if possible (See gdtools::register_gfont()
).as_flextable.tabular(spread_first_col=TRUE)
In short:
tables::tabular()
: “Computes a table of summary statistics, cross-classified by various variables”officer::rtf_add()
.tables::tabular()
to flextable with new function as_flextable.tabular()
.to_html.flextable()
to make easy embedding of flextable results in HTML (with ‘ggiraph’ for example).border.width
(see ?set_flextable_defaults()
) and set its default value to .75, this setting is used in theme functions. The old default value was hard coded to 1 and can be defined during the whole R session with set_flextable_defaults(border.width = 1)
.officer_url_encode()
to encode URL in office files.knit_print.flextable()
and related functions.headers_flextable_at_bkm()
and footers_flextable_at_bkm()
0.8.4
.body_add_flextable()
.expand_single
in as_flextable.tabulator()
. If FALSE
, groups with only one row will not be expanded with a title row.labels
of labelizor()
now support functions in addition to named vectors.as.character()
now returns the HTML string of the tableas_flextable
for data.frame using df_printer()
function implementation.expand_single
in as_grouped_data()
. If FALSE, groups with only one row will not be expanded with a title row.fmt_avg_dev()
, fmt_header_n()
, fmt_n_percent()
and renaming of fmt_2stats()
to fmt_summarizor()
to help working with tabulator()
. tabulator()
has also new internal values that allow N=xxx notes and automatic labels.set_table_properties()
is now the recommanded way to set arguments related to format options and alignment in a document. It is supposed to replace “knitr” chunk options ft.align
, ft.split
, ft.keepnext
, ft.tabcolsep
, ft.arraystretch
, ft.latex.float
, ft.shadow
, fonts_ignore
although they are all still supported. This allows less interaction with the ‘R Markdown’ or ‘Quarto’ eco-system and let to define it globally with set_flextable_defaults()
.set_table_properties()
and providing a scroll value for argument opts_html
: opts_html = list(scroll = list(height = "500px",freeze_first_column = TRUE))
.grid_chunk()
to let users add grid graphicsadd_header_row()
, add_footer_row()
, add_body_row()
, add_header_lines()
and add_footer_lines()
now supports formatted paragraph made with as_paragraph()
.as_paragraph()
summarizor()
can now be transformed directly as a flextable with method as_flextable()
.body_add_flextable()
prepend_chunks()
line_spacing()
as it is expected to be a ratioft.keepnext
now default to FALSE as lot of users had issues with this option.xtable_to_flextable()
is removed (use as_flextable()
)gen_grob()
.labelizor()
is a new function to help change text by labels.fp_par()
) in captions with set_caption()
.as_paragraph()
set_table_properties()
or setting values to knitr chunk options tab.alt.title
and tab.alt.description
.set_caption()
. The alignment of the paragraph can be different from the alignment of the table with the argument align_with_table=FALSE
.theme_apa
(@rempsyc #426)as_flextable.tabulator()
gains an argument spread_first_col
to enable spreading of the first column of the table as a line separator.save_as_docx()
to avoid Word confusionfortify_width()
calculationas_flextable.tabulator()
gained an argument label_rows
used for labels to display in the first column names, i.e. the row column names.shift_table()
to produce Shift Tables used used in clinical trial analysis ready to be used by tabulator()
.as_image()
don’t need anymore parameters width
and height
if package ‘magick’ is available.plot.flextable
now default to grid Graphics. It produce a plot object that can be used with packages ‘ggplot2’, ‘patchwork’ and ‘cowplot’. The raster version made with ‘webshot’ and ‘magick’ pachages is still available, use plot(..., method = "webshot")
.add_footer_lines()
instead.as_flextable()
has now methods for lm, glm, models from package ‘lme’ and ‘lme4’, htest (t.test, chisq.test, …), gam, kmeans and pam.use_model_printer()
to set model automatic printing as a flextable in an R Markdown document.add_body_row()
to add a row in the body part with eventually merged/spanned columns.tabulator_colnames()
to get column names of a tabulator
object.prepend_chunks()
to prepend chunks of content in flextable cells as with as_paragraph()
but without replacing the whole content.as_word_field()
to let add ‘Word’ computed values into a flextable, as as_word_field(x = "Page")
for a page number.separate_header()
to Separate collapsed colnames into multiple rows.autofit()
and dim_pretty()
now support newlines.autofit()
and dim_pretty()
now have an argument hspans
to help specify how horizontally spanned cells should affect the results.ft.latex.float
, supported values are ‘none’ (the default value), ‘float’, ‘wrap-r’, ‘wrap-l’, ‘wrap-i’ and ‘wrap-o’.ft.htmlscroll = FALSE
.tabulator()
can display any columns before and after the columns of displayed aggregations.i
, j
and part
at the end of the function arguments, after the ...
.supp_data
in the result table of tabulator()
j
and source
when color is a function (in bg()
, highlight()
and color()
) is now based on colnames to avoid mistake while mapping. #395append_chunks()
to append chunks of content in flextable cells as with as_paragraph()
but without replacing the whole content.tabulator()
and its method as_flextable.tabulator()
that help the creation of tables used in life science industry. It also comes with function summarizor()
and sugar function fmt_2stats()
.empty_blanks()
gained arguments width
so that users can also set blank columns’ width....
to format()
function when using colformat_num()
. It makes possible to use arguments for format()
, for example colformat_num(drop0trailing = TRUE)
.ft.keepnext
and parameter keepnext
to function body_add_flextable()
that enable the Word option ‘keep rows together’, so that page break within a table is avoided when possible.add_latex_dep()
to manually add flextable latex dependencies to the knitr session.<img>
entries with invalid width attributes e.g. width=40\%
.df_printer
that can be used via the df_print
option of R Markdown documents or by calling use_df_printer()
.tab.cap.fp_text
to let format caption prefix in function opts_current_table()
.colformat_*
and set_flextable_defaults
.surround()
to ease the highlighting of specific cells with borders.print(x, preview ="pdf")
.tab.topcaption
that let modify the table caption position from “top” (TRUE) to “bottom” (FALSE).before()
to ease addition of hline()
before some values to match with.ft.shadow = TRUE
to htmltools_value so that shadow dom can not be used.fontname
.set_flextable_defaults(line_spacing=1)
)as_equation
for ‘MathJax’ equations.text_after
to function flextable_to_rmd
to let append any text to the produced flextable.chunk_dataframe
for those who want to create functions that work with as_paragraph
.flextable-shadow-host
.set_flextable_defaults
now accept argument padding
that set values for padding top, bottom, left and right.colorize
, as_highlight
nrow_part
and ncol_keys
are now exportedcompose
has a new argument use_dot
to let use .
and loop over columnsinit_flextable_defaults()
git diff
colformat_num
calls the format
function on the numeric values (integer and float) which are therefore displayed as in console R. This function is used during the creation of a flextable so that by default the content of the cells is the same as that displayed in console R.merge_v
has a new argument combine
to let use j columns be used as a single value (all values are pasted).add_body
for adding rows into a flextable bodycolformat_image
for images in flextableas_flextable
for gam
modelsset_flextable_defaults
gained 4 new arguments post_process_pdf
, post_process_html
, post_process_docx
and post_process_pptx
to enable flextable post-treatments conditionned by the output format.fp_text_default
and fp_border_default
.\n
and \t
usage for pdfhighlight()
for text highlighting colorset_flextable_defaults()
to set some default formatting properties, i.e. default border color, font color, padding, decimal.mark …save_as_docx
gained a new argument pr_section
to define page layout with section properties, save_as_html
can now output more than a single table.colformat_
functions now use default values and filter columns that are irrelevant (i.e. if colformat_num, only numeric values are formatted). Also, new colformat_
functions have been implemented (colformat_date
, colformat_datetime
and colformat_double
).plot_chunk
and gg_chunk
to add miniplots or ggplots into a flextableph_with_flextable()
.
fix_border_issues
is the last instruction of all theme functions so that borders are corrected if some cells have been merged.tab_props$cap
has a value.encoding
line_spacing()
(or with function style()
).i = NULL
or j = NULL
, to select none, i = integer(0)
or j = integer(0)
.footnote
is now able to add inline footnotesxtable_to_flextable()
)continuous_summary()
: summarize continuous columns in a flextableautofit
can now use only some parts of the tables. This allows for example to no longer have gigantic columns by not taking into account the “footer” part that is often composed of long texts.set_table_properties
lets adapt flextable size as “100%”, “50%” of the available width for Word and HTML.bg()
and color()
now accept functions (i.e. scales::col_numeric()
)display()
as_chunk
(#152)officer::fp_sign
importation that was not used anymore so that officer can drop digest dependency.display()
.ph_with_flextable_at()
knit_to_wml()
has new arguments align
, split
and tab.cap.style
htmltools_value()
has a new argument ft.align
flextable_html_dependency
to get flextable htmltools::htmlDependancy. This is necessary to output flextables in html R Markdown documents from loop or other nested operations.save_as_docx
, save_as_pptx
that lets users export flextable objects to PowerPoint or Word documents.hrule
to control how row heights should be understood (at least, auto, exact)lollipop
that lets users add mini lollipop chart to flextable (kindly provided by github.com/pteridin)proc_freq
got a new argument weight
to enable weighting of results.as_flextable.grouped_data()
has now an argument hide_grouplabel
to let not print the group names.webshot
in function save_as_image
or with chunk option webshot="webshot2"
.knit_to_wml
to let display flextables from non top level calls inside R Markdown document.ph_location*
usage and make placement into slides easier.fit_to_width
to fit a flextable to a maximum widthset_caption
can now be used with R Markdown for Word document and caption style can be defined with chunk option tab.cap.style
.save_as_image
with R for Windowsplot
), as an image (see save_as_image
) and raster for ggplot2 (see as_raster
).footnote
to ease footnotes managementvalign
to align vertically paragraphs in cellproc_freq
that mimic SAS proc freq provided by Titouan Robert.linerange
to produce mini lineranges.set_footer_df
theme_alafoli()
and theme_vader()
align_text_col()
and align_nottext_col()
to align columns by data typemerge_h_range()
to merge a set of columns row by rowfix_border_issues()
fix issues with borders when cells are mergedadd_header_row()
, add_footer_row()
, add_header_lines()
and add_footer_lines()
to add easily data in header or footer.as_flextable()
to let develop new flextable functionsas_grouped_data()
and its method as_flextable()
to create row titles to separate data in a flextable.values
for functions set_header_labels
and set_formatter
compose
that will replace display
set_caption
only available for html outputknit_print()
can be used with rmarkdown when rendering to PowerPoint.regulartable
and logical columnsbody_replace_flextable_at_bkm
to replace a bookmarked paragraph by a flextable.colformat_*
to make content formatting easier. It also deals with NA.format.flextable
method so that users can create their components.ft.align
to align tables in rmarkdown::word_document
and ft.split
to activate Word option ‘Allow row to break across pages’.display()
vline()
\n
is now supported. Function autofit
and dim_pretty
do not support soft returns and may return wrong results (will be considered as "").border_outer()
hyperlink_text()
to be used with display
, font()
hline*()
and vline*()
and many new helper functions to be used instead of borders.xtable_to_flextable()
that is returning a flextable from an xtable object.htmltools_value()
is exported for shiny applications.knit_print()
to render flextable in rmarkdown.regulartable
, faster and simpler than flextable
ph_with_flextable_at
to add a flextable at any position in a slide.merge_at
is providing a general way of merging cells.theme_box()