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 am trying to make a full page table using tabularx. As far as I can understand, the second parameter specifies the entire size and the "X" columns self-stretch to fill it up. What I run into is a table that is split at the end of the page and I cannot seem to make it shift to the right. What am I doing wrong here? I should also mentioned I've tried experimeting with textheight and textwidth but could not figure out how to force the width.

Example code below:

\documentclass[a4paper,12pt]{scrartcl}
\usepackage{pdflscape}
\usepackage{tabularx}
\usepackage{lipsum}

\begin{document}
  \begin{landscape}

   \begin{tabularx}{290mm}{|c|c|c|X|}
   \hline
   Lorem & Lorem & Lorem & \lipsum[1] \\
   \hline
   \end{tabularx}

  \end{landscape}
\end{document}
share|improve this question
add comment

2 Answers

up vote 13 down vote accepted

you have some issues, first off the 290mm should really be \linewidth or \textwidth. Second, you should put a \noindent in front of the tabular. And finally, not so much of an issue, remove the page number.

\documentclass[a4paper,12pt]{scrartcl}
\usepackage{pdflscape}
\usepackage{tabularx}
\usepackage{lipsum}

\begin{document}
  \begin{landscape}
    \thispagestyle{empty}
    \noindent
    \begin{tabularx}{\linewidth}{|c|c|c|X|}
      \hline
      Lorem & Lorem & Lorem & \lipsum[1] \\
      \hline
    \end{tabularx}
  \end{landscape}
\end{document}

To address the comment, it's not how I read it, but if that is in fact the case, the following can be used (Adjusted after egreg's comment):

\centering\makebox[0pt][c]{%
  \hskip-\footskip
  \begin{tabularx}{\paperheight}{|c|c|c|X|}
    \hline
    Lorem & Lorem & Lorem & \lipsum[1] \\
    \hline
  \end{tabularx}%
  \hskip\headheight
}
share|improve this answer
    
I think the original question specifically says that \linewidth is not an option as it keeps the table within the margins. I think the question is to get the table from edge to edge of the page ignoring margins. –  ArTourter Mar 22 '12 at 15:17
    
@ArTourter: That's not how I read it, but I added an alternative for that case. –  Roelof Spijker Mar 22 '12 at 15:32
    
I'd prefer \centering\makebox[0pt][c]{...} instead of the foreign command \centerline. –  egreg Mar 22 '12 at 17:42
    
Thank you, perfect, both solutions work very nicely. –  Spiros Mar 23 '12 at 13:42
2  
@RoelofSpijker It's an unsupported command and behaves in a way that users might find surprising (for example it doesn't force horizontal mode). –  egreg Mar 23 '12 at 17:12
show 3 more comments

You have a paragraph indent to the left of the table and the specified width is considerably more than the horizontal size, because of the margins. try

  \noindent\begin{tabularx}{\hsize}{|c|c|c|X|}
share|improve this answer
    
Thank you - very helpful but part of the solution. –  Spiros Mar 23 '12 at 13:40
add comment

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.