.TH PREREX 5 2019-11-15 "prerex_format" "" .SH "نام (NAME)" prerex_format \-\- قالبی برای توصیف نمودارهای دروس پیش‌نیاز .SH "توضیحات (DESCRIPTION)" این راهنما قالب توصیف نمودارهای پیش‌نیاز را شرح می‌دهد که می‌توانند توسط .B [pdf]latex (معمولاً با استفاده از یک فایل استایل مناسب .BR prerex.sty (7)) پردازش شده و با استفاده از ویرایشگر تعاملی .BR prerex (1) (یا توسط هر ویرایشگر متن متداول دیگر) ویرایش شوند. .SH "اصطلاحات (TERMINOLOGY)" یک نمودار پیش‌نیاز شامل تعدادی .I جعبه درس (course boxes) است که با .I فلش‌ها (arrows) به یکدیگر متصل شده‌اند. دروس یا .I نیم‌ترم (half) یا .I تمام‌ترم (full) هستند، و ممکن است .I الزامی (required) یا .I اختیاری (optional) باشند (یا هیچ‌کدام). هر جعبه درس می‌تواند شامل یک .I کد درس (code) (گوشه بالا چپ)، یک .I عنوان درس (title) (نیمه پایینی) و اطلاعات .I برنامه زمانی (timetable) (گوشه بالا راست) باشد. یک فلش می‌تواند .I پیش‌نیاز (prerequisite) (خط ممتد)، .I هم‌نیاز (corequisite) (نقطه‌چین)، یا .I توصیه‌شده (recommended) (خط‌چین) باشد. هنگامی که یک فلش معمولی نامناسب باشد، می‌توان از یک درس .I مینی (mini) درست بالای جعبه هدف استفاده کرد. .SH "ساختار (STRUCTURE)" فایل باید دقیقاً شامل یک نمونه از محیط LaTeX باشد: .P .BI \ebegin{chart} " دستورات ... " \eend{chart} .P با حداکثر یک .I دستور در هر خط. توجه داشته باشید که برنامه‌ای مانند .BR prerex (1) فایل‌های با قالب prerex را .I بدون استفاده از TeX تحلیل می‌کند؛ برای مثال، تعاریف ماکرو نادیده گرفته می‌شوند و فراخوانی‌های ماکرو بسط داده .I نخواهند شد. .PP دستورات می‌توانند با فاصله خالی (white space) شروع شوند. خطوطی که با % شروع می‌شوند به عنوان کامنت در نظر گرفته شده و نادیده گرفته می‌شوند. ترتیب دستورات اهمیتی ندارد جز اینکه دستور مربوط به جعبه مبدا و مقصد یک فلش باید .I قبل از دستور خود فلش بیاید. قالب دستورات در بخش‌های زیر شرح داده شده است. .SH "جعبه‌های درس (COURSE BOXES)" دستوراتی که جعبه‌های درس را ایجاد می‌کنند فرم‌های زیر را دارند: .HP .BI \ehalfcourse " x,y" :{ code }{ title }{ timetable } .HP .BI \efullcourse " x,y" :{ code }{ title }{ timetable } .HP .BI \ereqhalfcourse " x,y" :{ code }{ title }{ timetable } .HP .BI \ereqfullcourse " x,y" :{ code }{ title }{ timetable } .HP .BI \eopthalfcourse " x,y" :{ code }{ title }{ timetable } .HP .BI \eoptfullcourse " x,y" :{ code }{ title }{ timetable } .LP که در آن .I x,y مختصات .I نقطه مرکزی (centerpoint) جعبه هستند، نسبت به مبدا سیستم مختصات در گوشه پایین سمت چپ دیاگرام. آرگومان‌های .IR code ، .I title و .I timetable متن‌های اختیاری (با براکت‌بندی صحیح) هستند، که احتمالاً شامل نشانه‌گذاری‌های LaTeX می‌باشند. موارد زیر مشابه هستند اما یک آرگومان اضافی برای تعیین رنگ پس‌زمینه (غیر پیش‌فرض) جعبه درس می‌گیرند: .IP .BI \ehalfcoursec " x,y" :{ code }{ title }{ timetable }{ color } .IP .BI \efullcoursec " x,y" :{ code }{ title }{ timetable }{ color } .IP .BI \ereqhalfcoursec " x,y" :{ code }{ title }{ timetable }{ color } .IP .BI \ereqfullcoursec " x,y" :{ code }{ title }{ timetable }{ color } .IP .BI \eopthalfcoursec " x,y" :{ code }{ title }{ timetable }{ color } .IP .BI \eoptfullcoursec " x,y" :{ code }{ title }{ timetable }{ color } .LP .SH "جعبه‌های درس مینی و متن (MINI COURSE BOXES AND TEXT)" یک درس مینی توسط دستوری به شکل زیر ایجاد می‌شود: .HP .BI \emini " x,y" :{ code } .HP یک خط متن توسط دستوری به فرم زیر در نمودار درج می‌شود: .HP .BI \etext " x,y" :{ line-of-text } .HP حداکثر طول مجاز برای کد درس ممکن است کمتر از حداکثر طول مجاز برای یک خط متن باشد. .SH "فلش‌ها (ARROWS)" فلش‌های بین جعبه‌های درس (یا از یک مینی به یک جعبه درس) توسط دستوراتی به شکل زیر ایجاد می‌شوند: .HP .BI \eprereq " x0,y0,x1,y1" : .HP .BI \ecoreq " x0,y0,x1,y1" : .HP .BI \erecomm " x0,y0,x1,y1" : .LP این‌ها به ترتیب فلش‌های ممتد، نقطه‌چین و خط‌چین از جعبه درس (یا مینی) با مرکز در مختصات .I x0,y0 به جعبه درس با مرکز در مختصات .I x1,y1 تولید می‌کنند. .PP در برخی پیاده‌سازی‌ها، برخی فلش‌ها به طور پیش‌فرض دارای انحنای غیرصفر هستند. می‌توان با استفاده از دستورات زیر انحنای پیش‌فرض را برای یک فلش خاص تغییر داد: .HP .BI \eprereqc " x0,y0,x1,y1;c" : .HP .BI \ecoreqc " x0,y0,x1,y1;c" : .HP .BI \erecommc " x0,y0,x1,y1;c" : .LP که در آن .I c یک عدد صحیح در محدوده -100:100 است که انحنای مطلوب را مشخص می‌کند؛ برای مثال، .IR c= 0 یک فلش .I مستقیم تولید می‌کند. برای تغییر انحنای پیش‌فرض، برنامه کاربر می‌تواند دستور .B \eDefaultCurvature را مجدداً تعریف کند. .SH "شبکه مختصات (COORDINATE GRID)" دستور زیر یک شبکه مختصات ایجاد می‌کند که برای ویرایش دیاگرام مفید است: .HP .B \egrid .LP این دستور معمولاً قبل از سایر دستورات قرار می‌گیرد تا خطوط شبکه در پس‌زمینه باشند و توسط جعبه‌های درس، مینی‌ها و فلش‌ها پوشانده شوند. .SH "پیوندهای وب (WEB LINKS)" جعبه‌های درس می‌توانند به آدرس‌های وب پیوند داده شوند. نشانی وب (URL) برای جعبه‌های درس می‌تواند توسط کاربر از طریق تعریف مجدد دستور .B \eCourseURL تنظیم شود؛ هنگامی که برای یک جعبه درس فراخوانی می‌شود، سه آرگومان دریافت می‌کند: مختصات .I x و .I y جعبه، مینی یا خط متن، و آرگومان .I code جعبه درس. برای مثال، .HP .B \erenewcommand{\eCourseURL}[3]{http://www.cs.queensu.ca/undergraduate/courses/#3.html} .LP برای دروس در School of Computing, Queen's University مناسب است. دو آرگومان اول را می‌توان برای نمایش مختصات یک جعبه، مینی یا خط متن در برخی نمایش‌دهنده‌های PDF در هنگام نگه داشتن ماوس روی آن در حین ویرایش فایل سورس استفاده کرد. .SH "نویسنده (AUTHOR)" R. D. Tennent (rdt@cs.queensu.ca) .SH "همچنین ببینید (SEE ALSO)" .BR prerex (1), .BR prerex.sty (7).