'\" et .TH \%eqn 1 "2026-03-15" "groff 1.24.1" .SH "نام (NAME)" \%eqn \- قالب‌بندی ریاضیات (معادلات) برای .I groff یا MathML . . .\" ==================================================================== .\" Legal Terms .\" ==================================================================== .\" .\" Copyright 1989-2014 Free Software Foundation, Inc. .\" 2020-2026 G. Branden Robinson .\" .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. .\" .\" Permission is granted to copy and distribute modified versions of .\" this manual under the conditions for verbatim copying, provided that .\" the entire resulting derived work is distributed under the terms of .\" a permission notice identical to this one. .\" .\" Permission is granted to copy and distribute translations of this .\" manual into another language, under the above conditions for .\" modified versions, except that this permission notice may be .\" included in translations approved by the Free Software Foundation .\" instead of in the original English. . . .\" Save and disable compatibility mode (for, e.g., Solaris 10/11). .do nr *groff_eqn_1_man_C \n[.cp] .cp 0 . .\" Define fallback for groff 1.23's MR macro if the system lacks it. .nr do-fallback 0 .if !\n(.f .nr do-fallback 1 \" mandoc .if \n(.g .if !d MR .nr do-fallback 1 \" older groff .if !\n(.g .nr do-fallback 1 \" non-groff *roff .if \n[do-fallback] \{\ . de MR . ie \\n(.$=1 \ . I \%\\$1 . el \ . IR \%\\$1 (\\$2)\\$3 . . .\} .rr do-fallback . . .ie \n(.V<\n(.v \ . ds tx T\h'-.1667m'\v'.224m'E\v'-.224m'\h'-.125m'X .el \ . ds tx TeX . . .\" ==================================================================== .SH "خلاصه دستور (SYNOPSIS)" .\" ==================================================================== . .SY \%eqn .RB [ \-CNrR ] .RB [ \- d\~\c .IR xy ] .RB [ \-f\~\c .IR global-italic-font ] .RB [ \-m\~\c .IR minimum-type-size ] .RB [ \-M\~\c .IR eqnrc-directory ] .RB [ \-p\~\c .IR super/subscript-size-reduction ] .RB [ \-s\~\c .IR global-type-size ] .RB [ \-T\~\c .IR device ] .RI [ file\~ .\|.\|.] .YS . . .P .SY \%eqn .B \-\-help .YS . . .P .SY \%eqn .B \-v .YS . .SY \%eqn .B \%\-\-version .YS . . .\" ==================================================================== .SH "توضیحات (DESCRIPTION)" .\" ==================================================================== . پیاده‌سازی گنو از .I eqn \" GNU بخشی از سامانه قالب‌بندی اسناد .MR groff 7 است. . .I \%eqn یک پیش‌پردازنده .MR \%troff 1 است که عبارات بیان‌شده به زبان اختصاصی خود را که در ورودی .MR roff 7 گنجانده شده‌اند، به نشانه‌گذاری‌های ریاضی حروف‌چینی‌شده توسط .MR \%troff 1 ترجمه می‌کند. . این برنامه محتوای هر .IR پرونده را به جریان خروجی استاندارد رونویسی می‌کند و هر .I معادله را که بین خطوط شروع‌شونده با .B .EQ و .B .EN یا در میان یک جفت نویسه جداکننده تعیین‌شده توسط کاربر قرار دارد ترجمه می‌نماید. . معمولاً .I \%eqn به‌طور مستقیم توسط کاربر اجرا نمی‌شود، بلکه با مشخص کردن گزینه .B \-e در .MR groff 1 فراخوانی می‌گردد. . اگرچه نحو ورودی .I eqn گنو سازگاری بالایی با .I eqn در AT&T دارد، اما خروجی تولیدشده توسط .I \%eqn نمی‌تواند توسط .I troff در AT&T پردازش شود؛ بلکه باید از .I troff گنو (یا یک .I troff عمومی که افزونه‌های مرتبط گنو را پیاده‌سازی کرده باشد) استفاده شود. . اگر هیچ عملوند .I فایلی مشخص نشده باشد، یا اگر .I پرونده برابر .RB \[lq] \- \[rq] باشد، .I \%eqn جریان ورودی استاندارد را می‌خواند. . . .P مگر در حالتی که گزینه .B \-R استفاده شده باشد، .I \%eqn فایل .I eqnrc را ابتدا در پوشه‌های مشخص‌شده با گزینه .B \-M ، سپس در .if !'no'no' .IR /usr/\:\%lib/\:\%groff/\:\%site\-tmac ، .IR /usr/\:\%share/\:\%groff/\:\%site\-tmac و در نهایت در پوشه استاندارد ماکروها یعنی .IR /usr/\:\%share/\:\%groff/\:\%1.24.1/\:\%tmac جستجو می‌کند. . اگر این فایل وجود داشته و قابل خواندن باشد، .I \%eqn پیش از هر ورودی دیگری آن را پردازش می‌کند. . . .P این صفحه راهنما عمدتاً به تفاوت‌های میان .I eqn گنو و .I eqn در AT&T می‌پردازد. . بیشتر قابلیت‌های جدید زبان ورودی .I eqn گنو بر پایه \*[tx] هستند. . در ادامه اشاراتی به تفاوت‌های میان \*[tx] و .I eqn گنو آمده است؛ اگر با \*[tx] آشنایی ندارید می‌توانید با خیال آسوده از آن‌ها صرف‌نظر کنید. . چهار نکته شایان توجه است: . . .IP \[bu] 3n نسخه گنو .I eqn \" GNU هنگامی که با گزینه .RB \[lq] "\-T\~MathML" \[rq] فراخوانی شود، خروجی Presentation MathML تولید می‌کند. . . .IP \[bu] نسخه گنو .I eqn \" GNU پشتیبانی خوبی از دستگاه‌های ترمینال ندارد، هرچند ممکن است برای ورودی‌های ساده کافی باشد. . . .IP \[bu] نسخه گنو .I eqn \" GNU نشانه ورودی .RB \[lq] .\|.\|.\& \[rq] را به‌صورت سه‌نقطه روی خط پایه متن قرار می‌دهد، نه سه‌نقطه در مرکز خط که در .I eqn مربوط به AT&T وجود داشت. . برای قرار دادن سه‌نقطه روی محور ریاضی، از ماکروی الحاقی گنو به نام .BR cdots استفاده کنید. . . .IP \[bu] دستور اولیه .B delim در .I eqn گنو، آرگومان .RB \[lq] on \[rq] را به‌عنوان یک جفت جداکننده معادله تلقی نمی‌کند. . .SS "ساختار یک معادله (Anatomy of an equation)" .\" ==================================================================== . ورودی .I eqn از نشانه‌ها (توکن‌ها) تشکیل شده است. . شکل قانون دوم نیوتن برای حرکت با جرم ثابت را در نظر بگیرید. . ورودی . . .P .RS .EX \&.EQ F = m a \&.EN .EE .RE . . .P تبدیل می‌شود به .EQ F = m a. .EN . هر یک از .BR F ، .BR = ، .BR m ، و .B a یک نشانه است. . . فاصله‌ها و خطوط جدید قابل تعویض با یکدیگرند؛ آن‌ها نشانه‌ها را جدا می‌کنند اما خطوط را نمی‌شکنند یا در خروجی فاصله‌ای ایجاد نمی‌کنند. . . .P گذشته از کارکردهای اصلی، نویسه‌های ورودی زیر نیز نشانه‌ها را از یکدیگر جدا می‌سازند. . . .TP .B "{ }" آکولادها عمل گروه‌بندی را انجام می‌دهند. . در حالی که .RB \[lq] "e sup a b" \[rq] بیانگر .ie n .RI \[lq]( e "\~به توان\~" a )\~ضرب‌در\~ b \[rq]، .el \{\ .EQ e sup a b , .EN .\} است، .RB \[lq] "e sup { a b }" \[rq] به معنای .ie n .RI \[lq] e "\~به توان\~(" a \~ضرب‌در\~ b )\[rq] .el \{\ .EQ e sup { a b } . .EN .\} می‌باشد. . هنگامی که بی‌درنگ پیش از یک دستور اولیه .RB \[lq] left \[rq] یا .RB \[lq] right \[rq] بیایند، آکولاد معنای ویژه خود را از دست می‌دهد. . . .TP .B "\[ha] \[ti] به ترتیب .I "نیم‌فاصله" و .I "فاصله کامل" هستند. . از آن‌ها برای تنظیم دقیق ظاهر خروجی استفاده کنید. . . .P نویسه‌های تب (Tab) و لیدر (Leader) نشانه‌ها را از هم جدا می‌کنند و موقعیت ترسیم را به توقفگاه تب بعدی می‌برند، اما به‌ندرت در ورودی .I eqn به‌کار می‌روند. . هنگام وقوع، باید در بیرونی‌ترین دامنه واژگانی ظاهر شوند. . این امر بدان معناست که نمی‌توانند درون آکولادهایی که برای رفع ابهام ورودی لازم هستند قرار گیرند؛ در چنین حالتی .I \%eqn یک خطا گزارش خواهد کرد. . (برای قواعد تکمیلی جداسازی نشانه‌ها، به زیربخش \[lq]ماکروها\[rq] در ادامه مراجعه کنید.) . . .P نشانه‌های دیگر عبارتند از دستورات اولیه (primitives)، ماکروها، آرگومانی برای هر یک از موارد فوق، یا اجزای یک معادله. . . .br .ne 4v .P .I دستورات اولیه (Primitives) کلیدواژه‌های بنیادین زبان .I eqn هستند. . آن‌ها می‌توانند جنبه‌ای از وضعیت پیش‌پردازنده را پیکربندی کنند، مانند تنظیم انتخاب قلم \[lq]سراسری\[rq] یا اندازه قلم .RB ( gifont و .BR gsize )، یا تعریف و حذف ماکروها .RB \%(\[lq] define \[rq] و .BR undef )؛ به این موارد .I فرمان‌ها گفته می‌شود. . سایر دستورات اولیه عملیات قالب‌بندی را بر روی نشانه‌های پیرامون خود انجام می‌دهند (مانند .BR fat ، .BR over ، .BR sqrt ، یا .BR up ). . . .P .I اجزای معادله شامل متغیرهای ریاضی، ثابت‌ها، مقدارهای عددی، و عملگرها هستند. . .I \%eqn برخی از دنباله‌های نویسه‌ای ورودی را به دنباله‌های گریز نویسه ویژه .I groff بازتکاشت می‌کند تا در ورود معادلات صرفه‌جویی شده و اطمینان حاصل شود که گلیف‌هایی از قلم بدون‌استایل استفاده می‌شوند؛ ببینید: .MR groff_char 7 . . . .P .RS .TS tab(@); Lf(CR) Lf(CR) Lw(1i) Lf(CR) Lf(CR). +@\[rs][pl]@\&@\[aq]@\[rs][fm] -@\[rs][mi]@\&@<=@\[rs][<=] \&=@\[rs][eq]@\&@>=@\[rs][>=] .TE .RE . . .P .I ماکروها امکان می‌دهند دستورات اولیه، اجزا، و سایر ماکروها گردآوری شده و به‌صورت یک نشانه واحد استفاده شوند. . ماکروهای از پیش تعریف‌شده، آماده‌سازی ورودی .I eqn را به شکلی شبیه به بیان گفتاری آن آسان می‌سازند؛ برای نمونه، .BR cos ، .BR hat ، .BR inf ، و .B lim را در نظر بگیرید. . . .\" ==================================================================== .SS "فاصله‌گذاری و قلم حروف (Spacing and typeface)" .\" ==================================================================== . نسخه گنو .I eqn یک نوع (type) را به هر جزء معادله نسبت می‌دهد، و فاصله اطراف آن را بر این اساس تنظیم می‌کند. . انواع شناخته‌شده به شرح زیر هستند؛ اغلب آن‌ها تنها بر فاصله‌گذاری اثر می‌گذارند، در حالی که زیرنوع .RB \%\[lq] letter \[rq] از .RB \%\[lq] ordinary \[rq] یک سبک قلم را نیز تعیین می‌کند. . . .RS 2n \" we need quite a bit of horizontal space for this table .P .TS Lf(CR) Lx Af(CR) Lx Af(CR) Lx Lf(CR) Lx. ordinary T{ نویسه‌ای مانند \[lq]1\[rq]، \[lq]a\[rq]، یا \[lq]!\&\[rq] T} letter نویسه‌ای که به‌طور پیش‌فرض مورب (ایتالیک) می‌شود digit \f[I]ناموجود / کاربرد ندارد\f[] operator T{ عملگر بزرگ مانند .ds Su \[lq]\s+5\[*S]\s0\[rq] .if \n(.g .if !c\[*S] .ds Su the summation operator \*[Su] .rm Su T} binary عملگر دودویی مانند \[lq]\[pl]\[rq] relation عملگر رابطه‌ای مانند \[lq]=\[rq] opening قلاب یا پرانتز بازکننده مانند \[lq](\[rq] closing قلاب یا پرانتز بندنده مانند \[lq])\[rq] punctuation نویسه نشانه‌گذاری مانند \[lq],\[rq] inner زیرفرمول محصور درون قلاب‌ها suppress مؤلفه‌ای که فاصله‌گذاری خودکار بر آن اعمال نمی‌شود .TE .RE . . .P دو دستور اولیه انواع را به اجزای معادله اعمال می‌کنند. . . .TP .BI type\~ "t e" نوع .RI \~ t را به عبارت .RI \~ e اعمال می‌کند. . . .TP .BI chartype\~ "t text" به هر نویسه در .I متن (بدون گیومه) نوع .RI \~ t را به‌صورت پایدار نسبت می‌دهد. . . .P .I \%eqn \" GNU فاصله‌گذاری‌ها و سبک‌ها را همانند دستورات زیر تنظیم می‌کند. . .P .RS .TS tab(@); Lf(CR)1 Lf(CR). chartype \[dq]letter\[dq]@abcdefghiklmnopqrstuvwxyz chartype \[dq]letter\[dq]@ABCDEFGHIKLMNOPQRSTUVWXYZ chartype \[dq]letter\[dq]@\[rs][*a]\[rs][*b]\[rs][*g]\[rs][*d]\[rs][*e]\ \[rs][*z] chartype \[dq]letter\[dq]@\[rs][*y]\[rs][*h]\[rs][*i]\[rs][*k]\[rs][*l]\ \[rs][*m] chartype \[dq]letter\[dq]@\[rs][*n]\[rs][*c]\[rs][*o]\[rs][*p]\[rs][*r]\ \[rs][*s] chartype \[dq]letter\[dq]@\[rs][*t]\[rs][*u]\[rs][*f]\[rs][*x]\[rs][*q]\ \[rs][*w] chartype \[dq]binary\[dq]@*\[rs][pl]\[rs][mi] chartype \[dq]relation\[dq]@<>\[rs][eq]\[rs][<=]\[rs][>=] chartype \[dq]opening\[dq]@{([ chartype \[dq]closing\[dq]@})] chartype \[dq]punctuation\[dq]@,;:. chartype \[dq]suppress\[dq]@\[ha]\[ti] .TE .RE . . .P .I \%eqn به تمامی سایر نویسه‌های عادی و ویژه .I roff ، از جمله ارقام 0\[en]9، نوع .RB \%\[lq] ordinary \[rq] را اختصاص می‌دهد. . (نوع .RB \[lq] digit \[rq] استفاده نشده است، اما برای سفارشی‌سازی در دسترس است.) . مطابق با رویه متداول در حروف‌چینی ریاضی، حروف کوچک یونانی (و نه حروف بزرگ)، نوع .RB \%\[lq] letter \[rq] را دریافت می‌کنند تا به سبک مورب درآیند. . ماکروهای تولید سه‌نقطه، .RB \[lq] .\|.\|. \[rq]، .BR cdots ، و .BR ldots ، از نوع .RB \%\[lq] inner \[rq] استفاده می‌کنند. . .SS "دستورات اولیه (Primitives)" .\" ==================================================================== . .I \%eqn بدون هیچ تغییری از دستورات اولیه .I eqn در AT&T پشتیبانی می‌کند: .BR above ، .BR back ، .BR bar ، .BR bold ، .BR \%define ، .BR down ، .BR fat ، .BR font ، .BR from ، .BR fwd ، .BR gfont ، .BR gsize ، .BR italic ، .BR left ، .BR lineup ، .BR mark ، .BR \%matrix ، .BR \%ndefine ، .BR over ، .BR right ، .BR roman ، .BR size ، .BR sqrt ، .BR sub ، .BR sup ، .BR \%tdefine ، .BR to ، .BR \%under ، و .BR up . . . .\" ==================================================================== .SS "دستورات اولیه جدید (New primitives)" .\" ==================================================================== . دستورات اولیه افزونه گنو شامل .RB \[lq] type \[rq] و .B \%chartype در زیربخش \[lq]فاصله‌گذاری و قلم حروف\[rq] در بالا شرح داده شدند؛ .RB \[lq] set \[rq] و .RB \[lq] reset \[rq] در زیربخش \[lq]سفارشی‌سازی\[rq] در ادامه؛ و .BR gbfont ، .BR gifont ، و .B grfont در زیربخش \[lq]قلم‌ها\[rq] در زیر آمده‌اند. . در خلاصه‌های زیر، .I X می‌تواند هر نویسه‌ای باشد که در پارامتر محصورشده با آن ظاهر نشده است. . . .TP .IB e1 \~accent\~ e2 قرار دادن .I e2 به‌عنوان یک نشانه‌اعراب بر روی .IR e1 . . .I \%eqn فرض می‌کند که .I e2 در ارتفاع مناسب برای یک حرف کوچک بدون دنباله بالارونده (ascender) قرار دارد، و آن را بر اساس ارتفاع .IR e1 به‌صورت عمودی جابه‌جا می‌کند. . برای نمونه، .I \%eqn دستور .B hat را به صورت زیر تعریف می‌کند: . . .RS .IP .EX accent { roman "\[ha]" } .EE .RE . . .IP دستورهای .BR dotdot ، .BR dot ، .BR tilde ، .BR vec ، و .B dyad نیز با استفاده از دستور اولیه .B \%accent تعریف شده‌اند. . . .TP .BI big\~ e بزرگ کردن عبارت .IR e ؛ معنایی مشابه با \[lq]large\[rq] در CSS مد نظر است. . در خروجی .I \%troff ، اندازه قلم به اندازه ۵ نقطه مقیاس‌شده (scaled points) افزایش می‌یابد. . خروجی MathML کد زیر را تولید می‌کند: . . .RS .IP .EX .EE .RE . . .TP .BI copy\~ file .TQ .BI include\~ file درج محتویات .IR file ، با حذف خطوطی که با .B .EQ یا .B .EN آغاز می‌شوند. . فایل .I file نسبت به پوشه کاری جاری جستجو می‌شود. . . .TP .BI ifdef\~ "name X anything X" اگر .I name به‌عنوان یک دستور اولیه یا ماکرو تعریف شده باشد، عبارت .IR anything را تفسیر می‌کند. . . .TP .BI nosplit\~ text همانند .RI \[dq] text \[dq] ، اما از آنجا که .I text درون گیومه نیست، مشمول بسط ماکرو می‌شود؛ شکسته نمی‌شود و فاصله میان نویسه‌ها مطابق با زیربخش \[lq]فاصله‌گذاری و قلم حروف\[rq] در بالا تنظیم نمی‌گردد. . . .TP .IB e\~ opprime همانند .BR prime ، اما نماد پرایم را به‌عنوان یک عملگر بر روی .RI \~ e قرار می‌دهد. . در ورودی .RB \[lq] "A opprime sub 1" \[rq] ، عدد\~\[lq]1\[rq] به عنوان یک زیرنویس برای\~\[lq]A\[rq] در زیر پرایم قرار می‌گیرد (همان‌طور که در حروف‌چینی ریاضی متداول است)، در حالی که اگر .B prime استفاده شود، عدد\~\[lq]1\[rq] زیرنویسی برای نویسه پرایم خواهد بود. . تقدم .B \%opprime مشابه با .B bar و .RB \%\[lq] under \[rq] است، و بالاتر از سایر دستورات اولیه به جز .B \%accent و .BR uaccent می‌باشد. . در متن بدون گیومه، یک آپاستروف خنثی .RB ( \[aq] ) که نخستین نویسه در خط ورودی نباشد، همانند .B \%opprime تلقی می‌شود. . . .TP .BI sdefine\~ "name X anything X" همانند .RB \%\[lq] define \[rq] ، اما .I name در صورتی که با آرگومان فراخوانی شود به‌عنوان ماکرو شناخته نمی‌شود. . . .TP .IB e1 \~smallover\~ e2 همانند .BR over ، اما اندازه قلم .I e1 و .I e2 را کاهش می‌دهد، و فاصله عمودی کمتری میان .I e1 و .I e2 و خط کسری قرار می‌دهد. . دستور اولیه .B over متناظر با دستور اولیه .B \[rs]over در \*[tx] در سبک‌های معادلات نمایشی (displayed) است؛ دستور .B smallover متناظر با .B \[rs]over در سبک‌های درون‌خطی (inline) است. . . .br .ne 5v .TP .BI space\~ n تنظیم فاصله عمودی اضافی پیرامون معادله، جایگزین مقادیر پیش‌فرض، که در آن .IR n \~یک عدد صحیح برحسب صدم em است. . اگر مثبت باشد، .IR n \~فاصله عمودی پیش از معادله را افزایش می‌دهد؛ اگر منفی باشد، این فاصله را پس از معادله افزایش می‌دهد. . این دستور اولیه یک رابط برای دنباله گریز .B \[rs]x در .I groff فراهم می‌کند، اما با قرارداد علامت معکوس. . اگر معادله بخشی از یک تصویر .MR \%pic 1 باشد، اثری نخواهد داشت. . . .br .ne 4v .TP .BI special\~ "troff-macro e" ساخت یک شیء با فراخوانی .I troff-macro بر روی .IR e . . رشته .I troff به نام .B 0s شامل خروجی .I eqn برای .I e است، و ثبات‌های .BR 0w ، .BR 0h ، .BR 0d ، .BR 0skern ، و .B 0skew به ترتیب پهنا، ارتفاع، عمق، کرنینگ زیرنویس، و کجی (skew) عبارت .I e را در خود دارند. . (مقدار .I کرنینگ زیرنویس یک شیء نشان می‌دهد که زیرنویس آن شیء چقدر باید به سمت داخل کشیده شود، یا به سمت چپ نسبت به یک گلیف بدون زیرنویس با همان اندازه قرار گیرد. . مقدار .I کجی یک شیء بیانگر این است که یک نشانه‌اعراب در بالای آن، چقدر به سمت راست مرکز شیء باید قرار گیرد.) . ماکرو باید .B 0s را به گونه‌ای تغییر دهد که نتیجه مطلوب را تولید کند، موقعیت رسم را به خط پایه متن در ابتدای .I e بازگرداند، و ثبات‌های پیش‌گفته را متناسب با ابعاد جدید نتیجه به‌روزرسانی نماید. . . .IP فرض کنید می‌خواهید سازه‌ای بسازید که عبارتی را با کشیدن خط مورب روی آن خط می‌زند (ابطال می‌کند). . . .br .ne 11v .RS .IP .EX \&.de Ca \&. ds 0s \[rs] \[rs]Z\[aq]\[rs]\[rs]*(0s\[aq]\[rs] \[rs]v\[aq]\[rs]\[rs]n(0du\[aq]\[rs] \[rs]D\[aq]l \[rs]\[rs]n(0wu \-\[rs]\[rs]n(0hu\-\[rs]\ \[rs]n(0du\[aq]\[rs] \[rs]v\[aq]\[rs]\[rs]n(0hu\[aq] \&.. \&.EQ special Ca "x \[rs][mi] 3 \[rs][pl] x" \[ti] 3 \&.EN .EE .RE . . .IP ما از نویسه‌های ویژه .B \[rs][mi] و .B \[rs][pl] به‌جای + و \- استفاده می‌کنیم زیرا آن‌ها بخشی از آرگومان یک ماکروی .I \%troff هستند، بنابراین .I \%eqn آن‌ها را به گلیف‌های ریاضی تبدیل نمی‌کند. . در اینجا سازه پیچیده‌تری آورده شده است که کادری پیرامون یک عبارت می‌کشد؛ پایین کادر روی خط پایه متن قرار می‌گیرد. . ما ماکروی .I eqn به نام .B box را تعریف می‌کنیم تا فراخوانی ماکروی .I \%troff به نام .B Bx را کپسوله‌سازی کند. . . .br .ne 17v .RS .IP .EX \&.de Bx \&.ds 0s \[rs] \[rs]Z\[aq]\[rs]\[rs]h\[aq]1n\[aq]\[rs]\[rs]*[0s]\[aq]\[rs] \[rs]v\[aq]\[rs]\[rs]n(0du+1n\[aq]\[rs] \[rs]D\[aq]l \[rs]\[rs]n(0wu+2n 0\[aq]\[rs] \[rs]D\[aq]l 0 \-\[rs]\[rs]n(0hu\-\[rs]\[rs]n(0du\-2n\[aq]\[rs] \[rs]D\[aq]l \-\[rs]\[rs]n(0wu\-2n 0\[aq]\[rs] \[rs]D\[aq]l 0 \[rs]\[rs]n(0hu+\[rs]\[rs]n(0du+2n\[aq]\[rs] \[rs]h\[aq]\[rs]\[rs]n(0wu+2n\[aq] \&.nr 0w +2n \&.nr 0d +1n \&.nr 0h +1n \&.. \&.EQ define box \[aq] special Bx $1 \[aq] box(foo) \[ti] "bar" \&.EN .EE .RE . . .TP .BI "split \[dq]" text \[dq] همانند .IR text ، اما از آنجا که .I text درون گیومه است، مشمول بسط ماکرو نمی‌شود؛ شکسته می‌شود و فاصله میان نویسه‌ها بر اساس زیربخش \[lq]فاصله‌گذاری و قلم حروف\[rq] در بالا تنظیم می‌گردد. . . .TP .IB e1 \~uaccent\~ e2 قرار دادن .I e2 به‌عنوان یک نشانه‌اعراب در زیر .IR e1 . . فرض می‌شود که .I e2 در ارتفاع مناسب برای یک حرف بدون دنباله پایین‌رونده (descender) قرار دارد؛ .I \%eqn آن را بسته به اینکه آیا .I e1 دارای دنباله پایین‌رونده است یا خیر، به صورت عمودی جابه‌جا می‌کند. . دستور .B utilde به‌صورت پیش‌فرض با استفاده از .B uaccent به عنوان یک نشانه‌اعراب مد (tilde) زیر خط پایه تعریف شده است. . . .TP .BI undef\~ name حذف تعریف ماکرو یا دستور اولیه .IR name ، و تبدیل آن به حالت تعریف‌نشده. . . .TP .BI vcenter\~ e تراز عمودی .I e حول .IR "محور ریاضی (math axis)" ، خطی افقی که خطوط کسری و نویسه‌هایی چون \[lq]\[pl]\[rq] و \[lq]\[mi]\[rq] بر روی آن تراز می‌شوند. . فرمت MathML از قبل به این شیوه رفتار می‌کند، بنابراین .I \%eqn هنگام تولید آن فرمت خروجی، این دستور اولیه را نادیده می‌گیرد. . ماکروی توکار .B sum به شکلی مشابه تعریف زیر پیاده‌سازی شده است: . .RS .IP .EX define sum ! { type "operator" vcenter size +5 \[rs](*S } ! .EE .RE . . .br .ne 8v .SS "دستورات اولیه گسترش‌یافته (Extended primitives)" .\" ==================================================================== . .I eqn گنو نحو برخی از دستورات اولیه .I eqn در AT&T را گسترش می‌دهد، و یک ناسازگاری عمدی ایجاد می‌کند. . . .TP .B "delim on" .I eqn گنو آرگومان .RB \[lq] on \[rq] را برای دستور اولیه .B \%delim به‌صورت ویژه تشخیص می‌دهد، و هرگونه جداکننده‌ای را که پیش‌تر با .RB \%\[lq] "delim off" \[rq] غیرفعال شده بود بازمی‌گرداند. . اگر جداکننده‌ای تعیین نشده باشد، هیچ‌یک از این دو دستور اثری نخواهند داشت. . انتظار می‌رود اسناد اندکی از .I eqn از \[lq]o\[rq] و \[lq]n\[rq] به ترتیب به عنوان جداکننده‌های چپ و راست استفاده کنند. . اگر سند شما چنین است، جای آن‌ها را عوض کنید یا نویسه‌های دیگری برگزینید. . . .TP .BI col\~ n\~\c .BR {\~ .\|.\|.\& \~} .TQ .BI ccol\~ n\~\c .BR {\~ .\|.\|.\& \~} .TQ .BI lcol\~ n\~\c .BR {\~ .\|.\|.\& \~} .TQ .BI rcol\~ n\~\c .BR {\~ .\|.\|.\& \~} .TQ .BI pile\~ n\~\c .BR {\~ .\|.\|.\& \~} .TQ .BI cpile\~ n\~\c .BR {\~ .\|.\|.\& \~} .TQ .BI lpile\~ n\~\c .BR {\~ .\|.\|.\& \~} .TQ .BI rpile\~ n\~\c .BR {\~ .\|.\|.\& \~} مقدار عدد صحیح .RI \~ n ، برحسب صدم em، از دنباله گریز .B \[rs]x قالب‌بند برای افزایش فاصله عمودی میان سطرها استفاده می‌کند؛ .I \%eqn هنگام تولید MathML این مقدار را نادیده می‌گیرد. . مقادیر منفی پذیرفته می‌شوند اما اثری ندارند. . اگر بیش از یک .I n در یک ماتریس یا توده (pile) وجود داشته باشد، بزرگ‌ترین مقدار به‌کار گرفته می‌شود. . . .\" ==================================================================== .SS "سفارشی‌سازی (Customization)" .\" ==================================================================== . هنگامی که .I \%eqn ورودی .I \%troff تولید می‌کند، ظاهر معادلات توسط تعداد زیادی از متغیرها (پارامترها) کنترل می‌شود. . این متغیرها هنگام تولید MathML هیچ اثری ندارند، زیرا حروف‌چینی را به موتور رندر MathML واگذار می‌کند. . این پارامترها را با دستورات اولیه .RB \[lq] set \[rq] و .RB \[lq] reset \[rq] پیکربندی کنید. . . .TP 9n \" "set p n" + 2n .BI set\~ "p n" مقدار عدد صحیح .RI \~ n را به پارامتر .RI \~ p اختصاص می‌دهد؛ مگر در مواردی که به گونه دیگری ذکر شود، .IR n \~برحسب واحدهای صدم em تفسیر می‌گردد. برای نمونه، . .RS .RS .EX set x_height 45 .EE .RE . بیان می‌کند که .I \%eqn باید فرض کند ارتفاع x قلم برابر با 0.45\~em است. .RE . . .TP .BI reset\~ p مقدار پیش‌فرض پارامتر .RI \~ p را بازمی‌گرداند. . . .P پارامترهای موجود .I p به شرح زیر هستند؛ مقادیر پیش‌فرض درون پرانتز نشان داده شده‌اند. . هدف از این توضیحات، شرح کاربردی است تا دقت ریاضی صرف. . . .TP 24n \" "default_rule_thickness" + 2n .B minimum_size حداقل اندازه قلم (کف اندازه) را (برحسب نقاط مقیاس‌شده) برای حروف‌چینی معادلات تعیین می‌کند .RB ( 5 ). . . .TP .B fat_offset دستور اولیه .B fat با چاپ مجدد دو نسخه از معادله با افست افقی به این میزان، معادله را توپر (بولد) می‌کند .RB ( 4 ). . هنگام تولید خروجی MathML، مؤلفه‌هایی که .B \%fat_offset بر آن‌ها اعمال می‌شود به‌جای آن از دستور زیر استفاده می‌کنند: . .RS .RS .EX .EE .RE .RE . . .TP .B over_hang یک خط کسری به میزان دو برابر این مقدار، از بیشینه پهنای صورت و مخرج کسر بلندتر است؛ به بیان دیگر، حداقل به این میزان از صورت و مخرج بیرون می‌زند .RB ( 0 ). . . .TP .B accent_width هنگامی که .B bar یا .B \%under بر روی یک نویسه منفرد اعمال می‌شود، طول خط به این اندازه خواهد بود .RB ( 31 ). . به‌طور معمول، .B bar یا .B \%under خطی تولید می‌کند که طول آن برابر با پهنای شیء مورد نظر است؛ در مورد یک نویسه تک، این حالت معمولاً خطی ایجاد می‌کند که بیش از حد طولانی به نظر می‌رسد. . . .TP .B delimiter_factor جداکننده‌های امتدادپذیر تولیدشده با دستورات اولیه .B left و .B right دارای مجموع ارتفاع و عمقی حداقل برابر با این تعداد هزارم از دو برابر بیشترین مقداری هستند که زیرمعادله محصورشده از محور فاصله می‌گیرد .RB ( 900 ). . . .TP .B delimiter_shortfall جداکننده‌های امتدادپذیر تولیدشده با دستورات اولیه .B left و .B right دارای مجموع ارتفاع و عمقی نه کمتر از تفاضل دو برابر بیشترین فاصله زیرمعادله محصورشده از محور و این مقدار هستند .RB ( 50 ). . . .TP .B null_delimiter_space این مقدار فاصله افقی در دو طرف یک کسر درج می‌شود .RB ( 12 ). . . .TP .B script_space پهنای زیرنویس‌ها و بالانویس‌ها به این میزان افزایش می‌یابد .RB ( 5 ). . . .TP .B thin_space این مقدار فاصله به‌طور خودکار پس از نویسه‌های نشانه‌گذاری درج می‌شود .RB ( 17 ). . . .TP .B medium_space این مقدار فاصله به‌طور خودکار در دو طرف عملگرهای دودویی درج می‌شود .RB ( 22 ). . . .TP .B thick_space این مقدار فاصله به‌طور خودکار در دو طرف عملگرهای رابطه‌ای درج می‌شود .RB ( 28 ). . . .TP .B half_space پهنای فاصله ایجادشده توسط نشانه .B \[ha] را پیکربندی می‌کند .RB ( 17 ). . . .TP .B full_space پهنای فاصله ایجادشده توسط نشانه .B \[ti] را پیکربندی می‌کند .RB ( 28 ). . . .TP .B x_height ارتفاع حروف کوچک بدون دنباله بالارونده مانند \[lq]x\[rq] .RB ( 45 ). . . .TP .B axis_height ارتفاع مرکز نویسه‌هایی مانند \[lq]\[pl]\[rq] و \[lq]\[mi]\[rq] از خط پایه .RB ( 26 ). . بسیار مهم است که این مقدار برای قلم مورد استفاده شما درست تنظیم شده باشد. . . .TP .B default_rule_thickness این مقدار باید برابر با ضخامت نویسه .B \[rs][ru] ، یا ضخامت خطوط افقی تولیدشده با دنباله گریز .B \[rs]D تنظیم شود .RB ( 4 ). . . .TP .B num1 دستور اولیه .B over صورت کسر را حداقل به این مقدار بالا می‌برد .RB ( 70 ). . . .TP .B num2 دستور اولیه .B smallover صورت کسر را حداقل به این مقدار بالا می‌برد .RB ( 36 ). . . .TP .B denom1 دستور اولیه .B over مخرج کسر را حداقل به این مقدار پایین می‌برد .RB ( 70 ). . . .TP .B denom2 دستور اولیه .B smallover مخرج کسر را حداقل به این مقدار پایین می‌برد .RB ( 36 ). . . .TP .B sup1 به‌طور معمول بالانویس‌ها حداقل به این مقدار بالا برده می‌شوند .RB ( 42 ). . . .TP .B sup2 بالانویس‌ها درون بالانویس‌های دیگر یا حدهای بالایی یا صورت کسرهای .B smallover حداقل به این مقدار بالا برده می‌شوند .RB ( 37 ). . به‌طور معمول، این مقدار کمتر از .B sup1 است. . . .TP .B sup3 بالانویس‌ها درون مخرج‌ها یا رادیکال‌ها یا زیرنویس‌ها یا حدهای پایینی حداقل به این مقدار بالا برده می‌شوند .RB ( 28 ). . به‌طور معمول، این مقدار کمتر از .B sup2 است. . . .TP .B sub1 زیرنویس‌ها به‌طور معمول حداقل به این مقدار پایین برده می‌شوند .RB ( 20 ). . . .TP .B sub2 هنگامی که هم زیرنویس و هم بالانویس وجود دارد، زیرنویس حداقل به این مقدار پایین برده می‌شود .RB ( 23 ). . . .TP .B sup_drop خط پایه یک بالانویس حداکثر به این میزان پایین‌تر از بالای شیئی است که بالانویس بر آن قرار می‌گیرد .RB ( 38 ). . . .TP .B sub_drop خط پایه یک زیرنویس حداقل به این میزان پایین‌تر از کف شیئی است که زیرنویس بر آن قرار می‌گیرد .RB ( 5 ). . . .TP .B big_op_spacing1 خط پایه یک حد بالایی حداقل به این مقدار بالاتر از بالای شیئی است که حد بر آن اعمال می‌شود .RB ( 11 ). . . .TP .B big_op_spacing2 خط پایه یک حد پایینی حداقل به این مقدار پایین‌تر از کف شیئی است که حد بر آن اعمال می‌شود .RB ( 17 ). . . .TP .B big_op_spacing3 کف یک حد بالایی حداقل به این مقدار بالاتر از بالای شیئی است که حد بر آن اعمال می‌شود .RB ( 20 ). . . .TP .B big_op_spacing4 بالای یک حد پایینی حداقل به این مقدار پایین‌تر از کف شیئی است که حد بر آن اعمال می‌شود .RB ( 60 ). . . .TP .B big_op_spacing5 این مقدار فاصله عمودی در بالا و پایین حدها افزوده می‌شود .RB ( 10 ). . . .TP .B baseline_sep خطوط پایه سطرها در یک توده (pile) یا ماتریس به‌طور معمول این مقدار از یکدیگر فاصله دارند .RB ( 140 ). . معمولاً برابر با مجموع .B num1 و .B denom1 است. . . .TP .B shift_down نقطه میانی میان خط پایه بالا و خط پایه پایین در یک ماتریس یا توده به این میزان از محور پایین برده می‌شود .RB ( 26 ). . معمولاً برابر با .B axis_height است. . . .TP .B column_sep این مقدار فاصله میان ستون‌ها در یک ماتریس افزوده می‌شود .RB ( 100 ). . . .TP .B matrix_side_sep این مقدار فاصله در هر طرف یک ماتریس افزوده می‌شود .RB ( 17 ). . . .br .ne 4v .TP .B draw_lines اگر غیرصفر باشد، .I \%eqn خطوط را با استفاده از دنباله گریز .B \[rs]D در .I troff رسم می‌کند، به‌جای استفاده از دنباله گریز .B \[rs]l و نویسه ویژه .B \[rs][ru] . . فایل .I eqnrc مقدار پیش‌فرض را تعیین می‌کند: .BR 1 \~روی دستگاه‌های .BR ps ، .BR html و X11، .RB و\~در\~غیر\~این\~صورت\~ 0 . . . .TP .B body_height ارتفاع مفروض یک معادله بالای خط پایه متن است؛ .I \%eqn هر مقدار اضافی را به عنوان فاصله پیش‌خط عمودی اضافه با دنباله گریز .B \[rs]x در .I troff اضافه می‌کند .RB ( 85 ). . . .TP .B body_depth عمق مفروض یک معادله زیر خط پایه متن است؛ .I \%eqn هر مقدار اضافی را به عنوان فاصله پس‌خط عمودی اضافه با دنباله گریز .B \[rs]x در .I troff اضافه می‌کند .RB ( 35 ). . . .TP .B nroff اگر غیرصفر باشد، دستور .B \%ndefine همانند .B \%define رفتار می‌کند و .B \%tdefine نادیده گرفته می‌شود؛ در غیر این صورت .B \%tdefine همانند .B \%define رفتار می‌کند و .B \%ndefine نادیده گرفته می‌شود. . فایل .I eqnrc مقدار پیش‌فرض را تعیین می‌کند: .BR 1 \~روی دستگاه‌های .BR ascii ، .BR latin1 و .B utf8 ، .RB و\~در\~غیر\~این\~صورت\~ 0 . . .SS "ماکروها (Macros)" .\" ==================================================================== . در .IR eqn \" GNU گنو، ماکروها می‌توانند آرگومان بپذیرند. . کلمه‌ای که با هر یک از دستورات اولیه .BR \%define ، .BR \%ndefine ، یا .B \%tdefine تعریف شده باشد و بلافاصله پس از آن یک پرانتز باز بیاید، به عنوان یک .I "فراخوانی ماکروی دارای پارامتر" تلقی می‌شود: نشانه‌های بعدی تا پرانتز بسته متناظر، به عنوان آرگومان‌های جداشده با کاما در نظر گرفته می‌شوند. . تنها در این زمینه، کاماها و پرانتزها نیز به عنوان جداکننده نشانه‌ها عمل می‌کنند. . یک آرگومان ماکرو با کامای درون پرانتزهای تودرتو خاتمه نمی‌یابد. . در تعریف ماکرو، .BI $ n\c ، که در آن .I n بین ۱ تا\~۹ (شامل خود آن‌ها) است، با آرگومان .IR n ‌ام جایگزین می‌شود؛ اگر کمتر از .IR n \~آرگومان وجود داشته باشد، با هیچ جایگزین می‌گردد. . . .\" ==================================================================== .SS "ماکروهای از پیش تعریف‌شده (Predefined macros)" .\" ==================================================================== . .I eqn \" GNU گنو از ماکروهای از پیش تعریف‌شده ارائه‌شده توسط .I eqn \" AT&T در AT&T پشتیبانی می‌کند: .BR and ، .BR \%approx ، .BR arc ، .BR cos ، .BR cosh ، .BR del ، .BR det ، .BR dot ، .BR \%dotdot ، .BR dyad ، .BR exp ، .BR for ، .BR grad ، .BR half ، .BR hat ، .BR if ، .BR \%inter ، .BR Im ، .BR inf ، .BR int ، .BR lim ، .BR ln ، .BR log ، .BR max ، .BR min ، .BR \%nothing ، .BR \%partial ، .BR prime ، .BR prod ، .BR Re ، .BR sin ، .BR sinh ، .BR sum ، .BR tan ، .BR tanh ، .BR tilde ، .BR times ، .BR union ، .BR vec ، .BR == ، .BR != ، .BR += ، .BR \-> ، .BR <\- ، .BR << ، .BR >> ، و .RB \[lq] .\|.\|. \[rq] . . حروف کوچک یونانی کلاسیک به صورت .BR \%alpha ، .BR beta ، .BR chi ، .BR delta ، .BR \%epsilon ، .BR eta ، .BR gamma ، .BR iota ، .BR kappa ، .BR lambda ، .BR mu ، .BR nu ، .BR omega ، .BR \%omicron ، .BR phi ، .BR pi ، .BR psi ، .BR rho ، .BR sigma ، .BR tau ، .BR theta ، .BR \%upsilon ، .BR xi ، و .B zeta در دسترس هستند. . برای به دست آوردن اشکال بزرگ، آن‌ها را با حرف اول بزرگ .RB \%( Alpha ) یا تماماً با حروف بزرگ .RB \%( ALPHA ) بنویسید. . . .P .I eqn \" GNU گنو همچنین ماکروهای .BR cdot ، .BR cdots ، و .B utilde (همگی در بالا توضیح داده شدند)، .BR \%dollar ، که علامت دلار را درج می‌کند، و .BR ldots ، که سه‌نقطه روی خط پایه متن قرار می‌دهد را تعریف می‌کند. . . .\" ==================================================================== .SS "قلم‌ها (Fonts)" .\" ==================================================================== . .I \%eqn از حداکثر سه سبک قلم (تایپ‌فیس) برای چیدن معادله استفاده می‌کند: مورب / ایتالیک (oblique)، ایستاده / رومن (upright)، و توپر / بولد (heavy). . با دستورات اولیه افزونه گنو .BR \%grfont ، .BR \%gifont ، و .B \%gbfont به هر یک قلمی از .I groff اختصاص دهید. . مقادیر پیش‌فرض سبک‌های .BR R ، .BR I ، و .B B (اعمال‌شده بر خانواده قلم جاری) هستند. . دستور اولیه .B \%chartype (به بالا رجوع شود) نوع نویسه را تعیین می‌کند، که قلم مورد استفاده برای چیدن آن را مشخص می‌سازد. . نوع .RB \%\[lq] letter \[rq] به صورت مورب چیده می‌شود؛ انواع دیگر به صورت رومن چیده می‌شوند. . از دستور اولیه .B bold برای انتخاب سبک بولد (ایستاده) استفاده کنید. . . .TP .BI gbfont\~ f انتخاب .I f به‌عنوان قلم بولد. . . .TP .BI gifont\~ f انتخاب .I f به‌عنوان قلم مورب (ایتالیک). . .I eqn \" GNU گنو .B gfont را به عنوان مترادفی برای سازگاری با AT&T می‌شناسد. . . .TP .BI grfont\~ f انتخاب .I f به‌عنوان قلم رومن. . . .\" ==================================================================== .SS "رابط \f[I]roff\f[]" .\" ==================================================================== . رشته .B 10 معادله‌ای را که اخیراً قالب‌بندی شده است ذخیره می‌کند. . ثبات .B MK موقعیت رسم افقی آخرین علامت (mark) اختصاص داده‌شده را ذخیره می‌نماید. . از استفاده از این نام‌ها برای هر منظور دیگری خودداری کنید. . . .P .I eqn \" GNU گنو در درون خود از نام‌های ثبات، رشته، ماکرو، و انحرافی (diversion) استفاده می‌کند که با .RB رقم\~ 0 آغاز می‌شوند. . (در .I eqn \" AT&T مربوط به AT&T از شناسه‌هایی استفاده می‌شد که با .RB رقم\~ 1 شروع می‌شدند.) . سندی که قرار است با .I eqn \" GNU گنو پیش‌پردازش شود نباید از چنین شناسه‌هایی استفاده کند. . . .br .ne 6v .SH "گزینه‌ها (OPTIONS)" .\" ==================================================================== . گزینه .B \-\-help پیام راهنمای نحوه استفاده را نمایش می‌دهد، در حالی که .B \-v و .B \%\-\-version اطلاعات نسخه را نشان می‌دهند؛ سپس همگی از برنامه خارج می‌شوند. . . .TP 8.125n \" "-M dir" + 2n + hand-tuned for PDF .B \-C شناسایی .B .EQ و .B .EN حتی زمانی که نویسه‌ای به غیر از فاصله یا خط جدید به دنبال آن‌ها آمده باشد. . . .TP .BI \-d\~ xy تعیین جداکننده‌های .I x برای ابتدای چپ .RI و\~ y برای انتهای راست معادلاتی که در میان .BR .EQ / .EN محصور نشده‌اند. . نیازی نیست که .I x و .I y متفاوت باشند. . هر دستور .RB \%\[lq] delim .IR xy \[rq] در فایل منبع بر این گزینه برتری دارد. . . .TP .BI \-f\~ F معادل با .RB \[lq] gifont .IR F \[rq] است. . . .TP .BI \-m\~ n معادل با .RB \[lq] "set \%minimum_size" .IR n \[rq] است. . . .TP .BI \-M\~ dir جستجوی .I eqnrc در پوشه .I dir پیش از پوشه‌های ذکرشده در بخش \[lq]توضیحات\[rq] در بالا. . . .TP .B \-N ممنوعیت خطوط جدید در میان جداکننده‌ها، که به .I \%eqn امکان می‌دهد در صورت جا افتادن جداکننده پایانی، خطا را بهتر مدیریت کند. . . .TP .BI \-p\~ n تنظیم زیرنویس‌ها و بالانویس‌ها به میزان .IR n \~نقطه کوچک‌تر از متن اطراف. . این گزینه منسوخ شده است. . .I \%eqn به‌طور معمول زیرنویس‌ها و بالانویس‌ها را در ۷۰٪ اندازه قلم متن پیرامون تنظیم می‌کند. . . .TP .B \-r کاهش اندازه قلم بالانویس‌ها و زیرنویس‌ها حداکثر یک بار نسبت به اندازه قلم پایه. . . .TP .B \-R عدم بارگذاری فایل .IR eqnrc . . . .TP .BI \-s\~ n معادل با .RB \[lq] gsize .IR n \[rq] است. . این گزینه منسوخ شده است. . . .TP .BI \-T\~ dev آماده‌سازی خروجی برای دستگاه .IR dev . . این گزینه ماکرویی به نام .I dev با .RB مقدار\~ 1 تعریف می‌کند؛ بدین ترتیب .I eqnrc تعاریف مناسب برای آن دستگاه را فراهم می‌سازد. . با این حال، اگر .I dev برابر با .RB \[lq] MathML \[rq] باشد، .I \%eqn خروجی را به آن زبان به‌جای .I roff تولید می‌کند، و فایل .I eqnrc را بارگذاری نمی‌نماید. . دستگاه پیش‌فرض .B \%ps است. . . .\" ==================================================================== .SH "وضعیت خروج (EXIT STATUS)" .\" ==================================================================== . .I \%eqn در صورت اجرای موفق با .RB وضعیت\~ 0 ، اگر نتواند آرگومان‌های خط فرمان را تفسیر کند با .RB وضعیت\~ 2 ، و در صورتی که در طول اجرا با خطایی روبرو شود با .RB وضعیت\~ 1 خارج می‌شود. . . .\" ==================================================================== .SH "فایل‌ها (FILES)" .\" ==================================================================== . .TP .I /usr/\:\%share/\:\%groff/\:\%1.24.1/\:\%tmac/\:\%eqnrc پیش‌پردازنده را برای خروجی .I \%troff مقداردهی اولیه می‌کند. . هرگونه ورودی معتبر .I \%eqn پذیرفته می‌شود. . .SH "محدودیت‌های خروجی MathML (MathML OUTPUT LIMITATIONS)" .\" ==================================================================== . طراحی MathML بر این فرض استوار است که نمی‌تواند ویژگی‌های فیزیکی دقیق رسانه‌ها و دستگاه‌هایی را که بر روی آن‌ها رندر می‌شود بداند. . این قالب از کنترل جابه‌جایی‌ها و اندازه‌ها به همان میزانی که .I \%troff انجام می‌دهد پشتیبانی نمی‌کند. . . .IP \[bu] 3n پارامترهای رندرینگ .IR eqn \" GNU گنو (به بخش \[lq]سفارشی‌سازی\[rq] در بالا رجوع کنید) هیچ تاثیری بر MathML تولیدشده ندارند. . . .IP \[bu] دستورات اولیه .BR \%special ، .BR up ، .BR down ، .BR fwd ، و .B back قابل پیاده‌سازی نیستند، و در عوض پیام \[lq]\[rq] در MathML تولید می‌کنند. . . .IP \[bu] دستور اولیه .B vcenter بدون هشدار نادیده گرفته می‌شود، زیرا تراز وسط بر روی محور ریاضی، رفتار پیش‌فرض MathML است. . . .IP \[bu] نویسه‌هایی که .I \%eqn آن‌ها را در خروجی .I troff بسیار بزرگ چیدمان می‌کند\[em]به‌ویژه علامت انتگرال\[em]ممکن است بیش از حد کوچک به نظر برسند و نیاز باشد که پوشش‌های \[lq]\[rq] آن‌ها به‌صورت دستی تنظیم شوند. . . .P همانند تولید خروجی .I troff ، .I \%eqn کدهای MathML تولید می‌کند که نشانه‌های .B .EQ و .B .EN را در جای خود باقی می‌گذارد، اما هیچ کدی متناظر با جداکننده‌های .B \%delim تولید نمی‌کند. . با این حال، می‌توان آن‌ها را به عنوان دنباله‌های نویسه‌ای که با \[lq]\[rq] آغاز می‌شوند، با \[lq]\[rq] پایان می‌یابند و از مرزهای خطوط فراتر نمی‌روند شناسایی کرد. . . .\" ==================================================================== .SH "نکات و هشدارها (CAVEATS)" .\" ==================================================================== . نشانه‌ها در ورودی .I eqn اگر قرار نیست به عنوان نام ماکروها یا دستورات اولیه شناخته شوند، یا اگر قرار است توسط .I troff تفسیر گردند، باید درون گیومه دوتایی قرار گیرند. . به‌ویژه، نشانه‌های کوتاه، مانند .RB \[lq] pi \[rq] و .RB \[lq] PI \[rq] ، می‌توانند با شناسه‌های .I troff تداخل پیدا کنند. . برای نمونه، فرمان .RB \%\[lq]\^ "gifont PI" \^\[rq] در .I eqn قلم مورب Palatino مربوط به دستگاه .MR gropdf 1 یا .MR grops 1 را به‌عنوان قلم مورب سراسری انتخاب نمی‌کند؛ بلکه باید به‌جای آن از .RB \%\[lq]\^ "gifont \[dq]PI\[dq]" \^\[rq] استفاده کنید. . . .P معادلاتی که با جداکننده مشخص شده‌اند، با اندازه قلم جاری در ابتدای خط ورودی چیده می‌شوند، و نه لزوماً با اندازه‌ای که بلافاصله پیش از جداکننده آغازین قرار دارد. . . .P برخلاف \*[tx]، برنامه .I eqn به‌طور ذاتی سبک‌های معادلات نمایشی (displayed) و درون‌خطی (inline) را از یکدیگر متمایز نمی‌سازد؛ دستور اولیه .B smallover در بالا را ببینید. . با این حال، بسته‌های ماکرو غالباً ماکروهای .B EQ و .B EN را به گونه‌ای تعریف می‌کنند که معادله درون آن‌ها به‌صورت نمایشی چیده شود. . این ماکروها ممکن است آرگومان‌هایی برای برچسب‌گذاری یا زیرنویس معادله بپذیرند؛ مستندات بسته مورد نظر را ببینید. . . .\" ==================================================================== .SH "اشکالات (BUGS)" .\" ==================================================================== . برنامه .I eqn در اصطلاحات زیاده‌روی می‌کند\[em]«معادلات» آن می‌توانند نابرابری‌ها، عبارات ساده، یا عباراتی نامفهوم باشند. . اما اکنون دیگر امکان تغییر آن وجود ندارد. . . .P هنگام تولید خروجی ترمینال، .I eqn \" GNU گنو حروف کوچک یونانی را به‌جای سبک مورب، به سبک رومن رندر می‌کند. . . .P هنگام تولید خروجی MathML، قابلیت‌های .B mark و .B lineup کار نمی‌کنند. . این موارد، در تئوری، می‌توانند با عناصر \[lq]\[rq] پیاده‌سازی شوند. . . .P هنگام تولید خروجی MathML، هر رقم از یک مقدار عددی یک جفت \[lq]\:\[rq] جداگانه دریافت می‌کند، و ممیزهای اعشاری با \[lq]\:\[rq] برچسب‌گذاری می‌شوند. . این امر توسط مشخصات استاندارد مجاز دانسته شده است، اما ناکارآمد است. . . .\" ==================================================================== .SH "مثال‌ها (EXAMPLES)" .\" ==================================================================== . نخست کاربرد .I \%eqn را با یک اتحاد مثلثاتی نشان می‌دهیم. . . .RS .P .EX \&.EQ sin ( alpha + beta ) = sin alpha cos beta + cos alpha sin beta \&.EN .EE .if t \{\ . . .P .RS .EQ sin ( alpha + beta ) = sin alpha cos beta + cos alpha sin beta .EN .RE .\} .RE . . .P اگر محتوای ریاضی به‌طور مکرر در متن جاری ظاهر شود، تعیین جداکننده‌ها می‌تواند مناسب و سودمند باشد. . . .RS .P .EX \&.EQ delim $$ \&.EN . Having cached a table of logarithms, the property $ln ( x y ) = ln x + ln y$ sped calculations. .EE .if t \{\ . . .P .RS .EQ delim $$ .EN . Having cached a table of logarithms, the property $ln ( x y ) = ln x + ln y$ sped calculations. . .\" We _must_ shut delimiters back off when serially processing man .\" pages, or subsequent documents cannot safely use those characters. .EQ delim off .EN .RE .\} .RE . . .P فرمول معادله درجه دوم فرصتی برای استفاده از کسرها، رادیکال‌ها، و نشانه فاصله کامل .B \[ti] فراهم می‌کند. . . .RS .P .EX \&.EQ x = { \- b \[ti] \[rs][+\-] \[ti] sqrt { b sup 2 \- 4 a c } } \ over { 2 a } \&.EN .EE .if t \{\ . . .P .RS .EQ x = { - b ~ \[+-] ~ sqrt { b sup 2 - 4 a c } } over { 2 a } .EN .RE .\} .RE . . .P به‌عنوان روشی دیگر، می‌توانستیم علامت مثبت-منفی را به عنوان یک عملگر دودویی تعریف کنیم. . فاصله‌گذاری خودکار در دو طرف علامت مثبت-منفی، 0.06\~em فاصله کمتری نسبت به \[ti] قرار می‌دهد؛ این مقدار تفاوت میان پهنای پارامتر .B medium_space مورداستفاده در عملگرهای دودویی و فاصله کامل است. . به‌طور مستقل، می‌توانیم ماکروی \[lq]frac\[rq] را برای چیدن کسرها تعریف نماییم. . . .br .ne 5v .RS .P .EX \&.EQ chartype "binary" \[rs][+\-] define frac ! { $1 } over { $2 } ! x = frac(\- b \[rs][+\-] sqrt { b sup 2 \- 4 a c }, 2 a) \&.EN .EE .if t \{\ . . .P .RS .EQ chartype "binary" \[+-] define frac ! { $1 } over { $2 } ! x = frac(- b \[+-] sqrt { b sup 2 - 4 a c }, 2 a) .EN .RE .\} .RE . . .\" ==================================================================== .SH "همچنین ببینید (SEE ALSO)" .\" ==================================================================== . \[lq]Typesetting Mathematics\[em]User's Guide\[rq] (2nd edition), by Brian W.\& Kernighan and Lorinda L.\& Cherry, 1978, AT&T Bell Laboratories Computing Science Technical Report No.\& 17. . . .P .IR The\~\*[tx]book , by Donald E.\& Knuth, 1984, Addison-Wesley Professional. . ضمیمه\~G بسیاری از پارامترهای بخش \[lq]سفارشی‌سازی\[rq] در بالا را با جزئیات بیشتر بررسی می‌کند. . . .P .MR groff_char 7 انواع دنباله‌های گریز نویسه‌های ویژه را که در حروف‌چینی ریاضی مفید هستند مستند می‌کند. . به‌ویژه به زیربخش‌های \[lq]نمادهای منطقی\[rq]، \[lq]نمادهای ریاضی\[rq]، و \[lq]گلیف‌های یونانی\[rq] مراجعه کنید. . . .P .MR groff 1 ، .MR \%troff 1 ، .MR \%pic 1 ، .MR groff_font 5 . . .\" Clean up. .rm tx . .\" Restore compatibility mode (for, e.g., Solaris 10/11). .cp \n[*groff_eqn_1_man_C] .do rr *groff_eqn_1_man_C . . .\" Local Variables: .\" fill-column: 72 .\" mode: nroff .\" tab-width: 12 .\" End: .\" vim: set filetype=groff tabstop=12 textwidth=72: