在上面的表格中,我想将第三行(/word)和第五行和第六行居中对齐,以便一切看起来整洁干净。
\begin{table}[h]
\begin{tabular}{|c|l|}
\hline
\textbf{man keys} & \multicolumn{1}{c|}{\textbf{What it does?}} \\
\hline
Space & bla bla bla . \\
\hline
Ctrl+F & bla bla bla \\
\hline
Ctrl+B & bla bla bla \\
\hline
/word & bla bla bla \\
\hline
q & bla bla bla \\
\hline
n & bla bla bla \\
\hline
N & bla bla bla \\
\hline
\end{tabular}
\caption{\label{tab:table-name} Doing some stuff}
\end{table}
我尝试使用多列{1}{m},但没有作用。
我也不想大幅更改乳胶脚本。我可以在表格中包含什么来根据需要垂直居中对齐单元格?
答案1
您可以使用嵌套表格,在第二列中居中放置 p 列。非常简单,LaTeX 会为您完成所有计算。
我已经定义了一个\mline
可以为您完成工作的命令。
在这个特定的 MWE 中,您还可以将第二列设置为 -column m
,如示例 2 所示。这并不总是有效。
示例 1 - 嵌套表格
\documentclass{article}
\usepackage{array}
\renewcommand*{\arraystretch}{1.1}
\setlength{\extrarowheight}{2pt}
% Multi-line left-aligned text with manual line breaks.
% The base line is in centre.
\newcommand*{\mline}[1]{%
\begingroup
\renewcommand*{\arraystretch}{1.1}%
\begin{tabular}[c]{@{}>{\raggedright\arraybackslash}p{2cm}@{}}#1\end{tabular}%
\endgroup
}
\begin{document}
\begin{table}[tbh!]
\centering
\begin{tabular}{|c|l|}
\hline
\bfseries man keys & \multicolumn{1}{c|}{\bfseries What it does?} \\
\hline
Space & \mline{bla bla bla blabla ltus blabla.} \\
\hline
Ctrl+F & \mline{bla bla bla} \\
\hline
Ctrl+B & \mline{bla bla bla} \\
\hline
/word & \mline{much more bla bla bla} \\
\hline
q & \mline{I hate this bla bla bla } \\
\hline
n & \mline{so much bla bla bla} \\
\hline
N & \mline{all this bla bla bla} \\
\hline
\end{tabular}
\caption{\label{tab:table-name} Doing some stuff}
\end{table}
\end{document}
示例 2 - m 柱
\documentclass{article}
\usepackage{array}
\renewcommand*{\arraystretch}{1.1}
\setlength{\extrarowheight}{2pt}
\begin{document}
\begin{table}[tbh!]
\centering
\begin{tabular}{|c|>{\raggedright\arraybackslash}m{2.5cm}|}
\hline
\bfseries man keys & \multicolumn{1}{c|}{\bfseries What it does?} \\
\hline
Space & bla bla bla blabla ltus blabla.\\
\hline
Ctrl+F & bla bla bla \\
\hline
Ctrl+B & bla bla bla \\
\hline
/word & much more bla bla bla \\
\hline
q & I hate this bla bla bla \\
\hline
n & so much bla bla bla \\
\hline
N & all this bla bla bla \\
\hline
\end{tabular}
\caption{\label{tab:table-name-ii} Doing some more stuff}
\end{table}
\end{document}
答案2
最简单的方法是使用\multirow{number of rows}{width}{text}
。
接下来是 MWE。
\documentclass{article}
\usepackage{multirow}
\usepackage{tabularx}
\begin{document}
\begin{table}[h]
\begin{tabular}{|c|l|}
\hline
\textbf{man keys} & \multicolumn{1}{c|}{\textbf{What it does?}} \\
\hline
Space & bla bla bla . \\
\hline
Ctrl+F & bla bla bla \\
\hline
Ctrl+B & bla bla bla \\
\hline
\multirow{2}{*}{/word} & bla bla bla \\
\cline{2-2}
& foo foo foo \\
\hline
q & bla bla bla \\
\hline
n & bla bla bla \\
\hline
N & bla bla bla \\
\hline
\end{tabular}
\caption{\label{tab:table-name} Doing some stuff}
\end{table}
\end{document}