我的 tabu 环境存在严重问题。单元格中的文本总是太高或水平线太低。我尝试了所有我能想到的垂直对齐方式,但都不起作用。我正在使用 Texmaker 4.4.1 和 TexLive。我现在很困惑...我做错了什么?似乎 Latex 将数字视为大写字母,因为它们的高度不同。这可能是它们更靠近顶线而不是底线的原因。有什么办法可以解决这个问题吗?
\documentclass{article}
\usepackage{tabu}
\usepackage{array}
\begin{document}
\begin{tabu}{|c|c|c|c|}
\multicolumn{4}{c}{$Occ[c]$}\\
\rowfont{\bfseries}
\multicolumn{1}{c}{a} &\multicolumn{1}{c}{c}&\multicolumn{1}{c}{g}&\multicolumn{1}{c}{t}\\
\hline
0 & 0 & 0 & 1\\
\hline
& & & \\
\hline
& & &\\
\hline
1 & 1 & 1 & 1\\
\hline
& & & \\
\hline
& & & \\
\hline
2 & 1 & 2 & 1\\
\hline
\end{tabu}
\end{document}
答案1
\documentclass{article}
\usepackage{tabu}
\usepackage{array}
\begin{document}
\setlength\extrarowheight{3pt}
\begin{tabu}{|c|c|c|c|}
\multicolumn{4}{c}{$Occ[c]$}\\
\rowfont{\bfseries}
\multicolumn{1}{c}{a} &\multicolumn{1}{c}{c}&\multicolumn{1}{c}{g}&\multicolumn{1}{c}{t}\\
\hline
0 & 0 & 0 & 1\\
\hline
& & & \\
\hline
& & &\\
\hline
1 & 1 & 1 & 1\\
\hline
& & & \\
\hline
& & & \\
\hline
2 & 1 & 2 & 1\\
\hline
\end{tabu}
\end{document}
答案2
显然tabu
不会在单元格中插入支柱。您可以利用这一点并插入自己的支柱;这里我假设单元格包含数字,因此我将支柱定义为数字加上正常支柱的深度,因此最终效果将是精确的垂直居中。
\documentclass{article}
\usepackage{tabu}
\usepackage{array}
\newcommand{\head}[1]{\multicolumn{1}{c}{\bfseries #1}}
\newcommand{\tablestrut}{%
\rule{0pt}{\dimexpr\fontcharht\font`0+\dp\strutbox}\strut
}
\begin{document}
\begin{tabu}{|>{\tablestrut}c|c|c|c|}
\multicolumn{4}{c}{$\mathit{Occ}[c]$}\\
\head{a} & \head{c} & \head{g} & \head{t}\\
\hline
0 & 0 & 0 & 1\\
\hline
& & & \\
\hline
& & &\\
\hline
1 & 1 & 1 & 1\\
\hline
& & & \\
\hline
& & & \\
\hline
2 & 1 & 2 & 1\\
\hline
\end{tabu}
\end{document}