2

First of all, I have looked at every other misplaced \omit... error question about tables I have found on this site and none of them quite relate to my situation. This is the closest I could find, but it does not quite fit my application the solution relates to using \tabularnewline vs \\ in cells which I am not using.


I am attempting to make a table which looks almost like this:

enter image description here

The above example was generated from the following.

\documentclass{article}
\usepackage{array}

\begin{document}
\begin{table}
\begin{tabular}{m{1in}m{1in}m{1in}}
\cline{1-1}
\multicolumn{1}{|m{1in}|}{\textbf{Caption}} & cell of muliline text to wrap & cell of muliline text to wrap \\ \cline{1-2}
\multicolumn{1}{m{1in}|}{cell of muliline text to wrap} & \multicolumn{1}{m{1in}|}{\textbf{Caption}} & cell of muliline text to wrap \\ \cline{2-3} 
cell of muliline text to wrap & \multicolumn{1}{m{1in}|}{cell of muliline text to wrap} & \multicolumn{1}{m{1in}|}{\textbf{Caption}} \\ \cline{3-3} 
\end{tabular}
\end{table}
\end{document}

However, I would like the columns to be centered instead of justified. I would normally do this by replacing all instances of m{1in} with >{\centering}m{1in}. But when I do this I get the following error.

! misplaced \omit.\@cline #1-#2\@nil -> ...

How do I reproduce the above table format but with centered columns?

  • 2
    Use >{\centering\arraybackslash}m{1in} in the last column, or end every row with \tabularnewline instead of \\ . – Ulrike Fischer Mar 30 at 21:19
5
\documentclass{article}
\usepackage{array}

\begin{document}
\begin{table}
\begin{tabular}{*{3}{>{\centering\arraybackslash}m{1in}}}
\cline{1-1}
\multicolumn{1}{|m{1in}|}{\textbf{Caption}} & cell of muliline text to wrap & cell of muliline text to wrap \\ \cline{1-2}
\multicolumn{1}{m{1in}|}{cell of muliline text to wrap} & \multicolumn{1}{m{1in}|}{\textbf{Caption}} & cell of muliline text to wrap \\ \cline{2-3} 
cell of muliline text to wrap & \multicolumn{1}{m{1in}|}{cell of muliline text to wrap} & \multicolumn{1}{m{1in}|}{\textbf{Caption}} \\ \cline{3-3} 
\end{tabular}
\end{table}
\end{document}

within the scope of \centering, \\ is redefined to make a centred forced line break, so no longer has its "end table row" definition. You can either use \arraybackslash to re-assert the table definition of \\ or you could use \tabularnewline instead of \\ which is a longer form provided that always refers to the end of table row.

  • Ah thanks. I was misinterpreting your answer to the linked question. – PGmath Mar 30 at 21:54

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.