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,
代码中的指令。pgfplotstable
将latex
代码写入文件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]
,看来它运行正常了。