pgfplotstable 在分数之间添加垂直空间

pgfplotstable 在分数之间添加垂直空间

在此处输入图片描述

平均能量损失

% stand-alone file to test writing a table in pgfplotstable
\documentclass{book}
\usepackage{booktabs,multirow} % required
\usepackage{pgfplotstable}
\pgfplotsset{compat=1.16}
\begin{document}
%\renewcommand{\arraystretch}{1.2}
\pgfplotstabletypeset
 [
  after row = \vspace{0.8mm},
  every head row/.style =
  {
    before row = \toprule,
    after row = \midrule,
  },
  every last row/.style =
  {
    after row = \bottomrule,
  },
  columns/x/.style =
  {
    column type = r,
    column name = $x$,
    frac,
  },
  columns/y/.style = 
  {
    column type = r,
    column name = ${y=\frac{2}{x}}$,
    frac,
  },
 ]
 {
     x    y
     -4   -0.5         % vertical space not added after this row
     -3   -0.66666666  % vert space added below here
     -2   -1
     -1   -2
     -0.5 -4
      0.5  4
      1    2
      2    1
      3    0.66666666
      4    0.5
 } % \pgfplotstabletypeset{} END
\end{document}

要显示分数列(使用 pgfplotstable、booktabs 和 multirows),我需要在行之间添加垂直空间,以便当前行的分数不会跨过前一行的分数。如 MWE 所示,我添加了

after row = {\vspace{0.8mm}},

\pgfplotstabletypeset 的选项,但它通过在每一行中添加空格来编译第 1 行,不在第 0 行和第 1 行之间。参见图像。

我在 \pgfplotstabletypeset 之前添加了常用的 arraystretch 命令(在 MWE 中注释掉),但它不在我的块内,而且由于本文档中有数十个表,所以并非所有表都需要应用数组拉伸。是的,我可以在源文本周围加上括号,但我希望有一些更简洁的内容可以添加到我遗漏的选项中。

为什么第 0 行和第 1 行之间没有添加空格?

答案1

pgfplotstable允许您通过 指定分数的代码frac TeX。这可用于在分数出现的位置添加更多垂直空间,例如通过添加垂直幻影。

\documentclass{book}
\usepackage{booktabs,multirow} % required
\usepackage{pgfplotstable}
\pgfplotsset{compat=1.16}
\begin{document}
%\renewcommand{\arraystretch}{1.2}
\pgfplotstabletypeset
 [
  after row ={[0.3ex]}, %<use this instead of \vspace
  frac TeX=\vphantom{\displaystyle\frac{1}{2}}\frac,
  every head row/.style =
  {
    before row = \toprule,
    after row = \midrule,
  },
  every last row/.style =
  {
    after row = \bottomrule,
  },
  columns/x/.style =
  {
    column type = r,
    column name = $x$,
    frac,
  },
  columns/y/.style = 
  {
    column type = r,
    column name = ${y=\frac{2}{x}}$,
    frac,
  },
 ]
 {
     x  y
     -4 -0.5
     -3 -0.66666666 
     -2 -1
     -1 -2
     -0.5   -4
      0.5   4
      1 2
      2 1
      3 0.66666666
      4 0.5
 } % \pgfplotstabletypeset{} END
\end{document}

在此处输入图片描述

相关内容