我的桌子不工作。可能的原因是什么

我的桌子不工作。可能的原因是什么

原始代码

    \begin{table}[H]
    \begin{center}
        \begin{tabular}{c|c}
            \hline
            标签  &   含义 \\
            \hline
            [t]     &   置顶 \\
            [b]     &   置底 \\
            [p]     &   换页 \\
            [h]     &   视情况插入中段 \\
            [H]     &   强制插入中段 \\
            \hline
        \end{tabular}
    \end{center}
    \caption{图表位置调整标签}
    \label{table:location}
\end{table}

当制表符中只有“[t]”行时,它工作正常,但是当我输入“[b]”行及更多内容时,我的编译器会抛出几个错误。

Missing number, treated as zero.
<to be read again> 
LaTeX
Illegal unit of measure (pt inserted).
<to be read again> 
LaTeX
Missing = inserted for \ifdim.
<to be read again> 
LaTeX
Missing number, treated as zero.
<to be read again> 
LaTeX
Illegal unit of measure (pt inserted).
<to be read again> 
LaTeX
Missing number, treated as zero.
<to be read again> 
LaTeX
Illegal unit of measure (pt inserted).
<to be read again> 
LaTeX
Missing number, treated as zero.
<to be read again> 
LaTeX
Illegal unit of measure (pt inserted).
<to be read again> 
LaTeX

虽然当我使用 $$ 覆盖 [tag] 时代码有效

    \begin{table}[H]
    \begin{center}
        \begin{tabular}{c|c}
            \hline
            标签      &   含义 \\
            \hline
            $[t]$       &   置顶 \\
            $[b]$       &   置底 \\
            $[p]$       &   换页 \\
            $[h]$       &   视情况插入中段 \\
            $[H]$       &   强制插入中段 \\
            \hline
        \end{tabular}
    \end{center}
    \caption{图表位置调整标签}
    \label{table:location}
\end{table}

我仍然想知道是什么导致我之前的代码出现错误。

答案1

LaTeX 出错了,因为\\在多个 后面(中间有一个换行符)有一个 字符[。为什么?该\\宏可以接受一个可选参数,如果找到该参数,则该参数必须是长度,例如,[1ex]。但是,在你的表格,LateX 认为[b],这不是长度。因此出现错误消息“非法测量单位(插入 pt)”,IMNSHO 并没有特别说明。

该怎么办?实际上有几种补救措施;我发现最有吸引力的解决方案是——因为它传达了意义-- 是在大多数 之后插入\relax(翻译:“停止你现在正在做的事情,也就是寻找一个可能的可选参数\\,放松,然后重新继续”)\\

在此处输入图片描述

% !TEX TS-program = xelatex  %% or lualatex
\documentclass{article}

\usepackage{fontspec}
\setmainfont{Noto Serif SC} % or some other suitable font

\usepackage{float} % for '[H]' position specifier
\usepackage{booktabs} % for well-spaced horizontal rules

\begin{document}
    \begin{table}[H]
    \centering
        \begin{tabular}{@{} ll @{}}
            \toprule
            标签  &   含义 \\
            \midrule \relax
            [t]     &   置顶 \\ \relax
            [b]     &   置底 \\ \relax
            [p]     &   换页 \\ \relax
            [h]     &   视情况插入中段 \\ \relax
            [H]     &   强制插入中段 \\
            \bottomrule
        \end{tabular}

    \caption{图表位置调整标签}
    \label{table:location}
\end{table}
\end{document}

相关内容