msc 패키지에서 손실된 메시지의 길이와 색상을 변경하는 방법은 무엇입니까?

msc 패키지에서 손실된 메시지의 길이와 색상을 변경하는 방법은 무엇입니까?

msc 다이어그램에서 손실된 메시지를 사용합니다. 분실된 메시지 라인의 길이와 색상을 아래와 같이 조절해야 합니다. 매뉴얼을 보니 \selfmesswidthmsc 정의에서 사용하는 것이 좋습니다. 시도해 보았지만 전혀 효과가 없었습니다. 다음은 샘플 스크립트입니다.

\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}

분실된 메시지의 길이와 색상을 아래와 같이 변경해야 합니다. 매뉴얼에서 그렇게 하는 방법을 찾을 수 없었습니다. 여기에 이미지 설명을 입력하세요

편집하다:문서 클래스가 업데이트되었습니다. msc.sty도 필요합니다.여기

답변1

프리앰블에 다음 명령을 추가합니다.

\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

다음 명령을 모두 설정 linecolor하고 영향을 줍니다. \selfmesswidth이를 방지하려면 \lostredlong호출을 중괄호로 묶으세요.

{\lostredlong{}{}{B}}

기본적으로 이러한 중괄호를 명령 정의에 추가하는 것이 가능 \lostredlong하지만 이를 위해서는 훨씬 더 많은 코드를 복사해야 msc.sty하며 피해야 합니다.

여기에 이미지 설명을 입력하세요

\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}

관련 정보