如何减少(或增加)表格中特定行的行高并使其内容水平和垂直居中?
A相关答案讨论了如何减小行高,但如何才能使文本居中于表格单元格中?我将其用作dcolumn
列类型,因此不能使用任何其他可居中的列类型。
\usepackage{dcolumn}
\newcolumntype{L}{D{.}{.}{1.1}}
\renewcommand{\arraystretch}{2}
\begin{table}
\centering
\begin{tabular}{|c|c|L|}
\hline
a & b & 1.1\\ [-5pt]
\hline
d & e & 2.2 \\ [1pt]
\hline
g & h & 3.3 \\ [6pt]
\hline
\end{tabular}
\end{table}
我想要类似这样的输出:
答案1
一个非常基本的方法:
\documentclass{article}
\usepackage{dcolumn}
\newcolumntype{L}{@{\hspace{1.5em}}D{.}{.}{1.1}@{\hspace{1.5em}}}
\newcolumntype{V}{>{\centering\arraybackslash}m{3em}}
\newcolumntype{N}{@{}m{0pt}@{}}
\begin{document}
%\renewcommand{\arraystretch}{2}
\begin{table}
\centering
\begin{tabular}{|V|V|L|N}
\hline
a & b & 1.1 &\\
\hline
d & e & 2.2 &\\[15pt]
\hline
g & h & 3.3 &\\[35pt]
\hline
\end{tabular}
\end{table}
\end{document}
结果:
笔记:
- 我重新定义了您的列类型,
L
并在左侧和右侧添加了一些空间。 - 我已经为剩余的列定义了标准
array
列类型(因为加载所以这是可能的)。V
dcolumn
array
- 我定义了一种不可见的列类型
N
以避免此处描述的问题:表格中的垂直对齐:m 列,行大小 - 最后一列存在问题。 - 我已注释掉
\renewcommand{\arraystretch}{2}
。