如何使横向表格中的单元格垂直居中?

如何使横向表格中的单元格垂直居中?

我正在尝试建立一个比较表,我想将符号垂直置于单元格的中心,我尝试了很多方法,但都没有成功。

这是最后一段代码:

    \documentclass{report}
    \usepackage{color}
    \usepackage{array}
    \usepackage{rotating}
    \usepackage{diagbox}

    \begin{document}

      \newcolumntype{C}[1]{>{\centering\arraybackslash}m{#1}}

      \newcommand{\myRed}[1]{{\color[RGB]{237,27,35}#1}}
      \newcommand{\myGreen}[1]{{\color[RGB]{0,166,79}#1}}
      \newcommand{\myBlue}[1]{{\color[RGB]{0,157,220}#1}}

      \newcommand{\amark}{\multicolumn{1}{c|}{\myBlue{\text{\sffamily *}}}}
      \newcommand{\cmark}{\multicolumn{1}{c|}{\myGreen{\text{\sffamily O}}}}
      \newcommand{\xmark}{\multicolumn{1}{c|}{\myRed{\text{\sffamily X}}}}

      \newcommand*\rot{\rotatebox{270}}

      \begin{sidewaystable}[ht] 
        \caption{Project comparison.} 
        \label{table:pComparison} 
        \centering 
        \scalebox{0.7}{
          \begin{tabular}{| C{50mm} | C{15mm} | C{15mm} | C{15mm} | C{15mm} | C{15mm} |}
            \hline 
            \diagbox[width=54mm, height=80mm]{\raisebox{20pt}{\hspace*{15mm}Projects}}{\raisebox{-87pt}{\rot{Features}}} & \rot{Feature 1} & \rot{Feature 2} & \rot{Feature 3} & \rot{Feature 4} & \rot{Feature 5} \\
            \hline 
            Project 1 & \xmark & \cmark & \xmark & \cmark & \cmark \\[5ex]
            \hline
            Project 2 & \cmark & \cmark & \cmark & \cmark & \xmark \\[5ex]
            \hline
            Project 3 & \xmark & \cmark & \amark & \cmark & \xmark \\[5ex]
            \hline
            Project 4 & \xmark & \cmark & \amark & \cmark & \xmark \\[5ex]
            \hline
            Project 5 & \xmark & \cmark & \xmark & \xmark & \cmark \\[5ex]
            \hline
            \hline
            My project & \cmark & \cmark & \cmark & \cmark & \cmark \\[5ex]
            \hline 
          \end{tabular}
        } 
      \end{sidewaystable} 

    \end{document}

结果如下:

桌子

表格中的所有内容都是完美的,除了我需要将符号垂直和水平地置于单元格的中心,我还想将项目名称置于第一列的中心。

你能帮助我吗?提前谢谢。

**编辑:**抱歉没有包含完整代码,我使用的是特殊模板。我使用的是 MacTex,并使用命令编译 latexpdflatex table.tex

答案1

使用\newcommand*\rot{\rotatebox[origin=c]{270}}

\documentclass{article}
    \usepackage{rotating}
    \usepackage{diagbox,array,graphicx,xcolor,amssymb}

    \newcolumntype{C}[1]{>{\centering\arraybackslash} m{#1}}

    \newcommand{\myRed}[1]{{\color[RGB]{237,27,35}#1}}
    \newcommand{\myGreen}[1]{{\color[RGB]{0,166,79}#1}}
    \newcommand{\myBlue}[1]{{\color[RGB]{0,157,220}#1}}

    \newcommand*\rot{\rotatebox[origin=c]{270}}

    \newcommand{\amark}{\rot{\myBlue{\sffamily *}}}%
    \newcommand{\cmark}{\rot{\myGreen{$\checkmark$}}}%
    \newcommand{\xmark}{\rot{\myRed{\sffamily X}}}%
\begin{document}
    \begin{sidewaystable}[ht]
      \caption{Project comparison.}
      \label{table:pComparison}
      \centering
      \scalebox{0.7}{%
        \begin{tabular}{| C{50mm} | C{15mm} | C{15mm} | C{15mm} | C{15mm} | C{15mm} |@{}m{0pt}@{}} %
          \hline
          \diagbox[width=54mm, height=80mm]{\raisebox{20pt}{\hspace*{15mm}Projects}}{\raisebox{-87pt}{\rot{Features}}} & \rot{Feature 1} & \rot{Feature 2} & \rot{Feature 3} & \rot{Feature 4} & \rot{Feature 5} &\\
          \hline
          Project 1 & \xmark & \cmark & \xmark & \cmark & \cmark &\\[5ex]
          \hline
          Project 2 & \cmark & \cmark & \cmark & \cmark & \xmark &\\[5ex]
          \hline
          Project 3 & \xmark & \cmark & \amark & \cmark & \xmark &\\[5ex]
          \hline
          Project 4 & \xmark & \cmark & \amark & \cmark & \xmark &\\[5ex]
          \hline
          Project 5 & \xmark & \cmark & \xmark & \xmark & \cmark &\\[5ex]
          \hline
          \hline
          My project & \cmark & \cmark & \cmark & \cmark & \cmark &\\[5ex]
          \hline
        \end{tabular}
        }
    \end{sidewaystable} 
\end{document}

在此处输入图片描述

我已经更改了\amark\cmark\xmark命令,并在末尾添加了一个额外的(空)列来解决m列类型的错误。

相关内容