我正在使用 Latex 创建简历,并希望在表格中显示我的所有资历。许多资历都有一些相同的细节,因此我需要使用大量多行来避免重复的文本。以下是我想要创建的一些示例数据:
我尝试使用以下代码在 Latex 中创建它:
\usepackage[]{multirow}
\begin{document}
\begin{table}[h!]
\centering
\caption{Qualifications}
\label{tab:qualifications}
\begin{tabular}{ccccc}
\toprule
Institution & Qualification Level & Course Length & Course Title
& Grade\\
\midrule
\multirow{3}{*}{Some College} & \multirow{3}{*}{A Level} & \multirow{3}{*}{2013 - 2015}
& Maths & A \\
& English & A \\
& Spanish & A \\ \hline
\multirow{4}{*}{Some High School} & \multirow{4}{*}{GCSE} & \multirow{3}{*}{2012 - 2014}
& Maths & B \\
& History & C \\
& English & A \\
& Spanish & B \\ \hline
\bottomrule
\end{tabular}
\end{table}
\end{document}
此代码适用于第一行,但对于其余行,最后两列最终会与其他随机列混合在一起。以下是此代码的结果示例:
有人知道我该如何实现我的目标吗?我在网上找不到任何关于如何做到这一点的信息。
谢谢
编辑:我意识到我在代码和示例数据中输入了不同的等级,但无论哪种方式都无关紧要。
答案1
每行必须精确描述 5 列(因此有 4 个 & 符号&
)。但是,如果我们查看您的代码,我们会看到:
\multirow{3}{*}{Some College} & \multirow{3}{*}{A Level} & \multirow{3}{*}{2013 - 2015}
& Maths & A \\ <-- OK, 5 columns
& English & A \\ <-- not OK, only 3 columns
& Spanish & A \\ \hline <-- not OK, only 3 columns
\multirow{4}{*}{Some High School} & \multirow{4}{*}{GCSE} & \multirow{3}{*}{2012 - 2014}
& Maths & B \\ <-- OK, 5 columns
& History & C \\ <-- not OK, only 3 columns
& English & A \\ <-- not OK, only 3 columns
& Spanish & B \\ \hline <-- not OK, only 3 columns
我们可以通过添加空列来修复这些问题,如本工作示例所示:
\documentclass{article}
\usepackage[english]{babel}
\usepackage[]{multirow}
\usepackage{booktabs}
\begin{document}
Example:
\begin{table}[h!]
\centering
\caption{Qualifications}
\label{tab:qualifications}
\begin{tabular}{ccccc}
\toprule
Institution & Qualification Level & Course Length & Course Title
& Grade\\
\midrule
\multirow{3}{*}{Some College} & \multirow{3}{*}{A Level} & \multirow{3}{*}{2013 - 2015}
& Maths & A \\
&& & English & A \\
&& & Spanish & A \\
\midrule
\multirow{4}{*}{Some High School} & \multirow{4}{*}{GCSE} & \multirow{4}{*}{2012 - 2014}
& Maths & B \\
&& & History & C \\
&& & English & A \\
&& & Spanish & B \\
\bottomrule
\end{tabular}
\end{table}
\end{document}
请注意,多列居中。如果您希望术语“Some Collage”、“A Level”等显示在每个多行组的顶行(如示例数据中所示),则无需使用该\multirow
命令。相反,只需在每个“组”中的行的第一行添加术语,如以下示例所示:
% just add within document example above...
\noindent Example using just \textit{regular} rows and columns:
\begin{table}[h!]
\centering
\caption{Qualifications - Example 2}
\label{tab:qualifications2}
\begin{tabular}{ccccc}
\toprule
Institution & Qualification Level & Course Length & Course Title
& Grade\\
\midrule
Some College & A Level & 2013 - 2015 & Maths & A \\
&& & English & A \\
&& & Spanish & A \\
\midrule
Some High School & GCSE & 2012 - 2014 & Maths & B \\
&& & History & C \\
&& & English & A \\
&& & Spanish & B \\
\bottomrule
\end{tabular}
\end{table}
结果表格显示如下。