设置 \labeldist 为 1 条消息

设置 \labeldist 为 1 条消息

我正在用包绘制消息交换序列,但在消息方面msc遇到了一些问题。\labeldist

这是 MWE:

\documentclass[border=2mm]{standalone}
\usepackage{graphicx}
\usepackage[table, usenames, dvipsnames]{xcolor}
\usepackage{pstricks, pst-node, pst-circ, pst-plot, pst-3dplot, pst-solides3d, pst-sigsys, pstricks-add, pst-eucl}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[frenchb]{babel}
\usepackage[locale=FR, per-mode=symbol, abbreviations]{siunitx}
\usepackage{msc}
\usepackage{graphicx}


\begin{document}

\renewcommand\msckeyword{}
\setlength{\instdist}{7cm} 
\setlength{\instwidth}{4cm}
\setlength{\envinstdist}{4.5cm}
%\setlength{\labeldist}{0.05cm}

\begin{msc}{}
    \declinst{client}{}{\textbf{Client}}
    \declinst{serveur}{}{\textbf{Server}}
        \mess{\rotatebox{-8}{small info}}{client}[.3]{serveur}[2]
        \action*{\textcolor{WildStrawberry}{Action !}}{serveur}
    \nextlevel[3]
        \mess{\rotatebox{4}{longer info to put here}}{serveur}[.3]{client}[1]
    \nextlevel[2]
\end{msc}

\end{document}

它产生了这个:

MWE 结果

随着标签的旋转,第二条消息上标签和箭头之间的距离变大了,我无法解决这个问题。

我见过文档可以调整\labeldist参数,但我做不到本地

有人知道怎么做吗?这应该很简单,但我找不到解决方案……

答案1

使用

    \mess{\rotatebox[origin=r]{4}{longer info to put here}}{serveur}[.3]{client}[1]

答案2

您可以\labeldist在相关命令之前设置:

在此处输入图片描述

\documentclass[border=2mm]{standalone}
\usepackage{msc,graphicx,xcolor}

\begin{document}

\renewcommand\msckeyword{}
\setlength{\instdist}{7cm} 
\setlength{\instwidth}{4cm}
\setlength{\envinstdist}{4.5cm}

\begin{msc}{}
  \declinst{client}{}{\textbf{Client}}
  \declinst{serveur}{}{\textbf{Server}}
    \mess{\rotatebox{-8}{small info}}{client}[.3]{serveur}[2]
    \action*{\textcolor{red!80}{Action !}}{serveur}
  \nextlevel[3]
    \setlength{\labeldist}{-.5mm}
    \mess{\rotatebox{4}{longer info to put here}}{serveur}[.3]{client}[1]
  \nextlevel[2]
\end{msc}

\end{document}

也可以使用以下方式创建此绘图`普斯特里克独自的。

相关内容