
Мне нужно увеличить размер шрифта записей в моей таблице. Согласно некоторым предыдущим вопросам на 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
инструкции.
Вам нужно пойти другим путем. Я предлагаю вам предпринять следующие шаги:
Вместо «занято» напишите «занято», чтобы содержимое ячейки занимало меньше места.
Написание
S^{h}(\theta^{h})
иS^{v}(\theta^{v})
занимает много места. В коде ниже я предлагаю вам набрать эти термины гораздо компактнее.Уменьшите количество пробелов между колонками. Значение по умолчанию (2*6pt) довольно щедрое. Вместо того, чтобы настраивать параметр
\tabcolsep
методом проб и ошибок, я предлагаю вам задать его0pt
сразу и использоватьtabular*
окружение вместоtabular
окружения. Таким образом, LaTeX определит оптимальное (т. е. максимально доступное) количество пробелов.
После этих настроек все, что вам нужно сделать дальше, это установить размер шрифта таблицы на \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}