如何在带边框的八度中创建表格?

时间:2018-10-19 13:56:55

标签: octave

我想创建一个看起来像Table01的表。 其中每一列都是向量。

我尝试使用Octave data frame包,但未按预期方式生成表(带边框) 以前,我尝试过[t,I_X,I_Y] = table(x,y),这也不令人满意。

如何生成表(如我提供的示例)并将其以pdf格式存储在目录中?

1 个答案:

答案 0 :(得分:0)

我想您想要在MATLAB中类似于uitable的东西。不幸的是,我认为还没有实现。但是,我想我已经找到了可以帮助您的解决方案。这是示例矩阵m=magic(4)的输出:

enter image description here

如果这是您想要的,请继续阅读!因此,首先,安装miscellaneous软件包。如果使用Ubuntu,则可以使用

apt-get install octave-miscellaneous 

现在,您所要做的就是(嗯,您可能会遇到一个小问题,但是我会稍作解决):

pkg load miscellaneous
m=magic(4);
textable(m,"file","/tmp/file.tex","clines","rlines");

voilà,您在"/tmp/file.tex"中用乳胶代码表示了矩阵,可以用pdflatex进行编译,或者将其复制粘贴到类似this的文件中,表格的图片。

您可能会遇到的潜在问题。请注意,这似乎适用于我正在使用的八度版本4.2.2,因此,也许您不会遇到该问题。版。使用textable时,您可能会收到样式错误

error: value on right hand side of assignment is undefined
error: called from
textable at line 111 column 5

如果发生这种情况,这是因为函数textable(您可以在textable.m中找到其代码,您只能在Ubuntu上使用$ locate textable)似乎已经过时了(或不同)接口与其内部使用的inputParser对象。因此,如果发生这种情况,只需转到111的{​​{1}}行并替换

textable.m

使用

p = inputParser;
p = p.addSwitch ("clines");
p = p.addSwitch ("rlines");
p = p.addParamValue ("math", "X", @ischar);
p = p.addParamValue ("file", "matrix.tex", @ischar);
p = p.addParamValue ("align", "r", @(x) any(strcmpi(x, {"l", "c", "r"})));
p = p.parse (varargin{:});

然后您就可以出发了。