Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

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

share|improve this question
    
I think I have a problem with my latex package, because even the solution provided by @HarishKumar doesn't work... –  nunzio13n Mar 2 at 14:15
1  
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. –  Herbert Mar 2 at 14:22
    
You are right... thank you very much I was becoming crazy –  nunzio13n Mar 2 at 14:25

2 Answers 2

up vote 7 down vote accepted

\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

share|improve this answer
    
Thanks but your solution doesn't work for me, look at my edited question –  nunzio13n Mar 2 at 14:20
    
@nunzio13n It works. Some thing else is wrong. –  Harish Kumar Mar 2 at 15:32

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

share|improve this answer
    
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 at 14:05
    
That's not possible with your code! You must do something special. See my edited answer. –  Herbert Mar 2 at 14:09

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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