اولین بار است که به اینجا می‌آیید؟ راهنمای سایت را بخوانید!
Close Sidebar
وب‌سایت پرسش و پاسخ پارسی‌لاتک جایی برای پرسش و پاسخ درباره سیستم حروف‌چینی لاتک و بسته زی‌پرشین است. در اینجا می‌توانید سوال‌های خود را بپرسید و به سوال‌های دیگران پاسخ دهید.

محبوب‌ترین برچسب‌ها

رفع خطا جدول ریاضی‌نویسی مراجع شکل شماره‌گذاری xepersian فهرست مطالب منابع فونت bidi parsilatex اسلاید تک‌لایو پانویس زی‌پرشین بیب‌تک پاورقی بیمر tikz ویرایشگر نماد biditexmaker سربرگ قالب bibtex هدر رسم شکل واژه‌نامه اندازه فونت texstudio ارجاع‌دهی ماتریس bidipresentation beamer رسم جدول عنوان فصل عنوان شکل اسلاید فارسی حاشیه فرمول‌نویسی زیرنویس شکل گراف محیط قضیه اعمال نشدن تغییرات در پی‌دی‌اف حروف‌چینی کد رنگ عدم اجرا مکان شکل متن لاتین و فارسی tabriz_thesis فارسی‌تک شماره صفحه فهرست اشکال listings align فرمول شماره فصل tikzpicture خروجی نیم‌فاصله فاصله‌گذاری enumerate itemize texlive2015 فرمول چندضابطه‌ای نمودار بسته شماره‌گذاری صفحات glossaries biditufte-book سوال امتحانی کپشن تصویر الگوریتم کادر نمایه texlive2016 پیوست‌ hyperref texmaker شماره پاورقی خطا فونت فارسی و انگلیسی دیاگرام چپ‌چینی فصل‌نویسی تنظیم جدول لاتک تک لایو 2015 aimc46 میک‌تک سوال چهارگزینه‌ای کاما اندیس به‌روزرسانی بسته iust-thesis تورفتگی پوستر فرمول طولانی lollipop xindy multicol فهرست جداول جستجوی معکوس texworks subfigure زیرنویس فاصله بین خطوط حروف‌چینی چندستونی میکروسافت ورد header winedt ماکرونویسی قالب پایان‌نامه آکولاد شماره فرمول عنوان بخش شماره گذاری فاصله سطرها اعداد فارسی شکست خط صفر توخالی بیرون‌زدگی شمارنده فصل biditools فلش جایابی تصویر caption pdf فاصله خطوط فهرست نمادها قرآن غلط‌گیری املایی kashida tabriz-thesis محیط ریاضی پانویس پاراگرافی شماره‌گذاری فرمول bidihl کمک مالی قالب کتاب هایپرلینک الگوریتم‌ اوبونتو پیکان equation جدول افقی fancyhdr عکس جداکننده رسم نمودار توابع فونت ایتالیک نوشتافت tex-programming رسم گراف پانویس افقی پاراگراف‌بندی pgfplots وسط‌چینی افقی فونت بولد رسم کادر بولد متلب tabular extrafootnotefeatures text baselineskip شماره قسمت متن فارسی و انگلیسی tcolorbox فرمول چندخطی neveshtuft شکستن جدول بازیابی اطلاعات آپدیت texlive algorithm2e شعر ایتالیک لوگو sumatra bidipoem matlab eps xelatex fontspec texlive2014 زیرنویس لاتین computeautoilg نصب تک‌لایو متن دوستونه عنوان جدول عدم نمایش در خروجی xebaposter نمونه اسلاید. خطا یابی خطا در اجرا متن دو ستونه اجرا نشدن فایل rsync یال
4 نفر آنلاین
0 عضو و 4 مهمان در سایت حاضرند
بازدید امروز: 1257
بازدید دیروز: 5887
بازدید کل: 3261065

نحوه کشیدن نمودار توالی در لاتک

0 رای
94 بازدید

با سلام و احترام

من قصد دارم توسط لاتک نمودار توالی رسم کنم
برای این منظور از sequencediagram استفاده کرده‌ام (البته اصراری بر استفاده از این بسته ندارم و اگر کد دیگری مد نظر است بفرمایید)

چگونه می‌توان در نمودار توالی (sequence diagram) از انتهای یک خط به ابتدای خط دیگر، فلشی ترسیم نمود؟

% arara: pdflatex
% arara: clean1
% arara: clean: { files: [ Commands.aux , .main.ptd , TP.aux] }
 \documentclass{article}
 \usepackage[a3paper,landscape]{geometry}
\usepackage{pgf-umlsd}
\usepackage{tikz}
\usetikzlibrary{shapes,arrows}
\usepackage{xcolor}
    \definecolor{ultramarine}{rgb}{0.91, 1.0, 1.0}

\begin{document}

  \centering
    \scalebox{1}
    {  \begin{sequencediagram}
    \newthread{A}{\shortstack{\begin{tikzpicture}
\node [fill=ultramarine,draw=black,thick ,align=center] {A };
\end{tikzpicture}}}
    \newinst{B}{\shortstack{\begin{tikzpicture}
\node [fill=ultramarine,draw=black,thick ,align=center] {B };
\end{tikzpicture}}}
    \newinst{C}{\shortstack{\begin{tikzpicture}
\node [fill=ultramarine,draw=black,thick ,align=center] {C };
\end{tikzpicture}}}

\begin{messcall}{A}{ A2B }{B}
 \end{messcall}

\begin{messcall}{B}{B2C }{C}
\end{messcall}
  \end{sequencediagram}
  }
\end{document}

خروجی فعلی به صورت زیر است:

enter image description here

اما آنچه مد نظر من است، شکل زیر است:
enter image description here


ضمنا کدی که آقای بیات اضافه کردند، خروجی زیر را می‌دهد که هنوز با آنچه مد نظر است فاصله دارد به خصوص اگر نمودار توالی ادامه پیداکند، خط سمت چپ نیز طویل‌تر ! خواهد شد.
enter image description here

سوال شده 7 بهمن 1395 توسط حسین بهبودی (787 امتیاز)
ویرایش شده 11 بهمن 1395 توسط حسین بهبودی
باسلام. این messcal معمولا برای دیاگرام‌های UML استفاده می‌شود و حتما باید از یک Box شروع شود. یعنی شما باید سر خط یک Box نیز بگذارید.
درست می‌فرمایید.
الان سر خط (بالاتر از فلش) یک باکس هست
من میخاهم از ادامه آن کشیده شود

2 پاسخ

0 رای
 
بهترین پاسخ

با احترام و درود

کد زیر این کار را انجام می‌دهد:

% arara: xelatex 
% arara: clean1
\documentclass{article}
\usepackage{msc}

\usepackage{xepersian}
\settextfont{XB Niloofar}

\begin{document}

\begin{latin}
\begin{msc}{Example}
\setlength{\envinstdist}{1.5\envinstdist}
\declinst{i}{}{i}
\declinst{j}{}{j}

\regionstart{activation}{i}
\nextlevel[3]
\regionend{i}
\mess{\rl{یک پیغام}}{i}{j}
\regionstart{activation}{j}
\nextlevel
\regionend{j}
\nextlevel
\end{msc}
\end{latin}

\end{document}

خروجی:
enter image description here

پاسخ داده شده 14 بهمن 1395 توسط حسین بهبودی (787 امتیاز)
0 رای

چهار خط آخر قبل از پایان نمودار توالی را به این صورت تغییر دهید:

\begin{messcall}{A}{ \rl{فشار می‌دهد.} }{B}
\begin{messcall}{B}{ \rl{لامپ سبز روشن می‌شود.} }{G1}
\end{messcall}
\end{messcall}

آیا نتیجه مطلوب است؟

پاسخ داده شده 10 بهمن 1395 توسط ایمان بیات (1,848 امتیاز)
از حسن توجهتان ممنون
اما آنچه مد نظر من است متفاوت است
با این کار، خط سمت چپ به ازای هر استپ، پایین‌تر می‌آید
سوال را اصلاح کردم
ملاحظه بفرمایید
من راهنمای بسته pgf-umlsd را مطالعه کردم ولی چیزی پیدا نشد. با دستورات \postlevel و \prelevel می‌توان به حالت مطلوب شما نزدیک شد ولی باز هم دقیقاً آن چیزی که رسم کرده‌اید نمی‌شود. پیشنهادم این است که با بسته TikZ خودتان شکل را رسم کنید تا دستتان باز باشد.
 در هر حال این را هم امتحان کنید.
\begin{messcall}{A}{ \rl{فشار می‌دهد.} }{B}
\postlevel
\end{messcall}
\prelevel\prelevel
\begin{messcall}{B}{ \rl{لامپ سبز روشن می‌شود.} }{G1}
\end{messcall}
(همان چهار خط آخر)
ممنون
من هم راهنما را خوانده بودم گفتم شاید به روشی بشود
به هر حال زحمت کشیدید
...