pgfplotstable
所以我把数据传入
\pgfplotstabletypeset[col sep=comma]{example.txt}
一直运行良好,直到我尝试使用 在我的 example.txt 文件中包含引用\cite{somebozo}
。编译器的错误消息是命令extra }
后面有一个 Somewhere pgfplotstabletypeset
。
有没有人有什么建议?
答案1
默认情况下,pgfplotstable
假设数字,并将尝试将单元格的内容解析为数字。如果您string type
为包含引用的列设置,它似乎可以正常工作:
\documentclass{article}
\usepackage{pgfplotstable,filecontents}
\begin{filecontents*}{example.txt}
x,y,meta
1,2,\cite{aksin}
2,3,\cite{angenendt}
3,7,\cite{doody}
\end{filecontents*}
\usepackage[backend=biber]{biblatex}
\addbibresource{biblatex-examples.bib}
\begin{document}
\pgfplotstabletypeset[
col sep=comma,
display columns/2/.style={string type} % column count starts at 0, col 2 is third column
]{example.txt}
\printbibliography
\end{document}
标题中的引用
目前,我还没有针对这种情况的好的解决方案,但我有一个解决方法。从文件中删除引用.csv
,并将相关列的列名替换为包含引用的内容。
或者,如果您不需要对列中的值进行任何解析,则可以使用https://tex.stackexchange.com/a/236364/586
可能有更好的方法可以做到这一点,但我不太精通pgfplotstable
技巧。
\documentclass{article}
\usepackage{pgfplotstable,filecontents}
\begin{filecontents*}{example.txt}
x,y,whatever % note no citation here
1,2,\cite{aksin}
2,3,\cite{angenendt}
3,7,\cite{doody}
\end{filecontents*}
\begin{filecontents*}{example2.txt}
x,y,meta\cite{glashow}
1,2,\cite{aksin}
2,3,\cite{angenendt}
3,7,\cite{doody}
\end{filecontents*}
\usepackage[backend=biber]{biblatex}
\addbibresource{biblatex-examples.bib}
\begin{document}
\pgfplotstabletypeset[
col sep=comma,
display columns/2/.style={string type},
every col no 2/.style={column name={meta\cite{glashow}}} % redefine column name
]{example.txt}
\pgfplotstabletypeset[
col sep=comma,
header=false,
every head row/.style={output empty row},
string type
]{example2.txt}
\printbibliography
\end{document}