30

I want to put different sizes of fonts (smaller) into different rows of my LaTeX table. I found that it is possible to have different font sizes for different columns of this post. Is there any simple way to put different fonts to LaTeX table rows ?

chatcja
  • 733

3 Answers3

21

You can use the package tabu which provides the command \rowfont:

\documentclass{article}
\usepackage{tabu}
\begin{document}
\begin{tabu}{ll}
\rowfont{\scriptsize}
Hello & World \\
Foo & Bar \\
\rowfont{\huge}
Hello & World
\end{tabu}
\end{document}
Moriambar
  • 11,466
Marco Daniel
  • 95,681
  • 1
    Too bad tabu is no longer maintained. Not recommended to use anymore. https://github.com/tabu-issues-for-future-maintainer/tabu – Gherman Mar 08 '21 at 12:50
8

I tested all other methods above with packages but I found this simple method by David most useful -- actually I got all kind of malfunctioning with other answers such as only one element in a row changed the size of the text and so on, this may be due to rotating's sidewaystable but anyway -- this most simplest method works!

\footnotesize \begin{tabular} then \normalsize\bfseries hello for the title

and other fontsizes contain \tiny, \scriptsize, \footnotesize, \small, \normalsize, \large, \Large, \LARGE, \huge and \Huge. More in here.

hhh
  • 8,743
8

Creating your own \rowfont{<font>} switch is also possible.

Using the array package, you can insert elements in front of every column via the definition of a new column type. This insertion helps span the group associated with each tabular cell.

enter image description here

\documentclass{article}
\usepackage{array}% http://ctan.org/pkg/array
\makeatletter
\g@addto@macro{\endtabular}{\rowfont{}}% Clear row font
\makeatother
\newcommand{\rowfonttype}{}% Current row font
\newcommand{\rowfont}[1]{% Set current row font
   \gdef\rowfonttype{#1}#1%
}
\newcolumntype{L}{>{\rowfonttype}l}
\begin{document}
\begin{tabular}{LL}
  \rowfont{\scriptsize}%
  Hello & World \\
  \rowfont{\normalsize}%
  Foo & Bar \\
  \rowfont{\huge}%
  Hello & World
\end{tabular}
\end{document}

\rowfont{<font>} globally (re)defines \rowfonttype, and also inserts it into the current cell. Resetting the font is required in a subsequent row (via \rowfont{\normalsize} or otherwise).

End-of-tabular resetting is automated by appending \rowfont{} to \endtabular.

Moriambar
  • 11,466
Werner
  • 603,163