I use the longtable package. Its allow command \\*, for page breaking prohibition on row.
Here the code, where \\* does not prohibit page breaking. (on line 44)
Generaed pdf here: http://web-engineering.com.ua/mtest.pdf
Can it be because of using multirow package?
Please help.
\documentclass[a4paper,oneside]{book}
\usepackage{ltablex}
\usepackage{calc}
\usepackage{multirow}
\newdimen{\newtblsparewidth}
\newdimen{\newtblstarfactor}
\begin{document}
\vbox to 450pt{}
\setlength{\newtblsparewidth}{\linewidth-2\tabcolsep-2\tabcolsep-2\tabcolsep-2\tabcolsep-2\tabcolsep}
\setlength{\newtblstarfactor}{\newtblsparewidth / \real{4}}
\begin{tabularx}{\linewidth}{l|l|l|X|}
\hline\noalign{\vskip-\arrayrulewidth}\endhead
\noalign{\vskip-\arrayrulewidth}\hline\endfoot
\multicolumn{1}{|m{0.13\newtblsparewidth}}{\multirow{3}{0.13\newtblsparewidth}{\textbf{/imp1}}} &
\multicolumn{3}
{|m{0.35\newtblsparewidth+2\tabcolsep+\arrayrulewidth+0.15\newtblsparewidth+2\tabcolsep+\arrayrulewidth+0.37\newtblsparewidth}|}
{This command imports viewer’s settings from the file specified by setting\_file\_name parameter. Please note, all your current settings will be overridden and lost.} \\ \cline{2-4}
\multicolumn{1}{|l}{} & \multicolumn{1}{|m{0.35\newtblsparewidth}}{pagemode} &
\multicolumn{1}{|m{0.15\newtblsparewidth}}{} &
\multicolumn{1}{|m{0.37\newtblsparewidth}|}{} \\ \cline{2-4}
\multicolumn{1}{|l}{} & \multicolumn{1}{|m{0.35\newtblsparewidth}}{pagemode} &
\multicolumn{1}{|m{0.15\newtblsparewidth}}{} &
\multicolumn{1}{|m{0.37\newtblsparewidth}|}{} \\ \hline
% ----
\multicolumn{1}{|m{0.13\newtblsparewidth}}{\multirow{3}{0.13\newtblsparewidth}{\textbf{/imp2}}} &
\multicolumn{3}
{|m{0.35\newtblsparewidth+2\tabcolsep+\arrayrulewidth+0.15\newtblsparewidth+2\tabcolsep+\arrayrulewidth+0.37\newtblsparewidth}|}
{This command imports viewer’s settings from the file specified by setting\_file\_name parameter. Please note, all your current settings will be overridden and lost.} \\ \cline{2-4}
\multicolumn{1}{|l}{} & \multicolumn{1}{|m{0.35\newtblsparewidth}}{pagemode} &
\multicolumn{1}{|m{0.15\newtblsparewidth}}{} &
\multicolumn{1}{|m{0.37\newtblsparewidth}|}{} \\ \cline{2-4}
\multicolumn{1}{|l}{} & \multicolumn{1}{|m{0.35\newtblsparewidth}}{pagemode} &
\multicolumn{1}{|m{0.15\newtblsparewidth}}{} &
\multicolumn{1}{|m{0.37\newtblsparewidth}|}{} \\* \hline
% ---
\multicolumn{1}{|m{0.13\newtblsparewidth}}{\multirow{3}{0.13\newtblsparewidth}{\textbf{/imp3}}} &
\multicolumn{3}
{|m{0.35\newtblsparewidth+2\tabcolsep+\arrayrulewidth+0.15\newtblsparewidth+2\tabcolsep+\arrayrulewidth+0.37\newtblsparewidth}|}
{This command imports viewer’s settings from the file specified by setting\_file\_name parameter. Please note, all your current settings will be overridden and lost.} \\ \cline{2-4}
\multicolumn{1}{|l}{} & \multicolumn{1}{|m{0.35\newtblsparewidth}}{pagemode} &
\multicolumn{1}{|m{0.15\newtblsparewidth}}{} &
\multicolumn{1}{|m{0.37\newtblsparewidth}|}{} \\ \cline{2-4}
\multicolumn{1}{|l}{} & \multicolumn{1}{|m{0.35\newtblsparewidth}}{pagemode} &
\multicolumn{1}{|m{0.15\newtblsparewidth}}{} &
\multicolumn{1}{|m{0.37\newtblsparewidth}|}{} \\ \cline{2-4}
\end{tabularx}
\end{document}
\\*works the same way in longtable as it does outside, it doesn't actually prevent line breaking (as would a minipage box for example) it just tells TeX that breaking a line there is infinitely bad, trouble is, if you have big thick rows and it's trying to set the page "flushbottom" then not breaking the line and leaving the page very short or over long might be infinitely bad as well. If all its choices are infinitely bad, it picks one of them.... raggedbottom may be your friend here. – David Carlisle Feb 21 '12 at 11:01