24

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 ?

19

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}
| improve this answer | |
6

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.

| improve this answer | |
  • 1
    (+1) would you please provide a mwe in your answer. many thanks. – Hosein Rahnama Sep 21 '17 at 16:50
5

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.

| improve this answer | |
  • Can this be done without redefining the column as well? – Alenanno May 10 '15 at 14:14
  • @Alenanno: One may have to tap into the definition of \tabular where \\ is defined and add \rowfont{} similar to what was done for \endtabular. – Werner May 10 '15 at 17:06
  • Oh, sounds complicated. :) – Alenanno May 10 '15 at 17:08

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.