希望有人能帮忙...我对 TeXShop 有非常基本的了解,但我需要在上面绘制一些函数,比如说y=x
。我了解到这可以通过安装 GNU Plot 并在 TeXShop 中编写来完成
\begin{tikzpicture}[domain=0:4]
\draw[->] (-0.2,0) -- (4.2,0) node[right] {$x$};
\draw[->] (0,-1.2) -- (0,4.2) node[above] {$f(x)$};
\draw[color=black] plot[id=x] function{x}
node[right] {$f(x) =x$};
\end{tikzpicture}
所以我下载了 GNU Plot 并将其从磁盘映像拖到应用程序中。我不知道如何使用它,但它就在那里。然而,当我在 TeXShop 中运行上述程序时,只会弹出轴和标签,但没有功能!
我现在已经阅读了很多网站,但是它们对我来说似乎都太复杂了——有人可以帮忙吗?
答案1
这是我在 Mac 上进行的操作gnuplot
。(您需要使用终端来完成此操作。)
去Sourceforge 上的 GNU Plot并下载源代码。它应该解压到gnuplot-4.6.0
下载文件夹中的一个文件夹中。
打开一个终端窗口并发出以下命令:(每个命令后按回车键;最后三个命令将产生相当多的终端输出,您需要等待它们完成后才能发出下一个命令。)
cd ~/Downloads/gnuplot-4.6.0
./configure
make
sudo make install
这将在您的机器上正确安装 GNUPlot。
现在在 TeXShop 中,你可以制作一个简单的文档:
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}[domain=0:4]
\draw[->] (-0.2,0) -- (4.2,0) node[right] {$x$};
\draw[->] (0,-1.2) -- (0,4.2) node[above] {$f(x)$};
\draw[color=black] plot[id=x] function{x} node[right] {$f(x) =x$};
\end{tikzpicture}
\begin{tikzpicture}[domain=0:4]
\draw[very thin,color=gray] (-0.1,-1.1) grid (3.9,3.9);
\draw[->] (-0.2,0) -- (4.2,0) node[right] {$x$};
\draw[->] (0,-1.2) -- (0,4.2) node[above] {$f(x)$};
\draw[color=red] plot[id=x] function{x} node[right] {$f(x) =x$};
\draw[color=blue] plot[id=sin] function{sin(x)} node[right] {$f(x) = \sin x$};
\draw[color=orange]
plot[id=exp] function{0.05*exp(x)} node[right] {$f(x) = \frac{1}{20} \mathrm e^x$};
\end{tikzpicture}
\end{document}
使用 TeXShop 运行此程序。您应该获得以下输出:
答案2
艾伦的回答与我的做法基本相同:我想分享一些额外的细节。
我花了一段时间才解决这个问题。我在我的 Linux 机器上可以latex
交谈gnuplot
而不用做任何事情,但在 Mac OS X 上却遇到了麻烦。因此,为了记录(很可能是我未来的自己),我想总结一下我从无数次搜索中收集的各种信息。
从以下位置下载 gnuplot 源代码http://sourceforge.net/projects/gnuplot/files/gnuplot/
在临时目录中解压
进入目录
在终端命令行:
./configure --with-readline=builtin
4b. 如果出现以下错误:
configure: error: in `/opt/gnuplot-4.6.4': configure: error: no acceptable C compiler found in $PATH
从以下位置获取 command_line_tools_os_x_mountain_lion_for_xcode__october_2013.dmg:
这个需要有appleid才能下载。设置appleid非常麻烦(我通过搜索pastebin找到了一个可以直接下载的版本)。
比
command line tools
小得多XCode
,应该足以安装和运行gnuplot
。4b 之后返回 4. 并重试。
4c. 有时候你可能需要
XQuartz
。XQuartz
是新的X11
,一个可以在其中运行和绘图的窗口模拟器gnuplot
。从项目下载XQuartz
:http://xquartz.macosforge.orgXQuartz
。因为较旧的应用程序仍然按名称查找。通过运行以下命令建立从到 的X11
链接:XQuartz
X11
sudo ln -sf /Applications/Utilities/XQuartz.app/ /Applications/Utilities/X11.app
要
gnuplot
自动运行XQuartz
:echo "export GNUTERM='x11'" >> .bash_profile
4.完成后,进入5.
命令行:
make
命令行:
sudo make install
将 gnuplot 添加到 PATH:
sudo nano /etc/paths
将以下行添加到路径并保存:
/usr/local/libexec/gnuplot
测试
gnuplot plot sin(x) with lines
让 LaTeX 与 gnuplot 对话
texmf-local
在您的文件夹中创建一个名为的配置文件texmf.cnf
,内容如下:shell_escape_commands = \ bibtex,bibtex8,\ kpsewhich,\ makeindex,\ mpost,\ repstopdf,\ gnuplot,\
该文件必须以空行结尾。将此文件保存或复制到以下目录中:
/usr/local/texlive/texmf-local/web2c
然后更新 TeX 数据库。现在您应该能够运行以下代码,例如:
要拨打电话
gnuplot
,您需要允许shell-escape
。使用以下方式测试latexmk
:latexmk --synctex=1 -interaction=nonstopmode --shell-escape
或者
latex -> dvips -> ps2pdf
:latex -synctex=1 -interaction=nonstopmode --shell-escape %.tex: dvips -o %.ps %.dvi: ps2pdf %.ps
这里有几个提示和解释:
答案3
使用 OSX Mountain Lion 您必须先安装 aquaterm 和 X11 或 Xquartz。