AMSMath 包不适用于 csvautolongtable 包

AMSMath 包不适用于 csvautolongtable 包

我有下表:

ID,Ln,La,N$_{I}$,Period$_{I}$,$\sigma_{I}$
4,05:18:11.71,-00:01:35.7,13,45,3.56,1e-4
....

我正在尝试使用以下代码创建表:

\documentclass[preprint,10pt]{aastex}
\usepackage[utf8]{inputenc}
\usepackage{caption}
\usepackage{graphicx}
\usepackage{subcaption}
\usepackage{csvsimple,longtable,booktabs}
\usepackage{pdflscape}
\usepackage{afterpage}
\usepackage{pgffor}
\usepackage{float}
\usepackage{amsmath}
\usepackage[scientific-notation=true]{siunitx}
\usepackage{lscape}
\usepackage{csvsimple}
\citestyle{aa}

\usepackage[normalem]{ulem}
\usepackage{color}
\newcommand{\kgsins}[1]{\textcolor{blue}{#1}}
\newcommand{\kgsdel}[1]{\textcolor{red}{\sout{#1}}}


\begin{document}

\label{section:apptable}
{\setlength\tabcolsep{2.5pt}
\begin{flushleft}
\begin{flushleft}
\begin{landscape}
\small
\csvautolongtable[
  table head=\caption{some table}\\\hline
               \csvlinetotablerow\\\hline
              \endfirsthead\hline
              \csvlinetotablerow\\\hline
              \endhead\hline
              \endfoot]{table_v15demo.csv}
  \end{landscape}
  \end{flushleft}
   \end{flushleft}
\end{document}

当我编写时,代码可以正常编译sigma$_{I}$,但是当我编写时无法编译,$\sigma_{I}$而是出现以下错误:

缺少插入的 \endcsname。\sigma l.711 \endfoot]{table_v15demo.csv}

标记的控制序列不应该出现在 \csname 和 \endcsname 之间。

答案1

这个问题与 amsmath 无关,如果你做了一个简单的例子,你就会注意到这一点,例如

\documentclass{article}

\usepackage{csvsimple,longtable}


\begin{document}


\csvautolongtable[
  table head=\caption{some table}\\\hline
               \csvlinetotablerow\\\hline
              \endfirsthead\hline
              \csvlinetotablerow\\\hline
              \endhead\hline
              \endfoot]{table_v15demo.csv}

\end{document}

问题在于,你正在根据第一行的内容为标题创建内部宏名称,如果那里有不可扩展的命令,则无法正常工作。一种可能性是

\documentclass{article}

\usepackage{csvsimple,longtable}

\def\xsigma{\ifmmode\sigma\else\string\sigma\fi}
\begin{document}


\csvautolongtable[
  table head=\caption{some table}\\\hline
               \csvlinetotablerow\\\hline
              \endfirsthead\hline
              \csvlinetotablerow\\\hline
              \endhead\hline
              \endfoot]{table_v15demo.csv}

\end{document}

用于在未排版时\string保证安全。\sigma

那么 csv 文件将是

ID,Ln,La,N$_{I}$,Period$_{I}$,$\xsigma_{I}$
4,05:18:11.71,-00:01:35.7,13,45,3.56,1e-4

相关内容