我看到了一个在 PowerPoint 中创建的表格,想知道如何在 LaTeX 中创建它。表格如下所示。我最感兴趣的是表格的旋转表头以及Knowledge Areas
表格Process
外的标签。
以下是我看过之后得出的结论表格中的列标题旋转 在评论中提出建议(谢谢!)
\documentclass{article}
\usepackage{adjustbox}
\usepackage{array}
\usepackage{booktabs}
\usepackage{multirow}
\newcolumntype{R}[2]{%
>{\adjustbox{angle=#1,lap=\width-(#2)}\bgroup}%
l%
<{\egroup}%
}
\newcommand*\rot{\multicolumn{1}{R{90}{1em}}}% no optional argument here, please!
\begin{document}
\begin{table} \centering
\begin{tabular}{clcccccccccc}
& & \multicolumn{10}{c}{Knowledge Areas} \\
& & \rot{Integration} & \rot{Scope} & \rot{Time} & \rot{Cost}
& \rot{Quality} & \rot{Human Resource} & \rot{Communication}
& \rot{Risk} & \rot{Procurement} & \rot{Stakeholder Management} \\
\midrule
\multirow{5}{*}{{Processes}}
& Initiating & * & & & & & & * & & & * \\
& Planning & * & * & * & * & * & * & * & * & * & * \\
& Executing & * & & & & * & * & * & & * & * \\
& Monitoring and Control & * & * & * & * & * & & * & * & * & * \\
& Closing & * & & & & & & * & & * & * \\
\bottomrule
\end{tabular}
\caption{Some caption}
\end{table}
\end{document}
结果如下:
我不太关心行颜色(抱歉,之前应该提到这一点)。只是有几件事我不知道该怎么做:
- 我怎样才能使
Stakeholder Management
它们堆叠在一起? Processes
我怎样才能在左侧旋转?\rot
我在表头中使用的命令不起作用,大概是因为它在\multirow
命令中。
答案1
使用\rlap
可以更轻松地定位文本而无需额外空间。如果您想要在外面添加标签“Processes”,则使用\cmidrule{2-12}
和\cmidrule[1pt]{2-12}
。
\documentclass{article}
\usepackage{array,graphicx}
\usepackage{booktabs}
\usepackage{pifont}
\newcommand*\rot{\rotatebox{90}}
\newcommand*\OK{\ding{51}}
\begin{document}
\begin{table} \centering
\begin{tabular}{@{} cl*{10}c @{}}
& & \multicolumn{10}{c}{Knowledge Areas} \\[2ex]
& & \rot{Integration} & \rot{Scope} & \rot{Time} & \rot{Cost}
& \rot{Quality} & \rot{Human Resource} & \rot{Communication}
& \rot{Risk} & \rot{Procurement} & \rot{\shortstack[l]{Stakeholder\\Management}} \\
\cmidrule{2-12}
& Initiating & \OK & & & & & & \OK & & & \OK \\
& Planning & \OK & \OK & \OK & \OK & \OK & \OK & \OK & \OK & \OK & \OK \\
& Executing & \OK & & & & \OK & \OK & \OK & & \OK & \OK \\
& Monitoring and Control & \OK & \OK & \OK & \OK & \OK & & \OK & \OK & \OK & \OK \\
\rot{\rlap{~Processes}}
& Closing & \OK & & & & & & \OK & & \OK & \OK \\
\cmidrule[1pt]{2-12}
\end{tabular}
\caption{Some caption}
\end{table}
\end{document}
并且颜色相同:
\documentclass{article}
\usepackage{array,graphicx}
\usepackage{booktabs}
\usepackage{pifont}
\usepackage[table]{xcolor}
\newcommand*\rot{\rotatebox{90}}
\newcommand*\OK{\ding{51}}
\begin{document}
\begin{table} \centering
\begin{tabular}{@{} cr*{10}c }
& & \multicolumn{10}{c}{Knowledge Areas} \\[2ex]
\rowcolor{blue!30} \cellcolor{white}
& & \rot{Integration} & \rot{Scope} & \rot{Time} & \rot{Cost}
& \rot{Quality} & \rot{Human Resource~} & \rot{Communication}
& \rot{Risk} & \rot{Procurement} & \rot{\shortstack[l]{Stakeholder\\Management}} \\
\cmidrule{2-12}
\rowcolor{black!15} \cellcolor{white}
& Initiating &\OK & & & & & &\OK & & &\OK \\
& Planning &\OK &\OK &\OK &\OK &\OK &\OK &\OK &\OK &\OK &\OK \\
\rowcolor{black!15} \cellcolor{white}
& Executing &\OK & & & &\OK &\OK &\OK & &\OK &\OK \\
& Monitoring and Control
&\OK &\OK &\OK &\OK &\OK & &\OK &\OK &\OK &\OK \\
\rowcolor{black!15} \cellcolor{white}
\rot{\rlap{~Processes}}
& Closing &\OK & & & & & &\OK & &\OK &\OK \\
\cmidrule[1pt]{2-12}
\end{tabular}
\caption{Some caption}
\end{table}
\end{document}
答案2
当我尝试阅读您的表格时,我发现由于旋转,无法阅读列标题,这就是为什么我推荐一种不旋转的解决方案。它只是对行和列进行简单的重新组织。
它并不完美。也许可以调整流程右边比较好。
您也可以简化表格,因为所有知识领域都需要规划,那么为什么要把它放在表格中呢?只需在标题中提及它即可。删除规划列应该会使表格变窄,这总是一件好事,因为它使从左到右和从右到左扫描表格变得更容易。
\documentclass{article}
\usepackage{booktabs}
\newcommand*\ON[0]{$\surd$}
\begin{document}
\begin{table}
\begin{center}
\begin{tabular}{@{}lccccc@{}}
& \multicolumn{5}{c}{\textbf{Processes}}
\\ \cmidrule{2-6}
& & & & \textbf{Monitoring}
\\ \textbf{Knowledge Areas}
& \textbf{Initiating}
& \textbf{Planning}
& \textbf{Executing}
& \textbf{\&\ Control}
& \textbf{Costing}
\\ \midrule
\textbf{Integration} & \ON & \ON & \ON & \ON & \ON
\\ \textbf{Scope} & & \ON & & \ON &
\\ \textbf{Time} & & \ON & & \ON &
\\ \textbf{Cost} & & \ON & & \ON &
\\ \textbf{Quality} & & \ON & \ON & \ON &
\\ \textbf{Human Resource} & & \ON & \ON & &
\\ \textbf{Communication} & \ON & \ON & \ON & \ON & \ON
\\ \textbf{Risk} & & \ON & & \ON &
\\ \textbf{Procurement} & & \ON & \ON & \ON & \ON
\\ \textbf{Stakeholder
Management} & \ON & \ON & \ON & \ON & \ON
\\ \bottomrule
\end{tabular}
\caption{Some caption}
\end{center}
\end{table}
\end{document}
答案3
我制作了一张类似的桌子供自己使用。
\documentclass[oneside, 10pt, a4paper]{article}
\usepackage{multirow}
\usepackage{graphicx}
\usepackage{booktabs}
\newcommand{\mcrot}[4]{\multicolumn{#1}{#2}{\rlap{\rotatebox{#3}{#4}~}}}
\newcommand*{\twoelementtable}[3][l]%
{%
\renewcommand{\arraystretch}{0.8}%
\begin{tabular}[t]{@{}#1@{}}%
#2\tabularnewline
#3%
\end{tabular}%
}
\begin{document}
\begin{table}[h] \label{tab:activityTracking}
\centering
\caption{Tracking daily activities.}
\begin{tabular}{ *2{ll|} *6c | *6c }
\\
\multicolumn{2}{c}{Date} & \multicolumn{1}{c}{Start} & \multicolumn{1}{c}{Stop}
& \mcrot{1}{l}{60}{Activity 1} & \mcrot{1}{l}{60}{Analysis} & \mcrot{1}{l}{60}{\twoelementtable{No. of}{processes}} & \phantom{p}& \mcrot{1}{l}{60}{Result} & \mcrot{1}{l}{60}{Backup}
& \mcrot{1}{l}{60}{Activity 2} & \mcrot{1}{l}{60}{Analysis} & \mcrot{1}{l}{60}{\twoelementtable{No. of}{processes}} & \phantom{p} & \mcrot{1}{l}{60}{Result} & \mcrot{1}{l}{60}{Backup} \\
\midrule \midrule
\multirow{4}{*}{\rotatebox{90}{\textbf{January}}}
& 11 & 1:30~am & 10:45~am
& x & x & \multicolumn{2}{c}{-} & - & x
& - & x & \multicolumn{2}{c}{x} & x & x \\
& 12 & &
& - & - & \multicolumn{2}{c}{x} & - & -
& - & - & \multicolumn{2}{c}{x} & - & - \\
& 13 & &
& - & - & \multicolumn{2}{c}{x} & - & -
& - & - & \multicolumn{2}{c}{x} & - & - \\
& 14 & &
& - & - & \multicolumn{2}{c}{-} & - & -
& - & - & \multicolumn{2}{c}{x} & - & - \\
\bottomrule
\end{tabular}
\end{table}
\end{document}
答案4
您可以使用{NiceTabular}
( nicematrix
≥ 6.22 of 2023-08-14) 轻松创建该表。
\documentclass{article}
\usepackage{booktabs}
\usepackage{nicematrix}
\begin{document}
\begin{table} \centering
\begin{NiceTabular}{cl*{10}{c}}
& & \Block{1-10}{Knowledge Areas} \\[1mm]
\RowStyle{\rotate}
& & Integration & Scope & Time & Cost & Quality & Human Resource & Communication
& Risk & Procurement & \Block{}{Stakeholder \\ Management} \\
\midrule
\Block{*-1}{\rotate Processes}
& Initiating & * & & & & & & * & & & * \\
& Planning & * & * & * & * & * & * & * & * & * & * \\
& Executing & * & & & & * & * & * & & * & * \\
& Monitoring and Control & * & * & * & * & * & & * & * & * & * \\
& Closing & * & & & & & & * & & * & * \\
\bottomrule
\end{NiceTabular}
\caption{Some caption}
\end{table}
\end{document}
您需要多次编译(因为nicematrix
在后台使用 PGF/Tikz 节点)。