我需要增加表中条目的字体大小。根据 上的一些先前问题TEX.SE
,在开始环境之前添加字体大小命令(例如 \large)等潜在解决方案tabular
一定有效。但就我而言,此类命令没有任何变化。我该如何修复它?
\documentclass[letterpaper, 10pt]{IEEEconf}
\usepackage{graphicx}
\usepackage{tabularx}
\usepackage{booktabs}
\title{My Title*}
\author{Guy$^{1}$
\thanks{*This work was not supported by any organization}% <-this % stops a space
\thanks{$^{1}$Guy is with Hell, {\tt\small [email protected]}}%
}
\begin{document}
\maketitle
\thispagestyle{empty}
\pagestyle{empty}
\begin{abstract}
ABSTRACT
\end{abstract}
\section{INTRODUCTION}
\begin{table}[h!]
\centering
\caption{Caption for the table.}
\label{tab:table3}
\resizebox{\columnwidth}{!}{%
\LARGE ------> It affects nothing
\begin{tabular}{ccccccccc}
\toprule
$$ & $S^{h}(\theta^{h})$ & $S^{h}(\theta^{h})$ & $S^{h}(\theta^{h})$ & $S^{h}(\theta^{h})$ & $S^{v}(\theta^{v})$ & $^{v}(\theta^{v})$ & $S^{v}(\theta^{v})$ & $S^{v}(\theta^{v})$\\
\midrule
$S^{h}(\theta^{h})$ & occupied & & & & & &\\[0.5em]
$S^{h}(\theta^{h})$ & & & & & & &\\[0.5em]
$S^{h}(\theta^{h})$ & & & occupied & & & &\\[0.5em]
$S^{h}(\theta^{h})$ & & & & & & &\\[0.5em]
$S^{v}(\theta^{v})$ & & & & & & &\\[0.5em]
$S^{v}(\theta^{v})$ & & & & & occupied & &\\[0.5em]
$S^{v}(\theta^{v})$ & & & & & & &\\[0.5em]
$S^{v}(\theta^{v})$ & & & & & & & occupied\\
\bottomrule
\end{tabular}
}
\end{table}
\end{document}
答案1
你不想要\LARGE
,但是\footnotesize
。是的,真的!
问题在于您制作了一个大表格,然后将其大小调整为列宽:即使您这样做\HUMONGOUSLYHUGE
,结果也完全相同。
记住:不要只做\resizebox
一张桌子。根据需要制作。
在这种情况下,\footnotesize
似乎是合理的,同时减少列间空间并将大的“占用”更改为可以在文本中解释的符号。
为了输入表格,我使用了一些局部简写:我并不是建议在整个文档中使用它,但对于这个大表格,简写有助于提高代码的可读性\STh
。S^{h}(\theta^{h})
我如何确定 的值\addtolength
?我在排版表格时没有使用 ,结果超出了 73.22162pt。由于列间填充有 16 个,因此我将数值除以 16,然后四舍五入到小数点后一位。
顺便说一句:\tt
已经是弃用了二十多年的命令。使用\ttfamily
或“命令形式” \texttt
。
\documentclass[letterpaper, 10pt]{IEEEconf}
\usepackage{graphicx}
\usepackage{tabularx}
\usepackage{booktabs}
\usepackage{lipsum}
\title{My Title*}
\author{Guy$^{1}$
\thanks{*This work was not supported by any organization}% <-this % stops a space
\thanks{$^{1}$Guy is with Hell, {\ttfamily\small [email protected]}}%
}
\begin{document}
\maketitle
\thispagestyle{empty}
\pagestyle{empty}
\begin{abstract}
ABSTRACT
\end{abstract}
\section{INTRODUCTION}
\lipsum[2]
\begin{table}[htp]
\caption{Caption for the table.}
\label{tab:table3}
%%% Local shorthands
\newcommand{\STh}{$S^{h}(\theta^{h})$}
\newcommand{\STv}{$S^{v}(\theta^{v})$}
%%% The definition of \occ could be in the preamble,
%%% if you use it also in other tables
\newcommand{\occ}{$\times$} % <--- change to your liking
\centering\footnotesize
%%% do the computation only at the very last moment
\addtolength{\tabcolsep}{-4.7pt}
\begin{tabular}{@{}*{9}{c}@{}}
\toprule
& \STh & \STh & \STh & \STh & \STv & \STv & \STv & \STv\\
\midrule
\STh & \occ & & & & & &\\
\STh & & & & & & &\\
\STh & & & \occ & & & &\\
\STh & & & & & & &\\
\STv & & & & & & &\\
\STv & & & & & \occ & &\\
\STv & & & & & & &\\
\STv & & & & & & & \occ\\
\bottomrule
\end{tabular}
\end{table}
\lipsum
\end{document}
答案2
由于存在该指令,尝试使用诸如此类的指令来放大字体大小\large
在您的设置中是完全弄巧成拙的\resizebox
。
您需要走另一条路。我建议您采取以下步骤:
不要写“occupied”,而要写“occ.”,这样单元格内容占用的空间就会更少。
书写
S^{h}(\theta^{h})
和S^{v}(\theta^{v})
会占用大量空间。在下面的代码中,我建议您将这些术语排版得更紧凑一些。减少列间空白量。默认数量(2*6pt)相当慷慨。我建议您立即设置参数并使用环境而不是环境,而不是
\tabcolsep
反复试验。这样,LaTeX 就会找出最佳(即最大可用)空白量。0pt
tabular*
tabular
完成这些调整后,您需要做的就是将表格的字体大小设置为\small
。以下屏幕截图提供了前后比较;我相信“之后”的表格或多或少就是您希望实现的效果。
\documentclass[letterpaper,10pt]{IEEEconf}
\usepackage{booktabs,graphicx}
\usepackage[skip=0.333\baselineskip,font={bf,sf}]{caption}
\newcommand\Sth[1]{S^{#1}\mkern-3mu(\mkern-2.5mu\theta^{\mkern-1mu#1}\mkern-2mu)}
\begin{document}
\section{Introduction}
\hrule % just to illustrate width of textblock
%%%% First the "before" look
\begin{table}[h!]
\centering
\caption{Before}
\label{tab:table3}
\resizebox{\columnwidth}{!}{%
\LARGE % ------> It affects nothing
\begin{tabular}{ccccccccc}
\toprule
$$ & $S^{h}(\theta^{h})$ & $S^{h}(\theta^{h})$ & $S^{h}(\theta^{h})$ & $S^{h}(\theta^{h})$ & $S^{v}(\theta^{v})$ & $^{v}(\theta^{v})$ & $S^{v}(\theta^{v})$ & $S^{v}(\theta^{v})$\\
\midrule
$S^{h}(\theta^{h})$ & occupied & & & & & &\\[0.5em]
$S^{h}(\theta^{h})$ & & & & & & &\\[0.5em]
$S^{h}(\theta^{h})$ & & & occupied & & & &\\[0.5em]
$S^{h}(\theta^{h})$ & & & & & & &\\[0.5em]
$S^{v}(\theta^{v})$ & & & & & & &\\[0.5em]
$S^{v}(\theta^{v})$ & & & & & occupied & &\\[0.5em]
$S^{v}(\theta^{v})$ & & & & & & &\\[0.5em]
$S^{v}(\theta^{v})$ & & & & & & & occupied\\
\bottomrule
\end{tabular}
}
\end{table}
%%%% Now the "after" look
\begin{table}[h!]
\captionsetup{font={small,bf,sf}} % optional
\small
\caption{After} \label{tab:table3}
\setlength\tabcolsep{0pt} % make LaTeX calculate intercolumn whitespace
\begin{tabular*}{\columnwidth}{@{\extracolsep{\fill}} ccccccccc}
\toprule
& $\Sth{h}$ & $\Sth{h}$ & $\Sth{h}$ & $\Sth{h}$ & $\Sth{\nu}$ & $\Sth{\nu}$ & $\Sth{\nu}$ & $\Sth{\nu}$\\
\midrule
$\Sth{h}$ & occ. & & & & & &\\
$\Sth{h}$ & & & & & & &\\
$\Sth{h}$ & & & occ. & & & &\\
$\Sth{h}$ & & & & & & &\\
$\Sth{\nu}$ & & & & & & &\\
$\Sth{\nu}$ & & & & & occ. & &\\
$\Sth{\nu}$ & & & & & & &\\
$\Sth{\nu}$ & & & & & & & occ.\\
\bottomrule
\end{tabular*}
\end{table}
\end{document}