当单元格高度不同时,多行对齐不起作用

当单元格高度不同时,多行对齐不起作用

这是我的代码:

\documentclass{article}
\usepackage{ctex}
\usepackage{multirow}
\usepackage{longtable}
\usepackage{makecell}
\begin{document}
\begin{longtable}{p{0.2\textwidth}p{0.1\textwidth}p{0.1\textwidth}p{0.1\textwidth}p{0.1\textwidth}}
课型&课程&课时&价格&其他\\
\multirow[b]{3}{*}{foofoofoofoo}&foofoo&\makecell{8课时(4小时)一对一:8800-9780\\16小时(8小时)一对一:12680—13580\\24课时(12小时)一对一:16380—17280}&foo&foo\\
                                                     &foofoo&foo&foo&foo\\
                                                     &foofoo&foo&foo&foo\\
\end{longtable}
\end{document}                                                    

这就是结果在此处输入图片描述 如您所见,尽管我选择了选项 [c],但它并没有居中对齐。那么我应该如何解决这个问题,才能让它更美观

答案1

这是一个例子。

\documentclass{article}
\usepackage{ctex}
\usepackage{multirow}
\usepackage{longtable}
\usepackage{makecell}
\newcolumntype{P}[1]{m{#1\linewidth}}
\newcolumntype{M}[1]{>{\centering\arraybackslash}m{#1\linewidth}}
\def\test#1{
\noindent
\begin{longtable}{|#1{0.2}|*{4}{#1{0.15}}|}
  课型 & 课程 & 课时 & 价格 & 其他\\
  & foofoo & & foo & foo\\
  \multirow{3}{*}{foofoofoo} &
  \multicolumn{4}{c|}{
    \multirowcell{3}[0pt][c]{
      8课时(4小时)一对一:8800-9780\\
      16小时(8小时)一对一:12680—13580\\
      24课时(12小时)一对一:16380—17280
    }
  }\\
  &&&&\\
  &&&&\\
  &foofoo&foo&foo&foo\\
  &foofoo&foo&foo&foo\\
\end{longtable}
}

\begin{document}
\test{P}
\test{M}
\end{document}    

在此处输入图片描述

相关内容