答案1
让我通过 3 个步骤为初学者提供帮助。
1. 寻找方法
至少对我来说,标准方法是通过搜索引擎在 ctan 上搜索。即使搜索条件不完善,您也可以快速导航到您可能想要使用的现有包。
例如使用搜索词ctan 框图提供有趣的图像和可能有用的包:
软件包列表:https://ctan.org/topic/diagram-block,其中 schemablock 可能足够有趣。
您也可以从这里关注以下标签:控制, 搜索框图等等,在搜索条件中使用进一步的限制。
2. Plain-Tikz 绘图
您的图表非常简单,可以直接在 Tikz 中完成。但是,它需要一些技巧,这对 Tikz 新手来说可能具有挑战性。我建议同时阅读手册,并根据需要查找语句。
这里有很多方法可以使用纯 Tikz。最重要的一个可能是使用的 documentclass standalone
:
- 在开发过程中使用效果更好
- 它可以实现接下来描述的事情
\documentclass[10pt,border=3mm,tikz]{standalone}
\usetikzlibrary {shapes.geometric} % for nodes with triangular shape
\usetikzlibrary{arrows.meta} % provides many arrow tips
\begin{document}
\begin{tikzpicture}[ % self-defined styles
blk/.style={draw,minimum width=1cm,minimum height=15mm},
tri/.style={draw,shape=isosceles triangle, minimum height=12mm},
> = {Stealth},
]
% ~~~ coordinate ~~~~~~~~~
\coordinate (A) at (-4,0); % to simplify drawing the arrow
% ~~~ nodes ~~~~~~~~~~~~~~~~
\node[anchor=east] (IN) at (-5 , 0) {Input};
\node[tri] (P) at (-1.5 , 1) {$p$};
\node[tri] (K) at (-2.5,-1) {$k$};
\node[blk] (S) at ( 0 ,-1) {\Large{$\frac{1}{s}$}};
\node[blk] (O) at ( 3 , 0) {};
\node[anchor=west] (OUT) at ( 4.5, 0) {Output};
% ~~~ connections ~~~~~~~~~~~~~~~
\draw[->] (IN) -- (A);
\draw (A) |- (P);
\draw (A) |- (K);
\draw (K) -- (S);
\draw (S) -- ++(1.5,0) |- (O.210) node[shift=(220:.3)] {$+$};
\draw (P) -- ++(3.0,0) |- (O.150) node[shift=(140:.3)] {$+$};
\draw[->] (O) -- (OUT);
\end{tikzpicture}
\end{document}
3. 使用上述图纸的文件
在主文档类中有多种使用 Tikz 图表的方法,例如:
- 将其直接编码到你的 main.tex 中
- 复制以上结果
\input
以上结果(删除一些内容后)
我想在这里向你们展示的过程如下:
- 使用 Tikz 创建图表,使用
standalone
- 编译为
pdf
,例如piTikz.pdf
(重复,当改变时) - 使用包将其作为绘图包含进去
graphicx
\documentclass[10pt,a4paper]{article}
\usepackage{graphicx}
\begin{document}
This is one way to work with tikzpictures:
\begin{itemize}
\item create and compile a separate file using standalone class
\item including said pdf, see figure \ref{pi}
\end{itemize}
\begin{figure}
\includegraphics[width=\textwidth]{piTikz}
\caption{Some PI signal processing}\label{pi}
\end{figure}
\end{document}