编辑\回答:我通过创建两个表格获得了想要的外观,一个表格的标题为 p 和 m 列,另一个表格的标题为全部为 p 列,然后将它们一个叠在另一个之上。中间有一些空白,我使用 将其消除了\vspace{-2pt}
。
原始问题:我正在尝试使用 LaTex 为学校报告创建模板。这是目前为止的代码。我喜欢第一行文本的位置,但我希望所有后续行文本的垂直填充较少。我只是 LaTex 的初学者,如果问题太明显,我深表歉意。
\documentclass[11pt,a4paper]{article}
\usepackage[left=1.00cm, right=1.00cm, top=1.00cm, bottom=1.00cm] {geometry}
\usepackage{array}
\usepackage[latin1]{inputenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{graphicx}
\usepackage{tikz}
\usepackage{lipsum}
\definecolor{colori}{RGB}{249,193,158}
\definecolor{colorii}{RGB}{158,214,149}
\newcommand\skilllevel[1]{%%
\begin{tikzpicture}
\foreach \Val in {1,2,3,4,5}
{
\node[draw,fill=white,inner ysep=4pt]
at ([yshift=10*\Val]0,\Val pt) {};
}
\foreach \Val in {1,...,#1}
{
\node[draw,fill=colorii,inner ysep=4pt]
at ([yshift=10*\Val]0,\Val pt) {};
}
\end{tikzpicture}%
}
\begin{document}
\begin{tabular}{|c|p{5.1cm}|m{0.2cm}|m{0.2cm}|m{0.2cm}|p{5.2cm}|c|}
%\hline \rule[-2ex]{0pt}{5.5ex} %
\hline \textbf{Subject} & \vspace{-19pt}\begin{center}
\textbf{Knowledge and Skills}
\end{center} & \rotatebox[origin=rB]{90}{Homework} & \rotatebox[origin=rB]{90}{Attitude} & \rotatebox[origin=rB]{90}{ Participation} & \vspace{-19pt}\begin{center}\textbf{Teacher Comments}\end{center} & \textbf{Grade} \\
\hline \rule[-2ex]{0pt}{5.5ex} \emph{Biology} & \lipsum[66] & \vspace{12pt}\skilllevel{2} & \vspace{12pt}\skilllevel{3} & \vspace{12pt}\skilllevel{4} & \lipsum[75] & \textbf{Exceptional} \\
\hline \rule[-2ex]{0pt}{5.5ex} \emph{Chemistry} & \lipsum[66] & \vspace{12pt}\skilllevel{2} & \vspace{12pt}\skilllevel{4} & \vspace{12pt}\skilllevel{5} & \lipsum[75] & \textbf{Very Good} \\
\hline \rule[-2ex]{0pt}{5.5ex} \emph{English} & \lipsum[75] & \vspace{12pt}\skilllevel{2} & \vspace{12pt}\skilllevel{5} & \vspace{12pt}\skilllevel{1} & \lipsum[66] & \textbf{Good} \\
\hline
\end{tabular}
\end{document}
答案1
您混合使用了m
和p
列,这通常是一个错误,请使用全部p
或全部m
如红线所示,列顶行的基线p
与的垂直中心对齐m
。
使用m
并删除了许多可疑的内容\vspace
:
\documentclass[11pt,a4paper]{article}
\usepackage[left=1.00cm, right=1.00cm, top=1.00cm, bottom=1.00cm] {geometry}
\usepackage{array}
\usepackage[latin1]{inputenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{graphicx}
\usepackage{tikz}
\usepackage{lipsum}
\definecolor{colori}{RGB}{249,193,158}
\definecolor{colorii}{RGB}{158,214,149}
\newcommand\skilllevel[1]{%%
\begin{tikzpicture}
\foreach \Val in {1,2,3,4,5}
{
\node[draw,fill=white,inner ysep=4pt]
at ([yshift=10*\Val]0,\Val pt) {};
}
\foreach \Val in {1,...,#1}
{
\node[draw,fill=colorii,inner ysep=4pt]
at ([yshift=10*\Val]0,\Val pt) {};
}
\end{tikzpicture}%
}
\begin{document}
\begin{tabular}{|c|m{5.1cm}|l|l|l|m{5.2cm}|c|}
%\hline \rule[-2ex]{0pt}{5.5ex} %
\hline \textbf{Subject} & \centering
\textbf{Knowledge and Skills}
& \rotatebox[origin=rB]{90}{Homework} & \rotatebox[origin=rB]{90}{Attitude} & \rotatebox[origin=rB]{90}{ Participation} & \centering \textbf{Teacher Comments} & \textbf{Grade} \\
\hline \rule[-2ex]{0pt}{5.5ex} \emph{Biology} & \lipsum[66] & \skilllevel{2} & \skilllevel{3} & \skilllevel{4} & \lipsum[75] & \textbf{Exceptional} \\
\hline \rule[-2ex]{0pt}{5.5ex} \emph{Chemistry} & \lipsum[66] & \skilllevel{2} & \skilllevel{4} & \skilllevel{5} & \lipsum[75] & \textbf{Very Good} \\
\hline \rule[-2ex]{0pt}{5.5ex} \emph{English} & \lipsum[75] & \skilllevel{2} &\skilllevel{5} & \skilllevel{1} & \lipsum[66] & \textbf{Good} \\
\hline
\end{tabular}
\end{document}