统一图形(gnuplot 生成的)字体大小和 latex 字体大小

统一图形(gnuplot 生成的)字体大小和 latex 字体大小

我正在使用 gnuplot epslatex 终端在独立模式下生成一些图形。生成的图形和质量都没有问题。

但是,在双列模式下使用 elsevier 文章类时,我必须缩放图形以适应列宽,然后,正如预期的那样,字体大小正在缩小。我尝试在 gnuplot 中缩放字体或图形大小。但我遇到了同样的问题。

我在想我应该能够统一 Latex 中的标题、键等字体大小并使它们与文档的文本相同。

有没有办法在不使用其他软件的情况下解决这个问题?

PS:如果可能的话,我想首先在 Latex 和 gnuplot 内部解决这个问题。

答案1

gnuplot我认为使用当前的工具集(和)无法轻松完成此操作epslatex。原因是,根据最终 LaTeX 文档的尺寸和字体大小,您需要手动计算图形的尺寸和字体大小。

您可以使用 轻松实现您的要求pgfplots,这是一个 LaTeX 包,因此可以将绘制图形的所有代码包含在您的.tex文件中。请参见下面的示例,其中图形自然地填满了文档的列宽并使用相同的字体大小。

我用来生成图表的过程如下:

  1. 使用选择的程序运行实验,输出文本文件
  2. 使用pgfplots在主文件中编写 LaTeX 代码.tex来绘制图形

请参阅“从表中读取坐标”部分pgfplots 手册了解更多信息。

\documentclass[5p]{elsarticle}

\usepackage{lipsum}
\usepackage{pgfplots}

\begin{document}

\begin{figure}[h!]
\centering
\begin{tikzpicture}
\begin{axis}[
    width=\columnwidth,
    xlabel=$x$,
    ylabel=$y$,
    legend pos=north west]
  \addplot {x^3};
  \addlegendentry{$y = x^3$};
\end{axis}
\end{tikzpicture}
\end{figure}

\lipsum[1-2]

\end{document}

在此处输入图片描述

\documentclass[3p]{elsarticle}

\usepackage{lipsum}
\usepackage{pgfplots}

\begin{document}

\begin{figure}[h!]
\centering
\begin{tikzpicture}
\begin{axis}[
    width=\columnwidth,
    xlabel=$x$,
    ylabel=$y$,
    legend pos=north west]
  \addplot {x^3};
  \addlegendentry{$y = x^3$};
\end{axis}
\end{tikzpicture}
\end{figure}

\lipsum[1-2]

\end{document}

在此处输入图片描述

答案2

据我了解,您有两种选择:

  1. 使用缩放终端生成的文件\resizebox的全部内容,即。请注意,您的字体也会缩放。.texepslatex\resizebox{\linewidth}{!}{\input{epslatex-file.tex}}

  2. 在代码中指定绘图的大小gnuplotset terminal epslatex size a b其中ab可能有单位(例如厘米)。Gnuplot 似乎不接受一些更动态的大小,因为\linewidth– 我相信这适合您的目的。

或者使用 PGFplots 可能是您的最佳选择 - 假设您不需要 3D 图。当使用 3D 时,PGFplots 对 LaTeX 内存的需求相当大。

相关内容