我正在使用MSC 包绘制序列图。我只需要一例如,带有传入和传出(丢失和找到)消息。我已经使用 LaTeX 编译器建立了一个工作示例。
\documentclass{article}
\usepackage{msc}
\begin{document}
\begin{msc}{test}
\declinst{a}{}{$A$}
\found{label}{}{a}
\end{msc}
\end{document}
得出这个结果
我需要的标签很长而且很复杂,所以我需要把圆圈和箭头之间的距离拉长,这样才有位置。我查看了文档,并尝试在 和 可选项中插入各种值pos
,labelpos
但placement
没有任何效果。
如何才能使标签更长?
答案1
经过一段时间,实际上是几个小时后,我终于明白了该怎么做!
\documentclass{article}
\usepackage{msc}
\begin{document}
\begin{msc}{test}
\drawframe =
\declinst{a}{}{$A$}
\selfmesswidth = 5cm
%First outgoing
\lostsymbolradius = 0px
\lost[1]{label}{}{a}
\nextlevel
\nextlevel
%First receiving
\lostsymbolradius = 0px
\found[1]{label2}{}{a}
\nextlevel
\nextlevel
%Second outgoing
\lostsymbolradius = 0px
\lost[1]{label3}{}{a}
\end{msc}
\end{document}
答案2
通过设置\setlength{<some parameter>}{<length>}
,您可以根据需要更改默认设置。在这里,我更改了参数\selfmesswidth
:
\documentclass{article}
\usepackage{msc}
\begin{document}
\begin{msc}{test}
\setlength{\selfmesswidth}{3cm}
\setlength{\envinstdist}{3.5cm} % According to the above one
\declinst{a}{}{$A$}
\found{Very long label}{}{a}
\end{msc}
\end{document}
请注意,环境和最近的实例线之间的距离应进行相应调整,正如我在 中所做的那样\setlength{\envinstdist}{3.5cm}
。