如何自动缩小表格以使其适合页面?

如何自动缩小表格以使其适合页面?

我有一张如下所示的表格:

\begin{table}[h]
\centering
\caption{MYCaption}
\label{tbl:table1}
\begin{tabular}{|l|l|l|l|}
\hline
\rowcolor[gray]{.8}
\multicolumn{4}{|c|}{Team 1}\\
\hline
\textbf{Caption1} & \textbf{Caption 2} & \textbf{Caption3} & \textbf{Caption 4}\\
\hline
Some values & Some values & Some values & Some values\\
\hline
\rowcolor[gray]{.8}
\multicolumn{4}{|c|}{Team 2}\\
\hline
\textbf{Caption1} & \textbf{Caption 2} & \textbf{Caption3} & \textbf{Caption 4}\\
\hline
Some values & Some values & Some values & Some values\\
\hline
\end{tabular}
\end{table}

我也有两列布局,但表格横跨两列。但是,目前表格对于页面宽度来说太宽了。现在我希望字体大小能够自动调整,以便表格始终适合页面。我找到的解决方案无法做到这一点,因为它们使用换行符来适应表格。我不想要换行符。

答案1

您可以\resizebox 使用graphicx包。下面是一个展示使用和不使用的表格的小例子,\resizebox用于比较(我[!ht]在这个例子中使用了):

\documentclass{article} 
\usepackage{graphicx}
\usepackage{lipsum}% just to generate filler text

\begin{document}  

\lipsum[2]
\begin{table}[!ht]
\centering
\caption{Test caption}
\label{tbl:table1}
\begin{tabular}{|l|l|l|l|}
\hline
Some really reallly long values & 
Some really reallly long values & 
Some really reallly long values & 
Some really reallly long values \\
\hline
\end{tabular}
\end{table}

\lipsum[2]
\begin{table}[!ht]
\centering
\caption{Test caption}
\label{tbl:table2}
\resizebox{\textwidth}{!}{%
\begin{tabular}{|l|l|l|l|}
\hline
Some really reallly long values & 
Some really reallly long values & 
Some really reallly long values & 
Some really reallly long values \\
\hline
\end{tabular}}
\end{table}

\end{document}

在此处输入图片描述

答案2

如果使用双列模式,则可以通过使用星号来获得同时使用两列的宽表\begin{table}

\begin{table*}

您的表格采用两列布局,其中表格使用两列:

\documentclass[a4paper,twocolumn]{article}

\usepackage{lipsum,colortbl,graphicx}

\begin{document}

\lipsum[2-10]
\begin{table*}
\centering
\caption{MYCaption}
\label{tbl:table1}

\resizebox{\linewidth}{!}{\begin{tabular}{|l|l|l|l|}
\hline
\rowcolor[gray]{.8}
\multicolumn{4}{|c|}{Team 1}\\
\hline
\textbf{Caption1} & \textbf{Caption 2} & \textbf{Caption3} & \textbf{Caption 4}\\
\hline
Some values & Some values & Some values & Some values\\
\hline
\rowcolor[gray]{.8}
\multicolumn{4}{|c|}{Team 2}\\
\hline
\textbf{Caption1} & \textbf{Caption 2} & \textbf{Caption3} & \textbf{Caption 4}\\
\hline
Some values & Some values & Some values & Some values\\
\hline
\end{tabular}
}
\end{table*}

\lipsum[2-10]

\end{document}

相关内容