无法使表格边框线在角落处相接

无法使表格边框线在角落处相接

我正在尝试创建一个带有水平线和垂直线的表格,但这些线在角落处没有相交,我不知道为什么。有人能指出我做错了什么吗?

\documentclass[a4paper,10pt]{report}
\usepackage{booktabs}
\begin{document}

\begin{tabular} { | r | p{2cm} | p{2cm} | }
\toprule
\# & One & Two \\
\midrule
1 & alpha & bravo \\
2 & apple & banana \\
\bottomrule
\end{tabular}

\end{document}

在 Acrobat Reader 和 evince 中,通过几个不同版本的 pdflatex 运行此程序始终会产生此输出:

示例图像显示线条未在角落相交

如何使水平线和垂直线相交?

答案1

在此处输入图片描述

\documentclass[border=10pt]{standalone}

\begin{document}

\begin{tabular} { | r | p{2cm} | p{2cm} | }
\hline
\# & One & Two \\
\hline
1 & alpha & bravo \\
2 & apple & banana \\
\hline
\end{tabular}

\end{document}

编辑3

如果您是一个完美主义者,请考虑水平线和垂直线交叉处的以下缺陷。

在此处输入图片描述

也许,尽管它们小到一眼就能看见,你还是会讨厌它们。

编辑3.1

根据下面 Ulrike 的评论,我们需要使用array包来删除这个糟糕的功能。

\documentclass[border=10pt]{standalone}

\usepackage{array}
\begin{document}

\begin{tabular} {|r|p{2cm}|p{2cm}|}
\hline
\# & One & Two \\
\hline
1 & alpha & bravo \\
2 & apple & banana \\
\hline
\end{tabular}

\end{document}

在此处输入图片描述

答案2

非常相似的答案,但是当你有新的顾问时请避免使用水平线。=)

\documentclass[10pt,a4paper]{article}
\usepackage{booktabs}
\usepackage{array}
\begin{document}
\begin{table}
\centering
\setlength{\aboverulesep}{0pt}
\setlength{\belowrulesep}{0pt}
\begin{tabular} { | r | p{2cm} | p{2cm} | }
\toprule
\# & One & Two \\
\midrule
1 & alpha & bravo \\
2 & apple & banana \\
\bottomrule
\end{tabular}
\end{table}
\end{document}

角落稍微好一点,你可以将 \top-\mid 和 \bottomrule 切换为 \hrule(如果你愿意的话)。这不是一个全局变化,而是改变一个表。要获得更全局的解决方案,只需

\setlength{\aboverulesep}{0pt}
\setlength{\belowrulesep}{0pt}

在序言中而不是在表格内。

相关内容