当我编写以下代码时,出现了一些奇怪的输出:
代码:
\begin{tabular}{|>{\centering}m{15mm}|>{\centering}m{15mm}|>{\centering}m{15mm}|>{\centering}m{15mm}|>{\centering}m{15mm}|}
\hline
\multicolumn{1}{|c|}{\textbf{Element}} & \multicolumn{2}{c|}{\textbf{Local Nodes}} & \multicolumn{2}{c|}{\textbf{Global Nodes}}\\
\hline
a & a & a & a & a \\
\end{tabular}\\
第二行的最后一列(即带有“a”的那一列)格式错误。此外,当我尝试向表格中添加更多行时,它喜欢将第一个条目添加到第五列。
我感觉我的代码中只漏掉了一个拼写错误。
作为参考,以下是序言:
\documentclass[letterpaper,12pt]{report}
\usepackage[T1]{fontenc}
\usepackage[english]{babel}
\usepackage[
backend=biber,
style=ieee,
]{biblatex}
\usepackage{csquotes}
\title{\bfseries\sffamily\Huge XX}
\author{\sffamily XX}
\date{\sffamily XX}
\usepackage[left=2.5cm, right=2.5cm, top=2.5cm, bottom=2.5cm]{geometry}
\usepackage{graphicx}
\usepackage{hyperref}
\usepackage{tocloft}
\usepackage{lipsum}
\renewcommand{\cfttoctitlefont}{\sffamily\Large\bfseries}
\renewcommand{\contentsname}{\Huge \bfseries \sffamily Contents}
\renewcommand{\cftsecleader}{\cftdotfill{\cftdotsep}}
\usepackage{titlesec}
\usepackage{amsmath}
\setlength{\parskip}{10pt}
\setlength{\parindent}{0pt} %This removes the standard indentation from the
beginning of paragraphs
\titleformat{\chapter}
{\Huge\bfseries\sffamily} % format
{\Huge{\thechapter}\hspace{2mm}} % label
{0pt} % sep
{\Huge} % before-code
\titleformat{\section}
{\Large\bfseries\sffamily} % format
{\Large{\thesection}\hspace{2mm}} % label
{0pt} % sep
{\Large} % before-code
\titleformat{\subsection}
{\normalfont\sffamily\large\bfseries}
{\thesubsection}{1em}{}
\titleformat{\subsubsection}
{\normalfont\sffamily\normalsize\bfseries}
{\thesubsubsection}{1em}{}
\usepackage[font=sf]{caption}
\usepackage{palatino}
\usepackage{fourier}
\usepackage{physics}
\usepackage{array}
\raggedright
\usepackage{subfiles}
\addbibresource{bibliography.bib}
答案1
您至少应该在最后一列\arraybackslash
添加:\centering
\begin{tabular}{|*{5}{>{\centering\arraybackslash}m{15mm}|}}
\hline
\textbf{Element}
& \multicolumn{2}{c|}{\textbf{Local Nodes}}
& \multicolumn{2}{c|}{\textbf{Global Nodes}} \\
\hline
a & a & a & a & a \\
\hline
\end{tabular}
编辑: 正如 Mico 在下面的评论中所建议的那样,您可以为更简单的表格类型定义新的列类型,例如:
newcolumntype{M}[1]{>{\centering\arraybackslash}m{#1}}
然后使用它作为
\begin{tabular}{|*{5}{M{15mm}|}}
(如果列宽相等)或者例如
\begin{tabular}{|M{15mm}| M{20mm}| M{20mm}| M{10mm}| M{10mm}|}
当它们的宽度不同时。