It is not possible to do this with lineno. Take a look at the manual: http://texdoc.net/texmf-dist/doc/latex/lineno/ulineno.pdf.
It says that there are 2 modes, running and pagewise.
If you use the option switch
, but not the option pagewise, it is possible to switch the margin the numbers appear in, but it is no longer possible to reset the linenumbers due to how they are processed.
As it is put in the manual:
Pagewise line numbers. The lines on each page are numbered from one.
Automatic margin switching is possible.
Running mode can be simulated in pagewise mode, to get automatic
margin switching with continuous line numbers, but without the ability
to reset/preset the line numbers anywhere in the document.
Basically, switch
without pagewise
simulates running mode in the pagewise mode, as per the second paragraph.
You will either have to stop using switch
, or include pagewise
to number each page from 1.
I still am having issues with the \centerline
command; this isn't the best centering command to use, I'd recommend the \begin{center}
environment or {\centering ... }
instead.
So the real answer to your question is to use
\renewcommand{\TPTminimum}{\linewidth}
to redefine the minimum amount of space that is used by the caption and the notes in the threeparttable environment. Doing so like this gives a result that, strictly, is what you asked for:
\documentclass[12pt]{article}
\usepackage{threeparttable}
\usepackage{booktabs}
\begin{document}
\begin{table}[h]
\begin{threeparttable}
\renewcommand{\TPTminimum}{\linewidth}
\caption{The is ment to be a very long table caption, which is wider than the table itself.}
\label{table:meanerrorbaseline}
{\centering
\begin{tabular}{cc}
\toprule
Endowment & Mean error \\
\midrule
0 & 1.67 \\
1 & 1.49* \\
2 & 1.42** \\
3 & 1.30*** \\
4 & 1.15*** \\
5 & 1.15*** \\
6 & 1.09*** \\
7 & 1.02*** \\
8 & 0.92*** \\
9 & 0.85*** \\
10 & 0.76** \\
\bottomrule
\end{tabular}
}
\begin{tablenotes}
\small
\item The note is ment to be wider than the table itself, without having to make the table wider and making it look ugly.
\end{tablenotes}
\end{threeparttable}
\end{table}
\end{document}
...it looks like this:
Your next logical question would be, "How do I center the table within the caption?" The only recommended solution I could find to this was in Why isn't my table centering with threeparttable?. The answers there either omitted the caption at the top of the table or did not deal with the wide table issue (omitting the \renewcommand{\TPTminimum}{...}
). Using the \makebox...
solution, we come close to what is desired, but only if the caption is left off, or moved to the bottom:
\documentclass[]{article}
\usepackage{threeparttable}
\usepackage{booktabs}
\begin{document}
\begin{table}[h]
\begin{threeparttable}
\renewcommand{\TPTminimum}{\linewidth}
%\caption{The is ment to be a very long table caption, which is wider than the table itself.}
%\label{table:meanerrorbaseline}
\makebox[\linewidth]{%
\begin{tabular}{cc}
\toprule
Endowment & Mean error \\
\midrule
0 & 1.67 \\
1 & 1.49* \\
2 & 1.42** \\
3 & 1.30*** \\
4 & 1.15*** \\
5 & 1.15*** \\
6 & 1.09*** \\
7 & 1.02*** \\
8 & 0.92*** \\
9 & 0.85*** \\
10 & 0.76** \\
\bottomrule
\end{tabular}}
\begin{tablenotes}
\small
\item The note is meant to be wider than the table itself, without having to make the table wider and making it look ugly.
\end{tablenotes}
\end{threeparttable}
\end{table}
\end{document}
Without the caption, this appears as:
So how do we get both? The solution I came up with uses extra columns on the sides of the table that pad the table, centering it within the caption. It is a bit of a hack, but it solves the problem in a way that other more elegant solutions cannot.
The code:
\documentclass[]{article}
\usepackage{threeparttable}
\usepackage{booktabs}
\begin{document}
\begin{table}[h]
\begin{threeparttable}
%\renewcommand{\TPTminimum}{\linewidth}
\caption{The is ment to be a very long table caption, which is wider than the table itself.}
\label{table:meanerrorbaseline}
\begin{tabular}{cccc}
\cmidrule[\heavyrulewidth]{2-3} % \toprule
~\rule{1in}{0in} & Endowment & Mean error & \rule{1in}{0in}~ \\
\cmidrule[\lightrulewidth]{2-3} % \midrule
& 0 & 1.67 & \\
& 1 & 1.49* & \\
& 2 & 1.42** & \\
& 3 & 1.30*** & \\
& 4 & 1.15*** & \\
& 5 & 1.15*** & \\
& 6 & 1.09*** & \\
& 7 & 1.02*** & \\
& 8 & 0.92*** & \\
& 9 & 0.85*** & \\
& 10 & 0.76** & \\
\cmidrule[\heavyrulewidth]{2-3} % \bottomrule
\end{tabular}
\begin{tablenotes}
\small
\item The note is meant to be wider than the table itself, without having to make the table wider and making it look ugly.
\end{tablenotes}
\end{threeparttable}
\end{table}
\end{document}
This appears as:
Best Answer
After some headaches:
The
edtable
environment should be made known tothreeparttable
;however we can't pass it to the hooks, because
edtable
has an optional argument, so I use a "wrapper" for it;the command
\resetlinenumber
is not allowed inthreeparttable
, so I hide it in the new environment;a
\@centercr
emitted byedtable
causes the infamous "Perhaps a missing\item
" error, so I neutralize it;the
\threeparttable
environment is patched to made theetabular
environment known to it (see this answer).Similar patches are made for the
etabular*
environment that internally calls\begin{edtable}{tabular*}
. One has to use\TPT@hookarg
instead of\TPT@hookin
, in this case, like fortabular*
.