Gnuplot epslatex:减少字体大小的空白优化

时间:2017-11-14 18:41:22

标签: gnuplot

我正在使用epslatex终端在gnuplot中绘制图表。 这是我的.plt脚本:

set terminal epslatex size 2.5,2.5 color blacktext
set output 'xxx.tex'
set format x '$10^{%T}$'
set format y '${%1.1t}^{*}10^{%T}$'
set ytics add ('0' 0)
set xlabel "xxx"
set ylabel "xxx"
set logscale x
set key below
plot    "xxx.dat" using 1:2 title 'xxx' pt 4 ps 2 lc 1
set output

这是我嵌入的.tex文件:

\documentclass[10pt]{article}
\usepackage[pdftex]{graphicx}
\usepackage{epstopdf}
\usepackage[cp1252]{inputenc}
\usepackage{color}
\begin{document}

\begin{figure}[h!]
\fontsize{6}{2}\selectfont
\input{xxx.tex}
\end{figure}

生成的图形很好,但由于字体大小减小而增加了空白区域:plot

  • 我尝试了命令" ylabel offset",但它只是将空白区域向左移动,并没有调整实际情节的大小。

  • 我也尝试了lmargin,但是ylabel退出了图形空间。

  • 将\ footnotesize放入ylabel会产生最糟糕的结果(ytics在y轴上方放置不佳)。

有人会有关于如何将空白区域设置为最小值并优化绘图的任何提示吗?理想情况下,将ytics和ylabel之间的间距设置为固定值是一个命令......

谢谢

1 个答案:

答案 0 :(得分:1)

epslatex终端将在轴周围(偏移)或文本的任何位置创建足够的空白,以确保在主文档中包含输出.tex文档时有足够的空间来排版文本。它基于您在epslatex终端命令中指定的字体大小的空白量:

set terminal epslatex size 2.5,2.5 color blacktext

如果您将字体大小设置为您计划在文档中使用的字体大小,则应计算适当的空白区域。您只需要在font ",6pt"行中添加set terminal参数:

set terminal epslatex font ",6pt" size 2.5,2.5 color blacktext

这应该有效。

另外,您可以在输出.tex中使用header参数包含额外的latex命令。那就是当你{gnuplot输出\input时,你不需要包含它们:

set terminal epslatex font ",6pt" size 2.5,2.5 color blacktext header "\\fontsize{6}{2}\\selectfont"

请注意,反斜杠需要使用反斜杠进行转义。你可以在那里扔掉各种各样的东西。我经常使我的图形和图形文本sans-serif所以我使用类似的东西:

set terminal epslatex font ",9pt" round\
    size 10.5cm,9cm \
    header "\\sffamily"