【问题标题】:Aligning with epslatex terminal labels in gnuplot与 gnuplot 中的 epslatex 终端标签对齐
【发布时间】:2014-07-01 14:36:33
【问题描述】:

假设我的 gnuplot (4.6.2) 版本有以下最小工作示例。

set terminal epslatex size 6cm, 4cm  font "" 8 standalone
set output "test.tex"

set xrange [0:10]
set yrange [0:10]

set label "$\\alpha=1\,b=0.1$" at 2,8

plot x

这给了我以下输出:

我现在想要的是将我的参数 alpha 和 b 放在彼此下方,在等号处最佳对齐。

我尝试了类似的东西

set label "\\begin{eqnarray}\\alpha=1 \\\\ b=0.1\\end{eqnarray}" at 2,8

这不会给我在 gnuplot 中的错误,但是在编译时它会失败,类似于

! Missing \endgroup inserted.
<inserted text> 
                \endgroup 
l.153     \gplbacktext

这对我没有任何帮助。

关于如何解决这个问题的任何建议?

【问题讨论】:

  • 为了打破一般的文本(而不是只用方程式),我通常使用\shortstack{} 环境。

标签: latex gnuplot eps


【解决方案1】:

如果您将eqnarray 等式放在\parbox 中,您的方法将有效。我认为最好使用amsmath包的aligned环境:

set terminal epslatex size 6cm,4cm standalone header '\usepackage{amsmath}'
set output "foobar.tex"

set xrange [0:10]

set label '$\begin{aligned}\alpha&=1\\b&=0.1\end{aligned}$' at 1,7

plot x

set output
system('latex foobar.tex && dvips foobar.dvi && ps2pdf foobar.ps')

给了

【讨论】:

  • 是的,这对我有用!我也同意aligned,因为对于eqnarray,默认使用方程式编号
  • 对了,为什么要在脚本末尾多加一个set output
  • 您必须添加 set output 以刷新输出文件,这是在您可以使用 system 调用从 gnuplot 脚本内部编译之前所必需的。
  • 好的,在我的工作流程中,我在 Makefile 中的 gnuplot 之外进行编译,所以我不需要它。再次感谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-03
相关资源
最近更新 更多