میتوان به راحتی یک node
حاوی سهنقطه اضافه کرد و تنظیمات آن را متفاوت از سایر node
ها قرار داد. ابتدا برای اینکه قادر باشیم تنظیم drop shadow
را از یک node
خاص حذف کنیم، دستور زیر را در پیشدرآمد قرار دهید:
\makeatletter
\tikzset{no shadows/.code=\let\tikz@preactions\pgfutil@empty}
\makeatother
حال برای نوشتن سهنقطه node
زیر را در مکان مناسب قرار دهید:
[$\cdots$,draw=none,fill=none,no shadows,no edge]
دقت کنید که draw=none
برای حذف کادر، fill=none
برای حذف رنگ داخل و no edge
برای حذف خط قبل از node
به کار رفتهاند. کد کامل و قابل اجرا به شکل زیر خواهد بود:
\documentclass{article}
\usepackage[edges]{forest}
\usetikzlibrary{shadows.blur}
\makeatletter
\tikzset{no shadows/.code=\let\tikz@preactions\pgfutil@empty}
\makeatother
\usepackage{xepersian}
\settextfont{Yas}
\begin{document}
\begin{figure}
\centering
\begin{forest}
for tree={
if level=0{align=center}{% allow multi-line text and set alignment align={@{}C{45mm}@{}},
},
grow=west,
draw,
forked edge,
parent anchor=west,
child anchor=east,
l sep=10mm,
tier/.wrap pgfmath arg={tier #1}{level()},
edge={ultra thick, rounded corners=2pt},
fill=white,
rounded corners=2pt,
drop shadow,
}
[\rl{رمزنگاری}
[\rl{بدون کلید}
[\rl{توابع درهمریختی}]
[$\cdots$,draw=none,fill=none,no shadows,no edge]
[\rl{استخراجکنندههای تصادفی}]
]
[\rl{کلید متقارن}
[\rl{رمز قالبی}]
[\rl{رمز جریانی}]
[$\cdots$,draw=none,fill=none,no shadows,no edge]
[\rl{کدهای صحتسنجی پیام}]
[\rl{طرحهای رمزنگاری مجوزدار}]
]
[\rl{کلید نامتقارن}
[RSA]
[$\cdots$,draw=none,fill=none,no shadows,no edge]
[\rl{امضای دیجیتال}]
]
]
\end{forest}
\caption{دستهبندی الگوریتمهای رمزنگاری معمول}
\label{fig1-1}
\end{figure}
\end{document}
نتیجه:
نکته ۱: برای نوشتن یک عبارت فارسی به جای برعکس نوشتن، آن را داخل \rl{}
قرار دهید.
نکته ۲: برای اینکه خطوط به حالت چنگالی نمایش داده شوند کافی است از تنظیم forked edge
استفاده کنید. کدی که خودتان استفاده کردهاید مانع از حذف خط قبل از node
میشود.