我是 LaTeX 代碼的標準用戶,但我用得不多\tabular
。我想要一張表格,表格左側有垂直文字。為此,我需要垂直合併兩個單元格。例如,我希望帶有文字“Row”的藍色區域位於桌子的整個高度上。我折騰了一天,我覺得不難,但是我用了很多辦法都過不去。這是我發現的最簡單的方法。我很樂意得到一些幫助。非常感謝。
\documentclass[9pt]{extarticle}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{graphicx}
\usepackage[table]{xcolor}
\usepackage{colortbl}
\usepackage[titletoc,toc,title]{appendix}
\usepackage[export]{adjustbox}
\usepackage{lipsum}
\usepackage{rotating}
\usepackage{multirow}
\usepackage{enumerate}
\usepackage{pbox}
\usepackage{blindtext}
\begin{document}
\begin{tabular}{ c | c | m{60mm} | m{60mm} }
& & \multicolumn{2}{|c|}{\cellcolor{cyan} Columns} \\
& & \multicolumn{1}{|c|}{\cellcolor{yellow} Column 1}
& \multicolumn{1}{|c|}{\cellcolor{yellow} Column 2} \\
%%% The following line is related to the merge I would like to get
\multicolumn{1}{c}{\multirow{2}*{\begin{sideways}\cellcolor{cyan}Rows\end{sideways}}}
%%% End of the problem
& \multicolumn{1}{c}{\cellcolor{yellow} \rotatebox{90}{Row 1}}
& \blindtext & \blindtext \\ \hline
\multicolumn{1}{c}{} & \multicolumn{1}{c}{\cellcolor{yellow
\rotatebox{90}{Row 2}} & \blindtext & \blindtext \\
\end{tabular}
\end{document}
答案1
是的,multirow
是您問題解決方案的一部分...但是在使用它時您需要考慮,它們的右邊不是“兩行”文本,而是 38!這意味著,\multirow{2}*{...}
不會將儲存格內容放在儲存格的中間。另一個問題是,使用著色多行單元格,單元格應該在行數為負的最後一個表格行中定義(它必須跨越),並且應該為合併在多行單元格中的每個單元格定義單元格顏色。
因此,如果這對您有用,請嘗試:
\documentclass[9pt]{extarticle}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{graphicx}
\usepackage[table]{xcolor}
\usepackage[titletoc,toc,title]{appendix}
\usepackage[export]{adjustbox}
\usepackage{lipsum}
\usepackage{rotating}
\usepackage{hhline,multirow}
\usepackage{enumerate}
\usepackage{pbox}
\usepackage{blindtext}
\begin{document}
\setlength\arrayrulewidth{3pt}
\begin{tabular}{ c c m{60mm} m{60mm} }
\cellcolor{white}
& & \multicolumn{2}{c}{\cellcolor{cyan} Columns} \\
\cellcolor{white}
& & \multicolumn{1}{c}{\cellcolor{yellow} Column 1}
& \multicolumn{1}{c}{\cellcolor{yellow} Column 2} \\
\cellcolor{cyan}
& \cellcolor{yellow}\rotatebox{90}{Row 1}
& \blindtext
& \blindtext \\
\hhline{>{\arrayrulecolor{cyan}}--
~~}
\cellcolor{cyan}
\multirow{-19}*[1ex]{\rotatebox{90}{Rows}}
& \cellcolor{yellow}\rotatebox{90}{Row 2}
& \blindtext
& \blindtext
\end{tabular}
\end{document}
正如您所看到的,我顯著清理了您的程式碼。在上面的 MWE 設計中,我遵循您提供的圖片,而不是您的 MWE。