Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about programming within the scope defined in the help center.
Closed 3 years ago.
Improve this question
I met this problem in LaTex. Although I know what is the error message meaning, I have no idea about how to solve this error in my task.
\newcommand*{\MinNumber}{0}%
\newcommand*{\MaxNumber}{1.2}%
\pgfmathsetmacro{\MidNumber}{(0.8}%
\def\test#1{\ifdim#1pt>\MidNumber\textcolor{gray!70}{#1}\else{#1}\fi}
\newcommand{\ApplyGradient}[2]{\centering %
\pgfmathsetmacro{\PercentColor}{100.0*(#1-\MinNumber)/(\MaxNumber-\MinNumber)}%
\edef\x{\noexpand\cellcolor{black!\PercentColor}}\x\test{#1}
}
\newcolumntype{R}{>{\collectcell\ApplyGradient}p{1.1cm}<{\endcollectcell}}
\newcolumntype{S}{>{\collectcell\ApplyGradient}p{0.6cm}<{\endcollectcell}}
%
\begin{table}[!ht]
\centering
\small
% \renewcommand{\arraystretch}{0.9}
% \begin{adjustbox}{width=0.8\textwidth}
\begin{tabular}{>{\centering}p{1.3cm}|>{\centering}p{0.9cm}|R R R R R }
\multicolumn{2}{c}{testing in$\rightarrow$}& \multicolumn{1}{c} {$\ang{40}$} & \multicolumn{1}{c} {$\ang{20}$} & \multicolumn{1}{c} {$\ang{0}$} & \multicolumn{1}{c} {$-\ang{20}$} & \multicolumn{1}{c} {$-\ang{40}$} \\ \midrule
& $\ang{40}$ & 0.52 & 0.44 & 0.27 & 0.10 & -0.01 \\
& $\ang{20}$ & 0.47 & 0.49 & 0.35 & 0.19 & 0.07 \\
spider9 & $\ang{0}$ & 0.25 & 0.47 & 0.63 & 0.46 & 0.24 \\
& $-\ang{20}$ & 0.05 & 0.17 & 0.35 & 0.55 & 0.54 \\
& $-\ang{40}$ & 0.0 & 0.05 & 0.21 & 0.47 & 0.77 \\
\midrule
& $\ang{40}$ & 0.75 & 0.69 & 0.40 & 0.17 & 0.04 \\
& $\ang{20}$ & 0.72 & 0.82 & 0.59 & 0.30 & 0.10 \\
gecko7 & $\ang{0}$ & 0.31 & 0.65 & 1.06 & 0.96 & 0.56 \\
& $-\ang{20}$ & 0.16 & 0.45 & 0.86 & 1.18 & 0.98 \\
& $-\ang{40}$ & 0.03 & 0.15 & 0.40 & 0.74 & 0.96 \\
\midrule
& $\ang{40}$ & 1.09 & 0.75 & 0.39 & 0.14 & 0.02 \\
& $\ang{20}$ & 0.54 & 0.55 & 0.33 & 0.15 & 0.04 \\
babyA & $\ang{0}$ & 0.29 & 0.58 & 0.88 & 0.74 & 0.42 \\
& $-\ang{20}$ & 0.18 & 0.47 & 0.85 & 1.09 & 0.71 \\
& $-\ang{40}$ & 0.02 & 0.11 & 0.33 & 0.65 & 0.91 \\
\bottomrule
\end{tabular}
%
\begin{tabular}{p{0.4cm} S}
& 0.0 \\
& 0.1 \\
& 0.2 \\
& 0.3 \\
& 0.4 \\
& 0.5 \\
& 0.6 \\
& 0.7 \\
& 0.8 \\
& 0.9 \\
& 1.0 \\
& 1.1 \\
& 1.2 \\
\end{tabular}
% \end{adjustbox}
\caption{Robustness of the top learned controllers for different directions in the real world.
The data shows the fitness that the top controllers of three robots in 5 directions (the second column) perform in another directions (the first row).
The fitness value in a cell is averaged over three controller and three repetitions for each controller.
The dark and light color represent the high and low fitness value respectively.}
\label{tab:robustness}
\end{table}
The table shows as the picture:
But I got a lot errors like:
Illegal unit of measure (pt inserted).
\protect
l.1545 & $\ang{40}$ & 0.52 &
0.44 & 0.27 & 0.10 & -0.01 \
Dimensions can be in units of em, ex, in, pt, pc,
cm, mm, dd, cc, nd, nc, bp, or sp; but yours is a new one!
I'll assume that you meant to say pt, for printer's points.
To recover gracefully from this error, it's best to
delete the erroneous units; e.g., type `2' to delete
two letters. (See Chapter 27 of The TeXbook.)
! Illegal unit of measure (pt inserted).
\protect
l.1545 ... & $\ang{40}$ & 0.52 & 0.44 &
0.27 & 0.10 & -0.01 \
Dimensions can be in units of em, ex, in, pt, pc,
cm, mm, dd, cc, nd, nc, bp, or sp; but yours is a new one!
I'll assume that you meant to say pt, for printer's points.
To recover gracefully from this error, it's best to
delete the erroneous units; e.g., type `2' to delete
two letters. (See Chapter 27 of The TeXbook.)
Could you give me hands to solve this problem? Thanks!
Here are some considerations:
While \MinNumber is defined to be 0, you have a number that is smaller than that in the table (-0.01).
If you're performing a test on dimensions (\ifdim <dimA><relation><dimB>) you need to make sure both <dimA> and <dimB> are dimensions. In your case you have
\ifdim#1pt>\MidNumber
and \MidNumber is clearly not a dimension. It is just a number (0.8). That's the main cause of the problem.
\ApplyGradient should only take a single argument, not two.
It's awkward to use booktabs together with vertical rules in a tabular. There's no real need for them; I've kept them in the output, but you don't need them.
\documentclass{article}
\usepackage[margin=1in]{geometry}% Just for this example
\usepackage[table]{xcolor}
\usepackage{booktabs,collcell,xfp}
\newcommand*{\ang}[2]{#1^\circ}
\newcommand*{\MinNumber}{-0.01}%
\newcommand*{\MaxNumber}{1.2}%
\newcommand*{\MidNumber}{0.8}%
\newcommand{\test}[2]{\ifdim#1pt>\MidNumber pt\textcolor{gray!70}{#1}\else #1\fi}
\newcommand{\ApplyGradient}[2]{\centering %
\edef\x{\noexpand\cellcolor{black!\fpeval{100*(#1-\MinNumber)/(\MaxNumber-\MinNumber)}}}\x\test{#1}
}
\newcolumntype{R}{>{\collectcell\ApplyGradient}p{1.1cm}<{\endcollectcell}}
\newcolumntype{S}{>{\collectcell\ApplyGradient}p{0.6cm}<{\endcollectcell}}
%
\begin{document}
\begin{table}
\centering
\begin{tabular}{
>{\centering}p{1.3cm} |
>{\centering}p{0.9cm} |
*{5}{R}
}
\multicolumn{2}{c}{testing in$\rightarrow$} &
\multicolumn{1}{c}{$\ang{40}$} &
\multicolumn{1}{c}{$\ang{20}$} &
\multicolumn{1}{c}{$\ang{0}$} &
\multicolumn{1}{c}{$-\ang{20}$} &
\multicolumn{1}{c}{$-\ang{40}$} \\
\midrule
& $\ang{40}$ & 0.52 & 0.44 & 0.27 & 0.10 & -0.01 \\
& $\ang{20}$ & 0.47 & 0.49 & 0.35 & 0.19 & 0.07 \\
spider9 & $\ang{0}$ & 0.25 & 0.47 & 0.63 & 0.46 & 0.24 \\
& $-\ang{20}$ & 0.05 & 0.17 & 0.35 & 0.55 & 0.54 \\
& $-\ang{40}$ & 0.0 & 0.05 & 0.21 & 0.47 & 0.77 \\
\midrule
& $\ang{40}$ & 0.75 & 0.69 & 0.40 & 0.17 & 0.04 \\
& $\ang{20}$ & 0.72 & 0.82 & 0.59 & 0.30 & 0.10 \\
gecko7 & $\ang{0}$ & 0.31 & 0.65 & 1.06 & 0.96 & 0.56 \\
& $-\ang{20}$ & 0.16 & 0.45 & 0.86 & 1.18 & 0.98 \\
& $-\ang{40}$ & 0.03 & 0.15 & 0.40 & 0.74 & 0.96 \\
\midrule
& $\ang{40}$ & 1.09 & 0.75 & 0.39 & 0.14 & 0.02 \\
& $\ang{20}$ & 0.54 & 0.55 & 0.33 & 0.15 & 0.04 \\
babyA & $\ang{0}$ & 0.29 & 0.58 & 0.88 & 0.74 & 0.42 \\
& $-\ang{20}$ & 0.18 & 0.47 & 0.85 & 1.09 & 0.71 \\
& $-\ang{40}$ & 0.02 & 0.11 & 0.33 & 0.65 & 0.91 \\
\bottomrule
\end{tabular}
\hspace{4mm}
\begin{tabular}{ S }
0.0 \\ 0.1 \\ 0.2 \\ 0.3 \\ 0.4 \\ 0.5 \\
0.6 \\ 0.7 \\ 0.8 \\ 0.9 \\ 1.0 \\ 1.1 \\
1.2
\end{tabular}
\caption{Robustness of the top learned controllers for different directions in the real world.
The data shows the fitness that the top controllers of three robots in~5 directions (the second column) perform in another directions (the first row).
The fitness value in a cell is averaged over three controller and three repetitions for each controller.
The dark and light color represent the high and low fitness value respectively.}
\end{table}
\end{document}
Related
I have a table that I would like to split over pages, but I can't seem to figure out how I can do it with my current lay-out or commands that I use.
At this time, I used landscape and minipage so that it would fit on one page:
\documentclass[11pt]{article}
\usepackage{pdflscape}
\usepackage{longtable}
\usepackage{lipsum}
\usepackage{bm}
\usepackage{makecell}
\begin{document}
\begin{landscape}
\centering
\begin{table}[!htb]
\caption{\label{CH2_tab:P80L} Empirical power from the simulation study with the indicators having an overall reliability of 80\% and a linear relationship with the latent variable. The highest power per setting is indicated in bold.}
\renewcommand{\arraystretch}{1.5}
\begin{minipage}{.5\linewidth}
\centering
\medskip
\scalebox{0.45}{
\begin{tabular}{rcccccc}
\hline
& \multicolumn{6}{c}{\textbf{Linear}} \\
\cline{2-7}
& \makecell{\textbf{WMW -- max rel} } & \makecell{\textbf{WMW -- mean }} & \makecell{\textbf{\textit{t} test -- max rel }} & \makecell{\textbf{\textit{t} test -- mean }} & \makecell{\textbf{SEM} } & \makecell{\textbf{SEM -- corrected}} \\
\hline
\multicolumn{7}{l}{$\mathcal{N}(0,1)$} \\
\multicolumn{7}{l}{\bm{$m=n=15$}} \\
\hline
Setting 1 & 29.7 & 31.0 & \textbf{33.2} & 32.9 & 32.4 & 32.1 \\
Setting 2 & 28.4 & 29.2 & 30.7 & \textbf{31.3} & 30.0 & 30.3 \\
Setting 3 & 29.5 & 29.3 & 31.8 & \textbf{32.3} & 32.0 & 31.9 \\
Setting 4 & 25.8 & 26.2 & 28.5 & 27.4 & \textbf{29.4} & 28.6 \\
\hline
\multicolumn{7}{l}{\bm{$m=n=50$}} \\
\hline
Setting 1 & 78.7 & 79.1 & 81.7 & 81.4 & \textbf{83.2} & 83.1 \\
Setting 2 & 79.5 & 78.8 & 81.0 & 80.4 & 82.0 & \textbf{82.1} \\
Setting 3 & 79.2 & 79.9 & 81.2 & 81.8 & \textbf{82.2} & 82.0 \\
Setting 4 & 74.8 & 72.3 & 77.6 & 74.4 & \textbf{80.0} & \textbf{80.0} \\
\hline
\multicolumn{7}{l}{\bm{$m=n=100$}} \\
\hline
Setting 1 & 98.2 & 98.1 & 98.5 & 98.6 & \textbf{98.7} & \textbf{98.7} \\
Setting 2 & 97.7 & 97.7 & 98.2 & \textbf{98.3} & \textbf{98.3} & \textbf{98.3} \\
Setting 3 & 97.6 & 97.5 & 98.1 & \textbf{98.2} & \textbf{98.2} & \textbf{98.2} \\
Setting 4 & 97.4 & 95.1 & 98.1 & 95.8 & 98.1 & \textbf{98.2} \\
\hline
\multicolumn{7}{l}{$t_5$} \\
\multicolumn{7}{l}{\bm{$m=n=15$}} \\
\hline
Setting 1 & 23.5 & 23.9 & 24.2 & 24.1 & \textbf{24.4} & 23.9 \\
Setting 2 & 24.0 & \textbf{24.1} & 23.1 & 22.6 & 22.0 & 22.2 \\
Setting 3 & 23.7 & \textbf{23.8} & 22.4 & 23.1 & 22.5 & 23.3 \\
Setting 4 & 22.1 & 22.4 & 22.2 & 22.4 & 22.4 & \textbf{23.5} \\
\hline
\multicolumn{7}{l}{\bm{$m=n=50$}} \\
\hline
Setting 1 & 65.8 & \textbf{66.1} & 60.8 & 60.9 & 61.8 & 61.4 \\
Setting 2 & \textbf{68.7} & \textbf{68.7} & 62.2 & 62.2 & 63.7 & 63.4 \\
Setting 3 & 67.3 & \textbf{67.6} & 61.1 & 61.4 & 62.7 & 62.2 \\
Setting 4 & \textbf{63.9} & 58.4 & 57.6 & 53.7 & 60.2 & 60.0 \\
\hline
\multicolumn{7}{l}{\bm{$m=n=100$}} \\
\hline
Setting 1 & 92.3 & \textbf{92.4} & 87.6 & 87.6 & 88.0 & 88.1 \\
Setting 2 & \textbf{91.7} & \textbf{91.7} & 87.0 & 87.4 & 87.9 & 87.8 \\
Setting 3 & 93.2 & \textbf{93.4} & 88.9 & 88.7 & 89.4 & 89.5 \\
Setting 4 & \textbf{90.6} & 86.8 & 85.7 & 83.4 & 87.4 & 87.4 \\
\hline
\hline
\end{tabular}
}
\end{minipage}\hfill
\begin{minipage}{.5\linewidth}
\centering
\medskip
\scalebox{0.45}{
\begin{tabular}{rcccccc}
\hline
& \multicolumn{6}{c}{\textbf{Linear}} \\
\cline{2-7}
& \makecell{\textbf{WMW -- max rel} } & \makecell{\textbf{WMW -- mean }} & \makecell{\textbf{\textit{t} test -- max rel }} & \makecell{\textbf{\textit{t} test -- mean }} & \makecell{\textbf{SEM} } & \makecell{\textbf{SEM -- corrected}} \\
\hline
\multicolumn{7}{l}{$Laplace(0,1.25)$} \\
\multicolumn{7}{l}{\bm{$m=n=15$}} \\
\hline
Setting 1 & 21.5 & \textbf{22.3} & 19.6 & 20.4 & 19.3 & 19.0 \\
Setting 2 & \textbf{21.9} & 21.4 & 21.0 & 21.1 & 19.8 & 21.0 \\
Setting 3 & 22.0 & \textbf{22.5} & 20.6 & 20.3 & 20.1 & 20.3 \\
Setting 4 & 17.3 & \textbf{19.8} & 16.5 & 18.8 & 19.4 & 19.3 \\
\hline
\multicolumn{7}{l}{\bm{$m=n=50$}} \\
\hline
Setting 1 & 61.8 & \textbf{62.0} & 53.2 & 53.2 & 55.0 & 54.6 \\
Setting 2 & 62.2 & \textbf{63.2} & 52.7 & 53.3 & 54.5 & 53.8 \\
Setting 3 & 64.6 & \textbf{66.0} & 52.9 & 52.8 & 54.7 & 54.2 \\
Setting 4 & \textbf{58.9} & 56.9 & 51.7 & 49.8 & 56.0 & 56.1 \\
\hline
\multicolumn{7}{l}{\bm{$m=n=100$}} \\
\hline
Setting 1 & \textbf{92.3} & 92.2 & 83.2 & 82.9 & 83.5 & 83.4 \\
Setting 2 & \textbf{88.1} & 87.9 & 77.7 & 77.5 & 78.2 & 78.1 \\
Setting 3 & \textbf{91.0} & 90.7 & 82.6 & 82.9 & 82.9 & 83.0 \\
Setting 4 & \textbf{85.5} & 80.4 & 77.7 & 74.2 & 79.3 & 79.3 \\
\hline
\multicolumn{7}{l}{Exp} \\
\multicolumn{7}{l}{\bm{$m=n=15$}} \\
\hline
Setting 1 & 22.2 & \textbf{23.1} & 18.1 & 18.2 & 18.7 & 18.3 \\
Setting 2 & 19.7 & \textbf{19.8} & 17.0 & 17.5 & 17.2 & 17.5 \\
Setting 3 & 19.4 & \textbf{20.2} & 16.9 & 17.6 & 16.9 & 17.0 \\
Setting 4 & 15.7 & \textbf{16.0} & 13.4 & 14.9 & 14.8 & 14.9 \\
\hline
\multicolumn{7}{l}{\bm{$m=n=50$}} \\
\hline
Setting 1 & 61.9 & \textbf{62.0} & 40.8 & 41.8 & 42.6 & 42.6 \\
Setting 2 & 56.2 & \textbf{57.6} & 38.0 & 38.2 & 39.9 & 39.3 \\
Setting 3 & 63.0 & \textbf{63.5} & 42.6 & 42.6 & 44.9 & 44.8 \\
Setting 4 & \textbf{50.1} & 45.0 & 36.9 & 36.7 & 40.6 & 40.4 \\
\hline
\multicolumn{7}{l}{\bm{$m=n=100$}} \\
\hline
Setting 1 & 86.7 & \textbf{87.2} & 67.2 & 67.5 & 67.7 & 67.8 \\
Setting 2 & 85.4 & \textbf{85.6} & 65.5 & 66.0 & 66.6 & 66.8 \\
Setting 3 & 88.2 & \textbf{88.4} & 66.4 & 66.3 & 67.3 & 67.6 \\
Setting 4 & \textbf{83.5} & 76.1 & 65.2 & 61.1 & 66.9 & 67.7 \\
\hline
\hline
\end{tabular}
}
\end{minipage}\hfill
\end{table}
\end{landscape}
\end{document}
However, I would like to split this table nicely over multiple pages (and thus by using e.g. longtable), in such way that on one page, I have the results for the N(0,1) and Laplace distribution (side by side), and then on the second page the t_5 and Exp distribution (side by side), i.e. split each table over 2 pages, but have 2 tables side by side by using minipage inside long table.
I know I could converge them and just make one large table and then use long table, however, I would really like not to rewrite the code (since I have 10 more tables like this). Does someone know how I could do this? I tried several ways, but none of them produce the result I am looking for.
Thank you for all your feedback!
Heidelinde
I've some regression in Stata that I would like to have in a table format. I also have the outputs saved in another map as .tex files, but they look really odd.
My Stata code is as follows
esttab DID_eventAlina DID_eventclio DID_eventdiktat DID_eventDRskole ///
using "$results/Table2_PanelA.tex", replace label booktabs keep(_IweeXyear_7 ///
_IweeXyear_7 _IweeXyear_8 _IweeXyear_9 _IweeXyear_10 _IweeXyear_11 _IweeXyear_12 _IweeXyear_13 _IweeXyear_14) b(2) se(2) r(3) ///
coeflabel(_IweeXyear_7 "4 weeks before*2020" _IweeXyear_8 "3 weeks before*2020" _IweeXyear_9 "2 week before*2020" _IweeXyear_10 "1 week before*2020" _IweeXyear_11 "week of lockdown*2020" ///
_IweeXyear_12 "1 week after*2020" _IweeXyear_13 "2 weeks after*2020" _IweeXyear_14 "3 weeks after*2020") ///
mtitles("Alina" "clio" "diktat" "Drskole" ) ///
stats(countryFE timeFE, fmt(. . . 0) ///
label("Country FE" "Year, Week and Day FE" "observation")) compress ///
nonotes star(* 0.1 ** 0.05 *** 0.01) nonumbers
And then when I look at the .tex file and open it in LaTeX it looks like this
{
\def\sym#1{\ifmmode^{#1}\else\(^{#1}\)\fi}
\begin{tabular}{l*{4}{c}}
\toprule
&\multicolumn{1}{c}{Alina}&\multicolumn{1}{c}{clio}&\multicolumn{1}{c}{diktat}&\multicolumn{1}{c}{Drskole}\\
\midrule
4 weeks before*2020& 0.00 & 0.00 & 0.00 & 0.00 \\
& (.) & (.) & (.) & (.) \\
\addlinespace
3 weeks before*2020& 4.34 & 4.24 & 0.00 & -10.35 \\
& (9.73) & (7.77) & (.) & (27.69) \\
\addlinespace
2 week before*2020& 4.53 & 1.37 & 0.00 & 32.16 \\
& (9.30) & (7.07) & (.) & (30.89) \\
\addlinespace
1 week before*2020& 1.92 & 4.28 & 0.00 & 25.09 \\
& (9.91) & (7.24) & (.) & (21.41) \\
\addlinespace
week of lockdown*2020& 10.75 & 17.52 & 0.00 & 17.27 \\
& (12.72) & (12.33) & (.) & (27.51) \\
\addlinespace
1 week after*2020& 10.24 & 25.36\sym{**} & 0.00 & 3.00 \\
& (11.57) & (10.98) & (.) & (32.10) \\
\addlinespace
2 weeks after*2020& 0.43 & 24.30\sym{***}& 0.00 & 16.41 \\
& (8.90) & (8.64) & (.) & (27.33) \\
\addlinespace
3 weeks after*2020& -8.52 & 15.20 & 0.00 & 11.45 \\
& (11.93) & (15.17) & (.) & (20.88) \\
\midrule
Country FE & Yes & Yes & Yes & Yes \\
Year, Week and Day FE& Yes & Yes & Yes & Yes \\
observation & & & & \\
N & 461 & 559 & 13 & 68 \\
\bottomrule
\end{tabular}
}
How can I make this a table in a pdf file?
If you want a page that has only this table, put
\documentclass{standalone}
\usepackage{booktabs}
\begin{document}
before what you have and put
\end{document}
after what you have. Then run LaTeX to compile it to produce the PDF file.
Otherwise, just put what you have in the document environment, and add \usepackage{booktabs} in the preamble (if not present).
I want to do something like this:
It has two headings: the upper one I'm done with but now I want to add a lower heading for only some columns.
Is there a way to add such a heading in latex?
My attempt:
\begin{tabular}{lcccccccc}\hline \hline
& Whole world & Base sample & Whole world & Base sample & Whole world & Base sample & Whole world & Base sample \\
& (1) & (2) & (3) & (4) & (5) & (6) & (7) & (8) \\ \hline \\
& & & & & & & & & \\
\multicolumn{6}{c}{Dependent variable is log GDP per capita in 1995 } \\
& & & & & & & & \\
The following uses the eqparbox package to set the integer and decimal part of each number wrapped inside a \fmtnum
\documentclass{article}
\usepackage{booktabs,makecell,eqparbox}
\newcommand{\mc}{\multicolumn{1}{c}}
\makeatletter
\newcommand{\fmtnum}[1]{\#fmtnum#1\relax}
\def\#fmtnum#1.#2\relax{\eqmakebox[int][r]{$#1.$}\eqmakebox[dec][l]{$#2$}}
\makeatother
\begin{document}
\noindent
\begin{tabular}{ *{8}{c} }
\toprule
\makecell{Whole \\ world \\ (1)} &
\makecell{Base \\ sample \\ (2)} &
\makecell{Whole \\ world \\ (3)} &
\makecell{Base \\ sample \\ (4)} &
\makecell{Whole \\ world \\ (5)} &
\makecell{Base \\ sample \\ (6)} &
\makecell{Whole \\ world \\ (7)} &
\makecell{Base \\ sample \\ (8)} \\
\midrule
\multicolumn{6}{c}{\small Dependent variable is log GDP per capita in 1995} &
\multicolumn{2}{c}{\small \makecell[b]{Dependent variable \\ is log output per \\ worker in 1998}} \\
\cmidrule(lr){1-6}\cmidrule{7-8}
\fmtnum{ 0.54 } & \fmtnum{ 0.52 } & \fmtnum{ 0.47 } & \fmtnum{ 0.43 } & \fmtnum{ 0.47 } & \fmtnum{ 0.41 } & \fmtnum{ 0.45 } & \fmtnum{ 0.46 } \\
\fmtnum{(0.04)} & \fmtnum{(0.06)} & \fmtnum{(0.06)} & \fmtnum{(0.05)} & \fmtnum{(0.06)} & \fmtnum{(0.06)} & \fmtnum{(0.04)} & \fmtnum{(0.06)} \\
\addlinespace
& & \fmtnum{ 0.89 } & \fmtnum{ 0.37 } & \fmtnum{ 1.60 } & \fmtnum{ 0.92 } \\
& & \fmtnum{(0.49)} & \fmtnum{(0.51)} & \fmtnum{(0.70)} & \fmtnum{(0.63)} \\
& & & \fmtnum{-0.62 } & & \fmtnum{-0.60 } \\
& & & \fmtnum{(0.19)} & & \fmtnum{(0.23)} \\
& & & \fmtnum{-1.00 } & & \fmtnum{-0.90 } \\
& & & \fmtnum{(0.15)} & & \fmtnum{(0.17)} \\
& & & \fmtnum{-0.25 } & & \fmtnum{-0.04 } \\
& & & \fmtnum{(0.20)} & & \fmtnum{(0.32)} \\
\fmtnum{ 0.62 } & \fmtnum{ 0.54 } & \fmtnum{ 0.63 } & \fmtnum{ 0.73 } & \fmtnum{ 0.56 } & \fmtnum{ 0.69 } & \fmtnum{ 0.55 } & \fmtnum{ 0.49 } \\
\mc{110} & \mc{64} & \mc{110} & \mc{110} & \mc{64} & \mc{64} & \mc{108} & \mc{61} \\
\bottomrule
\end{tabular}
\end{document}
While it is a bit cumbersome, there is very little uniformity across the table, with mixtures of decimal values using parentheses and negative numbers, numbers without decimal parts and also headers that are wider than their column constituents (columns 7-8).
The above code requires at least 2 compilations with every change in the maximum width of a number's integer or decimal part.
You can streamline the input a little using collcell:
\documentclass{article}
\usepackage{booktabs,makecell,eqparbox,collcell}
\newcommand{\mc}{\multicolumn{1}{c}}
\makeatletter
\newcommand{\fmtnum}[1]{\if\relax\detokenize{#1}\relax\else\#fmtnum#1\relax\fi}
\def\#fmtnum#1.#2\relax{\eqmakebox[int][r]{$#1.$}\eqmakebox[dec][l]{$#2$}}
\makeatother
\begin{document}
\noindent
\begin{tabular}{ *{8}{>{\collectcell\fmtnum}c<{\endcollectcell}} }
\toprule
\mc{\makecell{Whole \\ world \\ (1)}} &
\mc{\makecell{Base \\ sample \\ (2)}} &
\mc{\makecell{Whole \\ world \\ (3)}} &
\mc{\makecell{Base \\ sample \\ (4)}} &
\mc{\makecell{Whole \\ world \\ (5)}} &
\mc{\makecell{Base \\ sample \\ (6)}} &
\mc{\makecell{Whole \\ world \\ (7)}} &
\mc{\makecell{Base \\ sample \\ (8)}} \\
\midrule
\multicolumn{6}{c}{\small Dependent variable is log GDP per capita in 1995} &
\multicolumn{2}{c}{\small \makecell[b]{Dependent variable \\ is log output per \\ worker in 1998}} \\
\cmidrule(lr){1-6}\cmidrule{7-8}
0.54 & 0.52 & 0.47 & 0.43 & 0.47 & 0.41 & 0.45 & 0.46 \\
(0.04) & (0.06) & (0.06) & (0.05) & (0.06) & (0.06) & (0.04) & (0.06) \\
\addlinespace
& & 0.89 & 0.37 & 1.60 & 0.92 \\
& & (0.49) & (0.51) & (0.70) & (0.63) \\
& & & -0.62 & & -0.60 \\
& & & (0.19) & & (0.23) \\
& & & -1.00 & & -0.90 \\
& & & (0.15) & & (0.17) \\
& & & -0.25 & & -0.04 \\
& & & (0.20) & & (0.32) \\
0.62 & 0.54 & 0.63 & 0.73 & 0.56 & 0.69 & 0.55 & 0.49 \\
\mc{110} & \mc{64} & \mc{110} & \mc{110} & \mc{64} & \mc{64} & \mc{108} & \mc{61} \\
\bottomrule
\end{tabular}
\end{document}
I am trying to draw a 6 column table in LaTeX which fits normal page margins, and which has the data centered under each column heading. Wrapping of column headings is fine. I have spent the last 3 hours reading various threads of answers, and it seems there is a different solution for each question related to drawing a table. As a result I am lost on how to do it. My table presently extends off the page margin to the right. I am not permitted to use any packages like tabularx, etc., so the table must be drawn in the tabular environment, and no additional packages are loaded in the document above the begin table call. Here is the present code used to draw the table:
\begin{table}
\caption{Experimental Details for PRE1}
\centering
\begin{tabular}{cccccc}
\hline
PRE1 Interval & Elapsed Time (min) & Flow (lps) & Sediment Feed (kg/min) & Avg. Flux (kg/min) & DEM/Photo\\
\hline
1 & 19 & 42 & 0.50 & 0.009 & yes\\
2 & 50 & 42 & 0.50 & 0.027 & yes \\
3 & 110 & 42 & 0.50 & 0.064 & yes \\
4 & 230 & 42 & 0.50 & 0.048 & yes \\
5 & 470 & 42 & 0.50 & 0.027 & yes \\
6 & 710 & 42 & 0.50 & 0.050 & yes \\
7 & 950 & 42 & 0.50 & 0.030 & yes \\
8 & 1190 & 42 & 0.50 & 0.016 & yes \\
9 & 1430 & 42 & 0.50 & 0.099 & yes \\
10 & 1670 & 42 & 0.50 & 0.058 & yes \\
11 & 1910 & 42 & 0.50 & 0.055 & yes \\
12 & 2150 & 42 & 0.50 & 0.031 & yes \\
13a & 2180 & 60 & 0.50 & 4.284 & no \\
13b & 2195 & 60 & 0.80 & 7.113 & no \\
13c & 2225 & 60 & 0.80 & 3.670 & yes \\
14a & 2270 & 60 & 0.80 & 2.296 & no \\
14b & 2390 & 60 & 0.80 & 0.917 & yes \\
15a & 2405 & 80 & 1.00 & 3.848 & no \\
15b & 2429 & 80 & 1.00 & 3.840 & no \\
15c & 2450 & 80 & 1.00 & 3.303 & yes \\
16a & 2480 & 80 & 1.00 & 2.554 & no \\
16b & 2525 & 80 & 1.00 & 1.336 & no \\
16c & 2570 & 80 & 1.00 & 0.927 & yes \\
17 & 2630 & 80 & 1.00 & 1.067 & yes \\
18 & 2870 & 42 & 0.50 & 0.033 & yes \\
19 & 3110 & 42 & 0.50 & 0.016 & yes \\
20 & 3350 & 42 & 0.50 & 0.013 & yes \\
21 & 3590 & 42 & 0.50 & 0.018 & yes \\
22 & 3830 & 42 & 0.50 & 0.022 & yes \\
23 & 4070 & 42 & 0.50 & 0.143 & yes \\
24 & 4310 & 42 & 0.50 & 0.509 & yes \\
25a & 4336 & 60 & 0.80 & 4.488 & no \\
25b & 4351 & 60 & 0.80 & 9.622 & no \\
25c & 4370 & 60 & 0.80 & 5.479 & no \\
25d & 4385 & 60 & 0.80 & 4.527 & yes \\
26a & 4430 & 60 & 0.80 & 2.436 & no \\
26b & 4550 & 60 & 0.80 & 0.595 & yes \\
27a & 4565 & 80 & 0.80 & 2.231 & no \\
27b & 4589 & 80 & 0.80 & 6.212 & no \\
27c & 4610 & 80 & 0.80 & 5.062 & yes \\
28a & 4640 & 80 & 0.80 & 2.069 & no \\
28b & 4685 & 80 & 0.80 & 1.132 & no \\
28c & 4730 & 80 & 0.80 & 0.892 & yes \\
29 & 4790 & 80 & 0.80 & 0.600 & yes \\
\hline
\multicolumn{2}{l}{$^{a}$The repeat phase of PRE1 began at elapse time 2630 minutes.}\\
\multicolumn{2}{l}{$^{b}$The elapse time indicates the end time for the specified experimental interval.}
\label{tab1}
\end{tabular}
\end{table}
I attempted to use the following type of syntax from the Wikibooks help page as the columns could be treated as identical, but with no luck:
\begin{tabular}{l*{6}{c}r}
I would appreciate any help that can be offered. Thanks in advance.
I figured my problem. The difficulty was with the footnotes. In the footnotes I was only specifying a value of 2 for the first multicolumn argument, and thus columns 3-6 were getting shoved to the right depending on how much text was in footnotes a and b. Here is the corrected working code.
\begin{table}
\caption{Experimental Details for PRE1}
\centering
\begin{tabular}{l*{5}{c}r}
\hline
PRE1 Interval & Elapsed Time (min) & Flow (lps) & Sediment Feed (kg/min) & Avg. Flux (kg/min) & DEM/Photo\\
\hline
0 & 0 & - & - & - & yes\\
1 & 19 & 42 & 0.50 & 0.009 & yes\\
2 & 50 & 42 & 0.50 & 0.027 & yes \\
3 & 110 & 42 & 0.50 & 0.064 & yes \\
4 & 230 & 42 & 0.50 & 0.048 & yes \\
5 & 470 & 42 & 0.50 & 0.027 & yes \\
6 & 710 & 42 & 0.50 & 0.050 & yes \\
7 & 950 & 42 & 0.50 & 0.030 & yes \\
8 & 1190 & 42 & 0.50 & 0.016 & yes \\
9 & 1430 & 42 & 0.50 & 0.099 & yes \\
10 & 1670 & 42 & 0.50 & 0.058 & yes \\
11 & 1910 & 42 & 0.50 & 0.055 & yes \\
12 & 2150 & 42 & 0.50 & 0.031 & yes \\
13a & 2180 & 60 & 0.50 & 4.284 & no \\
13b & 2195 & 60 & 0.80 & 7.113 & no \\
13c & 2225 & 60 & 0.80 & 3.670 & yes \\
14a & 2270 & 60 & 0.80 & 2.296 & no \\
14b & 2390 & 60 & 0.80 & 0.917 & yes \\
15a & 2405 & 80 & 1.00 & 3.848 & no \\
15b & 2429 & 80 & 1.00 & 3.840 & no \\
15c & 2450 & 80 & 1.00 & 3.303 & yes \\
16a & 2480 & 80 & 1.00 & 2.554 & no \\
16b & 2525 & 80 & 1.00 & 1.336 & no \\
16c & 2570 & 80 & 1.00 & 0.927 & yes \\
17 & 2630 & 80 & 1.00 & 1.067 & yes \\
18 & 2870 & 42 & 0.50 & 0.033 & yes \\
19 & 3110 & 42 & 0.50 & 0.016 & yes \\
20 & 3350 & 42 & 0.50 & 0.013 & yes \\
21 & 3590 & 42 & 0.50 & 0.018 & yes \\
22 & 3830 & 42 & 0.50 & 0.022 & yes \\
23 & 4070 & 42 & 0.50 & 0.143 & yes \\
24 & 4310 & 42 & 0.50 & 0.509 & yes \\
25a & 4336 & 60 & 0.80 & 4.488 & no \\
25b & 4351 & 60 & 0.80 & 9.622 & no \\
25c & 4370 & 60 & 0.80 & 5.479 & no \\
25d & 4385 & 60 & 0.80 & 4.527 & yes \\
26a & 4430 & 60 & 0.80 & 2.436 & no \\
26b & 4550 & 60 & 0.80 & 0.595 & yes \\
27a & 4565 & 80 & 0.80 & 2.231 & no \\
27b & 4589 & 80 & 0.80 & 6.212 & no \\
27c & 4610 & 80 & 0.80 & 5.062 & yes \\
28a & 4640 & 80 & 0.80 & 2.069 & no \\
28b & 4685 & 80 & 0.80 & 1.132 & no \\
28c & 4730 & 80 & 0.80 & 0.892 & yes \\
29 & 4790 & 80 & 0.80 & 0.600 & yes \\
\hline
\multicolumn{6}{l}{$^{a}$The repeat phase of PRE1 began at elapse time 2630 minutes.}\\
\multicolumn{6}{l}{$^{b}$The elapse time indicates the end time for the specified experimental interval.}
\label{tab1}
\end{tabular}
\end{table}
Note that I used the multiple identical columns solution in the \begin{tabular} call. here is an image of the corrected table.
This question has been answered.
I'm trying to add a caption to a table in latex, however it throws this error "! LaTeX Error: \caption outside float."
From the error I am guessing it means that it is outside the table, but I have clearly put it inside.
\begin{tabular}{|c|c|c|c|c|c|}
\caption{Table1}
Potentiometer & Resistance & \multicolumn{2}{c}{Calculated V\textsubscript{32}} & \multicolumn{2}{c|}{Measured V\textsubscript{32}}\\ \cline{3-6}
Position & R\textsubscript{34} & Amplitude & Phase & Amplitude & Phase\\ \hline \hline
1 & 303.8 & & 2.73 & 28.2 & 2.51\\
2 & 1.141k & & 1.81 & 28.2 & 1.63\\
3 & 3.453k & & 0.79 & 28.2 & 0.5\\
4 & 5.33k & & 0.53 & 28.2 & 0.38\\
5 & 7.45k & & 0.38 & 28.2 & 0.25\\
6 & 9.54k & & 0.30 & 28.2 & 0.13\\
7 & 10.84k & & 0.27 & 28.2 & 0.13\\
\hline
\end{tabular}
The tabular environment won't take a caption. You need to do something like this:
\begin{table}
\begin{tabular}{|c|c|c|c|c|c|}
Potentiometer & Resistance & \multicolumn{2}{c}{Calculated V\textsubscript{32}} & \multicolumn{2}{c|}{Measured V\textsubscript{32}}\\ \cline{3-6}
Position & R\textsubscript{34} & Amplitude & Phase & Amplitude & Phase\\ \hline \hline
1 & 303.8 & & 2.73 & 28.2 & 2.51\\
2 & 1.141k & & 1.81 & 28.2 & 1.63\\
3 & 3.453k & & 0.79 & 28.2 & 0.5\\
4 & 5.33k & & 0.53 & 28.2 & 0.38\\
5 & 7.45k & & 0.38 & 28.2 & 0.25\\
6 & 9.54k & & 0.30 & 28.2 & 0.13\\
7 & 10.84k & & 0.27 & 28.2 & 0.13\\
\hline
\end{tabular}
\caption{Table1}
\label{tab:xyz}
\end{table}
If you don't want to use a "float" (e.g. table or figure) that will "float away" from the place you define it, you can add:
\usepackage{capt-of}
in the preamble and then do something like:
\begin{center}
\captionof{table}{Caption text goes here}
\label{table1} % for use in \ref{table1} if you want to refer to the table number
\begin{tabular}{|c|c|c|c|c|c|}
% etc.
\end{tabular}
\end{center}
to add a auto-numbered caption to a non-float.