Changing the font size in a table

What's the recommend way of changing the font size in a particular table? Is there a better way than enclosing all values with, for example, the \tiny function.

253k 70 70 gold badges 730 730 silver badges 796 796 bronze badges asked Aug 31, 2011 at 15:55 csgillespie csgillespie 5,288 5 5 gold badges 25 25 silver badges 29 29 bronze badges

Please also consider the usage of \scalebox<><> of the graphicx package as mentioned here: tex.stackexchange.com/a/56035/92521

Commented Apr 6, 2016 at 10:09

4 Answers 4

Scale down your table to the textwidth

\documentclass \usepackage \begin \begin \resizebox Knuth & Lamport \end> \end \end

then you have the optimal font size. However, all tabular lines are also scaled down which doesn't matter because it looks nicer.

answered Aug 31, 2011 at 16:51 user2478 user2478 use a tabularx with X columns Commented Aug 9, 2013 at 20:50 I must report that with XeLaTeX it does work, but with LuaLaTeX does not. Commented Feb 10, 2016 at 6:45 It was not stated but the caption, \caption , and label, \label , go outside of the \resizebox area. Commented Feb 1, 2017 at 19:09

I have a table in landscape \begin . When I used \textwidth for defining the width of the resized box, the resulting box had the width of the text of a portrait oriented page. For anybody having the same problem, use \linewidth instead of \textwidth , it solved the problem in my case. Source: tex.stackexchange.com/a/7686/118906

Commented Apr 26, 2017 at 13:14

Never use \resizebox with tables. If used on multiple tables with different number of columns, it will yield a different font size for each table in the document. It will be ugly.

Commented Aug 27, 2020 at 10:15
\documentclass \begin \begin \tiny \centering \begin Knuth & Lamport \end \end \end

EDIT: To change the fontsize for all tables (or even floats of every type), one may use the floatrow package (this also saves typing \centering in every table):

\documentclass \usepackage \DeclareFloatFont% "scriptsize" is defined by floatrow, "tiny" not \floatsetup[table] \begin \begin \begin Knuth & Lamport \end \end \end
answered Aug 31, 2011 at 16:02 253k 70 70 gold badges 730 730 silver badges 796 796 bronze badges

Just one quick additional remark: whenever your figure/table has a caption, be sure to change the font size only after you've specified the caption. This is particularly important if you're specifying tiny or scriptsize for the font size.

Commented Aug 31, 2011 at 17:26

Anyway to specify font sizes between \tiny and \small? \tiny is too small for me to read and \small is the same as normal font size

Commented Aug 13, 2013 at 0:16 @sphere How about \footnotesize ? Commented Aug 13, 2013 at 6:53

Dredging up the past. @Mico, I don't see this behaviour at all. None of my captions (specified with \caption ) are affected in any way with a fontsize declaration before them inside a table environment.

Commented Jan 21, 2014 at 23:21

An easier way to change the font size for ALL tables:

answered Dec 2, 2020 at 12:38 DianChao Lin DianChao Lin 101 1 1 silver badge 4 4 bronze badges

Very, very dangerous. A tabular may be hidden in places you do not suspect. For example in \maketitle .

Commented Dec 2, 2020 at 15:00

I tried but didn't find any differences using \maketitle . If it happens, we should set a particular font size for any special tables.

Commented Dec 16, 2020 at 16:35

That was just an example; not every class defines \maketitle using a tabular but some do (e.g. the standard classes for the author). My point is that there might be a tabular hidden somewhere where you do not expect it, and changing the default behaviour of tabular might have unforeseeable consequences. So I stand by my opinion that this is dangerous. (I haven't said "bad" or "wrong". Just dangerous.)