我在使用 pgfplotstable 时遇到问题。以下代码无法产生我想要的结果:
\documentclass[a4paper,11pt]{article}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{fontspec}
\setmainfont[Ligatures=TeX, Numbers={OldStyle,Proportional}]{Libertinus Serif}
\setsansfont[Numbers={OldStyle,Proportional}]{Libertinus Sans}
%\setmonofont{FreeMono}
\setmonofont[Scale=0.8]{DejaVu Sans Mono}
\usepackage{unicode-math}
\setmathfont{Libertinus Math}
\usepackage{polyglossia}
\setdefaultlanguage{catalan}
\usepackage{microtype}
\usepackage[svgnames]{xcolor}
\usepackage{siunitx}
\sisetup{
output-decimal-marker = {,},
per-mode = symbol,
group-separator = {.},
output-complex-root = \ensuremath{\mathrm{j}},
binary-units,
retain-unity-mantissa = false,
retain-explicit-plus = true,
}
\usepackage{pgfplots}
\pgfplotsset{
compat=1.11,
/pgf/number format/use comma,
}
\usepackage{pgfplotstable}
\usepackage{booktabs}
\usepackage{array}
\usepackage{colortbl}
\usepackage{subcaption}
\captionsetup{font=sf}
\begin{document}
% NOTE: The data file contains:
% 0.01 13.649 88.982 20.373 22.89564181519858
% 0.02 13.649 150.51 76.303 50.69629924921932
% 0.04 13.649 361.35 239.26 66.21281306212813
% 0.08 13.929 816.86 433.06 53.01520456381754
% 0.16 14.81 1011.7 464.49 45.9118315706237
% 0.32 16.752 955.98 459.7 48.08678005816021
% 0.64 24.119 521.1400000000001 346.69 66.52530989753232
\begin{table}[ht]
\centering
\caption{Resultats de les simulacions del Cas 2}\label{tbl:Cas2_resultats}
\pgfplotstabletypeset[
every head row/.style={before row=\toprule,after row=\midrule},
every even row/.style={before row={\rowcolor[gray]{0.7}}},
every last row/.style={after row=\bottomrule},
every column/.style={fixed zerofill={1},precision=2},
columns/0/.style={
column name={Acoblament $k_{23}$},
fixed,
},
columns/1/.style={
column name={$f_\text{max}$ [\si{\mega\Hz}]},
},
columns/2/.style={
column name={$P_g$ [\si{\milli\watt}]},
dec sep align,
},
columns/3/.style={
column name={$P_{_L}$ [\si{\milli\watt}]},
dec sep align,
},
columns/4/.style={
column name={$\eta_t$ [\si{\percent}]},
dec sep align,
},
]{Càlculs/Cas2_Taula.dat}
\end{table}
\end{document}
结果是:
存在两个问题:
- 尽管我已经指定了“精度=2”和“固定零填充”选项,但有些数字在小数点后没有填充零。我想读成 76,30,而不是 76,3。
- 第四列(可能也是最后一列)的数字太偏左了,尽管定义与前一列相同。我尝试使用选项“column type=c”来将内容居中,但这完全破坏了布局。
有人能帮我解决这两个问题吗?
答案1
部分解决:零填充问题是由于我的代码中的一个错误:我应该指示“fixed zerofill={true}”而不是“fixed zerofill={1}”。
正如 Percusse 所建议的,对齐问题需要进一步研究。