我尝试在 Simulink 中绘制带有注释字段的框图。然后我从 Matlab 命令窗口以 eps 格式导出它:
print -deps -r300 -s resolver.eps
图片看起来是这样的:
我想用希腊字母替换框图中的文本,因此我使用了 \psfrag,但没有成功。我还用编辑器打开了 .eps 文件并搜索了文本(U_sin、U_cos、theta、omega),但生成的 .eps 文件中没有这样的文本,所以我认为 \psfrag 无法替换任何内容。有人有解决方案吗?
\begin{figure}[h]
\centering
\psfrag{U_sin}{$\U_{sin}$}
\psfrag{U_cos}{$\U_{cos}$}
\psfrag{omega}{$\hat{\omega}$}
\psfrag{theta}{$\hat{\theta}$}
\includegraphics[width=0.75\columnwidth]{resolver2}
\caption{\label{resolver1} Blokovna shema metode Angle Tracking Observer}
\end{figure}
编辑:
我已将 eps 文件导入 Inkscape,显然 eps 文件中有文本信息,因为 Inkscape 可以识别它,我已将文本更改为 LaTex 的数学形式并使用选项 EPS + LaTex 保存,在 latex 中使用命令 \import 我得到了这个。
答案1
这只是关于在 tikz 中绘图的长注释。以下是一些没有注释的起点,大部分都在 tikz 手册中进行了解释,此外,此网站上还有大量 tikz 答案:
\documentclass[a4paper]{standalone}
\usepackage{tikz,amsmath}
\usetikzlibrary{calc,shapes,shapes.geometric}
\begin{document}
\tikzset{
myBox/.style={
draw,
minimum height=6mm,
minimum width=6mm,
},
myCircle/.style={
draw,
circle,
inner sep=0pt,
minimum height=6mm,
minimum width=6mm,
},
myTriangle/.style={
draw,
%isosceles triangle,
regular polygon,
regular polygon sides=3,
shape border rotate=-90,
inner sep=0pt,
minimum width=6mm,
}
}
\begin{tikzpicture}
\node[myBox] (T1) at (0,0) {$X$};
\node[myBox] (T2) at ($(T1)+(0,-3)$) {$X$};
\node[myCircle] (T3) at ($(T1)!0.5!(T2)+(1,0)$) {$\genfrac{}{}{0pt}{}{+}{-}$};
\node[myBox] (T4) at ($(T2)+(0,-1)$) {$\sin$};
\node[myTriangle] (T5) at ($(T3)+(1.5,0)$) {$K_1$};
\coordinate (T6) at ($(T3.east)!0.5!(T5.west)$);
\fill (T6) circle (2pt);
\begin{scope}[shorten >=1pt,shorten <=1pt]
\draw[->] (T1) -| (T3);
\draw[->] (T2) -| (T3);
\draw[->] (T4.west) -- ++(-0.5,0) |- (T1.west);
\draw[->] (T3) -- (T5);
% start from the center of the dot
\draw[shorten <=0pt,->] (T6) |- (T4);
\end{scope}
\end{tikzpicture}
\end{document}