我已将代码缩减为以下几行:
\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