latex sidewaystable、pgfplotstable 在第一个单元格中产生不需要的 c

latex sidewaystable、pgfplotstable 在第一个单元格中产生不需要的 c

我的表格的第一个单元格中出现了一堆 c。.csv 文件中的单元格是空白的。我不确定为什么,也不知道如何删除这些 c。它们不在 .csv 文件中。我认为这可能与“sidewaystable”位有关。有什么办法可以删除这些 c 吗?如果需要,我可以做一个可重现的示例。

表格第一个单元格中的 c 的示例图片。

这是我的代码:

   \begin{sidewaystable}[ht!]
    \centering
    \caption[My short caption]{My long caption}
    \label{table:results}
    \pgfplotstabletypeset[
        col sep=comma,
        string type,
        columns/0/.style={string type,column name={}},
        begin table={\begin{tabularx}{\textwidth}{l c c c X X X X}},
            end table={\end{tabularx}},
        every first row/.style={before row={\toprule\addlinespace}},
        every row no 9/.style={before row={\toprule\addlinespace}},
        every row no 21/.style={before row={\toprule\addlinespace}},
        every last row/.style={after row=\bottomrule}
    ]{my table.csv}
\end{sidewaystable}

更新:这是一个可重现的例子。

\documentclass[12pt,a4paper,oneside]{report}

\usepackage{booktabs}
\usepackage{tabularx}
\usepackage{longtable}
\usepackage{pgfplotstable}
\usepackage{ragged2e}
\usepackage{pdfpages}
\usepackage{pdflscape}
\usepackage{rotating}
\usepackage{subcaption}

\begin{filecontents*}{mytable.csv}
    Software,A
    Software,A
    Software,A
    Software,A
    Software,A
    Software,A
    Software,A
    Software,A
    Software,A
    Software,A
    Software,A
    Software,A
    Software,A
    Software,A
    Software,A
    Software,A
    Software,A
    Software,A
    Software,A
    Software,A
    Software,A
    Software,A
    Software,A
    Software,A
    Software,A
    Software,A
    Software,A
    Software,A
    Software,A
\end{filecontents*}

\begin{document}
    
    \begin{sidewaystable}[ht!]
        \centering
        \caption[My short caption]{My long caption}
        \label{table:results}
        \pgfplotstabletypeset[
        col sep=comma,
        string type,
        columns/0/.style={string type,column name={}},
        begin table={\begin{tabularx}{\textwidth}{l X}},
            end table={\end{tabularx}},
        every first row/.style={before row={\toprule\addlinespace}},
        every row no 9/.style={before row={\toprule\addlinespace}},
        every row no 21/.style={before row={\toprule\addlinespace}},
        every last row/.style={after row=\bottomrule}
        ]{mytable.csv}
    \end{sidewaystable}
    
\end{document}

答案1

您已在此处添加了列规范

        begin table={\begin{tabularx}{\textwidth}{l X}},

因此您需要停止pgfplotstable生成新的({cc}默认)列规范,因此添加

 skip coltypes=true,

{lX}或者从密钥中删除begin table并通过调用 column type密钥来设置它。

相关内容