如何设置Latex表中的字体大小?

如何设置Latex表中的字体大小?

我有以下带有列线宽的表格。我想将表格的字体大小设置为某个特定值。一些建议说像这样的代码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

相反,使用tabularxtabular*环境将整体宽度设置为\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}
}

相关内容