I'm trying to construct a multi-page, landscape table with variable column widths. It was working until I started to get a problem with the caption. If I try to include a short caption I get the error "Missing number, treated as zero \end{tabularx}" and "Illegal unit of measure (pt inserted) \end{tabularx}".
Below is a minimal non-working example. I'm sure it was working earlier and I'm not sure what I've done to break it.
% New template
\documentclass[a4paper,11pt,twoside]{article}
%\usepackage{rotating}
\usepackage{tabularx} % For paragraph cells in tables
\usepackage{ltablex} % allows tabularx over multiple pages. May need to be compiled a couple of times.
\usepackage{lscape}
\usepackage{booktabs}
\newcolumntype{b}{>{\footnotesize}X}
\newcolumntype{s}{>{\footnotesize\hsize=.3\hsize}X}
\begin{document}
\begin{landscape}
%%%%%%%%%%%%%%
% May need following command to avoid problems with other tables
%\keepXColumns
%%%%%%%%%%%%%%
\begin{tabularx}{\linewidth}{ssssbbbbb}
\toprule
col1 & col2 & col3 & col4 & col5 & col6 & col7 & col8 & col9 \\
\midrule
1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 \\
\bottomrule
\caption[short caption]{long caption {\label{lit_review}}}
\end{tabularx}
\end{landscape}
\end{document}