使用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 代码包含在 中时才有效
'
。对于 则无效"
。) - 省略了
Left
inset 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