19 Comments

  1. Lavinia

    Hi,

    I am trying to change the “title” of a table in Latex. You know that first part of the tile: “Table 1: —–“. I want this “Table” to disappear or to replace it with something else. Is there any way that I can do that?

    Thanks,
    Lavinia

    • Hi Lavinia,

      Try the caption package:

      \usepackage{caption}

      and within your document use:

      \captionsetup{tablename=Tab.}

      for “Tab.” instead of “Table” and similarly for figures:

      \captionsetup{figurename=Fig.}

      Source: Caption documentaton

      Cheers,
      Tom

  2. TeXin

    I am using LaTeX to make some reports, one problem I am having is with Tables, the headings to the tables are quite long. Right now I use the tabularx package, when I compile I get underfull hbox badness 10000, I know it will still work but I want LaTeX to compile with no warnings. A minimal example is given below.

    \documentclass[a4paper,10pt]{article}
    \usepackage{tabularx}
    \begin{document}
    \begin{table}[H]
    \centering
    \begin{tabularx}{\linewidth}{ |X|X|X|X|}
    \hline
    Long Name & Long Name& Long Name & Very Long Namesssdsdsdsdsdsdsdssdsdsdsdsdsdsdsssdsds \\
    \hline
    1 & 2.3 & 30.3 & 36\\
    \hline
    2 & 8.6 & 10.4 & 17\\
    \hline
    3.5 & 18.2 & 5.2 & 12\\
    \hline
    5 & 28.2 & 3.4 & 6\\
    \hline
    \end{tabularx}
    \end{table}
    \end{document}
    • Hi!

      Thanks for your question and the minimal working example. As you already pointed out, the problem lies with the very long names of the column headings. I suggest you try the microtype package. Loading that packages possibly resolves most of the warnings. Otherwise, you can enforce how LaTeX splits long names using:

      \hyphenation{}

      Hope it helps,
      Tom.

  3. TeXin

    Hi Tom,

    Thanks, it fixed it up, however I have decided to make the shift to the booktabs table, it looks much more professional. However another problem with the long names in booktabs is Overfull hbox badness 10000, sometimes I get this when placing figures side by side, any assistance?

    • Hey!

      These warnings are relatively easy to fix. Use the documentclass option draft to highlight any “overfull hbox”. I suspect you are using 0.5\linewidth or 0.5\textwidth for two figures side-by-side. Just slightly reduce the size to e.g. 0.47\textwidth for both figures, since LaTeX add some space in between.

      \usepackage{graphicx}
      ...
      \includegraphics[width=0.47\textwidth]{filename}

      Please provide a minimal working example again in case this does not solve your problem.

      Thanks, Tom.

  4. mero

    Hello tom
    please help me in my problem

    I’m using lyx and I want to make word table bold and put caption below word table, also i want both word table and caption to be most left justified with left border of table , like this

    Table1
    This is table1 caption

    what will be code to modify or steps in lyx

    • Hi mero,

      I’m sure you can do it in LyX. But since I never use LyX, here is how I would go about it.
      Insert TeX code before and after your table:

      % before
      \begin{table}[ht]
      \begin{bfseries}
      %after
      \end{bfseries}
      \caption{Table caption text.}
      \end{table}

      Once that’s done, you’ll also need to align the caption which turns out a little more challenging, since you’ll need to load the caption package. Navigate to “Document –> Settings” and choose “LaTeX preamble”. Then paste the following line in the textbox:

      \usepackage[singlelinecheck=off]{caption}

      That did the trick for me. Hope it works for you!

      Cheers, Tom.

  5. Markus

    Hi, I have a problem

    \begin{table}
    \begin{tabular}{l*3S[table-format=4.4]}
     \toprule
    \input{result1.tex}
    \bottomrule
    \end{tabular}
    \end{table}

    Result1.tex:

    &\multicolumn{1}{c}{(1)}&\multicolumn{1}{c}{(2)}&\multicolumn{1}{c}{(3)}\\
    &\multicolumn{1}{c}{Success}&\multicolumn{1}{c}{Total}&\multicolumn{1}{c}{Round1}\\
    \midrule
    main&&&\\
    Round1&0.405\sym{***}&&\\
    &(0.121)&&\\
    Gender&0.167&2.852\sym{**}&0.336\sym{***}\\
    &(0.298)&(1.177)&(0.128)\\
    Biology&-0.695&0.373&0.047\\
    &(0.461)&(0.422)&(0.086)\\
    Mathematics&0.355&-3.533&-0.829\sym{***}\\
    &(0.595)&(2.545)&(0.221)\\
    Economics&0.195&-1.535&-0.140\\
    &(0.358)&(1.308)&(0.148)\\
    Psychology&0.471&-0.011&0.017\\
    &(0.608)&(1.833)&(0.248)\\
    Law&0.628&0.638&-0.257\\
    &(0.568)&(2.058)&(0.211)\\
    Treatment&0.722\sym{*}&&0.105\\
    &(0.411)&&(0.073)\\
    Constant&-1.935\sym{***}&14.719\sym{***}&1.527\sym{***}\\
    &(0.702)&(1.343)&(0.138)\\
    \midrule
    Observations&234&234&234\\

    I always get the error:

    missplaced\noaligne.
    \bottomrule-> noaligne

    I can solve the problem by changing \input{result1.tex} to \input{result1.tex} \\

    But then I have a empty line before the bottomrule and thats not what I want.

    Anybody an idea?

    Thanks in advance

    • Hi Markus,

      I recommend to place the entire table, not only the table content, into the file and try again. It works for me. Also, next time, please provide a minimal working example. I first had to google before I was able to run your code. It only works when using quite a substantial amount of additional code.

      Cheers, Tom.

      • Markus Karde

        Thanks for your help Tom. It was the first time that I posted a problem in a forum like this one. Thats why I had no idea how I should really do it. Next time I will do it as you recommend. Thanks again. The problem is that the file result1.tex is provided from Stata.It’s important for me that it stays like this. But thats exactly the point. Isn’t it strange that it works when one puts everything in the file. I mean what else does the the input command do as just putting the code at it’s place. But that’s not working.

      • Hi Markus,

        Thanks for following up on your question. Not sure, why you get the error. Here is what works for me with your Stata output (result1.tex):

        \documentclass[11pt]{article}
        \usepackage{booktabs}
        \usepackage{caption}
        \newcommand{\sym}[1]{\rlap{#1}}%
        \usepackage{siunitx} % centering in tables
        	\sisetup{
        		detect-mode,
        		tight-spacing		= true,
        		group-digits		= false ,
        		input-signs		= ,
        		input-symbols		= ( ) [ ] - + *,
        		input-open-uncertainty	= ,
        		input-close-uncertainty	= ,
        		table-align-text-post	= false
                }
        \let\estinput=\input%
        \newcommand{\estauto}[3]{
        		\vspace{.75ex}{
        			\begin{tabular}{l*{#2}{#3}}
        			\toprule
        			\estinput{#1}
        			\bottomrule
        			\addlinespace[.75ex]
        			\end{tabular}
        			}
        		}
        \begin{document}
        \begin{table}
        \estauto{result1.tex}{4}{l}
        %\begin{tabular}{l*3S[table-format=4.4]}
        %\toprule
        %\input{result1.tex}
        %\bottomrule
        %\end{tabular}
        \end{table}
        \end{document}

        I copied most of the code from this blog.

        Your code (commented with %) also works. Give it a try!

        Hope it helps. Tom.

  6. Hello Tom,
    I have a query. I want to make a table which is very long in terms of column. So I divided the whole thing into 2 parts. Now these are titled as Table 1 and Table 2. But how can I make them Table 1.(A) and Table 1.(B)…. Is there any way?
    Thanks in advance

Leave a Reply