Utilizo mensaje perdido en el diagrama msc. Necesito controlar la longitud y el color de la línea del mensaje perdido como se muestra a continuación. Miré el manual, sugiere usar \selfmesswidth
en la definición de msc. Lo intenté pero no hizo ningún efecto. Aquí hay un guión de muestra:
\documentclass{article}
\usepackage{graphicx}
\usepackage{msc}
\usepackage{xcolor}
\begin{document}
\begin{figure*}[b!]
\vspace{-1cm}
\[
\resizebox{\textwidth}{!}{
\centering
\setmsckeyword{}
\drawframe{no}
\hspace{-1cm}
\begin{msc}[small values, /msc/level height=0.6cm, /msc/label distance=0.5ex , /msc/first level height=0.6cm, /msc/last level height=0.6cm, /msc/top head dist=0, /msc/bottom foot dist=0]{}
\setlength{\instwidth}{2.5\mscunit}
\setlength{\instdist}{5\mscunit}
\declinst{A}{}{A}
\declinst{B}{}{B}
\mess {Message1} {A}{B}
\nextlevel
\lost[side=left]{}{}{B}
\nextlevel
\mess {Messag2} {A}{B}
\nextlevel
\end{msc}
}
\]
\caption[caption]{Figure}
\end{figure*}
\end{document}
Necesito cambiar la longitud y el color del mensaje perdido como se muestra a continuación. No pude encontrar una manera de hacerlo en el manual.
EDITAR:La clase de documento actualizada. También necesitas el msc.sty deaquí
Respuesta1
Agregue el siguiente comando al preámbulo:
\makeatletter
\newcommand\lostredlong[1][l]%
{\psset{linecolor=red}% color lines in red. Unfortunately this affects all lines.
\selfmesswidth=\instwidth% set the length of the arrow
\def\lostfound@position{#1}%
\def\lostfound@type{lost}%
\def\msc@circlefillstyle{red}% fill the circle in red
\lostfound@B%
}
\makeatother
Configuración linecolor
y \selfmesswidth
afecta también a todos los siguientes comandos. Para evitar esto, incluya la \lostredlong
invocación entre llaves.
{\lostredlong{}{}{B}}
Básicamente es posible agregar estas llaves a la definición del comando \lostredlong
, pero esto requiere copiar mucho más código y msc.sty
probablemente debería evitarse.
\documentclass{article}
\usepackage{graphicx}
\usepackage{msc}
\usepackage{xcolor}
\makeatletter
\newcommand\lostredlong[1][l]%
{\psset{linecolor=red}%
\selfmesswidth=\instwidth
\def\lostfound@position{#1}%
\def\lostfound@type{lost}%
\def\msc@circlefillstyle{red}%
\lostfound@B%
}
\makeatother
\begin{document}
\begin{msc}{}
\setlength{\instwidth}{2.5\mscunit}
\setlength{\instdist}{5\mscunit}
\declinst{A}{}{A}
\declinst{B}{}{B}
\mess {Message1} {A}{B}
\nextlevel
{\lostredlong{}{}{B}}
\nextlevel
\mess {Messag2} {A}{B}
\nextlevel
\end{msc}
\end{document}