许多列的 Longtable 错误

许多列的 Longtable 错误

我正在使用XeTeX, Version 3.1415926-2.4-0.9998(TeX Live 2012/W32TeX)。我需要一个诗句的韵律图,显示重音节和轻音节,就像第 2 页所示的那样 此链接。链接中的例子使用长音符号和短音符号表示重音节和轻音节,我改用数字 2 和 1。我使用 longtable,因为这首诗很长,韵律图会长达几页。

以下代码无法编译

\documentclass[twoside]{book}
\usepackage{longtable}
\usepackage{array}
\newcolumntype{C}[1]{>{\centering}m{#1}}
\usepackage[top=2.25cm,left=1.25cm,bottom=1.5cm,right=1.25cm,paperwidth=120mm,paperheight=200mm]{geometry}
\begin{document}
\fontsize{9}{11.5}\selectfont
\begin{center}
\begin{longtable}{|@{}C{6mm}@{}|@{}C{6mm}@{}|@{}C{6mm}@{}|@{}C{6mm}@{}|@{}C{6mm}@{}|@{}C{6mm}@{}|@{}C{6mm}@{}|@{}C{6mm}@{}|@{}C{6mm}@{}|@{}C{6mm}@{}|@{}C{6mm}@{}|@{}C{6mm}@{}|@{}C{6mm}@{}|@{}C{6mm}@{}}
1 & 1 & 1 & 1 & 1 & 1 & 1 & 1 & 1 & 1 & 1 & 1 & 2 & 2 \\
tu & ma & ma & ma & pri & ya & bha & ra & ta & hi & sa & ma & bha & i \\
\end{longtable}
\end{center}
\end{document}

我得到了错误

Extra alignment tab has been changed to \cr.

答案1

你必须\arrabackslash添加

\newcolumntype{C}[1]{>{\centering\arraybackslash}m{#1}}

这样 的含义\\就不会被搞乱。此外,对于这种重复的列,您可以使用

{|*{14}{@{}C{6mm}@{}|}}

使代码更具可读性。

\documentclass[twoside]{book}
\usepackage{longtable}
\usepackage{array}
\newcolumntype{C}[1]{>{\centering\arraybackslash}m{#1}}
\usepackage[top=2.25cm,left=1.25cm,bottom=1.5cm,right=1.25cm,paperwidth=120mm,paperheight=200mm]{geometry}
\begin{document}
\fontsize{9}{11.5}\selectfont
\begin{center}
\begin{longtable}{|*{14}{@{}C{6mm}@{}|}}
1  & 1  & 1  & 1  & 1   & 1  & 1   & 1  & 1  & 1  & 1  & 1  & 2   & 2 \\
tu & ma & ma & ma & pri & ya & bha & ra & ta & hi & sa & ma & bha & i
\end{longtable}
\end{center}
\end{document}

在此处输入图片描述

相关内容