我有以下带有列线宽的表格。我想将表格的字体大小设置为某个特定值。一些建议说像这样的代码p{0.4in}
可以工作。我试过了p{0.18\linewidth}{0.4in}
,但没有用。如何解决这个问题?提前谢谢。
\begin{table}[H]
\centering
\setlength{\tabcolsep}{0.2em} % for the horizontal padding
\caption{A table}
\label{tab:42}
\resizebox{\textwidth}{!}{%
\begin{tabular}{ |p{0.18\linewidth} | p{0.20\linewidth} |}
%Head row starts************
\hline
Column1 & Column2 \\
\hline
Data1 & Data2 \\
\hline
\end{tabular}%
}
\end{table}
答案1
正如@DavidCarlisle 在评论中指出的那样,没有人应该曾经采用\resizebox
——或者它的近亲\scalebox
——来强制表格状材料占据给定的宽度,比如说\linewidth
。
相反,使用tabularx
或tabular*
环境将整体宽度设置为\linewidth
。这样,您就可以避免在表格之间获得不一致的字体大小。然后,根据需要并适合您的表格,考虑将一个或多个当前列规范替换为允许自动换行的列类型。
\Large
如果您仍必须调整字体大小,则可以使用 LaTeX 的众多字体大小更改宏之一。以下屏幕截图显示了使用、\large
、\normalsize
(默认)、\small
、\footnotesize
和的效果\scriptsize
。
\documentclass{article}
\usepackage{tabularx} % for 'tabularx' env. and 'X' col. type
\setlength\extrarowheight{2pt} % make the tables look less cramped
\begin{document}
\begin{table}[ht!]
\caption{A full-width \texttt{tabularx} environment at various font sizes\strut} \label{tab:42}
\Large
\begin{tabularx}{\linewidth}{ | X | X |}
\hline
Column1 & Column2 \\
\hline
Data & \texttt{\textbackslash Large} \\
\hline
\end{tabularx}
\medskip
\large
\begin{tabularx}{\linewidth}{ | X | X |}
\hline
Column1 & Column2 \\
\hline
Data & \texttt{\textbackslash large} \\
\hline
\end{tabularx}
\medskip
\normalsize % that's the default
\begin{tabularx}{\linewidth}{ | X | X |}
\hline
Column1 & Column2 \\
\hline
Data & \texttt{\textbackslash normalsize} \\
\hline
\end{tabularx}
\medskip
\small
\begin{tabularx}{\linewidth}{ | X | X |}
\hline
Column1 & Column2 \\
\hline
Data & \texttt{\textbackslash small} \\
\hline
\end{tabularx}
\medskip
\footnotesize
\begin{tabularx}{\linewidth}{ | X | X |}
\hline
Column1 & Column2 \\
\hline
Data & \texttt{\textbackslash footnotesize} \\
\hline
\end{tabularx}
\medskip
\scriptsize
\begin{tabularx}{\linewidth}{ | X | X |}
\hline
Column1 & Column2 \\
\hline
Data & \texttt{\textbackslash scriptsize} \\
\hline
\end{tabularx}
\end{table}
\end{document}
答案2
这个问题也在这里得到了回答(https://stackoverflow.com/questions/2563498/making-latex-tables-smaller)。
就我个人而言,我喜欢这种方法:
\scalebox{0.7}{
\begin{tabular}
...
\end{tabular}
}