@UseLatex کانال آموزشی – Telegram
@UseLatex کانال آموزشی
1.01K subscribers
387 photos
1 video
287 files
76 links
آموزش تایپ با لَتِک

ارتباط با ادمین :
@madad_sh
لینک کانال آموزشی UseLatex:
https://telegram.me/UseLatex
سوپر گروه پرسش و پاسخ
https://news.1rj.ru/str/+RV4IEnj0THQ1NTI0
Download Telegram
#درس۳۷۲ کاربرد بسته‌یTikz
🔊 رسم گراف به کمک بسته‌ی تیکزگراف در لاتک
فایل تک این دسته را در انتهای معرفی این محیط قرار می‌دهیم.
جهت مصون ماندن دستورات آنها را در قالب زیپ قرار می‌دهیم لذا خواهشمندیم آنها را ابتدا از حالت زیپ خارج و سپس استفاده کنید‌.
ابتدا بسته‌ی زیر را در مقدمه‌ی ستد و قبل از زی‌پرشین قرار دهید.
\usepackage{tkz-graph}
در این درس برآنیم تا ابتدا دستورات کلیدی در رسم به کمک این بسته را خدمت شما معرفی کنیم.
برای تغییر دادن اندازه‌ی کلی گراف از تغییر میزان آن در ابتدای دستو تیکزپیکچر به صورت زیر استفاده کنید. بدیهی است در صورت عدم استفاده از این آپشن میزان پیش‌فرض یک در نظر گرفته می‌شود که متناسب با عرض متن گراف رسم می‌شود.
\begin{tikzpicture}[scale=.8]
برای سفارشی کردن رئوس و یالها و برچسب نمایش یالها از دستور زیر استفاده کنید:
\tikzset{
LabelStyle/.style = {مشخصات برچسب یالها},
VertexStyle/.append style ={مشخصات رئوس},
EdgeStyle/.append style ={مشخصات یالها}
}
که در آن برای دستور
VertexStyle/.append style ={}
گزینه‌ی
rectangle
برای مستطیل شکل و در ترکیب با دستور
rounded corners
گوشه‌های مستطیل گرد(پخ) خواهد شد
و یا
circle
برای حالت دایره‌ای بودن رئوس می‌توان کمک گرفت. گزینه‌ی
draw
برای این است که دور مستطیل یا دایره خطی مشکی رسم می‌شود. گزینه‌ی
minimum width = 2em
پهنای متن را تغییر می‌دهد. گزینه‌ی
fill = green!35
نوع رنگ درون مستطیل یا دایره را مشخص می‌کند که می توانید با نوشتن عبارت ایجاد رنگ در ربات یا گروه معرفی رنگ را آموزش ببینید.
گزینه‌ی
text = blue
رنگ متن رأس را مشخص می‌کند. گزینه‌ی
font = \bfseries
نوع قلم نوشته درون رأس را مشخص می‌کند.
برای دستور
VertexStyle/.append style = {},
گزینه‌ی
inner sep=6pt
ابعاد پیش‌فرض برای اندازه‌ی رئوس را تغییر می‌دهد.
font = \Large\bfseries
فونت متن برچسب رأس را نشان می‌دهد.
برای دستور
EdgeStyle/.append style = {}
گزینه‌ی
->
برای گراف‌های جهت‌دار به کار می‌رود. گزینه‌ی
bend left
جهت حرکت یال جهت‌دار را نشان می‌دهد که در آن left در جهت عقربه‌های ساعت و right در جهت خلاف عقربه‌های ساعت می‌باشد.
یک طرح مطلوب از این دستورات به صورت زیر است.
\tikzset{
LabelStyle/.style = { rectangle, rounded corners, draw,
minimum width = 2em, fill = yellow!50,
text = red, font = \bfseries },
VertexStyle/.append style = { inner sep=6pt,
font = \Large\bfseries},
EdgeStyle/.append style = {->, bend left} }
ادامه‌ی توضیحات مربوط به رسم گراف را در پیام بعد ببینید.
تهیه کننده: شاپور مددپور
@UseLatex 📌۰
# ادامه‌ی‌درس ۳۷۲ کاربرد بسته‌یTikz
🔊 رسم گراف به کمک بسته‌ی تیکزگراف در لاتک
گزینه‌ی
Lpos=-90
دوران برچسب راس حول رأس که مقادیر منفی درجهت عقربه‌های ساعت و مثبت در خلاف جهت عقربه‌هاست.
\SetGraphUnit{3}
به این معنی هست که طول یال بین دو نقطه سه واحد پیش‌فرض باشد.
\Edge(A)(B)
به این معنی هست یال بین رأس A و رأسB
رسم شود. دستور
\Vertex{A}
به این معنی است که راسی به نام A رسم شود. در حالت کلی‌تر به صورت
\Vertex{A}\EA(A){B}
نمایش داده می‌شود.
که در آن
\EA(A){B}
به معنای درج رأس B در شرق رأس A است. از
\WE
برای غرب
و از
\NO
برای شمال و از
\SO
برای جنوب و از حالتهای ترکیبی زیر نیز می‌توتن کمک گرفت.
\NOEA
\NOWE
\SOEA
\SOWE
این دستورات و دستورات قبل را می‌توان به صورت ترکیبی زیر نوشت.
\Vertex{A}\EA(A){B}\Edge(A)(B)
دستور
\Edge[label = 1](A)(B)
به این معنی است که یال بین A و B رسم شود و به یال آن برچسب 1 را اختصاص دهید.
دستور
\Loop[dist = 4cm, dir = SO, label = 6](C)
به معنای رسم طوقه روی رأس C است که در آن گزینه‌ی
dist = 4cm
به معنای طول یال و گزینه‌ی
dir = SO
به معنای رسم طوقه در جنوب رأس است و گزینه‌ی
label = 6
برچسب روی یال است.
دستور
\tikzset{EdgeStyle/.append style = {bend left = 50}}
قبل از معرفی یال به معنای رسم یال در جهت عقربه‌های ساعت با زاویه‌ی 50 درجه است.
دستور
\Vertices{circle}{a0,a1,a2,a3,a4,a5,a6,a7}
به این معنی است که 8 نقطه‌ی فوق را به حالت دایره‌ای در کنار هم چیده شوند. دستور
\Edges(a0,a3,a6,a1,a4,a7,a2,a5,a0)
به معنای رسم دوری از
a0
به خودش می‌باشد. دستور‌های
\tikzset{EdgeStyle/.style = {-,bend left}}
و
\Edge(c)(d)
با هم به معنای رسم یال در گراف ساده است و دستور‌های
\tikzset{EdgeStyle/.style = {->,bend right=60}}
و
\Edge(e)(f)
برای رسم یال در گراف جهت دار با زاویه‌ی 60 درجه در جهت خلاف عقربه‌های ساعت است. دستور
\SetVertexLabelOut
برای نوشتن نام رأس در بیرون از رأس و دستور
\SetVertexLabelIn
برای نوشتن برچسب درون رأس است. دستور
\SetVertexMath
برای نوشتن نام راس در محیط ریاضی مانند
\Vertex {A_1}
است. و یا می‌توان بسته‌ی
\usepackage{amsmath}
را در مقدمه‌ی سند فراخواند که در این صورت نیازی به دستور قبل نیست.
دستور
\SetVertexNoLabel
برای نخوردن نام برای رأس است. دستور
\Vertex[LabelOut,Lpos=60,
Ldist=.5cm,x=2,y=0]{B}
ایجاد رأسی به نام B است که در آن گزینه‌ی
Lpos=60
به معنای موقعیت برچسب با رأس است که در اینجا 60 درجه در جهت خلاف عقربه‌های ساعت است.
گزینه‌ها‌ی
x=2,y=0
مختصات رأس است و گزینه‌ی
Ldist=.5cm
نشانگر فاصله‌ی برچسب رأس از آن است.
ادامه‌ی دستورات را در پیام بعد ببینید.
تهیه کننده: شاپور مددپور
@UseLatex 📌۰
# ادامه‌ی‌درس۳۷۲ کاربرد بسته‌یTikz
🔊 رسم گراف به کمک بسته‌ی تیکزگراف در لاتک
به کمک دستور زیر می‌توان در محیط تیکز پیکچر دامنه‌ی دستوری را برای چند رأس تعریف کرد
\begin{scope}[rotate=45]
\Vertices[Lpos=45]{circle}{C,E,A,B}
\end{scope}
که در آن
rotate
به معنای دوران 45 درجه شکل در جهت خلاف عقربه‌هاست.
برای نام‌گذاری نقطه‌ی تقاطع دو یال از دستورات زیر کمک بگیرید.
\coordinate (E) at (intersection of A- -C and B- -D);
\Vertex[Node]{E}
دستور
\Vertices[dir=\NOWE]{line}{A,E,F,G}
برای قرار دادن رئوس به صورت خطی در راستای جنوب غربی است.
دستورات
tr1,tr2,tr3,tr4
را به صورت زیر در محیط تیکز پیکچر قرار ذهید که موقعیت سه نقطه را در حالاتی مختلف نمایش می‌دهد.
\Vertices{tr2}{A,B,C}
دستورات
\draw[help lines] (0,0) grid (5,2);
\Vertices[x=1,y=2]{line}{A,B,C}
برای رسم صفحه‌ی شطرنجی است که قرار دادن رئوس را در موقعیت‌های مختلف ساده‌تر می‌کند.
دستورات دیگری نیز ممکن است در دروس بعد ببینید که توصیه می‌کنم راهنمای بسته‌ی تیکز گراف را که در انتهای این دروس قرار دارد را مطالعه کنید.
تهیه کننده: شاپور مددپور
@UseLatex 📌۰
# ادامه‌ی‌درس۳۷۲ کاربرد بسته‌یTikz
🔊 رسم گراف به کمک بسته‌ی تیکزگراف در لاتک
در این پیام انواع نمایش حالات مختلف برای رئوس را به شما معرفی می‌کنیم. فرم کلی دستورات را در مثالهای بعد ببینید و با خروجی آن که در پیام بعد قرار دارد مقایسه کنید.
\begin{tikzpicture}[scale=3]
\SetGraphUnit{3}
\GraphInit[vstyle=Normal]
\Vertex{A}\EA(A){B}
\Edge(A)(B)
\end{tikzpicture}
\vspace*{1cm}
\begin{tikzpicture}[scale=3]
\SetGraphUnit{3}
\GraphInit[vstyle=Empty]
\Vertex{A}\EA(A){B}\Edge(A)(B)
\end{tikzpicture}
\vspace*{1cm}
\begin{tikzpicture}[scale=3]
\SetGraphUnit{3}
\GraphInit[vstyle=Hasse]
\Vertex{A}\EA(A){B}\Edge(A)(B)
\end{tikzpicture}
\vspace*{1cm}
\begin{tikzpicture}[scale=3]
\SetGraphUnit{3}
\GraphInit[vstyle=Simple]
\Vertex{A}\EA(A){B}\Edge(A)(B)
\end{tikzpicture}
\vspace*{1cm}
\begin{tikzpicture}[scale=3]
\SetGraphUnit{3}
\GraphInit[vstyle=Classic]
\Vertex[Lpos=-90]{A}
\EA[Lpos=-90](A){B}\Edge(A)(B)
\end{tikzpicture}
\vspace*{1cm}
\begin{tikzpicture}[scale=3]
\SetGraphUnit{3}
\GraphInit[vstyle=Normal]
\Vertex{A}\EA(A){B}\Edge(A)(B)
\end{tikzpicture}
\vspace*{1cm}
\begin{tikzpicture}[scale=3]
\SetGraphUnit{3}
\GraphInit[vstyle=Classic]
\Vertex[Lpos=-90]{Paris}
\EA[Lpos=-90](Paris){Berlin}
\Edge (Paris)(Berlin)
\end{tikzpicture}
\vspace*{1cm}
\begin{tikzpicture}[scale=3]
\SetGraphUnit{3}
\GraphInit[vstyle=Shade]
\Vertex{A}\EA(A){B}\Edge(A)(B)
\end{tikzpicture}
\vspace*{1cm}
\begin{tikzpicture}[scale=3]
\SetGraphUnit{3}
\GraphInit[vstyle=Dijkstra]
\Vertex{A}\EA(A){B}\Edge[label=$7$](A)(B)
\end{tikzpicture}
\vspace*{1cm}
\begin{tikzpicture}[scale=3]
\SetGraphUnit{3}
\GraphInit[vstyle=Welsh]
\Vertex[Lpos=-90]{A}
\EA[Lpos=-90](A){B}\Edge(A)(B)
\end{tikzpicture}
\vspace*{1cm}
\begin{tikzpicture}[scale=3]
\SetGraphUnit{3}
\GraphInit[vstyle=Art]
\Vertex{A}\EA(A){B}\Edge(A)(B)
\end{tikzpicture}
\vspace*{1cm}
\begin{tikzpicture}[scale=3]
\SetGraphUnit{3}
\GraphInit[vstyle=Shade Art]
\Vertex{A}\EA(A){B}\Edge(A)(B)
\end{tikzpicture}
تهیه کننده: شاپور مددپور
@UseLatex 📌۰
⬆️ خروجی اول مربوط به درس ۳۷۲ در مورد تعریف استایلهای مختلف برای راس‌ها ⬆️
تهیه کننده: شاپور مددپور
@UseLatex 📌۰
# ادامه‌ی‌درس۳۷۲ کاربرد بسته‌یTikz
🔊 رسم گراف به کمک بسته‌ی تیکزگراف در لاتک
از کامندهای زیر نیز برای تغییر یا تعریف پیش‌فرضها در یک نوشته استفاده کرد.
\newcommand*{\VertexInnerSep}{0pt}
\newcommand*{\VertexOuterSep}{0pt}
\newcommand*{\VertexDistance}{3cm}
\newcommand*{\VertexShape}{circle}
\newcommand*{\VertexLineWidth}{0.8pt}
\newcommand*{\VertexLineColor}{black}
\newcommand*{\VertexLightFillColor}{white}
\newcommand*{\VertexDarkFillColor}{black}
\newcommand*{\VertexTextColor}{black}
\newcommand*{\VertexFillColor}{black}
\newcommand*{\VertexBallColor}{orange}
\newcommand*{\VertexBigMinSize}{24pt}
\newcommand*{\VertexInterMinSize}{18pt}
\newcommand*{\VertexSmallMinSize}{12pt}
\newcommand*{\EdgeFillColor}{orange}
\newcommand*{\EdgeArtColor}{orange}
\newcommand*{\EdgeColor}{black}
\newcommand*{\EdgeDoubleDistance}{1pt}
\newcommand*{\EdgeLineWidth}{0.8pt}
مثال:
\begin{tikzpicture}
\SetGraphUnit{3}
\GraphInit[vstyle=Art]
\renewcommand*{\VertexInnerSep}{8pt}
\renewcommand*{\EdgeLineWidth}{3pt}
\renewcommand*{\VertexBallColor}{blue!50}
\Vertices{circle}{A,B,C,D,E}
\Edges(A,B,C,D,E,A,C,E,B,D)
\end{tikzpicture}
خروجی این مثال را در پیام بعد ببینید.
تهیه کننده: شاپور مددپور
@UseLatex 📌۰
⬆️ خروجی دوم مربوط به درس ۳۷۲ در مورد تعریف کامندهای جدید ⬆️
تهیه کننده: شاپور مددپور
@UseLatex 📌۰
madadgraph5.rar
1 KB
⬆️ فایل اول تک مربوط به درس ۳۷۲
خروجی این فایل را در پیامهای بعد ببینید. ⬆️
تهیه کننده: شاپور مددپور
@UseLatex 📌۰
⬆️ خروجی سوم مربوط به درس ۳۷۲ ⬆️
تهیه کننده: شاپور مددپور
@UseLatex 📌۰
⬆️ خروجی چهارم مربوط به درس ۳۷۲ ⬆️
تهیه کننده: شاپور مددپور
@UseLatex 📌۰
⬆️ خروجی پنجم مربوط به درس ۳۷۲ ⬆️
تهیه کننده: شاپور مددپور
@UseLatex 📌۰
madadgraph6.tex
1.6 KB
⬆️ فایل دوم تکس مربوط به درس ۳۷۲
خروجی این فایل را در پیامهای بعد ببینید. ⬆️
تهیه کننده: شاپور مددپور
@UseLatex 📌۰
⬆️ خروجی ششم مربوط به درس ۳۷۲ ⬆️
تهیه کننده: شاپور مددپور
@UseLatex 📌۰
# ادامه‌ی‌درس۳۷۲ کاربرد بسته‌یTikz
🔊 رسم گراف به کمک بسته‌ی تیکزگراف در لاتکس
در دو پیام بعد به ترتیب فایل تکس و خروجی مثالی از این بسته را که دوست عزیزم جناب مجتبی احمدی تهیه کرده را قرار می‌دهم.
تهیه کننده: مجتبی احمدی
@UseLatex 📌۰
mojtaba graph.rar
597 B
⬆️ فایل تکس سوم مربوط به درس ۳۷۲
خروجی این فایل را در پیامهای بعد ببینید. ⬆️
تهیه کننده: مجتبی احمدی
@UseLatex 📌۰
⬆️ خروجی هفتم مربوط به درس ۳۷۲ ⬆️
تهیه کننده: مجتبی احمدی
@UseLatex 📌۰
tkz-graph-screen.pdf
278.3 KB
⬆️ راهنمای بسته‌ی تیکز‌گراف ⬆️
@UseLatex 📌۰
#‌درس۳۷۳
🔊 رسم دیاگرام به کمک بسته‌ی tikzcd در لاتک
تذکر مهم: در دروس ۱۹۱ به بعد به کمک بسته‌ی
\usepackage[all]{xy}
درسهایی از رسم دیاگرام را آموزش دادیم. خواهشمند است برای یادگیری بهتر آن دروس را نیز مطالعه کنید.
در این درس برآنیم تا رسم دیاگرام‌ها را به کمک بسته‌ی تیکز‌سی‌دی اموزش دهیم.
با توجه به اینکه فلشها ( پیکانها) نقش مهمی در این محیط دارند ابتدا به پیام بعد توجه کنید که انواع فلشها را در آن معرفی می‌کنیم.
ابتدا در مقدمه‌ی سند بسته و کتابخانه‌ی زیر را اضافه کنید.
\usepackage{tikz-cd}
\usetikzlibrary{cd}
در انتهای این دروس بسته‌ی تیکز‌سی‌دی را برای شناخت بهتر این محیط قرار می‌دهیم.
تهیه کننده: شاپور مددپور
@UseLatex 📌
⬆️ خروجی اول مربوط به درس ۳۷۳ ⬆️
برای دیدن تصویر واضح‌تر از راهنمای بسته‌ی تیکزسی‌دی‌ در انتهای دروس این قسمت استفاده کنید.
تهیه کننده: شاپور مددپور
@UseLatex 📌۰
# ادامه‌ی‌درس۳۷۳
🔊 رسم دیاگرام به کمک بسته‌ی tikzcd در لاتک
حال به معرفی آپشنهایی از این محیط می‌پردازیم.
دستور
\arrow
جهت رسم فلش است که دارای آپشنهایی است که در زیر به معرفی آنها می‌پردازیم. توجه کنید که جهت فلش همیشه از نقطه‌ی شروع به سمت نقطه‌ی پایان است.
تذکر: دستور زبر خلاصه‌ی دستور بالاست.
\ar
مثلا دستور
Y \arrow[u,red]
یعنی فلشی به سمت بالا رسم کنید که از Y شروع شود و به درایه‌ی بالای آن رسم شود.
آپشن
d
به این معنی است که فلش به سمت پایین رسم شود.
آپشن
u
به این معنی است که فلش به سمت بالا رسم شود.
آپشن
l
به این معنی است که فلش به سمت چپ رسم شود.
آپشن
r
به این معنی است که فلش به سمت پایین رسم شود.
تذکر مهم: برای فلش‌هایی که به صورت مایل هستند نیز همین قاعده وجود دارد اما باید از حالات ترکیبی استفاده کنید. به نمونه‌های زیر توجه کنید:
آپشن
dl
به این معنی هست که فلشی به سمت پایین و سمت چپ رسم شود.
آپشن
ddr
به این معنی هست که فلشی به سمت دومین گزینه‌ی پایین از سمت رسم شود.
آپشن
drr
به این معنی هست که فلشی به سمت دومین گزینه‌ی سمت راست از پایین رسم شود.
دستور
A \arrow[to=2-1, red] \arrow[to=2-2, blue]
به این معنی است که از نقطه‌ی A فلشی به درایه‌ی سطر دوم و ستون اول با رنگ قرمز و همچنین از A فلشی به درایه‌ی سطر دوم و ستون دوم به رنگ آبی رسم شود.
گزینه‌ی
bend right=20
به معنای این است که فلشی منحنی‌وار در جهت خلاف عقربه‌های ساعت و با زاویه‌ی 20 درجه با سطح افق رسم ‌شود.
گزینه‌ی
bend left=-20
به معنای این است که فلشی منحنی‌وار در جهت عقربه‌های ساعت با زاویه‌ی 20 درجه با سطح افق رسم ‌شود.
آپشن رنگ نیز جزء آپشنهای این دستور هست.
آپشن
"g"
به این معنی است که روی فلش حرف g نوشته شود.
آپشن
dotted
به معنای نقطه نقطه رسم شدن فلش هست که شامل موارد زیر است که می‌توانید انتخاب کنید.
dashed,densely dashed,loosely dashed,densely dotted,loosely dotted

آپشن
line width=.5mm
جهت تغییر پهنای فلش به کار می‌رود.
از گزینه‌های پیش‌فرض زیر نیز می‌توانید استفاده کنید.
ultra thin, very thin, thin, semithick, thick, very thick, ultra thick
آپشن denoscription در دستور زیر به معنای این است که زوج مرتب داده شده روی فلش نوشته شود.
"{(x,y)}" denoscription
آپشن‌های
near start
جهت نوشتن روی ابتدای فلش و
near end
جهت نوشتن روی انتهای فلش استفاده می‌شود.
تهیه کننده: شاپور مددپور
@UseLatex 📌۰
#ادامه‌ی‌درس۳۷۳
🔊 رسم دیاگرام به کمک بسته‌ی tikzcd در لاتک
تذکر مهم: این محیط شباهت زیادی به محیط ماتریس از جهت درایه نویسی دارد و با علامت & ستونها از هم مجزا می‌شوند. مثلا اگر از دو تا & & استفاده شود به این معنی است که سه ستون داریم یکی قبل از & اولی و یکی بین و دیگری بعد از & دوم است. با دو تا بک اسلش هم که به سطر بعد می‌رویم.
نکته‌ی مهم در این قسمت این است که تعداد ها باید در هر سطر با هم برابر باشند و چنانچه ستونی را نمی‌خواهیم‌ در آن عبارتی بنویسیم آن ستون را خالی قرار می‌دهیم.
از گزینه‌ی
[1.5em]
در هر ستون می‌توانید فاصله‌ی افقی بین ستونها با اندازه‌ی دلخواه تغییر داد.
از آپشن
[column sep=small]
در جلوی محیط
\begin{tikzcd}
می‌توان فاصله‌ی بین ستونها را تغییر داد. به جای
small
از گزینه‌های تغییر سایز مثل tiny و ... تا Huge
نیز استفاده کرد.
دستور
row sep=huge
مشابها برای تغییر فاصله‌ی سطرها به کار می‌رود.
آپشن
cramped
در جلوی
\begin{tikzcd}
جهت کوتاه شدن طول فلشها نسبت به حالت پیش‌فرض هست.
با جایگزاری دستور
\tikzcdset{
arrow style=tikz,
diagrams={>={Straight Barb[scale=.8]}}
}
در مقدمه‌ی سند می‌توان اندازه‌ی نوک پیکان را به دلخواه تغییر داد.
تذکر: دستورات جانبی دیگری نیز در این محیط داریم که در ضمن دروس به آنها می‌پردازیم.
حال به ارائه‌ی مثالهایی از این محیط می‌پردازیم.
مثال:
\begin{tikzcd}
A \arrow[r]
& B \arrow[r, shift left]
\arrow[r, shift right]
& C \arrow[r]
\arrow[r, shift left=3]
\arrow[r, shift right=4]
\arrow[r, shift right=7]
\arrow[r, shift left=7]
& \cdots
\end{tikzcd}
در درس بالا اولین فلش را با آپشن r رسم کرده‌ایم اما برای فلشهایی موازی آن right به معنای پایین آن فلش ( که در واقع سمت راست ان است ) و left به معنای بالای آن فلش فلشهای دیگری رسم شود. اعداد ۷ و ۴ و ....نیز تعیین کننده‌ی فاصله‌ی فلشها بر حسب واحد از فلش اول است.
خروجی مثال را در پیام بعد ببینید.
تهیه کننده: شاپور مددپور
@UseLatex 📌