使用 resizebox 调整表格大小会引发错误

使用 resizebox 调整表格大小会引发错误

我的表格很长,因为它们有 9 到 25 列。它们甚至不适合横向布局的页面。我尝试使用 resizebox 调整它们的大小,正如建议的那样这里但它总是引发错误。

这是我的 LaTeX 文件中的内容:

\documentclass{article}
\usepackage{graphicx}
\begin{document}
\begin{table}[ht]
\resizebox{\linewidth}{!}{%
    \centering
    \settowidth\mywidth{\textbf{\MakeUppercase{TABLENAME}}}
    \begin{minipage}[t]{\mywidth}
            \mbox{}\par
            \textbf{\MakeUppercase{TABLENAME}}
        \end{minipage}
    %\[
    \begin{tabular}[t]{ccccccccc}
    \toprule
    \multicolumn{1}{c}{\textbf{column 1}} & \multicolumn{1}{c}{column 2}} & \multicolumn{1}{c}{column 3} & \multicolumn{1}{c}{column 4} & \multicolumn{1}{c}{column 5} & \multicolumn{1}{c}{column 6} & \multicolumn{1}{c}{column 7} & \multicolumn{1}{c}{\textbf{column 8}} & \multicolumn{1}{c}{\textbf{column 9}}\\
    \midrule
        value & value & value & value & value & value & value & value & value \\
    \bottomrule 
    \end{tabular}   
    %\]

    \caption{My Caption}
    \label{tbl:verylongtable}
}
\end{table}
\end{document}

我得到的例外是

pdflatex> ! You can't use '\hrule' here except with leaders

当我尝试将整个表格环境放入调整大小框中(而不仅仅是表格环境内的代码)时,出现错误:

pdflatex> ! Not in outer par mode

我该如何缩放我的桌子呢?我还没有找到可行的解决方案。另一个附带问题:我读到

\resizebox{\columnwidth}{!}{%

%重要。为什么?我只知道百分号是注释的开头。

答案1

\resizebox是一个水平模式命令(如\mbox),因此它可以采用tabular但不能采用垂直材料\centering

另外,在发布之前请测试您的示例,其中有未定义的命令和}与所提问题无关的额外内容。

\documentclass{article}
\usepackage{graphicx}
\usepackage{booktabs}%grrr
\begin{document}
\newlength\mywidth%grrr
\begin{table}[ht]

    \centering
    \settowidth\mywidth{\textbf{\MakeUppercase{TABLENAME}}}
    \begin{minipage}[t]{\mywidth}
            \mbox{}\par
            \textbf{\MakeUppercase{TABLENAME}}
        \end{minipage}

    \resizebox{\linewidth}{!}{\begin{tabular}[t]{ccccccccc}
    \toprule
    \multicolumn{1}{c}{\textbf{column 1}} & \multicolumn{1}{c}{column 2}
%grr}
 & \multicolumn{1}{c}{column 3} & \multicolumn{1}{c}{column 4} & \multicolumn{1}{c}{column 5} & \multicolumn{1}{c}{column 6} & \multicolumn{1}{c}{column 7} & \multicolumn{1}{c}{\textbf{column 8}} & \multicolumn{1}{c}{\textbf{column 9}}\\
    \midrule
        value & value & value & value & value & value & value & value & value \\
    \bottomrule 
    \end{tabular}}  


    \caption{My Caption}
    \label{tbl:verylongtable}

\end{table}
\end{document}

相关内容