我想在tikz
数字中的箭头上写出方程式。例如,此代码:
\begin{figure}
\centering
\begin{sequencediagram}
\newinst{c}{client}
\newinst[6]{s}{server}
\mess[1]{c}{X=f(y)}{s}
\stepcounter{seqlevel}
\mess[1]{c}{C}{s}
\end{sequencediagram}
\caption{Client-Server messaging}
\end{figure}
\end{sequencediagram}
\caption{Client-Server messaging}
\end{figure}
产生很多错误:
> auth.tex(31): Error: Package tikz Error: A node must have a (possibly
> empty) label text. auth.tex(31): Error: Use of \@next doesn't match
> its definition. auth.tex(31): Error: Package tikz Error: A node must
> have a (possibly empty) label text. , +, coordinate, pic, or node
> expected.(31): Error: Package tikz Error: (, +, coordinate, pic, or
> node expected. , +, coordinate, pic, or node expected.(31): Error:
> Package pgf Error: No shape named is known. , +, coordinate, pic, or
> node expected.(31): Error: Package pgf Error: No shape named is
> known. , +, coordinate, pic, or node expected.(31): Error: Package
> tikz Error: Giving up on this path. Did you forget a semicolon?. , +,
> coordinate, pic, or node expected.(36): Error: Extra }, or forgotten
> \endgroup. , +, coordinate, pic, or node expected.(36): Error: Missing
> } inserted. , +, coordinate, pic, or node expected.(36): Error: Extra
> }, or forgotten \endgroup. , +, coordinate, pic, or node
> expected.(36): Error: Missing } inserted. , +, coordinate, pic, or
> node expected.(36): Error: LaTeX Error: \begin{tikzpicture} on input
> line 27 ended by \end{sequencediagram}. , +, coordinate, pic, or node
> expected.(38): Error: Extra }, or forgotten \endgroup.
但是当箭头中的消息不包含括号时,我不会收到这些错误。你能帮我吗?
答案 0 :(得分:1)
我无法使用你的序列图来解决它,也许是因为它在某种程度上以不同的方式在linux下工作,但我使用了TikZ。要绕过此问题,必须将具有数学公式或字符的相应节点放在相关坐标处。也许这已经足够了,直到现在我才找到另一种解决方案:
\documentclass[]{amsart}
\usepackage[ngerman, english]{babel}
\usepackage[utf8]{inputenc}
\usepackage{tikz}
\usetikzlibrary{calc}
\begin{document}
\begin{tikzpicture}
\coordinate (a) at (0,0);
\coordinate (b) at (0,5);
\coordinate (c) at (6,0);
\coordinate (d) at (6,5);
\draw (a) -- (b)node[pos=1.1,scale=1]{Drain} (c) -- (d)node[pos=1.1,scale=1]{Source};
\draw[-stealth] ($(a)!.8!(b)$) -- node[above,scale=0.5,midway]{Initiate}($(c)!.8!(d)$);
\begin{scope}[execute at begin node=$, execute at end node=$]
\node at (4.5,4.5) {\frac{e^{jn \pi\ } + e^{-jn \pi\ }}{-jn \pi\ }} ;
\node at (2.2,3.5) {\int_{-a}^bf(x)g(x)dx=f(b)g(b)} ;
\node at (3,2) { f(x) = \pi \{ x^4 + 7x^3 + 2x^2 \} } ;
\end{scope}
\draw[stealth-] ($(a)!0.65!(b)$) -- node[below,scale=0.5,midway]{OK} ($(c)!0.65!(d)$);
\draw[-stealth] ($(a)!.5!(b)$) -- node[above,scale=0.5,midway]{Request}($(c)!.5!(d)$);
\draw[stealth-] ($(a)!0.35!(b)$) -- node[below,scale=0.5,midway]{Data} ($(c)!0.35!(d)$);
\draw[stealth-] ($(a)!0.3!(b)$) -- node[below,scale=0.5,midway]{Data} ($(c)!0.3!(d)$);
\draw[stealth-] ($(a)!0.25!(b)$) -- node[below,scale=0.5,midway]{Data} ($(c)!0.25!(d)$);
\draw[-stealth] ($(a)!.1!(b)$) -- node[above,scale=0.5,midway]{Close}($(c)!.1!(d)$);
\end{tikzpicture}
\end{document}
导致这张照片(所有标志,图表等都是有用的,仅用于演示):