我想要显示的文件是无法编辑的 .tsv 文件。它看起来像这样:
up_gene up_chr up_strand up_Genome_pos
APLP2 chr11 + 129991686
BACE2 chr21 + 42617990
BRDT chr1 + 92470856
CTBS chr1 - 85028940
DHRS1 chr14 - 24761405
但是当我读取它时,我得到了一个Missing $ inserted
错误。最小的例子:
\documentclass{article}
\usepackage{pgfplotstable}
% recommended:
\usepackage{booktabs}
\usepackage{array}
\usepackage{colortbl}
\begin{document}
\pgfplotstabletypeset[
every even row/.style={
before row={
\rowcolor[gray]{0.9}
}
},
every head row/.style={
before row=\toprule,
after row=\midrule
},
every last row/.style={
after row=\bottomrule
},
string type,
columns={up_gene,up_chr},
]
{results.tsv}
\end{document}
这会导致上面提到的错误,并输出以下输出:
我有两个问题:
- 我该如何避免出现此错误?请注意,即使我删除了
columns={up_gene,up_chr}
- 如何显示标题中的下划线?我不想在 中为 g 添加下标
up_gene
。
答案1
您可以自己设置列名称:
\documentclass{article}
\usepackage{pgfplotstable}
% recommended:
\usepackage{booktabs}
\usepackage{array}
\usepackage{colortbl}
\begin{document}
\pgfplotstabletypeset[
string type,
columns={up_gene,up_chr},
columns/up_gene/.style={column name=up\_gene},
columns/up_chr/.style={column name=up\_chr},
every even row/.style={
before row={
\rowcolor[gray]{0.9}
}
},
every head row/.style={
before row=\toprule,
after row=\midrule
},
every last row/.style={
after row=\bottomrule
},
]{results.tsv}
\end{document}
可以用不同的方式来处理下划线,但这需要改变的类别代码_
,如果涉及数学公式,这可能会产生不利影响;还需要fontenc
使用该选项进行加载。T1
这里并排显示了两种排版:右边与上图相同,左边按索引选择了列,并且类别代码发生了变化。
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{pgfplotstable}
% recommended:
\usepackage{booktabs}
\usepackage{array}
\usepackage{colortbl}
\begin{document}
\pgfplotstabletypeset[
string type,
columns={up_gene,up_chr},
columns/up_gene/.style={column name=up\_gene},
columns/up_chr/.style={column name=up\_chr},
every even row/.style={
before row={
\rowcolor[gray]{0.9}
}
},
every head row/.style={
before row=\toprule,
after row=\midrule
},
every last row/.style={
after row=\bottomrule
},
]{results.tsv}
%
\begingroup\catcode`_=12
\pgfplotstabletypeset[
string type,
columns={[index]0,[index]1},
every even row/.style={
before row={
\rowcolor[gray]{0.9}
}
},
every head row/.style={
before row=\toprule,
after row=\midrule
},
every last row/.style={
after row=\bottomrule
},
]{results.tsv}
\endgroup
\end{document}