Solution found (via Google Gemini, since neither Chap GPT nor Claude could do it).
The correct argument to chage was tf
:
PT.pretty_table(
io,
portfolios;
backend = Val(:latex),
show_subheader = false,
alignment=[:l, :c, :c, :c, :c],
formatters = PT.ft_printf("%1.2f"),
tf = PT.tf_latex_booktabs
)