评论

评论

使用epslatex终端时,我总是必须使用 width 命令以及\hspace让 LaTeX 生成的键标签正确对齐。有没有办法让它自动工作?例如,我只想使用一个有两列的键,但无法让它正确对齐(第一列总是与第二列重叠)。

以下是一个例子:

    set terminal epslatex colortext color standalone "phv" 12  header "\\bfseries"  
    set output "figtmp1.tex"

    set notitle
    set nokey
    set size 1,1      

    set origin 0,0

    set xlabel "{\\Large $x$}" 
    set ylabel "{\\Large $y$}"

    ti2 = "{\\large $S^{zz}_\\sigma(L/2)$}"
    ti4 = "{\\large $S^{xx}_\\sigma$}"

    set key Left top right vertical maxrows 1

    f1(x) = x**1
    f2(x) = x**2

    plot \
    f1(x) w lp lc rgb "red" t ti2,\
    f2(x) w l lt 2 lc rgb "dark-grey" t ti4

这样就生成了两列一行的键,其中 f1(x) 的行样本延伸到属于 f2(x) 的第二列。此外,标签和相应行样本之间的间距太大(可以使用 进行调整width)。

常规(单列)键出现相关的格式问题:

    set key Left top right

标签似乎居中。如何在不使用 LaTeX 命令\hspace并通过反复试验确定所需间距的情况下将标签对齐(例如,左对齐)?

答案1

评论

我调整了一些事情以使其发挥作用:

  • 将所有替换"{...}"'...',因为在某些情况下,包装内容{}可能会破坏间距。
  • 将双反斜杠替换为单反斜杠。(这仅当您的 TeX 代码包含在 中时才有效'。对于 则无效"。)
  • 省略了Leftin set key Left top right。老实说,我根本不知道那是干什么用的。

执行

#!/usr/bin/env gnuplot

set terminal epslatex colortext color standalone 'phv' 12  header '\bfseries'  
set output 'figtmp1.tex'

set key top right vertical maxrows 1
set xlabel '\Large $x$' 
set ylabel '\Large $y$'

ti2 = '\large $S^{zz}_\sigma(L/2)$'
ti4 = '\large $S^{xx}_\sigma$'

f1(x) = x**1
f2(x) = x**2

plot     f1(x) w lp lc rgb 'red' t ti2,    f2(x) w l lt 2 lc rgb 'dark-grey' t ti4

输出

图片

相关内容