我之前使用的是 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}