这张表有错误,但我没发现问题

这张表有错误,但我没发现问题

当我尝试这个表时,第一行末尾出现问题,我不知道如何修复它。

\documentclass{article}
\usepackage[utf8]{inputenc}

\title{A}
\author{AA }
\date{November 2018}

\usepackage{natbib}
\usepackage{graphicx}
\usepackage{tabu}



\begin{document}


\begin{tabu} to 0.9\textwidth { | X[c] | X[c] | X[c] | X[r] | }
 \hline
 l(cm) & V(V) & I(A) & R(\Omega)\\
 \hline
 4  & 0,020  & 1,70 & \\
 \hline
 8  & 0,051  & 1,70 & \\
 \hline
 12  & 0,077  & 1,70 &8\\
 \hline
 16  & 0,102  & 1,70 & \\
 \hline
 20  & 0,127  & 1,70 &\\
 \hline
 24  & 0,152  & 1,70 &\\
\hline
\end{tabu}


\end{document}

答案1

包装tabu已损坏,请勿使用。在这种情况下,您可以使用普通的tabular

您的第一个错误告诉您Missing $ inserted,由于\Omega是数学模式命令,因此您无法在文本模式下使用它。通常,您应该在代码中明确区分什么是数学,什么不是数学。例如,表头中的变量(、和lV都应该是数学。IR

对于表格中(以及文档中任何其他位置)的数字和单位,我建议使用siunitx包。从您使用,作为小数点标记来看,我猜您是用德语写的,所以我在下面的 MWE 中选择了该设置。(不过,如果您在宏输入中使用,或,则很方便。如果您没有从其他程序中获取数字,我总是更喜欢输入代码,因为它与您可能希望这些数字与之交互的几乎任何程序都兼容。).siunitx,.

对于表格,我建议使用booktabs包。查看其文档,也许这个帖子为什么这是个好主意。

现在,我将按如下方式排版您的表格:

\documentclass{article}

\usepackage{booktabs}
\usepackage[locale=DE]{siunitx}

\begin{document}

\begin{tabular}{S[table-format=2] S[table-format=1.3] S[table-format=1.2] S[table-format=1]}\toprule
    {\(\displaystyle\frac{l}{\si{\centi\meter}}\)}  &   {\(\displaystyle\frac{V}{\si{\volt}}\)} &   {\(\displaystyle\frac{I}{\si{\ampere}}\)}   &   {\(\displaystyle\frac{R}{\si{\ohm}}\)}  \\\midrule
    4   &   0.020   &   1.70    &   \\
    8   &   0.051   &   1.70    &   \\
    12  &   0.077   &   1.70    &   8   \\
    16  &   0.102   &   1.70    &   \\
    20  &   0.127   &   1.70    &   \\
    24  &   0.152   &   1.70    &   \\\bottomrule
\end{tabular}

\end{document}

MWE 输出

如果你不喜欢表格头部的分数符号,你当然可以使用类似{\(l\) in \si{\centi\meter}}{\(l\) [\si{\centi\meter}]}这样的符号。不过,在包含很多列的表格中,分数符号由于其细长性而具有优势。

答案2

(正如已经指出的那样在评论中经过施塔达德) \Omega——像任何其他希腊字母宏一样——需要在数学模式下运行。在这种情况下,您希望它是“内联的”,因此只需将其包装在单个 $ 中,例如$\Omega$

所以你的完整台词将是

 l(cm) & V(V) & I(A) & R($\Omega$)\\

注意:如果你像我怀疑的那样,将其用作欧姆符号,那么相关问题,其中包含一些以更正确的方式显示的建议IE直立,而不是斜体)。

相关内容