我在使用 tabularx 时遇到一个问题:垂直线没有一直延伸到底部:我猜这是因为在第一个单元格中添加了一个数学公式。我该怎么做才能得到完整的线条?
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[french]{babel}
\usepackage[left=1.5cm, right=1.5cm, top=1.5cm, bottom=1.5cm]{geometry}
\usepackage{tabularx}
\begin{tabularx}{\linewidth}{|c||*{7}{>{\centering \arraybackslash}X|}}\hline
volume d'eau (L)& 0.3 & 0.5 & 0.7 & 0.9 & 1.1 & 1.3 & 1.5 \\
\hline
force (N) & 3 & 5 & 7 & 9 & 11 & 13 & 15 \\
\hline
Résistance ($\textrm{k}\Omega$) & & & & & & & & \\
\hline
\end{tabularx}
\end{document}
感谢您的帮助
答案1
最后一行有一个错误&
。我还建议使用略有不同的布局,其中双垂直线中断内部水平线,这可以通过 来实现hhline
,使用 在单元格顶部添加一些垂直填充\extrarowheight
,并kΩ
使用 来实现更简单的排版方式siunitx
。
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[french]{babel}
\usepackage[margin=1.5cm]{geometry}
\usepackage{tabularx}
\usepackage{hhline}
\usepackage{siunitx}
\begin{document}
\setlength{\extrarowheight}{2pt}
\noindent\begin{tabularx}{\linewidth}{|c||*{7}{>{\centering \arraybackslash}X|}}
\hline
volume d'eau (L)& 0.3 & 0.5 & 0.7 & 0.9 & 1.1 & 1.3 & 1.5 \\
\hline
force (N) & 3 & 5 & 7 & 9 & 11 & 13 & 15 \\
\hline
Résistance (\si{\kohm}) & & & & & & & \\
\hline
\end{tabularx}
\vskip 1cm
\noindent\begin{tabularx}{\linewidth}{|c||*{7}{>{\centering \arraybackslash}X|}}
\hline
volume d'eau (L)& 0.3 & 0.5 & 0.7 & 0.9 & 1.1 & 1.3 & 1.5 \\
\hhline{-||-------}
force (N) & 3 & 5 & 7 & 9 & 11 & 13 & 15 \\
\hhline{-||-------}
Résistance (\si{\kohm}) & & & & & & & \\
\hline
\end{tabularx}
\end{document}
答案2
如果我添加缺失的内容\begin{document}
并尝试编译你的代码,我最终会收到一条错误消息,例如
Extra alignment tab has been changed to \cr.
&
这告诉我们你的桌子上有个多余的东西。
一旦收到错误消息,请不要查看生成的 .pdf 文档。即使乍一看像 pdf 文件,也可能存在问题。发生错误后,TeX 只会尝试恢复足够的内容以检查文件的更多语法,而不会尝试在发生错误后生成合理的输出。
要消除错误消息,请&
从“Résistance”行中删除最后一个,然后您将得到一个可编译的示例,并产生以下输出。&
如果您将代码中的所有 s 对齐,则可以更容易地发现这种多余内容&
,就像我在下面的 MWE 中所做的那样。
此外,我建议使用siunitx
单位包,如下面的示例代码所示:
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[french]{babel}
\usepackage[left=1.5cm, right=1.5cm, top=1.5cm, bottom=1.5cm]{geometry}
\usepackage{tabularx}
\usepackage{siunitx}
\begin{document}
\begin{tabularx}{\linewidth}{|c||*{7}{>{\centering \arraybackslash}X|}}\hline
volume d'eau (\si{\liter}) & 0.3 & 0.5 & 0.7 & 0.9 & 1.1 & 1.3 & 1.5 \\
\hline
force (\si{\newton}) & 3 & 5 & 7 & 9 & 11 & 13 & 15 \\
\hline
Résistance (\si{\kilo\ohm}) & & & & & & & \\
\hline
\end{tabularx}
\end{document}