我的表格使用 左对齐\hskip-1.50cm
。当我将字体大小从 增加到10pt
时12pt
,表格的布局会向右移动,这是可以理解的。交替的行颜色没有完全填满最后一列。有没有简单的方法可以解决这个问题?
\documentclass[a4paper,10pt]{article}
\newcommand*{\thead}[1]{\multicolumn{1}{c}{\bfseries #1}}
\usepackage[table]{xcolor}
\begin{document}
\rowcolors{2}{gray!10}{orange!5}
\hskip-1.50cm
\begin{tabular}{| c | c | c | p{2cm} | }
\thead{Degree} & \thead{Institution} & \thead{Year of Graduation} & \thead{Distinction} \\ \hline
Degree1 & Longer University1 & year1 & Long Distinction1 \\ \hline
Degree2 (sub1) & LongName University2 & year2 & Distinction2 \\ \hline
Degree3 (sub3, sub4) & LongerName University3 & year3 & Distinction3 \\ \hline
Degree4 (subject1, subject2) & LongestName University4 & year4 & Distinction4 \\ \hline
\end{tabular}
\end{document}
答案1
将字体大小从 10 pt 增加到 12 pt 会增加不可换行的标题单元格的宽度,从而使整个表格比文本块更宽。我建议您使用环境tabularx
代替tabular
并允许在所有四列中换行。
由于您使用交替颜色来提供行之间的视觉区别,因此您可以省去说明\hline
。您还可以删除垂直条。
用于\noindent
左对齐表格材料;无需知道的当前值\parindent
。
\documentclass[a4paper,12pt]{article}
\usepackage[table]{xcolor}
\usepackage{tabularx,ragged2e}
\newcolumntype{C}{>{\Centering\arraybackslash\hspace{0pt}}X}
\newcolumntype{L}{>{\RaggedRight\arraybackslash\hspace{0pt}}X}
\begin{document}
\rowcolors{2}{gray!10}{orange!5}
\noindent
\begin{tabularx}{\textwidth}{ LCCC }
\textbf{Degree} & \textbf{Institution} & \textbf{Year of Graduation} & \textbf{Distinction} \\
Degree1 & Longer University1 & year1 & Long Distinction1 \\
Degree2 (sub1) & LongName University2 & year2 & Distinction2 \\
Degree3 (sub3, sub4) & LongerName University3 & year3 & Distinction3 \\
Degree4 (subject1, subject2) & LongestName University4 & year4 & Distinction4 \\
\end{tabularx}
\end{document}