matlab2tikz 按因子 0.95092 缩放宽度变量

matlab2tikz 按因子 0.95092 缩放宽度变量

我在我的文档中使用全局默认变量来\figwidth表示图形的宽度和\figheight高度。

这些由我的文档标题中的以下代码定义:

乳胶

\newcommand{\figwidth}{0.8\textwidth}           % sets \figwidth, which can be used as default width for figures
\newcommand{\figheight}{\figwidth/1.618}        % sets \figheight, which can be used as default heigth for figures

在 Matlab 中,我将上述变量传递给 matlab2tikz.m,如下所示:

矩阵

x = linspace(0,5,500);
y = sin(x);

figure
plot(x,y)
title('Sine Plot')

cleanfigure;
matlab2tikz('width','\figwidth','height','\figheight');

然而,matlab2tikz 内部似乎发生了一些神奇的事情,因为它应用了因子 0.95092到我的预定义\figwidth

乳胶

\begin{tikzpicture}

\begin{axis}[%
width=0.95092\figwidth,
height=\figheight,
at={(0\figwidth,0\figheight)},
scale only axis,
separate axis lines,
every outer x axis line/.append style={black},
every x tick label/.append style={font=\color{black}},
xmin=0,
xmax=5,
every outer y axis line/.append style={black},
every y tick label/.append style={font=\color{black}},
ymin=-1,
ymax=1,
title={Sine Plot}
]
\addplot [color=blue,solid,forget plot]
  table[row sep=crcr]{%
0   0\\
0.0100200400801603  0.010019872410322\\
0.0200400801603206  0.020038738821815\\
0.030060120240481   0.0300555933366527\\
//..... many more entries in table ..... 
4.98997995991984    -0.961718395396395\\
5   -0.958924274663138\\
};
\end{axis}
\end{tikzpicture}%

我目前的解决方法是在 Matlab 代码中添加 0:

矩阵

matlab2tikz('width','0\figwidth','height','\figheight');

得出的结果是:

乳胶

width=0\figwidth,

\figwidth即考虑到我对读取的初始定义时的最终结果

width=00.8\textwidth,   % = 0\figwidth

目前这还好,但在某些情况下可能会破坏代码,而这些情况与我最初定义的宽度变量无关。例如

\newcommand{\figwidth}{\textwidth}

将产生零图形宽度:

width=0\textwidth,   % = 0\figwidth = 0

我已经在 matlab2tikz 包的 src 文件夹中包含的所有 *.m 文件中搜索了此因素,但在代码中未找到任何结果。

tl:dr;有人知道是什么导致了魔法因子 0.95092 以及如何避免它吗?非常感谢您的帮助!

答案1

相同的帖子在 Github 上已得到答复。请参阅 Github 链接以获取回复。

相关内容