Ubuntu 10.04 上的 bodegraph

Ubuntu 10.04 上的 bodegraph

我一直在尝试让 tex 包 bodegraph 在我的 Ubuntu 10.04 机器上运行。首先,由于 Ubuntu 附带 Texlive 2009,我不得不卸载默认版本并手动安装 Texlive 2011。

然后我就可以bodegraph输出半对数网格线、标签等。问题是当我尝试实际绘制传递函数时,bodegraph必须使用gnuplot。我收到一条错误消息:

! I can't write on file `gnuplot/test/1.gnuplot'.

test.tex是我的输入文件的名称,我正在使用pdflatex。我怀疑这与pdflatex没有运行权限gnuplot或在需要的地方写入临时文件有关,但我不知道从哪里开始深入研究。

有谁使用过bodegraphUbuntu,或者见过这个问题吗?

编辑- 包括 MWE

\documentclass[10pt]{article}

\usepackage{tikz}
\usepackage{bodegraph}

\usetikzlibrary{intersections}
\usetikzlibrary{calc}
\usetikzlibrary{positioning}

\usepackage[active,tightpage]{preview}
\PreviewEnvironment{tikzpicture}

\begin{document}

\begin{tikzpicture}[>=latex',
    ref lines/.style={thin,blue!60},
    ref points/.style={circle, black, opacity=0.7, fill, minimum size= 3pt, inner sep=0},
    every node/.style={font=small},
    bode lines/.style={very thick, blue},
    Gclabel/.style={text=blue},
    xscale=12/3]

\begin{scope}[yscale=4/110]
\UnitedB
\semilog{-1}{2}{-50}{60}

% Breaks When The Following Line Is Added
\BodeAmp[ref lines, red!60]{-1:1.35}{POAmpAsymp{4}{2.0}+IntAmp{1}}

\end{scope}

\end{tikzpicture}
\end{document}

答案1

我在我的计算机上遇到了同样的错误(Ubuntu 11.04,TL 2011 vanilla)。该bodegraph包似乎默认配置为使用输出前缀gnuplot/\jobname/,因此第一个图test.tex被写入gnuplot/test/1.gnuplot。但是,您没有为您创建的gnuplot目录或test子目录,因此出现错误。

为了解决这个问题,您需要更改prefix为例如{}(当前目录):

\documentclass{article}

\usepackage{tikz}
\usepackage{bodegraph}

\begin{document}

\begin{tikzpicture}[
    gnuplot def/.append style={prefix={}}, % Fixed the issue (prefix was 'gnuplot/\jobname/' before)
]
\begin{scope}
\UnitedB
\semilog{-1}{2}{-50}{60}

\BodeAmp{-1:1.35}{\POAmpAsymp{4}{2.0}+\IntAmp{1}}

\end{scope}
\end{tikzpicture}
\end{document}

您需要使用来运行它,pdflatex -shell-escape以便gnuplot能够执行。

POAmpAsymp请注意,你忘记在and之前添加反斜杠IntAmp。我还删除了所有不相关的代码,以便制作一个真正的最小例子。

答案2

你必须在编译之前创建一个 gnuplot/\jobname/ 目录,如果你使用 Windows,则没有必要

相关内容