我正在使用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}