Gnuplot 是绘制科学进展图表的强大工具。
我遇到了这个问题。我想添加一些命令,例如"$\ddot{x}$"
。
或$\tau$
图例上。
我看到有些人建议
plot [-5:5] [-1.5:1.5] sin(x+pi) title "$\\sin(x+\\pi)$"
但似乎不起作用。
答案1
要在 Gnuplot 中的标签或图例中获取 LaTeX,您需要使用生成 LaTeX 代码的终端之一。
例如,您可以使用latex
终端:
set terminal latex
set out 'plot.tex'
plot [-5:5] [-1.5:1.5] sin(x+pi) title "$\\sin(x+\\pi)$"
set out
这将生成一个plot.tex
包含使用基本 TeX 语句绘制的图的文件。您可以使用以下命令将该文件包含在主文档中\input{plot.tex}
:
\documentclass{article}
\begin{document}
\input{plot.tex}
\end{document}
这将给你
(请注意,使用终端时质量并不是太好latex
)。
您也可以使用epslatex
终端:
set terminal epslatex color
set out 'plot.tex'
plot [-5:5] [-1.5:1.5] sin(x+pi) title "$\\sin(x+\\pi)$"
set out
这将包括一个plot.tex
包含所有标签的文件和一个plot.eps
包含图形元素的单独文件。您可以使用以下方式包含输出
\documentclass{article}
\usepackage{graphicx}
\begin{document}
\input{plot.tex}
\end{document}
或者,你可以使用 PGFPlots 或 pst-plot 等包直接在 LaTeX 中创建图表:
\documentclass{article}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
enlarge x limits=false,
legend entries=$\sin{x+\pi}$
]
\addplot [domain=-1.5*pi:1.5*pi, smooth] {sin(deg(x+pi))};
\end{axis}
\end{tikzpicture}
\end{document}
答案2
您可以使用epslatex
gnuplot 附带的终端。(还有一些其他类似的终端cairolatex
可以执行相同操作,但并非所有终端都包含在标准安装中。)
首先,如果它不是标准终端,请切换到 epslatex 终端。
sett epslatex
然后定义输出的名称。
set output 'name.tex'
这将生成一个空name.tex
文件,绘制图形后,您也会得到一个name.eps
文件。您还可以通过提供路径(如)来指定文件的位置set output /users/yourname/desktop/name.tex
。现在您可以将 LaTeX 代码添加到轴标签。完成后,您只需使用标准绘图命令(以及您需要的所有选项)进行绘图。set output
最后输入一次以确保所有内容都写入您之前指定的文件。
现在,您最终得到了一个.tex
包含轴的所有数字和标签的文件和一个.eps
包含实际图的文件。将这两个文件放在与.tex
要放置图的文件相同的文件夹中。您可以使用以下代码包含这些文件
\begin{figure}[t]
\centering
\input{name}
\end{figure}
这取决于软件包,如果您不使用 MacTex,graphicx
则可能取决于软件包。epstopdf
这个解决方案的优点在于 TeX 会呈现所有标签,您可以通过编辑name.tex
存储它们的文件来编辑它们。