- 下面的代码显示了放错位置的
\noalign
错误但我不知道哪里出了问题。 - 该表似乎也没有
\hline
正确显示。
\documentclass{article}
\usepackage[a4paper, portrait, margin=2cm]{geometry}
\usepackage{array}
\usepackage{ulem}
\usepackage{booktabs}
\usepackage{ragged2e}
\usepackage[utf8]{inputenc}
\begin{document}
\Large
\begin{center}
\begin{tabular}{|c|>{\centering}m{0.12\textwidth}|>{\centering}m{0.13\textwidth}|>{\centering}m{0.2\textwidth}|}
\hline
Hi & Peach & Apple & Total\\
\hline
Cost & v & b & a\\
\end{tabular}
\end{center}
\end{document}
答案1
让我将我的评论扩展到答案。 问题的原因是缺少\arraybackslash
恢复的含义,通过使用选项\\
修改列类型来覆盖它:m
\centering
\documentclass{article}
\usepackage[a4paper, portrait, margin=2cm]{geometry}
\usepackage{ragged2e}
\usepackage{array}
\newcolumntype{C}[1]{>{\centering\arraybackslash}m{#1}}
\begin{document}
\begin{center}
\begin{tabular}{|c|C{0.12\textwidth}|C{0.13\textwidth}|C{0.20\textwidth}|}
\hline
Hi & Peach & Apple & Total\\
\hline
Cost & v & b & a\\
\hline
\end{tabular}
\end{center}
\end{document}
不需要使用ragged2e
包中确定的修改选项。您可以按如下方式修改列:\arraybackslash
m
\newcolumntype{C}[1]{>{\Centering}m{#1}}
进一步的选择是不要将\\
其用作行终止符,但是\tabularnewline
:
\documentclass{article}
\usepackage[a4paper, portrait, margin=2cm]{geometry}
\usepackage{ragged2e}
\usepackage{array}
\newcolumntype{C}[1]{>{\centering}m{#1}}
\begin{document}
\begin{center}
\begin{tabular}{|c|C{0.12\textwidth}|C{0.13\textwidth}|C{0.20\textwidth}|}
\hline
Hi & Peach & Apple & Total \tabularnewline
\hline
Cost & v & b & a \tabularnewline
\hline
\end{tabular}
\end{center}
\end{document}