需要构建一个图形(二极管的矢量图),如果角度(\Fi)大于 90,则所有向量都将等于 0。我不明白如何在 latex 中正确使用 if。
\ usepackage {ifthen} 已连接,尝试了不同的变化,但总是出错。
我将非常感谢您的帮助!
以下是我的一次尝试的示例
$$
\frac{\partial \vec{I}} {\partial t}
$$
\begin{circuitikz}
\newcommand{\DV}{5}
\newcommand{\DI}{4}
\newcommand{\Fi}{80}
\newcommand{\Fii}{\Fi+7}
\ifthenelse{\Fi < 90}
{{\draw[->,blue] (0,0) -- ( {\DV*cos(\Fi)}, {\DV*sin(\Fi)}) node[right] {$\vec{V}$};
\draw[->,red](0,0) -- ( {\DI*cos(\Fi -10)}, {\DI*sin(\Fi-10)}) node (A) {}node[below right]
{$\vec{I}(t)$};
\draw[->,red](0,0) -- ( {\DI*cos(\Fii -10)}, {\DI*sin(\Fii-10)}) node (B) {}node[right]
{$\vec{I}(t+ {\small\Delta}t)$};
\draw[->] (A.center) -- (B.center);
\draw[->,ultra thin] (-6,0) -- (6,0) node[below] {x}}
{\draw[->,ultra thin] (-6,0) -- (6,0)}
\end{circuitikz}
答案1
您有一些括号不匹配和缺少路径分隔符;
。当您正确缩进/对齐代码时,这些问题就会解决。此外,不要在分支之间<true>
和<false>
内部留下空行\ifthenelse{<cond>}{<true>}{<false>}
:
\documentclass{article}
\usepackage{circuitikz,ifthen}
\begin{document}
\begin{circuitikz}
\newcommand{\DV}{5}
\newcommand{\DI}{4}
\newcommand{\Fi}{67}
\newcommand{\Fii}{\Fi+7}
\ifthenelse{\Fi < 90}{%
\draw[->,blue] (0,0) -- ( {\DV * cos(\Fi)}, {\DV * sin(\Fi)}) node[right] {$\vec{V}$};
\draw[->,red] (0,0) -- ( {\DI * cos(\Fi - 10)}, {\DI * sin(\Fi - 10)}) node (A) {} node[below right] {$\vec{I}(t)$};
\draw[->,red] (0,0) -- ( {\DI * cos(\Fii - 10)}, {\DI * sin(\Fii - 10)}) node (B) {} node[right] {$\vec{I}(t + {\scriptstyle\Delta}t)$};
\draw[->] (A.center) -- (B.center);
\draw[->,ultra thin] (-6,0) -- (6,0) node[below] {x};
}{
\draw[->,ultra thin] (-6,0) -- (6,0);
}
\end{circuitikz}
\end{document}