多行未垂直居中

多行未垂直居中

我不确定为什么多行没有垂直居中,如能得到任何帮助我将不胜感激:

\documentclass[12pt]{article}
\usepackage[margin=1in]{geometry}
\usepackage{longtable}
\usepackage{array}
\usepackage{booktabs}
\usepackage{multirow}
\newcommand{\mod}[2]{Module \# #1 -- #2}
\newcommand{\labentry}[1]{\multirow{3}{*}{\parbox{1.7in}{\raggedright#1}}}
\begin{document}
\begin{center}
\textbf{Chemistry 1407 Lecture/Lab Schedule\\
Spring 2017}
\end{center}
\begin{longtable}{clc>{\raggedright}p{2.16in}p{1.7in}}
\toprule
\parbox{0.62in}{\centering \textbf{Lecture \#}} & \textbf{Day} & \textbf{Date} & \textbf{Sections Covered} & \textbf{Labs} \\
\cmidrule(r){1-1} \cmidrule(r){2-3} \cmidrule(lr){4-4} \cmidrule(l){5-5}
\endhead
-- & Monday & 1--09 & Read D2L Introduction \& OWL Registration & \labentry{Check-in/Safety Rules}\\
1 & Wednesday & 1--11 & \mod{1}{Section 1.7} & \\
2 & Friday & 1--13 & \mod{1}{Sections 1.5--1.6, 1.9} & \\
\midrule

答案1

我不确定为什么多行不是垂直居中

您的\labentry宏定义如下:

\newcommand{\labentry}[1]{\multirow{3}{*}{\parbox{1.7in}{\raggedright#1}}}

注意,它被设置为跨越固定数量的行:3

在正文中longtable,有说明

\labentry{Check-in/Safety Rules}

垂直对齐问题之所以出现,是因为紧邻单元格中的材料仅跨越 2 行,而不是 3 行。解决此问题的一种方法是重新定义,\labentry使其内容仅跨越 2 行,而不是 3 行。或者,重新定义labentry,使其采用两个参数而不是 1 个参数;使用第二个参数来指示它应该跨越的行数。

更好的办法是:这里根本不要用\multirow。读者不可能不明白“实验室”栏中的信息与前面“涵盖的部分”栏中的信息有何关联。


针对原始发帖人的后续评论的附录

我使用多行,只是因为我想让“实验室”列垂直居中。纯粹是为了美观。

注意不要让你的审美感造成不必要的歧义。为了真正将“签到/安全规则”行置于最后一列的中心,考虑到前几列中包含的信息,你实际上应该在指令中留出 5 行,而不仅仅是 3 行\multirow。这是因为,一旦你允许自动生成的换行符,前几列中的材料就会跨越 5 行。

如果您确实在 的第一个参数中留出 5 行\multirow,那么就会出现一个新的相当严重的问题:您如何确保学生理解“签到/安全规则”适用于所有三个日期,而不仅仅是中间日期(1 月 11 日)?正如下表的前半部分所示,我(首先,我认为不止我一个人)会立即假设“签到/安全规则”仅适用于中间日期。为了真正避免造成这种歧义,我认为有必要放弃这种\multirow方法,并在最后一列中尽可能多地重复重要信息。

在此处输入图片描述

\documentclass[12pt]{article}
\usepackage[margin=1in]{geometry}
\usepackage[justification=centering,font=bf]{caption} % <--- new
\usepackage{longtable,array,booktabs,multirow}
\newcommand{\mod}[2]{Module~\##1 --- #2}
%% I've modified the following macro to take 2 arguments
\newcommand{\labentry}[2]{\multirow{#1}{*}{\parbox{1.6in}{\raggedright #2}}}
\begin{document}
\begin{longtable}{@{} lll 
     >{\raggedright}p{2.16in} 
     >{\raggedright\arraybackslash}p{1.6in} @{}}
\caption*{Chemistry 1407 Lecture/Lab Schedule\\Spring 2017}\\
\toprule
\textbf{Lecture \#} & \textbf{Weekday} & \textbf{Date} & \textbf{Sections Covered} & \textbf{Labs} \\
\cmidrule(r){1-1} \cmidrule(lr){2-3} \cmidrule(lr){4-4} \cmidrule(l){5-5}
\endfirsthead
\toprule
\textbf{Lecture \#} & \textbf{Weekday} & \textbf{Date} & \textbf{Sections Covered} & \textbf{Labs} \\
\cmidrule(r){1-1} \cmidrule(lr){2-3} \cmidrule(lr){4-4} \cmidrule(l){5-5}
\endhead
\bottomrule
\endfoot
-- & Monday & 1--09 & Read D2L Introduction \& OWL Registration 
   & \labentry{5}{Check-in/Safety Rules}\\
1 & Wednesday & 1--11 & \mod{1}{Section 1.7} & \\
2 & Friday & 1--13 & \mod{1}{Sections 1.5--1.6, 1.9} & \\
\midrule
-- & Monday & 1--09 & Read D2L Introduction \& OWL Registration 
   & Check-in/Safety Rules\\
1 & Wednesday & 1--11 & \mod{1}{Section 1.7} & see above\\ % note the "see above" instructions
2 & Friday & 1--13 & \mod{1}{Sections 1.5--1.6, 1.9} & see above\\
\end{longtable}
\end{document} 

相关内容