我正在使用 overleaf。我的表格很宽。我使用 \resizebox 来保持行宽。但是,字体变得非常小。我怎样才能放大字体和每行的高度,以便宽度和高度都得到适当调整。
\begin{table}[t]
%\LARGE
\caption{names}
\label{tab: table 1}
\resizebox{\textwidth}{!}{
\begin{tabular}{cccccccc}
\toprule
Modularity Class & 0 & 1 & 2 & 3 & 4 & 5 & 6 \\
\midrule
\hline
1 & CANADA & COVID & SOCIALDISTANCING & PANDEMIC & TRUMP & UK & COVID19 \\ \hline
2 & AUSPOL & CHINA & QUARANTINE & NEWS & USA & COVID19UK & CORONAVIRUS \\ \hline
3 & CDNPOLI & VACCINE & MASKS & HEALTHCARE & WEARAMASK & LONDON & COVID\_19 \\ \hline
4 & COVID19AUS & HEALTH & MASK & ECONOMY & COVIDIOTS & CORONAVIRUSUK & LOCKDOWN
\end{tabular}
}
\end{table}
答案1
没有好的格式化方法可以让设计很差的表格更好地适应可用空间。这些情况的一般解决方案只能是 (a) 为表格获得更多空间(例如,横向页面)或 (b) 重新设计表格。
然后,如果需要的话,再考虑使用任何其他编码方法来调整单元格大小,如水平填充、减小字体大小(\resizebox
当然没有)等,这些方法只有从合理的设计开始才有效。
选项 (a) 不仅有颈部锻炼的缺点,在这种情况下,表格对于横向页面来说也太短了,所以如果页面的剩余空间不能用另一个表格之类的东西填充,页面布局就会很糟糕。因此,我最好选择选项 (b)。
最明显的变换是转置行和列。由于这还不够,我还将字体缩小到\scriptsize
通常太多的程度,但对于大写字符来说仍然是可以接受的。我还将使用tabulary
otabularx
来获得不相等的列大小,这样可以减少用连字符连接一些变量名称的不便:
\documentclass{article}
\usepackage{booktabs,tabulary,lipsum}
\begin{document}
\begin{table}
\centering\scriptsize
\caption{Modularity classes}
\begin{tabulary}{\linewidth}{@{}cLLLL@{}}\toprule
Names & \centering 1 &
\centering 2 &
\centering 3 &
\centering\arraybackslash 4 \\
\cmidrule(r){1-1}
\cmidrule(rl){2-2}
\cmidrule(rl){3-3}
\cmidrule(rl){4-4}
\cmidrule(l){5-5}
0 & CANADA & AUSPOL & CDNPOLI & COVID19AUS \\
1 & COVID & CHINA & VACCINE & HEALTH \\
2 & SOCIALDISTANCING & QUARANTINE & MASKS & MASK \\
3 & PANDEMIC & NEWS & HEALTHCARE & ECONOMY \\
4 & TRUMP & USA & WEARAMASK & COVIDIOTS \\
5 & UK & COVID19UK & LONDON & CORONAVIRUSUK \\
6 & COVID19 & CORONAVIRUS & COVID\_19 & LOCKDOWN \\
\bottomrule
\end{tabulary}
\end{table}
\noindent\lipsum[1][1-4] % dummy texto to see the fit the margins
\end{document}
答案2
通过对表格宽度施加全局约束,您是在倒着解决问题。问题的原因是,除非您允许换行,否则单个单元格太宽。这可以借助包tabularx
和同名环境来实现。请注意,为了获得表格中某些单词的满意连字点,您必须自己提供可接受的连字点列表。另一个好主意是使用“压缩”字体(例如 Calibri)来显示表格内容。
\documentclass{article}
\usepackage{iftex}
\ifluatex
\usepackage{fontspec}
\setmainfont{Calibri} % or some other condensed font
\else
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\fi
\usepackage{booktabs,tabularx,ragged2e}
\newcolumntype{C}{>{\Centering\hspace{0pt}}X}
\newcolumntype{L}{>{\RaggedRight\hspace{0pt}}X}
% provide hyphenation patterns for uncommon words:
\hyphenation{can-ada so-cial-dis-tan-cing wear-a-mask cdn-poli
co-ro-na-vi-rus co-ro-na-vi-rus-uk}
\begin{document}
\setlength\tabcolsep{3pt} % default: 6pt
\begin{table}[t]
\caption{names\strut}
\label{tab:table1}
\begin{tabularx}{\textwidth}{@{} L *{7}{C} @{}}
\toprule
Modularity Class & 0 & 1 & 2 & 3 & 4 & 5 & 6 \\
\midrule
1 & CANADA & COVID & SOCIALDISTANCING & PANDEMIC & TRUMP & UK & COVID\-19
\\ \addlinespace
2 & AUSPOL & CHINA & QUARANTINE & NEWS & USA & COVID\-19\-UK & CORONAVIRUS
\\ \addlinespace
3 & CDNPOLI & VACCINE & MASKS & HEALTHCARE & WEARAMASK & LONDON & COVID\-\_19
\\ \addlinespace
4 & COVID\-19\-AUS & HEALTH & MASK & ECONOMY & CO\-VID\-IOTS & CORONAVIRUSUK & LOCKDOWN
\\
\bottomrule
\end{tabularx}
\end{table}
\end{document}