如何在某些位置设置特定的行高以及如何在单元格中水平和垂直居中对齐
I need this:
\begin{tabular}{|c|c|c|c|}
\hline
Time & \textbf{Thursday 04} & \textbf{Friday 05} & \textbf{Saturday 06}\\
\hline
09:30 - 10:20 & & V.Voronov & Yu. Tchuvil'sky \\
\hline
10:20 - 11:10 & & N.Antonenko & G.Adamian \\
\hline\hline
11:10 - 11:30 & \textbf{Opening} & \multicolumn{2}{|c|}{\textbf{Break}}\\
\hline\hline
11:30 - 12:20 & Yu. Oganessian & N. Van Giai & A. Diaz-Torres\\
\hline
12:20 - 13:10 & Yu. Oganessian & N. Van Giai & V.Sargsyan \\
\hline\hline
\multicolumn{4}{|c|}{\textbf{13:10 - 15:00 Lunch}}\\
\hline\hline
15:00 - 15:35 & N. Antonenko & Yu. Tchuvil'sky & V. Dobrev \\
\hline
15:35 - 16:10 & V. Sargsyan & A. Diaz-Torres & R. Poghossian \\
\hline
16:10 - 16:45 & G. Adamian & E. Kolganova & R.Poghossian \\
\hline\hline
\multicolumn{4}{|c|}{\textbf{16:45 - 17:10 Break}}\\
\hline\hline
17:10 - 18:00 & A. Gozdz & A. Gusev & Lu Guo \\
\hline
18:00 - 18:30 & Lu Guo & A.Gusev & \\
\hline
\end{tabular}
But i have this
答案1
感谢大家,我成功地找到了最适合自己的解决方案堆栈引擎
\usepackage{stackengine}
\newcommand\xrowht[2][0]{\addstackgap[.5\dimexpr#2\relax]{\vphantom{#1}}}
\begin{tabular}{|c|c|c|c|}
\hline\xrowht[()]{35pt}
Time & \textbf{Thursday 04} & \textbf{Friday 05} & \textbf{Saturday 06}\\
\hline\xrowht[()]{35pt}
09:30 - 10:20 & & V. Voronov & Yu. Tchuvil'sky \\
\hline\xrowht[()]{35pt}
10:20 - 11:10 & & N. Antonenko & G. Adamian \\
\hline\hline\xrowht[()]{5pt}
11:10 - 11:30 & \textbf{Opening} & \multicolumn{2}{|c|}{\large\textbf{Break}}\\
\hline\hline\xrowht[()]{35pt}
11:30 - 12:20 & Yu. Oganessian & N. Van Giai & A. Diaz-Torres\\
\hline\xrowht[()]{35pt}
12:20 - 13:10 & Yu. Oganessian & N. Van Giai & V. Sargsyan \\
\hline\hline
\multicolumn{4}{|c|}{\large\textbf{13:10 - 15:00 Lunch}}\xrowht[()]{5pt}\\
\hline\hline\xrowht[()]{35pt}
15:00 - 15:35 & N. Antonenko & Yu. Tchuvil'sky & V. Dobrev \\
\hline\xrowht[()]{35pt}
15:35 - 16:10 & V. Sargsyan & A. Diaz-Torres & R. Poghossian \\
\hline\xrowht[()]{35pt}
16:10 - 16:45 & G. Adamian & E. Kolganova & R.Poghossian \\
\hline\hline
\multicolumn{4}{|c|}{\large\textbf{16:45 - 17:10 Break}}\xrowht[()]{5pt}\\
\hline\hline\xrowht[()]{35pt}
17:10 - 18:00 & A. Gozdz & A. Gusev & Lu Guo \\
\hline\xrowht[()]{35pt}
18:00 - 18:30 & Lu Guo & A.Gusev & \\
\hline
\end{tabular}
答案2
在 latex 中,固定高度行不是一件小事。我提出了一个基于minipage
环境的解决方案。我向你展示了一个通用示例,你可以随时使用它
定义了一个新的列类型v{width}{height}
。垂直对齐由环境的第二个 [c] 选项设置minipage
。水平对齐由其\centering
内部的声明设置。其余语法是array
包的常用语法。
注意。如果代码无法编译,您将需要最新版本的array
包。一个快速的解决方案是加载tabularx
。在序言中添加:
\usepackage{tabularx}
\documentclass{article}
\newcolumntype{v}[2]{%
>{\begin{minipage}[c][#2][c]{#1}\centering\arraybackslash}c<{\end{minipage}}%
}
\begin{document}
\def\text{This text is a example}
\begin{tabular}{|*{3}{v{3cm}{2cm}|}}
\hline
\multicolumn{3}{|c|}{Title row} \\
\hline
\text & \text & \text \\
\hline
\end{tabular}\\
\end{document}