pgfplotstable:修复了零填充以科学格式打印一些数字的问题

pgfplotstable:修复了零填充以科学格式打印一些数字的问题

我有一张表格,其中的列包含小数。我想精确显示两位小数,而不使用科学计数法,但是当我添加时,fixed zerofill=true它适用于所有值,除了非常小的值,对于这些值,它仍然开始以科学计数法显示值。

这是一个简短的例子:

\documentclass[a4paper]{book}
\usepackage{pgfplotstable}
\usepackage{filecontents}
\usepackage{booktabs}

\begin{filecontents}{data.csv}
value
12345.361
93.93
500
0.0864
0.1
\end{filecontents}

\begin{filecontents}{bibfile.bib}
\end{filecontents}

\usepackage[backend=bibtex]{biblatex}
\bibliography{bibfile}

\begin{document}

\pgfplotstableread[col sep = semicolon]{data.csv}\data
\pgfplotstabletypeset[
    columns={value},
    columns/value/.style={
        column name={Value},
        column type=r,
        precision = 2,
        fixed zerofill=true,
        dec sep align
    },
    every head row/.style={
        before row=\toprule,
        after row=\midrule
    },
    every last row/.style={
        after row=\bottomrule
    }
]{\data}


\end{document}

pdflatex该示例在++ bibtex2x之后产生以下输出pfdlatex

示例输出

我如何才能在这里pgfplotstable仅显示0.08(或四舍五入的值)?

答案1

正如手册所述,

此键影响使用fixedstd样式绘制的数字(仅当未选择科学格式时才会影响后者)。

换句话说,您需要添加fixedfixed zerofill

\documentclass[a4paper]{book}
\usepackage{pgfplotstable}
\usepackage{filecontents}
\usepackage{booktabs}

\begin{filecontents}{data.csv}
value
12345.361
93.93
500
0.0864
0.1
\end{filecontents}

\begin{document}

\pgfplotstableread[col sep = semicolon]{data.csv}\data
\pgfplotstabletypeset[
    columns={value},
    columns/value/.style={
        column name={Value},
        column type=r,
        precision = 2,
        fixed,
        fixed zerofill=true,
        dec sep align
    },
    every head row/.style={
        before row=\toprule,
        after row=\midrule
    },
    every last row/.style={
        after row=\bottomrule
    }
]{\data}

\end{document}

相关内容