我已经研究这个想法一段时间了,我想分享这些信息。假设你有一些原始数据,
0.7483 0.5526 0.2311 0.1460
0.8346 0.5804 0.2164 0.1100
0.8430 0.5676 0.2089 0.0711
您可能会发现,这不适合插入到 latex 表中。有没有办法组织这个数据集,使其之间有 $ 和 & 符号,这样我就不必定期遍历它们了。
答案1
无需添加任何内容。您可以使用pgfplotstable
:
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{pgfplotstable}
\usepackage{booktabs}
\begin{document}
\pgfplotstabletypeset[sci zerofill]{
a b c d
0.7483 0.5526 0.2311 0.1460
0.8346 0.5804 0.2164 0.1100
0.8430 0.5676 0.2089 0.0711
}
...您有无数种选择,只需查看文档即可。例如,快速更改:
...
\pgfplotstabletypeset[
every head row/.style={
before row=\toprule,after row=\midrule},
every last row/.style={
after row=\bottomrule},
fixed, fixed zerofill, precision=4,
]{
...
给出:
无需触碰任何其他东西。一般来说,我更喜欢使用由生成它们的应用程序生成的数字,这样如果我必须更改它们,只需复制和粘贴即可(或者,更好的是,包含数据的文件,您可以使用pgfplotstable
)。将内容和格式分开是使用 LaTeX 的主要原因...
答案2
我已经找到了这个问题的答案,并想与你分享。这涉及使用正则表达式
步骤 1:,Ctr+h
然后Alt+R
步骤 2:将每行的第一个数字(因为它的格式不同)更改为
Find: ^(\d+.?\d+)
Replace: \$$1\$ \&
然后按Ctrl+Alt+Enter
步骤 3:然后我按照这个有用的建议关联,我按照以下步骤在所有数字上插入 $ 符号,除了那些已经有 $ 符号或位于行末的数字。
Find: (\$\d+.?\d+\$|\d+.?\d+$)(*SKIP)(*F)|(\d+.?\d+)
Replace: \$$2\$ \&
然后按Ctrl+Alt+Enter
步骤 4:剩下的唯一一件事就是将除已经带有美元符号的数字之外的所有数字替换为
Find: \$\d+.?\d+\$(*SKIP)(*F)|(\d+.?\d+)
Replace: \$$1\$
然后按Ctrl+Alt+Enter
此步骤将查找除已被 $ 符号包裹的数字之外的所有数字。