31

I have a table which its width exceed the textwidth of the document, but I want reduce its size to fit the textwidth space.

I have tried the resizebox command but it doesn't work at all.

\begin{table}[h!]
  \centering
  \resizebox{\textwidth}{!}{  
  \begin{tabular}{|c|c|c|c|c|c|c|c|c|c|c|c|c|c|}
  \hline
  One & Two &Three & Four & Five & Six & Seven & Eight & Nine & Ten & Eleven &
  Twelve & Thirteen & Fourteen\\

  \hline
  \hline
  $1.111$ & $2.222$ & $3.333$ & $4.444$ & $5.555$ & $6.666$ & $7.777$ &
  $8.888$ & $9.999$ & $0.000$ & $1.111$ & $2.222$ & $3.333$ & $4.444$\\
  \hline  
\end{tabular}
}
  \caption{Test Table}
  \label{tab:label_test}
\end{table}

The table keeps the same width and exceed the border of the page. I want resize the table, scaling all the tabular object without touch the caption fontsize.

How can I do that?

If I copy the code of @HarishKumar: Width adjustbox command

  • I think I have a problem with my latex package, because even the solution provided by @HarishKumar doesn't work... – nunzio13n Mar 2 '14 at 14:15
  • 2
    The problem is that you are always viewing the DVI output. You schould run pdflatex and then view the PDF output! DVI viewers cannot show scaling and rotations. Or convert your dvi to pdf if you need that way. – user2478 Mar 2 '14 at 14:22
  • You are right... thank you very much I was becoming crazy – nunzio13n Mar 2 '14 at 14:25
44

\resizebox should work provided you put \usepackage{graphicx}. But here is a better option with adjustbox package. With this, you can resize only if the table goes beyond \textwidth, otherwise not.

\documentclass{article}
\usepackage{adjustbox}
\usepackage{graphicx}
\usepackage{showframe}   %% just for demo
\begin{document}
  \begin{table}[h!]
  \centering
  \begin{adjustbox}{max width=\textwidth}
  \begin{tabular}{*{14}{|c}|}%%{|c|c|c|c|c|c|c|c|c|c|c|c|c|c|}
  \hline
  One & Two &Three & Four & Five & Six & Seven & Eight & Nine & Ten & Eleven &
  Twelve & Thirteen & Fourteen\\
  \hline
  \hline
  $1.111$ & $2.222$ & $3.333$ & $4.444$ & $5.555$ & $6.666$ & $7.777$ &
  $8.888$ & $9.999$ & $0.000$ & $1.111$ & $2.222$ & $3.333$ & $4.444$\\
  \hline
\end{tabular}
\end{adjustbox}
  \caption{Test Table}
  \label{tab:label_test}
\end{table}
\end{document}

enter image description here

  • Thanks but your solution doesn't work for me, look at my edited question – nunzio13n Mar 2 '14 at 14:20
  • 1
    @nunzio13n It works. Some thing else is wrong. – user11232 Mar 2 '14 at 15:32
  • You may want to note that the \centering instruction isn't entirely redundant, as it will have an effect in case the natural width of the object contained in adustbox is less than \textwidth. – Mico Aug 15 '15 at 8:30
  • This solution works as long as you don't use XeLaTeX and hyperlinks in the table. See similar post. – patryk.beza May 6 '17 at 8:14
  • that is nice, solved my problem. but with \centering, all section titles and all text in the document somehow centered. After removing \centering, it looks Ok. – alim May 19 '17 at 2:50
8

you have two unwanted spaces. Use

\documentclass{article}
\usepackage{graphicx}
\usepackage{showframe}   %% just for demo
\begin{document}
  \begin{table}
  \resizebox{\textwidth}{!}{%
  \begin{tabular}{*{14}{|c}|}%%{|c|c|c|c|c|c|c|c|c|c|c|c|c|c|}\hline
  One & Two &Three & Four & Five & Six & Seven & Eight & Nine & Ten & Eleven &
  Twelve & Thirteen & Fourteen\\\hline\hline
  $1.111$ & $2.222$ & $3.333$ & $4.444$ & $5.555$ & $6.666$ & $7.777$ &
  $8.888$ & $9.999$ & $0.000$ & $1.111$ & $2.222$ & $3.333$ & $4.444$\\\hline
\end{tabular}%
}
  \caption{Test Table}\label{tab:label_test}
\end{table}
\end{document}

enter image description here

  • Thank you for your answer but even without the spaces, width the comment character %, the table keeps to exceed the border of the page – nunzio13n Mar 2 '14 at 14:05
  • That's not possible with your code! You must do something special. See my edited answer. – user2478 Mar 2 '14 at 14:09
2

just put the scale in before \textwidth e.g. width=0.9\textwidth.

  • Welcome, can you extend your answer a little bit Right now, it is quite short and seems to be more suited as a comment. – Johannes_B Aug 15 '15 at 8:17
1

Try playing with max width with 0.9 or 0.7. It shrinks the table further.

For e.g., \begin{adjustbox}{max width=0.77\textwidth}

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.