期刊的 Pgfplotstable

期刊的 Pgfplotstable

a) 大多数期刊都有旧的 LaTeX 发行版,或者不想使用“复杂”的软件包,例如来自pgf(见在期刊文章中使用 TikZ)。

我已经使用构建了一个表格pgfplotstable,我希望编辑能够重现其格式。但是,由于注释 a),我认为最好不要在我的提交中包含相应的代码,而应该包含一些自编译。有没有办法以类似于外部化的方式包含我的表TikZ?不包括另一个非标准包会更好;定义非标准相当依赖目标期刊。

无论如何,我认为编辑们会重新输入表格以适应他们的风格。您建议如何向他们提供表格数据?

答案1

pgfplotstable如果需要,可以将输出latex代码写入文件。考虑以下示例:

\documentclass{article}

\usepackage{pgfplotstable}
\pgfplotsset{compat=newest}
\usepackage{array}
\usepackage{booktabs}
\usepackage{longtable}
\usepackage{filecontents}
\begin{filecontents*}{test.csv}
 A,B,C
 0,0,T
 1,1,T
 2,2,T
 3,3,T
 4,4,T
 5,5,T
\end{filecontents*}


\pgfplotstableread[col sep=comma]{test.csv}\mytable

\begin{document}
\pgfplotstabletypeset[outfile=mytable.out.tex, % ----->write latex code to the file.
            begin table=\begin{longtable},
            end table=\end{longtable},
            every head row/.style={before row=\toprule,after row=\midrule\endhead},
            every last row/.style={after row=\bottomrule},
            columns/A/.style={int detect,column name=A},
            columns/B/.style={int detect,column name=B},
            columns/C/.style={string type,column name=C},
            columns={A,B,C},
            ]\mytable
\end{document}

注意outfile=mytable.out.tex,代码中的指令。pgfplotstablelatex代码写入文件mytable.out.tex同一文件夹以及其他辅助文件。内容mytable.out.tex将是

\begin {longtable}{ccc}%
\toprule A&B&C\\\midrule \endhead %
\pgfutilensuremath {0}&\pgfutilensuremath {0}&T\\%
\pgfutilensuremath {1}&\pgfutilensuremath {1}&T\\%
\pgfutilensuremath {2}&\pgfutilensuremath {2}&T\\%
\pgfutilensuremath {3}&\pgfutilensuremath {3}&T\\%
\pgfutilensuremath {4}&\pgfutilensuremath {4}&T\\%
\pgfutilensuremath {5}&\pgfutilensuremath {5}&T\\\bottomrule %
\end {longtable}%

当您向期刊提交论文时,请照常用\pgfplotstabletypeset[..]{..}\mytable的内容替换(您可以)。mytable.out.tex\input{mytable.out.tex}

有关更多详细信息,请outfile在 pgfplotstable 手册中搜索。在我的副本中,第 22 页对此进行了详细讨论。

答案2

创建输出文件后,删除所有 pgf 命令是可行的方法。此外,值得将其\usepackage{pgfplotstable}从序言中删除,因为我注意到,即使文档中未使用 pgf 命令/宏,这也会在某些期刊样式文件中产生编译错误。

\pgfplotstableresetcolortbloverhang[left right]用这些命令替换了它\ragged[left right],看来它运行正常了。

相关内容