# Code review: Tables on a page

In a document I am working on, I am trying to group four tables on a single page. However, it seems I still have not one, but multiple issues with my understanding of how tables work...

I tried to dumb down the code from my document to come up with individual questions, but that is a bit difficult if you are not sure what your problem is in the first line.

So, I kindly ask for your help in reviewing the code below, and tell me where I am doing the wrong thing. More precisely:

• Why is table 1 offset to the right, and how do I fix that? (The right side of table 1 is not flush with the page number at the bottom.)
• Why are the other tables offset to the left, and how do I fix that? (The right side of table 3 is not flush with the page number at the bottom or the right side of table 1, and the left sides of table 2 and table 4 are not flush with table 1.)
• Why is table 3 offset to the bottom, and how do I fix that? (It should be level with table 2, shouldn't it?)
• I get lots of overfull / underfull warnings, so apparently my idea of managing page space is off; what am I doing wrong, and how do I fix that?
• If you see any other issues, feel free to point them out.

The size of the text area, number of lines in the tables, existence of the \multicolumn lines etc. are all a factor of the original document.

Sorry for the length of the code, but I don't see how I could reduce it further without losing some of the output artifacts that are bothering me.

FWIW, I am compiling with latexmk -pdf, latexmk version 4.35, TeXLive 2013.

\documentclass[paper=a4,fontsize=10pt,pagesize=auto,twocolumn,open=any]{scrbook}

% Somewhat skewed textarea size, but that's how the document is.
\areaset[2.5cm]{16cm}{25.25cm}
\setlength{\columnsep}{2pc}

\usepackage{tabularx}
\usepackage[vlines]{tabularht}
\usepackage{multirow}
\newcolumntype{C}{>{\centering\arraybackslash}X}    % centered to-width
\newcolumntype{L}{>{\raggedright\arraybackslash}X}  % left-aligned to-width
\setkomafont{caption}{\Large} % large table captions
\usepackage{calc}             % inline calculations

% Artifact from some other tabularhtx use in the document --
% tabularhtx does not consider the height of the caption,
% so "\textheight" gives a too-high table. Funny enough, if
% I *reduce* the height of the outermost table, e.g. to
% 0.8\TabularHTHeight, table 3 gets **more** offset towards
% the bottom...?!?
\newlength{\TabularHTHeight}
\setlength{\TabularHTHeight}{\textheight - 1.0cm}

% Page layout
\usepackage{scrpage2}

\begin{document}

% Again, this is just the way the document is set up.
\fontsize{10pt}{11pt}
\selectfont

% Page number in a little box at the bottom of the page.
\rofoot{\fbox{\rightmark\hspace{14pt}\pagemark}}

% One table environment for the whole page
\begin{table*}
% One full-height, full-width tabular environment, two columns, no padding
\begin{tabularhtx}{\TabularHTHeight}{\linewidth}{@{}C@{}C@{}}
% One two-column (i.e. full-width) tabular environment
\multicolumn{2}{c}{\begin{tabularx}{\textwidth}{|lLLLLLLLLL|}
\noalign{%
\caption{Table 1}%
}
\hline
\multicolumn{10}{|p{\textwidth - 2\tabcolsep - 2\fboxrule}|}{}\\
&  &  &  &  &  &  &  &  & \\
&  &  &  &  &  &  &  &  & \\
&  &  &  &  &  &  &  &  & \\
&  &  &  &  &  &  &  &  & \\
&  &  &  &  &  &  &  &  & \\
&  &  &  &  &  &  &  &  & \\
&  &  &  &  &  &  &  &  & \\
&  &  &  &  &  &  &  &  & \\
&  &  &  &  &  &  &  &  & \\
&  &  &  &  &  &  &  &  & \\
&  &  &  &  &  &  &  &  & \\
&  &  &  &  &  &  &  &  & \\
&  &  &  &  &  &  &  &  & \\
&  &  &  &  &  &  &  &  & \\
&  &  &  &  &  &  &  &  & \\
&  &  &  &  &  &  &  &  & \\
&  &  &  &  &  &  &  &  & \\
&  &  &  &  &  &  &  &  & \\
&  &  &  &  &  &  &  &  & \\
&  &  &  &  &  &  &  &  & \\
&  &  &  &  &  &  &  &  & \\
&  &  &  &  &  &  &  &  & \\
&  &  &  &  &  &  &  &  & \\
&  &  &  &  &  &  &  &  & \\
&  &  &  &  &  &  &  &  & \\
&  &  &  &  &  &  &  &  & \\
\hline
\end{tabularx}}\\
% First of two tables in the *left* column under table 1
\begin{tabularx}{\columnwidth}{|cLLLLL|}
\noalign{%
\caption{Table 2}%
}
\hline
\multicolumn{6}{|p{\columnwidth - 2\tabcolsep - 2\fboxrule}|}{}\\
&  &  &  &  & \\
&  &  &  &  & \\
&  &  &  &  & \\
&  &  &  &  & \\
&  &  &  &  & \\
&  &  &  &  & \\
&  &  &  &  & \\
&  &  &  &  & \\
&  &  &  &  & \\
&  &  &  &  & \\
&  &  &  &  & \\
&  &  &  &  & \\
\hline
% One table in the *right* column under table 1
\end{tabularx} & \multirow{2}{*}{\begin{tabularx}{\columnwidth}{|lLLL|}
\noalign{%
\caption{Table 3}%
}
\hline
\multicolumn{4}{|p{\columnwidth - 2\tabcolsep - 2\fboxrule}|}{}\\
&  &  & \\
&  &  & \\
&  &  & \\
&  &  & \\
&  &  & \\
&  &  & \\
&  &  & \\
&  &  & \\
&  &  & \\
&  &  & \\
&  &  & \\
&  &  & \\
&  &  & \\
&  &  & \\
&  &  & \\
&  &  & \\
&  &  & \\
&  &  & \\
&  &  & \\
&  &  & \\
&  &  & \\
&  &  & \\
&  &  & \\
\hline
\end{tabularx}}\\
% The second of the two tables in the *left* column
\begin{tabularx}{\columnwidth}{|cLLLLL|}
\noalign{%
\caption{Table 4}%
}
\hline
\multicolumn{6}{|p{\columnwidth - 2\tabcolsep - 2\fboxrule}|}{}\\
&  &  &  &  & \\
&  &  &  &  & \\
&  &  &  &  & \\
&  &  &  &  & \\
&  &  &  &  & \\
&  &  &  &  & \\
&  &  &  &  & \\
&  &  &  &  & \\
&  &  &  &  & \\
&  &  &  &  & \\
\hline
\end{tabularx} & \\
\end{tabularhtx}
\end{table*}

\end{document}

• @barbarabeeton: A \noindent in front of the first \tabularhtx does not change the output at all. A \noindent in front of the \table breaks the output by giving an empty first page, and all tables on the next page -- again, without fixing any of the offset problems... – DevSolar Oct 26 '14 at 9:15

Here you are:

% arara: pdflatex

\documentclass[paper=a4,fontsize=10pt,pagesize=auto,twocolumn,open=any]{scrbook}

% Somewhat skewed textarea size, but that's how the document is.
\areaset[2.5cm]{16cm}{25.25cm}
\setlength{\columnsep}{2pc}

\usepackage{tabularx}
\usepackage[vlines]{tabularht}
\usepackage{multirow}
\newcolumntype{C}{>{\centering\arraybackslash}X}    % centered to-width
\newcolumntype{L}{>{\raggedright\arraybackslash}X}  % left-aligned to-width
\setkomafont{caption}{\Large} % large table captions
\usepackage{calc}             % inline calculations

% Artifact from some other tabularhtx use in the document --
% tabularhtx does not consider the height of the caption,
% so "\textheight" gives a too-high table. Funny enough, if
% I *reduce* the height of the outermost table, e.g. to
% 0.8\TabularHTHeight, table 3 gets **more** offset towards
% the bottom...?!?
\newlength{\TabularHTHeight}
\setlength{\TabularHTHeight}{\textheight - 1.0cm}

% Page layout
\usepackage{scrpage2}

\begin{document}

% Again, this is just the way the document is set up.
\fontsize{10pt}{11pt}
\selectfont

% Page number in a little box at the bottom of the page.
\rofoot{\fbox{\rightmark\hspace{14pt}\pagemark}}

% One table environment for the whole page
\begin{table*}
% One full-height, full-width tabular environment, two columns, no padding
\begin{tabularhtx}{\TabularHTHeight}{\textwidth}{@{}C@{}C@{}}
% One two-column (i.e. full-width) tabular environment
\multicolumn{2}{@{}c@{}}{\begin{tabularx}{\textwidth}{|lLLLLLLLLL|}
\noalign{%
\caption{Table 1}%
}
\hline
\multicolumn{10}{|p{\textwidth - 2\tabcolsep - 2\fboxrule}|}{}\\
&  &  &  &  &  &  &  &  & \\
&  &  &  &  &  &  &  &  & \\
&  &  &  &  &  &  &  &  & \\
&  &  &  &  &  &  &  &  & \\
&  &  &  &  &  &  &  &  & \\
&  &  &  &  &  &  &  &  & \\
&  &  &  &  &  &  &  &  & \\
&  &  &  &  &  &  &  &  & \\
&  &  &  &  &  &  &  &  & \\
&  &  &  &  &  &  &  &  & \\
&  &  &  &  &  &  &  &  & \\
&  &  &  &  &  &  &  &  & \\
&  &  &  &  &  &  &  &  & \\
&  &  &  &  &  &  &  &  & \\
&  &  &  &  &  &  &  &  & \\
&  &  &  &  &  &  &  &  & \\
&  &  &  &  &  &  &  &  & \\
&  &  &  &  &  &  &  &  & \\
&  &  &  &  &  &  &  &  & \\
&  &  &  &  &  &  &  &  & \\
&  &  &  &  &  &  &  &  & \\
&  &  &  &  &  &  &  &  & \\
&  &  &  &  &  &  &  &  & \\
&  &  &  &  &  &  &  &  & \\
&  &  &  &  &  &  &  &  & \\
&  &  &  &  &  &  &  &  & \\
\hline
\end{tabularx}}\\
% First of two tables in the *left* column under table 1
\begin{tabularx}{\linewidth}[t]{|cLLLLL|}
\noalign{%
\caption{Table 2}%
}
\hline
\multicolumn{6}{|p{\linewidth - 2\tabcolsep - 2\fboxrule}|}{}\\
&  &  &  &  & \\
&  &  &  &  & \\
&  &  &  &  & \\
&  &  &  &  & \\
&  &  &  &  & \\
&  &  &  &  & \\
&  &  &  &  & \\
&  &  &  &  & \\
&  &  &  &  & \\
&  &  &  &  & \\
&  &  &  &  & \\
&  &  &  &  & \\
\hline
% One table in the *right* column under table 1
\end{tabularx}
%
\begin{tabularx}{\linewidth}[t]{|cLLLLL|}
\noalign{%
\caption{Table 4}%
}
\hline
\multicolumn{6}{|p{\linewidth - 2\tabcolsep - 2\fboxrule}|}{}\\
&  &  &  &  & \\
&  &  &  &  & \\
&  &  &  &  & \\
&  &  &  &  & \\
&  &  &  &  & \\
&  &  &  &  & \\
&  &  &  &  & \\
&  &  &  &  & \\
&  &  &  &  & \\
&  &  &  &  & \\
\hline
\end{tabularx} & \begin{tabularx}{\linewidth}[t]{|lLLL|}
\noalign{%
\caption{Table 3}%
}
\hline
\multicolumn{4}{|p{\linewidth - 2\tabcolsep - 2\fboxrule}|}{}\\
&  &  & \\
&  &  & \\
&  &  & \\
&  &  & \\
&  &  & \\
&  &  & \\
&  &  & \\
&  &  & \\
&  &  & \\
&  &  & \\
&  &  & \\
&  &  & \\
&  &  & \\
&  &  & \\
&  &  & \\
&  &  & \\
&  &  & \\
&  &  & \\
&  &  & \\
&  &  & \\
&  &  & \\
&  &  & \\
&  &  & \\
\hline
\end{tabularx}
\end{tabularhtx}
\end{table*}
\end{document}


I used the package showframe in order to show all the limits of your page set-up. The right margin does not fit on the page. I guess, this is the reason for all the overfull boxes. You should try to get rid of the side margin or to make it thinner. Or you just don't care about it. I do not know, what your document will look like...

• I am not so sure, if you want the two tables separated in the middle. For this, just look cfr's answer. – LaRiFaRi Oct 28 '14 at 14:32
• I don't think that can be the reason for the overfull boxes since those warnings evaporate once the tabulars are aligned. (At least, it did with the code in my answer - I assume also for yours.) – cfr Oct 28 '14 at 14:32
• @cfr I read my log to quick. There are just underfull boxes left. But without the content of these tables, I can't take a closer look to this. – LaRiFaRi Oct 28 '14 at 14:41
• Isn't that because there isn't any content? – cfr Oct 28 '14 at 17:17
• I agree. And you are right that the page layout is a mess. I don't understand all the comments about 'this is just how the document is'. (One of the tables being half off the page may be just how it is, but that isn't a reason not to correct it.) – cfr Oct 28 '14 at 21:28

This is not a 'here is a fix'. It is something closer to a partial solution with some explanation and options.

multirow vertically centres stuff according to the current row. So the top of table 3 is aligned with the vertical centre of table 2. As the documentation explains, you can use the fixup parameter to accommodate this when the vertical sizing is off. Rather than do that, I would put tables 2 and 4 in a tabular consisting of a single column. That way, table 3 will be vertically aligned with that tabular environment. This will, however, be the vertical centres. Since the left tabular will include an additional caption line, you will need to account for this if you want to tops of tables 2 and 3 and/or the bottoms of tables 4 and 3 to be aligned. Not knowing the context, I've not done this. To get the correct horizontal alignment, I've used {@{}C} since you want some intercolumn space on the right (else there will be no gap between tables 2 and 4, on the one hand, and 3, on the other) but not the left.

When you use \multicolumn, you have to reiterate any desired code from each side of the column. For example, if you are using vertical rules and you want these to continue at the sides of the multicolumn, you need to say {|c|}, for example, even if the leftmost and rightmost columns in the tabular definition themselves include vertical rules. So, if your original set up sets the intercolumn space to zero, you need to repeat this in the definition of the multicolumn if you want things to be horizontally aligned. That is, you need \multicolumn{2}{@{}c@{}}{...} rather than \multicolumn{2}{c}. It is the regular intercolumn space which otherwise causes table 1 to be shifted horizontally with respect to tables 2 and 4.

Finally, I think you mean \linewidth rather than \columnwidth else you are reintroducing horizontal space which there is no allowance for.

\documentclass[paper=a4,fontsize=10pt,pagesize=auto,twocolumn,open=any]{scrbook}
% Somewhat skewed textarea size, but that's how the document is.
\areaset[2.5cm]{16cm}{25.25cm}
\setlength{\columnsep}{2pc}

\usepackage{tabularx}
\usepackage[vlines]{tabularht}
\usepackage{multirow}
\newcolumntype{C}{>{\centering\arraybackslash}X}    % centered to-width
\newcolumntype{L}{>{\raggedright\arraybackslash}X}  % left-aligned to-width
% \setkomafont{caption}{\Large} % large table captions
\usepackage{calc}             % inline calculations

% Artifact from some other tabularhtx use in the document --
% tabularhtx does not consider the height of the caption,
% so "\textheight" gives a too-high table. Funny enough, if
% I *reduce* the height of the outermost table, e.g. to
% 0.8\TabularHTHeight, table 3 gets **more** offset towards
% the bottom...?!?
\newlength{\TabularHTHeight}
\setlength{\TabularHTHeight}{\textheight - 1.0cm}

% Page layout
\usepackage{scrpage2}

\begin{document}

% % Again, this is just the way the document is set up.
\fontsize{10pt}{11pt}
\selectfont

% % Page number in a little box at the bottom of the page.
\rofoot{\fbox{\rightmark\hspace{14pt}\pagemark}}

% One table environment for the whole page
\begin{table*}
% One full-height, full-width tabular environment, two columns, no padding
\begin{tabularhtx}{\TabularHTHeight}{\linewidth}{@{}C@{}C@{}}
% One two-column (i.e. full-width) tabular environment
\multicolumn{2}{@{}c@{}}{%
\begin{tabularx}{\linewidth}{|l*{9}{L}|}
\noalign{%
\caption{Table 1}%
}
\hline
\multicolumn{10}{|p{\linewidth - 2\tabcolsep - 2\fboxrule}|}{}\\
&  &  &  &  &  &  &  &  & \\
&  &  &  &  &  &  &  &  & \\
&  &  &  &  &  &  &  &  & \\
&  &  &  &  &  &  &  &  & \\
&  &  &  &  &  &  &  &  & \\
&  &  &  &  &  &  &  &  & \\
&  &  &  &  &  &  &  &  & \\
&  &  &  &  &  &  &  &  & \\
&  &  &  &  &  &  &  &  & \\
&  &  &  &  &  &  &  &  & \\
&  &  &  &  &  &  &  &  & \\
&  &  &  &  &  &  &  &  & \\
&  &  &  &  &  &  &  &  & \\
&  &  &  &  &  &  &  &  & \\
&  &  &  &  &  &  &  &  & \\
&  &  &  &  &  &  &  &  & \\
&  &  &  &  &  &  &  &  & \\
&  &  &  &  &  &  &  &  & \\
&  &  &  &  &  &  &  &  & \\
&  &  &  &  &  &  &  &  & \\
&  &  &  &  &  &  &  &  & \\
&  &  &  &  &  &  &  &  & \\
&  &  &  &  &  &  &  &  & \\
&  &  &  &  &  &  &  &  & \\
&  &  &  &  &  &  &  &  & \\
&  &  &  &  &  &  &  &  & \\
\hline
\end{tabularx}%
}\\
\begin{tabularx}{\linewidth}{@{}C}
% First of two tables in the *left* column under table 1
{\begin{tabularx}{\linewidth}{|c*{5}{L}|}
\noalign{%
\caption{Table 2}%
}
\hline
\multicolumn{6}{|p{\linewidth - 2\tabcolsep - 2\fboxrule}|}{}\\
&  &  &  &  & \\
&  &  &  &  & \\
&  &  &  &  & \\
&  &  &  &  & \\
&  &  &  &  & \\
&  &  &  &  & \\
&  &  &  &  & \\
&  &  &  &  & \\
&  &  &  &  & \\
&  &  &  &  & \\
&  &  &  &  & \\
&  &  &  &  & \\
\hline
\end{tabularx}}\\
% The second of the two tables in the *left* column
{\begin{tabularx}{\linewidth}{|c*{5}{L}|}
\noalign{%
\caption{Table 4}%
}
\hline
\multicolumn{6}{|p{\linewidth - 2\tabcolsep - 2\fboxrule}|}{}\\
&  &  &  &  & \\
&  &  &  &  & \\
&  &  &  &  & \\
&  &  &  &  & \\
&  &  &  &  & \\
&  &  &  &  & \\
&  &  &  &  & \\
&  &  &  &  & \\
&  &  &  &  & \\
&  &  &  &  & \\
\hline
\end{tabularx}}\\
\end{tabularx}
% One table in the *right* column under table 1
& \begin{tabularx}{\linewidth}{|l*{3}{L}|}
\noalign{%
\caption{Table 3}%
}
\hline
\multicolumn{4}{|p{\linewidth - 2\tabcolsep - 2\fboxrule}|}{}\\
&  &  & \\
&  &  & \\
&  &  & \\
&  &  & \\
&  &  & \\
&  &  & \\
&  &  & \\
&  &  & \\
&  &  & \\
&  &  & \\
&  &  & \\
&  &  & \\
&  &  & \\
&  &  & \\
&  &  & \\
&  &  & \\
&  &  & \\
&  &  & \\
&  &  & \\
&  &  & \\
&  &  & \\
&  &  & \\
&  &  & \\
\hline
\end{tabularx}\\
\end{tabularhtx}
\end{table*}

\end{document}


Both answers were very helpful. By combining elements from either, plus a fix by myself, I got the layout I was looking for.

User cfr pointed out how the intercolumn space added by the \multicolumn for Table 1 threw off its alignment. Giving \multicolumn{2}{@{}c@{}} fixed that.

User cfr also explained how the vertical alignment works with \multirow, thank you for that. User LaRiFaRi had a very simple solution for that using [t] for the respective \tabularx environments.

User cfr also made a remark regarding \columnwidth vs. \linewidth that pointed me in the right direction. I wanted tables 2-4 to be seperated by \columnsep, i.e. as far apart as the text columns on any other page. (Sorry, I did not make that one clear enough in the question.) Forcing the tables to \columnwidth was, however, the wrong way to go about that. After replacing \columnwidth with \linewidth (as cfr suggested), I had unseparated tables like in LaRiFaRi's example.

Changing the tabularhtx environment from @{}C@{}C@{} to @{}C@{\hspace{\columnsep}}C@{} then gave me the separation I was looking for.

I still get overfull / underfull vbox warnings, but those will be fixed later, perhaps asking a different question. The big problems with the table layout have been fixed.

Thanks to both users. User cfr's explanations helped me a bit more, so I am assigning the bounty to him. (I'd rather have split it, but... ah well.)

Update:

In the quest to get rid of the overfull / underfull warnings, and in finding out that \interrowfill appears to not work correctly in combination with \multirow, I asked a second (now deleted) question. David Carlisle voiced irritation that I was using tabularhtx for the overall structure in the first place, and pointed toward minipage as solution. I eventually figured it out. This is the example table with all the improvements:

% Inside the table, \columnwidth doesn't really work, so we save its value.
\newlength{\colwidth}
\setlength{\colwidth}{\columnwidth}

\begin{table*}
% minipage for table at the top
\begin{minipage}[t]{\linewidth}
\begin{tabularx}{\textwidth}{|lLLLLLLLLL|}
\noalign{%
\caption{Table 1}%
}
\hline
\multicolumn{10}{|p{\textwidth - 2\tabcolsep - 2\fboxrule}|}{}\\
&  &  &  &  &  &  &  &  & \\
&  &  &  &  &  &  &  &  & \\
&  &  &  &  &  &  &  &  & \\
&  &  &  &  &  &  &  &  & \\
&  &  &  &  &  &  &  &  & \\
&  &  &  &  &  &  &  &  & \\
&  &  &  &  &  &  &  &  & \\
&  &  &  &  &  &  &  &  & \\
&  &  &  &  &  &  &  &  & \\
&  &  &  &  &  &  &  &  & \\
&  &  &  &  &  &  &  &  & \\
&  &  &  &  &  &  &  &  & \\
&  &  &  &  &  &  &  &  & \\
&  &  &  &  &  &  &  &  & \\
&  &  &  &  &  &  &  &  & \\
&  &  &  &  &  &  &  &  & \\
&  &  &  &  &  &  &  &  & \\
&  &  &  &  &  &  &  &  & \\
&  &  &  &  &  &  &  &  & \\
&  &  &  &  &  &  &  &  & \\
&  &  &  &  &  &  &  &  & \\
&  &  &  &  &  &  &  &  & \\
&  &  &  &  &  &  &  &  & \\
&  &  &  &  &  &  &  &  & \\
&  &  &  &  &  &  &  &  & \\
&  &  &  &  &  &  &  &  & \\
\hline
\end{tabularx}

% minipage for the two tables in the left column (note \colwidth)
\begin{minipage}[t]{\colwidth}
% first left-column page
\begin{tabularx}{\linewidth}{|cLLLLL|}
\noalign{%
\caption{Table 2}%
}
\hline
\multicolumn{6}{|p{\columnwidth - 2\tabcolsep - 2\fboxrule}|}{}\\
&  &  &  &  & \\
&  &  &  &  & \\
&  &  &  &  & \\
&  &  &  &  & \\
&  &  &  &  & \\
&  &  &  &  & \\
&  &  &  &  & \\
&  &  &  &  & \\
&  &  &  &  & \\
&  &  &  &  & \\
&  &  &  &  & \\
&  &  &  &  & \\
\hline

% second left-column page
\begin{tabularx}{\linewidth}{|cLLLLL|}
\noalign{%
\caption{Table 4}%
}
\hline
\multicolumn{6}{|p{\columnwidth - 2\tabcolsep - 2\fboxrule}|}{}\\
&  &  &  &  & \\
&  &  &  &  & \\
&  &  &  &  & \\
&  &  &  &  & \\
&  &  &  &  & \\
&  &  &  &  & \\
&  &  &  &  & \\
&  &  &  &  & \\
&  &  &  &  & \\
&  &  &  &  & \\
\hline
\end{tabularx}
\end{minipage}
% now add second minipage for the right-hand column
% the \hfill will place the minipage right-bound in the textarea
% since we are using the original \columnwidth for each minipage
% the separating space will be "just right"
\hfill
\begin{minipage}[t]{\colwidth}
\begin{tabularx}{\columnwidth}{|lLLL|}
\noalign{%
\caption{Table 3}%
}
\hline
\multicolumn{4}{|p{\columnwidth - 2\tabcolsep - 2\fboxrule}|}{}\\
&  &  & \\
&  &  & \\
&  &  & \\
&  &  & \\
&  &  & \\
&  &  & \\
&  &  & \\
&  &  & \\
&  &  & \\
&  &  & \\
&  &  & \\
&  &  & \\
&  &  & \\
&  &  & \\
&  &  & \\
&  &  & \\
&  &  & \\
&  &  & \\
&  &  & \\
&  &  & \\
&  &  & \\
&  &  & \\
&  &  & \\
\hline
\end{tabularx}
\end{minipage}
\end{table*}


Identical layout, no more warnings. It still doesn't include (the equivalent of) \interrowfill, but it's certainly "good enough" for me as the contents fill the page to within a line anyway.

• Yes, that's I.C.E.'s Campaign Law translated to German. Actually, that's the whole Rolemaster 2nd Ed. re-edited and translated to German. Sorry, I did not get permission to distribute. Yes, I asked. ;-) – DevSolar Oct 29 '14 at 7:11
• I can split the bounty, though... – cfr Oct 29 '14 at 23:02
• OK. No, I can't. It won't let me choose a bounty less than 100 for reasons which I do not understand. – cfr Oct 29 '14 at 23:04