LaTeX 表格使用科学计数法显示行号

LaTeX 表格使用科学计数法显示行号

我正在尝试制作一个由 4 行和用户指定数量的列组成的表格,其中第一列包含行号。我按如下方式执行此操作:

\documentclass{article}
\usepackage{pgfplotstable}



\newcommand{\myemptytable}[1]{
\pgfplotstableset{
create on use/new1/.style={create col/expr={\pgfplotstablerow+1}},
create on use/new2/.style={},
create on use/new3/.style={},
create on use/new4/.style={},
}
{\pgfplotstablenew[columns={new1,new2,new3,new4}]{#1}\loadedtable
\pgfplotstabletypeset[
columns={new1,new2,new3,new4},
string type,
columns/new1/.style={column name=Nr.},
columns/new2/.style={column name=PersonName},
columns/new3/.style={column name=Signature},
columns/new4/.style={column name=Received,column type/.add={}{|}},
before row=\hline,
every last     row/.style={after row=\hline},
column type/.add={|}{}%
]\loadedtable}
}


\begin{document}
\myemptytable{25}
\end{document}

这完美地运行,只是行号采用科学计数法,即第 17 行第一列的值为 1.7e1。

我尝试了各种方法来修复它,但都无济于事,这可能是因为我不完全理解它的pgfplotstableset工作原理。有没有一种简单的方法可以关闭整个文档中的科学记数法?反正我也不会用它……

答案1

只需删除您的string type声明即可。这将推翻数字(以及其他内容)的标准样式。

示例输出

\documentclass{article}

\usepackage{pgfplotstable}

\newcommand{\myemptytable}[1]{
\pgfplotstableset{
create on use/new1/.style={create col/expr={\pgfplotstablerow+1}},
create on use/new2/.style={},
create on use/new3/.style={},
create on use/new4/.style={},
}
{\pgfplotstablenew[columns={new1,new2,new3,new4}]{#1}\loadedtable
\pgfplotstabletypeset[
columns={new1,new2,new3,new4},
columns/new1/.style={column name=Nr.},
columns/new2/.style={column name=PersonName},
columns/new3/.style={column name=Signature},
columns/new4/.style={column name=Received, column type/.add={}{|}},
before row=\hline,
every last row/.style={after row=\hline},
column type/.add={|}{}%
]\loadedtable}
}

\begin{document}
\myemptytable{25}
\end{document}

如果其他列实际上包含字符串,那么您可以将添加string type到它们的样式中。如果您确实想要一个全局string type声明,那么可以使用以下方法覆盖第一列numeric type

\pgfplotstabletypeset[
columns={new1,new2,new3,new4},
string type,
columns/new1/.style={column name=Nr., numeric type},
columns/new2/.style={column name=PersonName},
columns/new3/.style={column name=Signature},
columns/new4/.style={column name=Received, column type/.add={}{|}},
...

答案2

如果您只是想要表格,那么可以使用tabularforloop.sty

\documentclass{article}
\usepackage{forloop}
\newcounter{PersonNumber}
\newcommand\MyEmptyTable[2][1]{%
  \begin{tabular}{|r|*{3}{l|}}
    \hline
    Nr. & Person Name & Signature & Received\\\hline
    \forLoop{#1}{#2}{PersonNumber}{\thePersonNumber &&&\\\hline}
  \end{tabular}
}
\begin{document}
\MyEmptyTable[5]{25}
\end{document}

在此处输入图片描述

相关内容