我在表格环境中使用时遇到了问题\centering
。以下代码
\documentclass{article}
\begin{document}
\begin{tabular}{|r|r|} \hline
\centering{Lolcats} & \centering{.com} \\ \hline
\end{tabular}
\end{document}
生成错误“ LaTeX Error: Something's wrong--perhaps a missing \item.
”删除“”后错误消失\\ \hline
,但这也会删除表格的最后一行。有什么想法知道哪里出了问题吗?谢谢!
答案1
您可能还想将单元格垂直居中。LaTeXtabular
的间距模型与 HTML 不同。不可见的支柱有助于保持均匀的行距。通过支柱,空间\baselineskip
被划分为基线上方 70% 和下方 30%。由于您的文本不包含带降部的字形,因此与文本上方的空间相比,基线下方的空间看起来太大。
以下示例显示了一些解决方法。为简单起见,垂直边距将使用与水平边距相同的值:\tabcolsep
。
通过重新定义
\renewcommand*{\arraystretch}{0}
支柱的效果将失效。下方的边距可以通过可选参数添加\\
。上方的边距可以通过增加行高来创建。\raisebox{\tabcolsep}{\vphantom{L}}
应用于最高字母L
会创建这种不可见的人工高度。
下一个示例使用附加行来代替边距高度。
示例文件以一个示例结束,说明如何使用 来实现这一点\fbox
。
\kern\fboxrule
可防止接触 es 的双倍线宽\fbox
。
包array
将垂直线移到单元格外。与示例相比,效果很明显\fbox
。使用包时array
宽度相同。否则,tabular
示例的宽度较小。
\documentclass{article}
\usepackage{array}
\begin{document}
\begin{tabular}{|c|c|} \hline
Lolcats & .com \\ \hline
\end{tabular}
\begingroup
\renewcommand*{\arraystretch}{0}%
\begin{tabular}{|c|c|} \hline
\raisebox{\tabcolsep}{\vphantom{L}}%
Lolcats & .com \\[\tabcolsep]
\hline
\end{tabular}
\endgroup
\begingroup
\renewcommand*{\arraystretch}{0}%
\begin{tabular}{|c|c|} \hline
\rule{0pt}{\tabcolsep} & \\
Lolcats & .com \\[\tabcolsep]
\hline
\end{tabular}
\endgroup
\setlength{\fboxsep}{\tabcolsep}
\fbox{Lolcats}\kern-\fboxrule\fbox{\vphantom{L}.com}
\end{document}