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.

There's something wrong with this code:

\newenvironment{Tbl}
{\begin{tabularx}{\textwidth}{|l|X|} \hline}
{\end{tabularx}}

but this is fine:

\newenvironment{Tbl}
{\begin{tabular}{|l|l|} \hline}
{\end{tabular}}

Why? And how can I get the first to work?

Here is the full LaTeX file:

\documentclass[a4paper, 12pt]{article}
\usepackage{tabularx}

\newenvironment{Tbl}
{\begin{tabularx}{\textwidth}{|l|X|} \hline}
{\end{tabularx}}

\begin{document}

\begin{Tbl}
\end{Tbl}

\end{document}

latex test.tex

produces:

This is pdfTeXk, Version 3.141592-1.40.3 (Web2C 7.5.6)
 %&-line parsing enabled.
entering extended mode
(./test.tex
LaTeX2e <2005/12/01>
Babel <v3.8h> and hyphenation patterns for english, usenglishmax, dumylang, noh
yphenation, arabic, basque, bulgarian, coptic, welsh, czech, slovak, german, ng
erman, danish, esperanto, spanish, catalan, galician, estonian, farsi, finnish,
 french, greek, monogreek, ancientgreek, croatian, hungarian, interlingua, ibyc
us, indonesian, icelandic, italian, latin, mongolian, dutch, norsk, polish, por
tuguese, pinyin, romanian, russian, slovenian, uppersorbian, serbian, swedish, 
turkish, ukenglish, ukrainian, loaded.
(/usr/share/texmf/tex/latex/base/article.cls
Document Class: article 2005/09/16 v1.4f Standard LaTeX document class
(/usr/share/texmf/tex/latex/base/size12.clo))
(/usr/share/texmf/tex/latex/tools/tabularx.sty
(/usr/share/texmf/tex/latex/tools/array.sty)) (./test.aux))
Runaway argument?
 \par 
! File ended while scanning use of \TX@get@body.
<inserted text> 
                \par 
<*> test.tex

? 
share|improve this question

migrated from stackoverflow.com Jan 26 '12 at 3:54

This question came from our site for professional and enthusiast programmers.

    
In the future please read the documentation of a package before asking a question on a package. This is clearly answered in the tabularx documentation. –  Martin Schröder Jan 26 '12 at 13:29
1  
@MartinSchröder This sort of attitude slows down progress. Because: it's much faster to type the error message into Google and get the answer on this site, than to read through the package documentation. Now multiply this by hundreds of people around the world. We're talking many hours saved. –  Evgeni Sergeev Jul 30 '13 at 6:25
add comment

2 Answers

This is considered "status by design" for tabularx. See the tabularx documentation (section 5 The Macros, p 4).

The way around it is the use the "command form" of the tabularx environment:

\newenvironment{Tbl}
  {\tabularx{\textwidth}{|l|X|} \hline}
  {\endtabularx}
share|improve this answer
add comment

Your code works fine in my LaTeX implementation, but I've had to add

\usepackage{array}
\usepackage{tabularx}

in the preamble of my document.

Update: try adding content:

\begin{Tbl}
Hello & World \\
\end{Tbl}
share|improve this answer
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.