noalign 和 \include

noalign 和 \include

我已将代码缩减为以下几行:

\documentclass[9pt,letterpaper,oneside]{amsart}
\usepackage{graphicx}
\usepackage[table, dvipsnames]{xcolor}
\usepackage{longtable}
\usepackage[top=0.2in, bottom=0in, left=1in, right=1in]{geometry}
\usepackage[labelformat=empty]{caption}
\begin{document}

\renewcommand*\rmdefault{ppl}
\textrm{%
  \begin{table}[ht]
    \centering
    \caption{Blabla}
    {\tiny
      \begin{tabular}{llrrr}
        \hline
        \rowcolor[gray]{0.65} A & B & C & D & E \\ 
        \hline
        \emph{ }
      \end{tabular}
    }
  \end{table}}
\end{document}

这段代码完全符合我的要求,但是当我将下面这行代码替换掉时

\rowcolor[gray]{0.65} A & B & C & D & E \\ 

(类似于一张更大的桌子)

\include{TableTest}

TableTest.tex 仅包含

\rowcolor[gray]{0.65} A & B & C & D & E \\

我收到一条错误消息:

! Misplaced \noalign.
\rowcolor ->\noalign 
   {\ifnum 0=`}\fi \global \let \CT@do@color \CT@@do@color...
l.3 \rowcolor
   [gray]{0.65} A & B & C & D &

我使用 R/Sweave 和 xtable 制作此表,发现类似的问题(+解决方案)这里。只有这个解决方案(即用 \expandableinput 替换 \input)对我不起作用!那就是

\documentclass[9pt,letterpaper,oneside]{amsart}
\usepackage{graphicx}
\usepackage[table, dvipsnames]{xcolor}
\usepackage{longtable}
\usepackage[top=0.2in, bottom=0in, left=1in, right=1in]{geometry}
\usepackage[labelformat=empty]{caption}
\usepackage{booktabs}
\begin{document}

\renewcommand*\rmdefault{ppl}
    \textrm{%
      \begin{table}[ht]
        \centering
        \caption{Blabla}
        {\tiny
          \begin{tabular}{llrrr}
            \hline
            \expandableinput TableTest.tex 
            \hline
            \emph{ }
          \end{tabular}
        }
      \end{table}}
    \end{document}

给出错误信息

! Undefined control sequence.
<recently read> \expandableinput 

l.25       \end{table}}

问题:如何解决将表格从 TableTest.tex 导入 LaTeX 代码的问题?

答案1

之前不能有不可扩展的命令\rowcolor。请使用参考问题中定义的可扩展输入命令,而不是\include(这总是会强制分页,并且不适合在表格中的任何位置使用)。

  \makeatletter\let\expandableinput\@@input\makeatother 

相关内容