
我正在獨立模式下使用 gnuplot epslatex 終端機產生一些圖形。產生數字和品質沒有問題。
然而,在兩列模式下使用 elsevier 文章類時,我必須縮放數字以適應列寬,然後,正如預期的那樣,字體大小正在縮小。我嘗試在 gnuplot 中縮放字體或圖形大小。但我遇到了同樣的問題。
我想我應該能夠在Latex中統一標題、鍵等字體大小,並使它們與文件的文字相同。
有沒有關於在不使用其他軟體的情況下解決此問題的指示?
PS 如果可能的話,我想先在 Latex 和 gnuplot 中解決這個問題。
答案1
gnuplot
我認為使用目前的工具集(和)不可能輕鬆地做到這一點epslatex
。原因是,根據最終 LaTeX 文件的尺寸和字體大小,您需要手動計算圖形的尺寸和字體大小。
您可以使用 LaTeX 套件輕鬆完成您的要求pgfplots
,這樣所有用於繪製圖形的程式碼都可以包含在您的.tex
檔案中。請參閱下面的範例,其中圖形自然地填充文件的列寬並使用相同的字體大小。
我用來產生圖表的過程如下:
- 使用選擇的程式運行實驗,輸出文字文件
- 用於
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
據我所知,您有兩種選擇:
用於縮放終端產生的檔案
\resizebox
的全部內容,即.請注意,您的字體也會縮放。.tex
epslatex
\resizebox{\linewidth}{!}{\input{epslatex-file.tex}}
在代碼中指定繪圖的大小
gnuplot
,set terminal epslatex size a b
其中a
和b
可能有單位(即公分)。 Gnuplot 似乎不接受一些更動態的大小,因為\linewidth
我相信這將適合您的目的。
或者,使用 PGFplots 可能是您的最佳選擇 - 假設您不需要 3D 繪圖。 PGFplots 在進行 3D 處理時非常需要 LaTeX 記憶體。