表格 2 列问题:放错 \noalign

表格 2 列问题:放错 \noalign

我之前使用的是 3 列。我将其改为 2 列,并将所有内容格式化以适应,结果表格坏了。

我找不到修复它的方法,有人可以帮我找到并解决这个问题吗?

最小可重复示例(使用 Overleaf 编译):

\documentclass{article}
\usepackage{caption}
\usepackage{float}
\usepackage{array}

\newcolumntype{L}[1]{>{\let\newline\\\arraybackslash\hspace{0pt}}m{#1}}
\newcolumntype{C}[1]{>{\let\newline\\\arraybackslash\hspace{0pt}}m{#1}}
\newcolumntype{R}[1]{>{\let\newline\\\arraybackslash\hspace{0pt}}m{#1}}
\renewcommand\arraystretch{1.5}

\author{mikyll}
\title{test}

\begin{document}

\maketitle

\section{Introduction}

\begin{table}[H]
    \centering
    \begin{tabular}{ |p{0.2\linewidth}|p{0.7\linewidth}| }
        \hline
        \centering{\textbf{Feature}} & \centering{\textbf{Description}}\\
        \hline
        CORS control & test\\
        \hline
        Rate Limiting & test \\
        \hline
    \end{tabular}
    \caption{API Gateway Requirements.}
    \label{tab:api-gateway-requirements}
\end{table}

\end{document}

结果:

在此处输入图片描述

错误:

在此处输入图片描述

31: Misplaced \noalign
32: Extra alignment tab has been changed to \cr.

答案1

该指令\centering{\textbf{Description}}会产生错误消息。由于我看不出想要将标题单元格的内容居中的理由,因此我会删除该\centering指令。(如果出于某种原因,您必须将右侧标题单元格的内容居中,只需将其替换\textbf{Description}\multicolumn{1}{c|}{\textbf{Description}}

我还会切换到tabularx设置并将表的目标宽度设置为\textwidth

在此处输入图片描述

\documentclass{article}
\usepackage{tabularx,ragged2e}
\usepackage{caption}
\begin{document}

\begin{table}[htb]
\setlength\extrarowheight{2pt} % for a less-cramped look

\begin{tabularx}{\textwidth}{ | 
    >{\RaggedRight}p{0.2\linewidth} | % suppress full justification
    >{\RaggedRight}X | } % suppress full justification
\hline
\textbf{Feature} & \textbf{Description} \\
\hline
CORS control     & test \\
\hline
Rate Limiting    & test \\
\hline
\end{tabularx}

\caption{API Gateway Requirements.}
\label{tab:api-gateway-requirements}

\end{table}

\end{document}

相关内容