在下面给出的简单代码中,bode 图没有使用 进行绘制。我确实在控制台窗口中XeLaTeXify
放入了:--shell-escape -enable-write18
XeLaTeX
我确实gnuplot
在 WinEdt 路径中看到了。
你能告诉我它是否bodegraph
适用于XeLaTeXify
吗?如果可以,你能告诉我如何XeLaTex
在 WinEdt 中编译此代码吗?谢谢!
代码:
\documentclass[10pt]{article}
\usepackage{amsmath,amssymb}
\usepackage{tikz}
\usepackage{bodegraph}
\usetikzlibrary{intersections}
\usetikzlibrary{calc}
\usetikzlibrary{positioning}
\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}[yshift=-3.5cm,yscale=4/80]
\UnitedB
\semilog{-2}{2}{-60}{80}
%% Bode plot (magnitude) for the original system, 4/(s/(1+2s)).
%% Asymptotic line
\BodeAmp[ref lines, red!60]{-1:1.8}{\POAmpAsymp{18}{2.0}+\IntAmp{1}}
%% Bode plot
\BodeAmp[bode lines, black, name path=Gomagnitude]{-1:1.35}{\POAmp{4}{2.0}+\IntAmp{1}}
%
% Axes label
\node [below=6pt] at (0.5,-60) {Frequency, $\omega$};
\node [rotate=90] at (-2.2,5) {Magnitude, $20\log(|G(\text{j}\omega)|)$};
\end{scope}
\end{tikzpicture}
\end{document}
答案1
一点背景知识:什么是PDFTexify
?
PDFTexify
是一个 WinEdt 命令而不是编译器的名称。它texify.exe
通过运行 LaTeX 编译器来模仿 MiKTeX 附件的行为,其默认值pdflatex.exe
如下图所示:
与其他处理参考书目、索引、词汇表等的程序一起,以获得完全编译的文档(如果您安装了所需的插件,它还会编译 Asymptote 图形、PythonTeX 代码等)。
编译书目的默认引擎bibtex.exe
如下图所示:
编译器的名称存储在名为的环境变量中,PDFLATEX
而其他编译器的名称则存储在 WinEdt 变量中,例如BibTeX-Executable
书目编译器。
一点背景知识:什么是XeLaTexify
XeLaTexify
也是一个 WinEdt 命令,安装插件后可用LaTeXify,哪个(摘自插件文档):
XeLaTeXify (使用 XeLaTeX 引擎运行 Biber 和 PDFTeXify)
捷径:Ctrl+Alt+E
这是其在MainMenu.ini
配置脚本中的定义:
ITEM="XeLaTeXify"
CAPTION="&XeLaTeXify"
IMAGE="TeXXeLaTeXify"
SAVE_INPUT=1
MACRO=`Assign("Old-BibTeX-Executable","%$('BibTeX-Executable');");`+
`Assign("BibTeX-Executable","biber.exe");`+
`Assign("OLD-PDFLATEX","%@('PDFLATEX');");`+
`SetEnvVar("PDFLATEX","xelatex.exe");`+
`Exe('%b\Exec\TeX\PDFTeXify.edt');`+
`Assign("BibTeX-Executable","%$('Old-BibTeX-Executable');");`+
`Release("Old-BibTeX-Executable");`+
`SetEnvVar("PDFLATEX","%$('OLD-PDFLATEX');");`+
`Release("OLD-PDFLATEX");`
SHORTCUT="49221::Ctrl+Alt+E"
REQ_FILTER=:"%!M=TeX"|"%!M=TeX:STY"|"%!M=TeX:AUX"
这是什么意思?
该XeLaTeXify
命令是 WinEdt 命令的包装器,PDFTeXify
它将环境变量设置PDFLATEX
为值xelatex.exe
,并将内部变量BibTeX-Executable
设置为值biber.exe
前调用命令PDFTeXify
本身(这些值在执行后恢复)。
换句话说,当你点击按钮时,XeLaTeXify
你正在运行
赛莱特
比伯
(最终)其他编译器如 makeindex、makeglossaries 等。
xelatex(如果需要的话再来一次)
biber (如果需要的话再说一次)
xelatex(如果需要的话再来一次)
整个过程由宏处理PDFTeXify
,由 调用XeLaTeXify
。
结论和问题的答案
作为XeLaTeXify
一个包装器PDFTeXify
,这意味着如果您想修改其行为(如添加命令行开关),就像您的情况一样,您必须PDFTeXify
在“执行模式”对话框中修改命令的属性。
答案2
@koleygr 的评论为我指明了解决方案。随着 引擎的XeLaTeXify
运行,将 放在标签下有助于解决问题。根据 @koleygr 的说法,我们还需要包括Biber
PDFTeXify
XeLaTeX
--shell-escape
PDFTeXify
\usepackage{polyglossia}
\setmainlanguage{english}
\usepackage{avant}
\usepackage{microtype}
此外,根据 @Ulrike Fischer 的评论,我们只需要将其放在--shell-escape
下PDFTeXify
。以下是 的更新PDFTeXify
:
完整代码如下:
\documentclass[10pt]{article}
\usepackage{polyglossia}
\setmainlanguage{english}
\usepackage{avant}
\usepackage{microtype}
\usepackage{amsmath,amssymb}
\usepackage{tikz}
\usepackage{bodegraph}
\usetikzlibrary{intersections}
\usetikzlibrary{calc}
\usetikzlibrary{positioning}
\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}[yshift=-3.5cm,yscale=4/80]
\UnitedB
\semilog{-2}{2}{-60}{80}
%% Bode plot (magnitude) for the original system, 4/(s/(1+2s)).
%% Asymptotic line
\BodeAmp[ref lines, red!60]{-2:1.8}{\POAmpAsymp{18}{2.0}+\IntAmp{1}}
%% Bode plot
\BodeAmp[bode lines, black, name path=Gomagnitude]{-1:1.35}{\POAmp{4}{2.0}+\IntAmp{1}}
%
% Axes label
\node [below=6pt] at (0.5,-60) {Frequency, $\omega$};
\node [rotate=90] at (-2.2,5) {Magnitude, $20\log(|G(\text{j}\omega)|)$};
\end{scope}
\end{tikzpicture}
\end{document}