gnuplot + epslatex

gnuplot + epslatex

我正在使用带有终端 epslatex 的 gnuplot 来绘制包含 LaTeX 标签的图形。

特别是我在 Y tic 上发现了类似的东西:

$\\frac{ L_{seq} }{ 8 }$

一切正常,但输出图在 Y 轴标签和 Y 刻度之间有很多空白。

我猜这是因为 gnuplot 将其解析$\\frac{ L_{seq} }{ 8 }$为普通字符串并为其保留空间,但生成的字符串(在 pdflatex 呈现之后)实际上会更短。

有什么办法可以解决这个问题吗?

答案1

根据我的经验,最好让图形程序(如 gnuplot)使用它们自己的(非 LaTeX)标签,然后使用 替换这些标签psfragpsfrag这样您就可以将要替换的对象的左/右/中心与替换的左/右/中心对齐。因此,在 gnuplot 中尝试

set term postscript eps mono
set output 'myplot.eps'
set ylabel 'Y'
plot x**3

然后在你的文档中

\usepackage{psfrag}

...

\psfrag{Y}[r][r]{$y=x^3$}
\includegraphics{myplot}

答案2

使用下面的代码在 Y 轴上制作两个刻度。它工作正常。

set label "$U_{in}$" right at graph 0, first 3.4 offset character -1,0
set ytics add ("" 3.4)
set ytics add ("" 3.4/sqrt(2))
set label "$\\frac{U_{in}}{\\sqrt{2}}$"right  at graph 0, first 3.4/sqrt(2) offset character -1,0

答案3

这个答案与 LaTeX 没有直接关系,而是 gnuplot 方面的一个丑陋的解决方法。当我使用 gnuplot 的 epslatex 终端时,我遇到了这个问题,我“解决”了向轴标签添加偏移量,如下所示:

set ylabel 'axis label' offset 2,0

其中 x 偏移量(示例中为数字 2)是通过反复试验找到的。

(正如评论中已经提到的,有更优雅的替代方法可以在(La)TeX 文档中包含图表:我个人已经改用 pgfplots。)

相关内容