.TH groff_out 5 "2026-03-15" "groff 1.24.1" .SH "نام (NAME)" groff_out \- زبان مستقل از دستگاه شرح صفحه در GNU roff . . .\" XXX: This page needs review and editing. .\" ==================================================================== .\" Legal Terms .\" ==================================================================== .\" .\" Copyright 1989-2024 Free Software Foundation, Inc. .\" .\" This file is part of groff, the GNU roff typesetting system. .\" .\" Permission is granted to copy, distribute and/or modify this .\" document under the terms of the GNU Free Documentation License, .\" Version 1.3 or any later version published by the Free Software .\" Foundation; with no Invariant Sections, with no Front-Cover Texts, .\" and with no Back-Cover Texts. .\" .\" A copy of the Free Documentation License is included as a file .\" called FDL in the main directory of the groff source package. . . .\" Save and disable compatibility mode (for, e.g., Solaris 10/11). .do nr *groff_groff_out_5_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 . . .\" ==================================================================== .\" Setup .\" ==================================================================== . .\" ================= Document configuration . .\" Number register to decide whether the commands '{' and '}' are used .\" 0: disable (current default); 1: enable .nr @USE_ENV_STACK 0 . .ig Unfortunately, old versions of groff used an illogical position change after some D~commands (Dp, DP, Dt). If the register @STUPID_DRAWING_POSITIONING is 1 (current default) then change position after these commands, otherwise the position is not changed. .. .nr @STUPID_DRAWING_POSITIONING 1 . .\" ================= Semantical definitions . .nr @maxcolor 65536 .ds @backslash \[rs]\" .ds @linebreak \fR\[la]line-break\[ra]\fP\" . .\" Begin of macro definitions . .de offset .RI ( \,\\$1\/ ,\ \,\\$2\/ )\\$3 .. .de indexed_offset .offset \fI\\$1\/\fP\d\s-3\\$2\s+3\u\x'\n[.v]/4' \fI\\$3\/\fP\ \d\s-3\\$4\s+3\u\x'\n[.v]/4' \\$5\x'\n[.v]/4'\\$6 .. .\" format: .command "" .de command \fB\\$1\fP\ \fI\,\\$2\/\fP\\$3 .. .\" format: .D-command "" .de D-command \fBD\\$1\fP\ \fI\,\\$2\/\fP\|\*[@linebreak] .. . .\" We set these as troff micromotions rather than eqn because \d and \u .\" can be lifted to XML subscript/superscript tags. Don't change .\" these to a parameterized string, man2html won't handle that. .ds hv1 \fIh\d\s-3\&1\s+3\u\~v\d\s-3\&1\s+3\u\fP\x'\n[.v]/4' .ds hv2 \fIh\d\s-3\&2\s+3\u\~v\d\s-3\&2\s+3\u\fP\x'\n[.v]/4' .ds hvn \fIh\d\s-3\&n\s+3\u\~v\d\s-3\&n\s+3\u\fP\x'\n[.v]/4' . .de Da-command \fBDa\fP\ \*[hv1] \*[hv2]\|\*[@linebreak] .. .\" graphics command .D with a variable number of arguments .\" format: .D-multiarg .de D-multiarg \fBD\\$1\fP\ \*[hv1] \*[hv2] \&.\|.\|.\& \*[hvn]\|\*[@linebreak] .. .\" format: .x-command "" .de x-command \fBx\\$1\fP\ \fI\\$2\fP\|\*[@linebreak] .. .de xsub .RI "(" "\\$1" " control command)" .br .. .\" End of macro definitions . . .\" ==================================================================== .SH "توضیحات (DESCRIPTION)" .\" ==================================================================== . .\" BEGIN Keep parallel with introductory paragraph of the "Language .\" Concepts" node in doc/groff.texi.in. عملیات بنیادین فرمت‌کننده .RI GNU\~ troff ، .MR \%troff 1 ، ترجمه زبان ورودی .MR groff 7 به مجموعه‌ای از دستورالعمل‌ها است که عمدتاً مربوط به قرار دادن گلیف‌ها یا اشکال هندسی در موقعیت‌های مشخصی روی یک صفحه مستطیلی هستند. . در بحث پیش‌رو، اصطلاح .I دستور به این زبان خروجی مستقل از دستگاه اشاره دارد، و هرگز به زبانی که برای استفاده نویسندگان سند در نظر گرفته شده اشاره نمی‌کند. . دستورات خروجی مستقل از دستگاه شامل چندین دسته هستند: خروجی گلیف؛ انتخاب قلم، رنگ و اندازه متن؛ حرکت موقعیت رسم؛ پیشروی صفحه؛ رسم اشکال هندسی پایه؛ و دستورات توسعه دستگاه، که دسته‌ای فراگیر برای سایر عملیات است. . دسته آخر شامل دستوراتی برای شروع و توقف خروجی، تعیین دستگاه خروجی مورد نظر، و جاسازی ابرپیوندهای URL در فرمت‌های خروجی پشتیبانی‌شده است. .\" END Keep parallel with introductory paragraph of the "Language .\" Concepts" node in doc/groff.texi.in. . . .\" ==================================================================== .SS "پیش‌زمینه (Background)" .\" ==================================================================== . .\" BEGIN Keep parallel with paragraphs after the first in the "GNU .\" troff Output" node in doc/groff.texi.in. از آنجا که .MR groff 1 یک برنامه پوششی در اطراف .RI GNU\~ troff است و به‌طور خودکار یک درایور خروجی را فراخوانی می‌کند، کاربران در شرایط عادی به ندرت با این فرمت روبرو می‌شوند. . .I groff گزینه .B \-Z را برای مهار پس‌پردازش ارائه می‌دهد تا خروجی .RI GNU\~ troff درست مانند زمان اجرای مستقیم آن، به جریان خروجی استاندارد ارسال شود. . . .P هدف از خروجی مستقل از دستگاه، تسهیل توسعه پس‌پردازنده‌ها با ارائه یک رابط برنامه‌نویسی مشترک برای تمامی دستگاه‌ها است. . این یک زبان مجزا و بسیار ساده‌تر از زبان فرمت‌کننده .RI ( troff ) است. خروجی مستقل از دستگاه را می‌توان نوعی «زبان توصیف صفحه» در نظر گرفت. . . .P در بحث پیش‌رو، اصطلاح .I "خروجی troff" آنچه توسط .RI GNU\~ troff خروجی داده می‌شود را توصیف می‌کند، در حالی که .I "شرح صفحه" بیانگر زبانی است که توسط تجزیه‌کننده‌ای که این خروجی را برای درایورهای خروجی تفسیر می‌کند پذیرفته می‌شود. . این تجزیه‌کننده، فاصله‌های خالی را بسیار انعطاف‌پذیرتر از پیاده‌سازی .RI AT&T\~ troff پردازش می‌کند، توسعه‌های گنو به زبان را می‌شناسد، و برای سازگاری از کدگذاری فشرده و قدیمی زیرمجموعه‌ای از دستورات پشتیبانی می‌کند؛ در غیر این صورت، فرمت‌ها یکسان هستند. . (تجزیه‌کننده خروجی مستقل از دستگاه را می‌توان در سورس‌های .I groff در مسیر .IR \%src/\:\%libs/\:\%libdriver/\:\%input.cpp یافت). . . .P هنگامی که برایان کرنیهان زبان شرح صفحه مستقل از دستگاه .RI AT&T\~ troff را در حدود سال ۱۹۸۰ طراحی کرد، مجبور بود خوانایی و نگهداری‌پذیری را در برابر محدودیت‌های شدید اندازه فایل و سرعت انتقال به دستگاه خروجی متعادل کند. . یک دهه بعد، زمانی که جیمز کلارک .I groff را نوشت، این محدودیت‌ها دیگر چندان سخت‌گیرانه نبودند. .\" END Keep parallel with paragraphs after the first in the "gtroff .\" Output" node in doc/groff.texi.in. . . .\" ==================================================================== .SS "نحو (Syntax)" .\" ==================================================================== . زبان توصیف صفحه .IR roff دنباله‌ای از .I نشانه‌ها (tokens) است: دستورات تک‌حرفی یا آرگومان‌های آنها. برخی از دستورات یک زیردستور را به عنوان آرگومان اول می‌پذیرند که پس از آن یک یا چند آرگومان دیگر قرار می‌گیرد. . . .P نسخه مستقل از دستگاه .RI AT&T\~ troff هنگام تولید خروجی، حداقل فاصله خالی را به کار می‌برد. . در مقابل، .RI GNU\~ troff تلاش می‌کند خروجی خود را برای انسان خواناتر سازد. . کاراکترهای فاصله خالی\[em]تب، فاصله و خط جدید\[em]همیشه معنادار هستند. . آنها هرگز برای نمایش فاصله‌گذاری در سند استفاده نمی‌شوند؛ این کار با دستورات موقعیت‌یابی افقی .RB ( h ,\~ H ) و عمودی .RB ( v ,\~ V ) انجام می‌شود. . هر دنباله‌ای از کاراکترهای فاصله یا تب معادل یک فاصله تکی است و دستورات را از آرگومان‌ها و آرگومان‌ها را از یکدیگر جدا می‌کند. . فاصله فقط در جایی الزامی است که حذف آن باعث ابهام شود. . شکست خط دستورات را از یکدیگر جدا می‌کند. . کاراکتر کامنت، علامت هش/پوند .RB ( # ) است و بقیه خط را به عنوان یادداشت مشخص می‌کند. . خطی که پس از حذف کامنت فقط شامل فاصله‌های خالی باشد کاری جز جداسازی نشانه‌های ورودی انجام نمی‌دهد. . . .P به عنوان مثال، دستور حرکت افقی نسبی .RB ( h ) و دستور نوشتن یک گلیف .RB ( c )، هر کدام یک آرگومان واحد می‌گیرند؛ اولی یک عدد صحیح علامت‌دار، و دومی یک کاراکتر قابل چاپ ISO\~646/«ASCII». . یک سری از چنین دستوراتی می‌تواند بدون فاصله روی یک خط ورودی معتبر باشد، اما .RI GNU\~ troff پس از هر یک از آنها یک خط جدید درج می‌کند. . . .P برخی از دستورات نحو پیچیده‌تری دارند؛ دستور الحاقی .RI GNU\~ troff برای نوشتن دنباله‌ای از گلیف‌ها .RB ( t ) تعداد متغیری از آرگومان‌ها را می‌پذیرد. دستوراتی که اشکال هندسی رسم می‌کنند .RB ( D ) یا دستگاه را کنترل می‌کنند .RB ( x ) همچنین آرگومان‌های زیردستور را شناسایی می‌کنند. . بنابراین چنین دستوراتی باید با یک خط جدید پایان یابند. . در .RI GNU\~ troff ، زیردستور توسعه دستگاه .RB \[lq] x\~X \[rq] به طور منحصربه‌فرد از نحو ادامه خط پشتیبانی می‌کند؛ در حالی که هر دستور دیگری در یک خط ورودی واحد قرار می‌گیرد. . . .\" ==================================================================== .SS "واحدهای آرگومان (Argument units)" .\" ==================================================================== . برخی از دستورات آرگومان‌های عدد صحیح را می‌پذیرند که نشان‌دهنده مقادیر اندازه‌گیری هستند، اما واحدهای مقیاس‌پذیری زبان فرمت‌کننده هرگز استفاده نمی‌شوند. . اکثر دستورات واحد مقیاس‌پذیری .RB \[lq] u \[rq] (واحدهای پایه) را فرض می‌کنند و سایر دستورات از .RB \[lq] s \[rq] (نقاط مقیاس‌شده) استفاده می‌کنند. . این موارد توسط پارامترهای مشخص‌شده در فایل .I DESC دستگاه تعریف می‌شوند؛ به .MR groff_font 5 و برای اطلاعات بیشتر در مورد واحدهای مقیاس‌پذیری به .MR groff 7 و .IR "Groff: The GNU Implementation of troff" ، راهنمای Texinfo .IR groff ، مراجعه کنید. . دستورات مربوط به رنگ از اعداد صحیح بدون بعد استفاده می‌کنند. . . .P توجه داشته باشید که کاراکترهای تکی و همچنین نام قلم‌ها و کاراکترهای ویژه (یعنی گلیف‌ها) می‌توانند بیت هشتم فعال داشته باشند. . نام‌های گلیف‌ها و قلم‌ها می‌توانند طول دلخواه داشته باشند. . گلیفی که قرار است چاپ شود همیشه در قلم فعلی خواهد بود. . . .P یک آرگومان رشته‌ای همیشه با کاراکتر فاصله خالی بعدی (فاصله، تب یا خط جدید) خاتمه می‌یابد؛ کاراکتر تعبیه‌شده .B # به عنوان بخشی از آرگومان در نظر گرفته می‌شود، نه شروع یک دستور کامنت. . یک آرگومان عددی صحیح با اولین کاراکتر غیررقم بعدی خاتمه می‌یابد، که سپس به عنوان اولین کاراکتر آرگومان یا دستور بعدی در نظر گرفته می‌شود. . . .\" ==================================================================== .SS "ساختار خروجی (Output structure)" .\" ==================================================================== . خروجی مستقل از دستگاه .I troff به سه بخش سازماندهی می‌شود: یک سرآیند (header)، بدنه (body)، و یک تریلر (trailer). . . .P وظیفه سرآیند، تنظیم پارامترهای عمومی دستگاه است. . .RI GNU\~ troff تضمین می‌کند که سرآیند آن از سه خط زیر تشکیل شده است: . . .RS .P .B x\~T .I device .br .B x\~res .I n\~h\~v .br .B x init .RE . . .P با پارامترهای .IR n ، .IR h و .I v که مطابق با زیربخش «دستورات کنترل دستگاه» در ادامه تنظیم شده‌اند. تجزیه‌کننده فرمت زبان توصیف صفحه مستقل از دستگاه قادر به تفسیر فاصله‌های خالی و کامنت‌های اضافی حتی در سرآیند نیز می‌باشد. . . .P بدنه شامل محتوای قابل مشاهده سند است. . به محض اینکه درایور خروجی دستور .RB \[lq] "x init" \[rq] را تفسیر کرد، آماده رسیدگی به دستورات به طور کلی می‌شود. . پردازش زمانی خاتمه می‌یابد که دستور .RB \[lq] "x stop" \[rq] مشاهده شود؛ آخرین خط هر خروجی شرح صفحه .RI GNU\~ troff همیشه حاوی چنین دستوری است. . . .P از نظر معنایی، بدنه صفحه-محور است. . دستور .B p یک صفحه جدید را آغاز می‌کند. . دستورات موقعیت‌یابی، نوشتن و رسم درون یک صفحه اجرا می‌شوند، بنابراین نمی‌توانند قبل از اولین دستور .B p ظاهر شوند. . درایور خروجی موقعیت‌یابی مطلق را (با دستورات .B H و .BR V ) نسبت به مبدأ صفحه فعلی در گوشه بالا-چپ، و تمامی موقعیت‌یابی‌های دیگر را نسبت به موقعیت رسم روی صفحه محاسبه می‌کند. . . .P تریلر موقعیت رسم را به پایین صفحه می‌برد و به دستگاه اطلاع می‌دهد که سند (یا «کار») به پایان رسیده است. . . .\" ==================================================================== .SH "مرجع دستورات (Command reference)" .\" ==================================================================== . این بخش تمامی دستورات خروجی توصیف صفحه را توصیف می‌کند، هم دستورات مربوط به .RI AT&T\~ troff و هم دستورات توسعه‌یافته صادرشده توسط .RI GNU\~ troff . . . .\" ==================================================================== .SS "دستور کامنت (Comment command)" .\" ==================================================================== . .TP .BI # anything\c \[la]line-break\[ra] اعمال یادداشت یا کامنت. . نادیده گرفتن تمام کاراکترها از کاراکتر .BR # تا خط جدید بعدی. . هر کامنت می‌تواند با فاصله نحوی دلخواه شروع شود، و هر دستوری می‌تواند با یک کامنت خاتمه یابد. . . .\" ==================================================================== .SS "دستورات ساده (Simple commands)" .\" ==================================================================== . دستورات این زیربخش دارای یک کد دستور متشکل از یک کاراکتر تکی هستند که تعداد ثابتی آرگومان می‌گیرند. . بیشتر آنها دستوراتی برای موقعیت‌یابی و نوشتن متن هستند. . این دستورات در برخورد با فاصله‌های خالی هوشمندانه عمل می‌کنند. . به صورت اختیاری، .I فاصله نحوی می‌تواند قبل، بعد، و بین حرف دستور و آرگومان‌های آن درج شود. . تمامی این دستورات قابل پشته‌سازی هستند، یعنی می‌توانند قبل از سایر دستورات ساده یا بعد از دستورات دلخواه دیگر در همان خط قرار گیرند. . یک .I فاصله نحوی جداکننده فقط زمانی لازم است که دو آرگومان عددی صحیح با هم تداخل پیدا کنند یا اگر آرگومان قبلی با یک آرگومان رشته‌ای خاتمه یابد. . . .if \n[@USE_ENV_STACK]=1 \{\ .TP .command { یک محیط جدید را با کپی کردن داده‌های پیکربندی فعلی دستگاه در پشته محیط باز می‌کند. . محیط فعلی بر اساس مشخصات دستگاه تنظیم شده و توسط دستورات تنظیمات دستکاری می‌شود. . . .TP .command } محیط فعلی را می‌بندد (که توسط دستور قبلی .BR { باز شده بود) و محیط قبلی را از پشته محیط به عنوان داده‌های پیکربندی فعلی دستگاه بازیابی می‌کند. . .\} \" endif @USE_ENV_STACK . . .TP .command C id \[la]white-space\[ra] حروف‌چینی گلیف کاراکتر ویژه .IR id . . فاصله نحوی انتهایی برای مجاز دانستن نام‌های کاراکترهای ویژه با طول دلخواه الزامی است. . موقعیت رسم پیشروی نمی‌کند. . . .TP .command c c حروف‌چینی گلیف کاراکتر معمولی .RI \~ c . . موقعیت رسم پیشروی نمی‌کند. . . .TP .command f n انتخاب قلم سوارشده در موقعیت .RI \~ n . . مقدار .IR n نمی‌تواند منفی باشد. . . .TP .command H n حرکت افقی موقعیت رسم به مقدار .IR n واحد پایه از لبه سمت چپ صفحه. . مقدار .IR n نمی‌تواند منفی باشد. . . .TP .command h n حرکت موقعیت رسم به اندازه .I n واحد پایه به سمت راست. . در .RI AT&T\~ troff مقادیر منفی .I n مجاز بود؛ .RI GNU\~ troff چنین مقادیری را تولید نمی‌کند، اما کتابخانه درایور خروجی .IR groff با آنها کار می‌کند. . . .TP .command m "scheme \f[R][\f[]component\f[R] .\|.\|.]" انتخاب رنگ خط رسم با استفاده از مولفه‌های .IR component در فضای رنگ .IR scheme . . هر .I component یک عدد صحیح بین 0 و \n[@maxcolor] است. . تعداد مولفه‌ها و معانی آنها در هر .IR scheme متفاوت است. . این دستور یکی از الحاقات .I groff است. . . .RS .TP .command mc "cyan magenta yellow" استفاده از طرح رنگ CMY با مولفه‌های فیروزه‌ای (cyan)، سرخابی (magenta) و زرد (yellow). . . .TP .command md استفاده از رنگ پیش‌فرض (بدون مولفه؛ در بیشتر موارد سیاه). . . .TP .command mg gray استفاده از طرح رنگ در مقیاس خاکستری با یک مولفه بین 0 (سیاه) و \n[@maxcolor] (سفید). . . .TP .command mk "cyan magenta yellow black" استفاده از طرح رنگ CMYK با مولفه‌های فیروزه‌ای (cyan)، سرخابی (magenta)، زرد (yellow) و سیاه (black). . . .TP .command mr "red green blue" استفاده از طرح رنگ RGB با مولفه‌های قرمز (red)، سبز (green) و آبی (blue). .RE . . .TP .command N n حروف‌چینی گلیف با نمایه .RI \~ n در قلم فعلی. . .IR n معمولاً یک عدد صحیح غیرمنفی است. . موقعیت رسم پیشروی نمی‌کند. . دستگاه‌های .B html و .B xhtml از این دستور با .RI n\~ منفی برای تولید فاصله نشکن استفاده می‌کنند؛ مقدار مطلق .I n گرفته شده و در واحدهای پایه تفسیر می‌شود. . . .TP .command n b\~a نشان‌دهنده یک شکست (break). . هیچ عملی انجام نمی‌شود؛ این دستور برای آسان‌تر کردن تجزیه خروجی وجود دارد. . اعداد صحیح .I b و .I a به ترتیب مقادیر فضای عمودی قبل و بعد از شکست را توصیف می‌کنند. . .RI GNU\~ troff این دستور را صادر می‌کند اما کتابخانه درایور خروجی .IR groff آن را نادیده می‌گیرد. . به .B v و .B V مراجعه کنید. . . .TP .command p n شروع یک صفحه جدید و تنظیم شماره آن به .RI \~ n . . هر صفحه مستقل است، حتی از صفحاتی که از همان شماره استفاده می‌کنند. . موقعیت رسم عمودی روی 0 تنظیم می‌شود. . تمامی دستورات موقعیت‌یابی، نوشتن و رسم در چارچوب یک صفحه تفسیر می‌شوند، بنابراین دستور .B p باید مقدم بر آنها باشد. . . .TP .command s n تنظیم اندازه حروف به .I n نقطه مقیاس‌شده .RB (واحد\~ z در .RI GNU\~ troff ). . در .RI AT&T\~ troff در عوض از نقاط مقیاس‌نشده .RB ( p ) استفاده می‌شد؛ بخش «سازگاری» در ادامه را ببینید. . . .TP .command t xyz\f[R]\|.\|.\|.\& \f[R]\[la]white-space\[ra] .TQ .command t "xyz\f[R]\|.\|.\|.\&\f[] dummy-arg" \[la]white-space\[ra] حروف‌چینی کلمه .IR xyz ؛ یعنی قرار دادن دنباله‌ای از گلیف‌های معمولی به نام‌های .IR x ، .IR y ، .IR z ، \&.\|.\|.\|، که با یک فاصله یا خط جدید خاتمه می‌یابد؛ یک آرگومان عدد صحیح دوم اختیاری نادیده گرفته می‌شود (این به فرمت‌کننده اجازه می‌دهد تعداد زوجی از آرگومان‌ها را تولید کند). . هر گلیف در موقعیت رسم فعلی قرار می‌گیرد، و سپس موقعیت به اندازه عرض گلیف به صورت افقی به جلو حرکت می‌کند. . عرض یک گلیف از معیارهای آن در فایل شرح قلم خوانده می‌شود، به اندازه حروف فعلی مقیاس می‌گردد، و به ضریبی از کوانتوم حرکت افقی گرد می‌شود. . از دستور .B C برای درج گلیف‌های کاراکترهای ویژه استفاده کنید. . دستور .B t یکی از الحاقات .I groff است و فقط برای دستگاه‌هایی خروجی داده می‌شود که فایل .I DESC آنها حاوی دستورالعمل .B tcommand باشد؛ به .MR groff_font 5 مراجعه کنید. . . .TP .command u "n xyz"\f[R]\|.\|.\|.\& \f[R]\[la]white-space\[ra] .TQ .command u "xyz\f[R]\|.\|.\|.\&\f[] dummy-arg" \[la]white-space\[ra] حروف‌چینی کلمه .I xyz با فاصله‌گذاری بین‌حروفی پیوسته (track kerning). . مانند .BR t ، اما پس از قرار دادن هر گلیف، موقعیت رسم به اندازه .I n واحد پایه دیگر به صورت افقی به جلو رانده می‌شود. . دستور .B u یکی از الحاقات .I groff است و فقط برای دستگاه‌هایی خروجی داده می‌شود که فایل .I DESC آنها حاوی دستورالعمل .B tcommand باشد؛ به .MR groff_font 5 مراجعه کنید. . . .TP .command V n حرکت عمودی موقعیت رسم به مقدار .IR n واحد پایه از لبه بالای صفحه. . مقدار .IR n نمی‌تواند منفی باشد. . . .TP .command v n حرکت موقعیت رسم به اندازه .I n واحد پایه به سمت پایین. . در .RI AT&T\~ troff مقادیر منفی .I n مجاز بود؛ .RI GNU\~ troff چنین مقادیری را تولید نمی‌کند، اما کتابخانه درایور خروجی .IR groff با آنها کار می‌کند. . . .TP .command w نشان‌دهنده یک فاصله بین‌کلمه‌ای. . هیچ عملی انجام نمی‌شود؛ این دستور برای آسان‌تر کردن تجزیه خروجی وجود دارد. . فقط فاصله‌های بین‌کلمه‌ای در یک خط خروجی (چه شکست‌پذیر باشند چه نباشند) به این صورت توصیف می‌شوند؛ فاصله‌های ناشی از توالی‌های گریز حرکت افقی توصیف نمی‌شوند. . .RI GNU\~ troff این دستور را صادر می‌کند اما کتابخانه درایور خروجی .IR groff آن را نادیده می‌گیرد. . به .B h و .B H مراجعه کنید. . . .\" ==================================================================== .SS "دستورات طراحی (Graphics commands)" .\" ==================================================================== . هر دستور گرافیکی یا طراحی در زبان توصیف صفحه با حرف .RB \[lq] D \[rq] آغاز می‌شود، و به دنبال آن یک یا دو کاراکتر می‌آید که یک زیردستور را مشخص می‌کنند؛ سپس تعداد ثابت یا متغیری آرگومان عدد صحیح که با یک کاراکتر فاصله تکی از هم جدا شده‌اند قرار می‌گیرد. . یک دستور .RB \[lq] D \[rq] نمی‌تواند در همان خط با دستور دیگری دنبال شود (به جز یک کامنت)، بنابراین هر دستور .RB \[lq] D \[rq] با یک شکست خط نحوی پایان می‌یابد. . . .P خروجی .RI GNU\~ troff از قراردادهای خروجی .RI AT&T\~ troff پیروی می‌کند (هیچ فاصله‌ای بین دستور و زیردستور وجود ندارد، تمام آرگومان‌ها با یک کاراکتر فاصله تکی آغاز می‌شوند)، اما تجزیه‌کننده .IR groff اجازه می‌دهد بین حروف دستور فاصله اختیاری وجود داشته باشد و فاصله قبل از اولین آرگومان را اختیاری می‌داند. . طبق معمول، هر فاصله می‌تواند هر دنباله‌ای از کاراکترهای تب و فاصله باشد. . . .P برخی از دستورات گرافیکی می‌توانند تعداد متغیری آرگومان بگیرند. . در این حالت، آنها اعداد صحیحی هستند که اندازه‌ای را بر حسب واحدهای پایه\~\c .BR u نشان می‌دهند. . آرگومان‌های .I h نشان‌دهنده فاصله‌های افقی هستند که در آن مقادیر مثبت به معنای راست و مقادیر منفی به معنای چپ است. . آرگومان‌های .I v نشان‌دهنده فاصله‌های عمودی هستند که در آن مقادیر مثبت به معنای پایین و مقادیر منفی به معنای بالا است. . تمامی این فاصله‌ها انحرافاتی نسبت به مکان فعلی هستند. . . .P هر دستور گرافیکی مستقیماً با یک توالی گریز .B \[rs]D در .I troff مطابقت دارد. . زیربخش «دستورات طراحی» در .MR groff 7 را ببینید. . . .P مگر در مواردی که خلاف آن ذکر شده باشد، هر دستور گرافیکی مستقیماً با یک توالی گریز مشابه .B \*[@backslash]D در .I groff مطابقت دارد؛ به .MR groff 7 مراجعه کنید. . . .P دستورات ناشناخته .BR D وابسته به دستگاه در نظر گرفته می‌شوند. . آرگومان‌های آن به عنوان رشته تجزیه می‌شوند؛ سپس کل اطلاعات به پس‌پردازنده فرستاده می‌شود. . . .P در مرجع دستورات زیر، عنصر نحوی .I \[la]line-break\[ra] به معنای یک .I شکست خط نحوی است همانطور که در زیربخش «جداسازی» در بالا تعریف شد. . . .TP .D-multiarg \[ti] رسم بی-اسپلاین (B-spline) از موقعیت فعلی تا انحراف .indexed_offset h 1 v 1 ، سپس تا انحراف .indexed_offset h 2 v 2 در صورت ارائه، و غیره، تا .indexed_offset h n v n . این دستور تعداد متغیری از جفت‌آرگومان‌ها را می‌پذیرد؛ موقعیت فعلی به نقطه پایانی منحنی رسم‌شده منتقل می‌شود. . . .TP .Da-command رسم کمان از موقعیت فعلی به .indexed_offset h 1 v 1 \|+\| \c .indexed_offset h 2 v 2 با مرکز در .indexed_offset h 1 v 1 ؛ سپس انتقال موقعیت فعلی به نقطه پایانی کمان. . . .TP .D-command C d .TQ .D-command C "d dummy-arg" رسم یک دایره توپر با استفاده از رنگ پر کردن فعلی با قطر\~\c .I d (عدد صحیح در واحدهای پایه\~\c .BR u ) که سمت چپ‌ترین نقطه آن در موقعیت فعلی قرار دارد؛ سپس انتقال موقعیت فعلی به راست‌ترین نقطه دایره. . یک آرگومان عدد صحیح دوم اختیاری نادیده گرفته می‌شود (این به فرمت‌کننده اجازه می‌دهد تعداد زوجی از آرگومان‌ها تولید کند). . این دستور یک الحاقیه گنو است. . . .TP .D-command c d رسم خط دایره با قطر\~\c .I d (عدد صحیح در واحدهای پایه\~\c .BR u ) که سمت چپ‌ترین نقطه آن در موقعیت فعلی قرار دارد؛ سپس انتقال موقعیت فعلی به راست‌ترین نقطه دایره. . . .TP .D-command E "h v" رسم یک بیضی توپر در رنگ پر کردن فعلی با قطر افقی\~\c .I h و قطر عمودی\~\c .I v (هر دو عدد صحیح در واحدهای پایه\~\c .BR u ) که سمت چپ‌ترین نقطه آن در موقعیت فعلی قرار دارد؛ سپس انتقال به راست‌ترین نقطه بیضی. . این دستور یک الحاقیه گنو است. . . .br .ne 4v .TP .D-command e "h v" رسم یک بیضی توخالی با قطر افقی\~\c .I h و قطر عمودی\~\c .I v (هر دو عدد صحیح در واحدهای پایه\~\c .BR u ) که سمت چپ‌ترین نقطه آن در موقعیت فعلی قرار دارد؛ سپس انتقال به راست‌ترین نقطه بیضی. . . .TP .D-command F "color-scheme \fR[\fPcomponent\fR .\|.\|.]\fP" تنظیم رنگ پر کردن برای اشیای طراحی توپر با استفاده از طرح‌های رنگ مختلف؛ دستور مشابه برای تنظیم رنگ متن، گرافیک خطی و خط دور اشیای گرافیکی .BR m است. . مولفه‌های رنگ به عنوان آرگومان‌های عدد صحیح بین 0 و \n[@maxcolor] مشخص می‌شوند. . تعداد مولفه‌های رنگ و معنی آنها برای طرح‌های مختلف رنگ متغیر است. . این دستورات توسط توالی‌های گریز .RI GNU\~ troff تولید می‌شوند: .RB \[lq] "\[rs]D\[aq]F\~" .\|.\|. \[aq] \[rq] .B \[rs]M (بدون دستورات گرافیکی متناظر دیگر). . هیچ تغییر موقعیتی رخ نمی‌دهد. . این دستور یک الحاقیه گنو است. . . .RS . .TP .D-command Fc "cyan magenta yellow" تنظیم رنگ پر کردن برای اشیای طراحی توپر با استفاده از طرح رنگ CMY، شامل 3 مولفه رنگ فیروزه‌ای، سرخابی و زرد. . . .TP .D-command Fd تنظیم رنگ پر کردن برای اشیای طراحی توپر به مقدار پیش‌فرض رنگ پر کردن (در اکثر موارد سیاه). . بدون آرگومان‌های مولفه. . . .TP .D-command Fg "gray" تنظیم رنگ پر کردن برای اشیای طراحی توپر به سایه خاکستری ارائه‌شده توسط آرگومان، یک عدد صحیح بین 0 (سیاه) و \n[@maxcolor] (سفید). . . .TP .D-command Fk "cyan magenta yellow black" تنظیم رنگ پر کردن برای اشیای طراحی توپر با استفاده از طرح رنگ CMYK، شامل 4 مولفه رنگ فیروزه‌ای، سرخابی، زرد و سیاه. . .TP .D-command Fr "red green blue" تنظیم رنگ پر کردن برای اشیای طراحی توپر با استفاده از طرح رنگ RGB، شامل 3 مولفه رنگ قرمز، سبز و آبی. . .RE . . .TP .D-command f n آرگومان .I n باید یک عدد صحیح در محدوده \-32767 تا 32767 باشد. . .RS .TP .RI 0\|\[<=]\| n \|\[<=]\|1000 تنظیم رنگ پر کردن برای اشیای طراحی توپر به سایه‌ای از خاکستری، که در آن 0 معادل سفید خالص، 1000 (پیش‌فرض) معادل سیاه خالص، و مقادیر مابین معادل سایه‌های میانی خاکستری است؛ این دستور با .RB \[lq] DFg \[rq] جایگزین شده است. . .TP .IR n "\|<\|0 or " n \|>\|1000 تنظیم رنگ پر کردن به رنگی که در حال حاضر برای متن و خط دور استفاده می‌شود، دستور .BR m را ببینید. به عنوان مثال، توالی دستورات . .RS .IP .EX mg 0 0 \n[@maxcolor] Df \-1 .EE .RE . .IP تمام رنگ‌ها را به آبی تنظیم می‌کند. . .P این دستور یک الحاقیه گنو است. .RE . . .TP .D-command l "h v" رسم خط از موقعیت فعلی تا انحراف .offset h v (اعداد صحیح در واحدهای پایه\~\c .BR u )؛ سپس تنظیم موقعیت فعلی به انتهای خط رسم‌شده. . . .TP .D-multiarg p رسم یک چندضلعی توخالی از موقعیت فعلی تا انحراف .indexed_offset h 1 v 1 ، از آنجا تا انحراف .indexed_offset h 2 v 2 ، و غیره، تا انحراف .indexed_offset h n v n ، و از آنجا برگشت به موقعیت شروع. . .ie \n[@STUPID_DRAWING_POSITIONING]=1 \{\ به دلایل تاریخی، موقعیت با افزودن مجموع تمام آرگومان‌ها با نمایه فرد به موقعیت افقی فعلی و آرگومان‌های با نمایه زوج به موقعیت عمودی تغییر می‌یابد. . اگرچه این منطقی نیست اما برای سازگاری حفظ شده است. . .\} .el \{\ از آنجا که چندضلعی بسته است، پایان رسم همان نقطه شروع است، بنابراین موقعیت تغییر نمی‌کند. .\} . این دستور یکی از الحاقات .I groff است. . . .TP .D-multiarg P همان ماکرو مشابه دستور متناظر .B Dp با همان آرگومان‌ها است، اما به جای یک چندضلعی توخالی، یک چندضلعی توپر را با رنگ پر کردن فعلی رسم می‌کند. . .if \n[@STUPID_DRAWING_POSITIONING]=1 \{\ موقعیت به همان روش .BR Dp تغییر می‌کند. .\} . این دستور یک الحاقیه گنو است. . . .TP .D-command t n تنظیم ضخامت خط فعلی به .RI \~ n (یک عدد صحیح در واحدهای پایه\~\c .RB \~ u ) اگر .IR n \|>\|0؛ اگر .IR n \|=\|0 کوچک‌ترین ضخامت خط موجود را انتخاب می‌کند؛ در غیر این صورت، ضخامت خط متناسب با اندازه حروف قرار داده می‌شود که حالت پیش‌فرض است. . .if \n[@STUPID_DRAWING_POSITIONING]=1 \{\ به دلایل تاریخی، موقعیت افقی با افزودن آرگومان به موقعیت افقی فعلی تغییر می‌یابد، در حالی که موقعیت عمودی تغییر نمی‌کند. . اگرچه این منطقی نیست، برای سازگاری حفظ شده است. .\} . این دستور یک الحاقیه گنو است. . . .\" ==================================================================== .SS "دستورات کنترل دستگاه (Device control commands)" .\" ==================================================================== . هر دستور کنترل دستگاه با حرف .RB \[lq] x \[rq] شروع می‌شود، که به دنبال آن یک کاراکتر فاصله (فاصله یا تب اختیاری یا دلخواه در .RI GNU\~ troff ) و یک حرف یا کلمه زیردستور قرار دارد؛ هر آرگومان (در صورت وجود) باید با یک فاصله نحوی مقدم شود. تمام دستورات .RB \[lq] x \[rq] با یک شکست خط نحوی خاتمه می‌یابند؛ هیچ دستور کنترل دستگاهی نمی‌تواند در همان خط با دستور دیگری دنبال شود (به جز یک کامنت). . . .P زیردستور اساساً یک حرف تکی است، اما برای افزایش خوانایی می‌تواند به صورت یک کلمه نوشته شود، یعنی دنباله‌ای دلخواه از کاراکترها که با کاراکتر تب، فاصله یا خط جدید بعدی پایان می‌یابد. . تمام کاراکترهای کلمه زیردستور به جز کاراکتر اول به سادگی نادیده گرفته می‌شوند. . به عنوان مثال، .RI GNU\~ troff دستور مقداردهی اولیه .RB \[lq] "x i" \[rq] را به صورت .RB \[lq] "x init" \[rq] و دستور وضوح تصویر را از .RB \[lq] "x r" \[rq] به صورت .RB \[lq] "x res" \[rq] خروجی می‌دهد. . . .P در ادامه، عنصر نحوی .I \[la]line-break\[ra] به معنای یک .I شکست خط نحوی است همانطور که در زیربخش «جداسازی» در بالا تعریف شد. . .TP .x-command F name .xsub Filename استفاده از .I name به عنوان نام مورد نظر برای فایل فعلی در گزارش‌های خطا. . این برای به یاد آوردن نام فایل اصلی هنگامی که .I groff از مکانیزم پایپینگ داخلی خود استفاده می‌کند مفید است. . فایل ورودی با این دستور تغییر نمی‌کند. . این دستور یک الحاقیه گنو است. . . .TP .x-command f "n\ s" .xsub font سوار کردن موقعیت قلم\~\c .I n (یک عدد صحیح غیرمنفی) با قلمی به نام\~\c .I s (یک کلمه متنی)؛ به .MR groff_font 5 مراجعه کنید. . . .TP .x-command H n .xsub Height تنظیم ارتفاع کاراکتر به\~\c .I n (یک عدد صحیح مثبت در نقاط مقیاس‌شده\~\c .BR z ). . .I troff کلاسیک در عوض از واحد نقاط (\c .BR p ) استفاده می‌کرد؛ بخش «سازگاری» در ادامه را ببینید. . . .TP .x-command i .xsub init مقداردهی اولیه دستگاه. . این سومین دستور سرآیند است. . . .TP .x-command p .xsub pause تجزیه می‌شود اما نادیده گرفته می‌شود. . مستندات کلاسیک چنین می‌گوید: .IR "دستگاه مکث می‌کند، می‌تواند مجدداً راه‌اندازی شود" . . . .TP .x-command r "n\ h\ v" .xsub resolution وضوح برابر است با\~\c .IR n ، در حالی که .I h حداقل حرکت افقی، و .I v حداقل حرکت عمودی ممکن با این دستگاه است؛ تمام آرگومان‌ها اعداد صحیح مثبت در واحدهای پایه\~\c .B u در هر اینچ هستند. . این دومین دستور سرآیند است. . . .TP .x-command S n .xsub Slant تنظیم زاویه شیب به\~\c .I n درجه (یک عدد صحیح در واحدهای پایه\~\c .BR u ). . . .TP .x-command s .xsub stop خاتمه دادن به پردازش فایل فعلی؛ به عنوان آخرین دستور خروجی مستقل از دستگاه .I troff صادر می‌شود. . . .TP .x-command t .xsub trailer تولید اطلاعات تریلر، در صورت وجود. . در .BR groff ، این در حال حاضر نادیده گرفته می‌شود. . . .TP .x-command T xxx .xsub Typesetter . تنظیم نام درایور خروجی به .IR xxx ، دنباله‌ای از کاراکترهای غیرفاصله که با یک فاصله خاتمه می‌یابد. . نام‌های ممکن با نام‌های گزینه .B \-T در .IR groff مطابقت دارند. . این اولین دستور سرآیند است. . . .TP .x-command u n .xsub underline پیکربندی خط‌کشی زیر فاصله‌ها. . اگر .I n برابر با 1 باشد، خط‌کشی زیر فاصله‌ها را آغاز می‌کند؛ اگر .I n برابر با 0 باشد، خط‌کشی زیر فاصله‌ها را متوقف می‌سازد. . این برای درخواست .B cu در حالت .B \%nroff لازم است و در غیر این صورت نادیده گرفته می‌شود. . این دستور یک الحاقیه گنو است. . . .TP .x-command X anything .xsub X-escape ارسال رشته .I anything بدون تفسیر به دستگاه. . اگر خط پس از این دستور با یک کاراکتر .B + شروع شود، این خط به عنوان یک خط ادامه به معنای زیر تفسیر می‌شود: . علامت .B + نادیده گرفته می‌شود، اما به جای آن یک کاراکتر خط جدید به دستگاه فرستاده می‌شود و بقیه خط بدون تفسیر ارسال می‌گردد. . همین امر برای تمام خطوط بعدی اعمال می‌شود تا زمانی که اولین کاراکتر یک خط کاراکتر .B + نباشد. . این دستور توسط توالی گریز .I groff به صورت .BR \*[@backslash]X تولید می‌شود. . ادامه خط یک الحاقیه گنو است. . . .\" ==================================================================== .SS "کدگذاری فشرده قدیمی (Legacy compressed encoding)" .\" ==================================================================== . نسخه .RI AT&T\~ troff اصولاً گلیف‌ها را با نوشتن دو رقم (یک حرکت) به دنبال یک کاراکتر تکی مربوط به یک گلیف منتشر می‌کرد. . این نحو کمتر یک دستور مستقل است و بیشتر یک کدگذاری فشرده از دستورات .B c و .B h می‌باشد. . . .TP .I ddc حرکت به راست به اندازه .I dd (دقیقاً دو رقم اعشاری) واحد پایه\~\c .BR u ، سپس چاپ گلیف با نام تک‌حرفی\~\c .IR c . . . .RS .P در .IR groff ، افزودن .I فاصله نحوی دلخواه در اطراف و درون این دستور مجاز است. . تنها زمانی که یک دستور قبلی در همان خط با آرگومانی با طول متغیر پایان یابد، درج یک فاصله جداکننده الزامی است. . در .IR troff کلاسیک، خوشه‌های بزرگی از این دستورات و دستورات دیگر بیشتر بدون فاصله به کار می‌رفتند؛ این امر چنین خروجی‌هایی را تقریباً ناخوانا می‌کرد. . .RE . . .P برای دستگاه‌های مدرن با وضوح بالا، این دستور غیرعملی است زیرا عرض گلیف‌ها در واحدهای پایه مقداری بزرگ‌تر از آن چیزی است که دو رقم اعشاری بتوانند نشان دهند. . در .IR groff ، این دستور فقط برای خروجی به دستگاه‌های .BR X75 ، .BR X75\-12 ، .BR X100 و .B X100\-12 استفاده می‌شود. . برای سایر دستگاه‌ها، دستورات .B t و .B u قابلیت‌های بیشتر و امکانات عیب‌یابی برتری فراهم می‌کنند. . . .\" ==================================================================== .SH "سازگاری (COMPATIBILITY)" .\" ==================================================================== . .\" BEGIN Keep parallel with subsection "Output Language Compatibility" .\" in doc/groff.texi.in. زبان توصیف صفحه .RI AT&T\~ troff اولین بار در \[lq]A Typesetter-independent TROFF\[rq] توسط برایان کرنیهان مستند شد، و تا سال ۱۹۹۲ راهنمای .RI AT&T\~ troff برای گنجاندن شرحی از آن به‌روزرسانی شد. . . .P زبان توصیف صفحه .IR groff با این مشخصات سازگار است مگر در جنبه‌های زیر: . . .IP \[bu] 3n شبه‌استقلال از دستگاه در .RI AT&T\~ troff مستقل از دستگاه هنوز پیاده‌سازی نشده است. . . .IP \[bu] سخت‌افزار چاپ اوایل دهه ۱۹۸۰ با سخت‌افزار امروزی متفاوت بود. . نام‌های دستگاه‌های خروجی .IR groff نیز با نام‌های .RI AT&T\~ troff تفاوت دارد. . به عنوان مثال، دستگاه پست‌اسکریپت در .RI AT&T\~ troff ، .B post (پیاده‌سازی‌شده توسط دستور درایور .IR dpost )، تنها دارای وضوح 720 واحد در اینچ بود که برای چاپگرهای دهه‌های گذشته مناسب بود. . دستگاه .B ps در .IR groff دارای وضوح 72000 واحد در اینچ است. . از نظر تئوری، با پیاده‌سازی یک سازوکار تغییر مقیاس، .I groff می‌تواند از دستگاه .B post در AT&T شبیه‌سازی به عمل آورد. . . .IP \[bu] اگرچه دستور بی-اسپلاین .B D\[ti] توسط تجزیه‌کننده زبان توصیف صفحه .IR groff به طور قابل اعتمادی تفسیر می‌شود، برخی از درایورهای خروجی روتین‌های رسم را برای آن پیاده‌سازی نکرده‌اند. . . .IP \[bu] در .RI GNU\~ troff ، آرگومان مربوط به دستورات .B s و .B x\~H از یک واحد ضمنی از نقاط مقیاس‌شده .B z استفاده می‌کند در حالی که .RI AT&T\~ troff از نقاط فاصله‌گذاری .B p استفاده می‌کند. . این یک ناسازگاری نیست، بلکه یک الحاقیه سازگار است، زیرا هر دو واحد برای هر دستگاهی که دستورالعمل .B \%sizescale در فایل .I DESC آن وجود ندارد یکسان هستند، از جمله تمامی پس‌پردازنده‌های AT&T و دستگاه‌های متنی .IR groff (در حالت .RI \~ nroff ). . دستگاه‌های .I groff که از .B \%sizescale استفاده می‌کنند یا برای .RI AT&T\~ troff وجود ندارند، یا نام متفاوتی دارند، یا به نظر می‌رسد که وضوح متفاوتی دارند. . بنابراین تعارضات بسیار بعید است. . . .ie \n[@STUPID_DRAWING_POSITIONING]=1 \{\ .IP \[bu] موقعیت رسم پس از پردازش دستورات .RB \[lq] Dp \[rq] ، .RB \[lq] DP \[rq] و .RB \[lq] Dt \[rq] غیرمنطقی است. . از آنجا که نسخه‌های قدیمی .RI GNU\~ troff این ایراد را داشتند، ما آن را برای سازگاری حفظ کرده‌ایم، اما ممکن است در آینده آن را تغییر دهیم. . این دستورات طراحی را با توالی گریز .B \[rs]Z محصور کنید تا هم بر موقعیت‌یابی غیرمنطقی غلبه کنید و هم ورودی خود را صرف‌نظر از وجود این ایراد در پیاده‌سازی، پایدار نگه دارید. .\} \" @STUPID_DRAWING_POSITIONING .el \{\ .IP \[bu] موقتاً ابهاماتی در مورد موقعیت‌یابی پس از دستورات .B D که الحاقات .I groff هستند وجود داشت. . این موضوع با تثبیت قانون کلاسیک برای تمامی دستورات طراحی groff شفاف‌سازی شده است: . . .RS .P .ft I موقعیت پس از رسم یک شیء گرافیکی در انتهای آن قرار دارد؛ برای دایره‌ها و بیضی‌ها، "انتها" در سمت راست است. .ft .RE . . .P از این رو، موقعیت‌یابی‌های مشخص‌شده برای دستورات طراحی فوق کاملاً طبیعی حاصل می‌شوند. .\} \" @STUPID_DRAWING_POSITIONING . .P تفاوت‌های بین .I groff و .I troff کلاسیک در .MR groff_diff 7 مستند شده است. .\" END Keep parallel with subsection "Output Language Compatibility" in .\" doc/groff.texi.in. . . .\" ==================================================================== .SH "فایل‌ها (FILES)" .\" ==================================================================== . .TP .IR /usr/\:\%share/\:\%groff/\:\%1.24.1/\:\%font/\:\%dev name /\:DESC دستگاه خروجی .I name را توصیف می‌کند. . . .br .ne 4v .\" ==================================================================== .SH "نویسندگان (AUTHORS)" .\" ==================================================================== . جیمز کلارک نسخه اولیه‌ای از این سند را نوشت، که تنها تفاوت‌های بین زبان توصیف صفحه مستقل از دستگاه .RI AT&T\~ troff و .RI GNU\~ troff را تشریح می‌کرد. . از آن زمان توسط .MT groff\-bernd\:.warken\-72@\:web\:.de برند وارکن (Bernd Warken) .ME و .MT g.branden\:.robinson@\:gmail\:.com جی. برندین رابینسون (G. Branden Robinson) .ME گسترش یافته و بازبینی شده است. . . .\" ==================================================================== .SH "همچنین ببینید (SEE ALSO)" .\" ==================================================================== . .P کتاب .IR "Groff: The GNU Implementation of troff" ، نوشته ترنت ای. فیشر و ورنر لمبرگ، راهنمای اصلی .I groff است. . می‌توانید آن را به صورت تعاملی با دستور «info groff» مرور کنید. . . .br .ne 4v .P «راهنمای کاربر Troff» نوشته جوزف اف. اوسانا، ۱۹۷۶ (بازبینی‌شده توسط برایان دبلیو. کرنیهان، ۱۹۹۲)، گزارش فنی علوم کامپیوتر آزمایشگاه‌های بل AT&T شماره ۵۴ که به طور گسترده «CSTR\~#54» نامیده می‌شود، زبان، فرمت‌های فایل توصیف دستگاه و قلم، و زبان توصیف صفحه مستقل از دستگاه را که در مستندات .I groff مجموعاً با عنوان .RI «AT&T\~ troff» نامیده می‌شوند مستند می‌کند. . . .P «یک TROFF مستقل از حروف‌چین» نوشته برایان دبلیو. کرنیهان، ۱۹۸۲، گزارش فنی علوم کامپیوتر آزمایشگاه‌های بل AT&T شماره ۹۷ (CSTR\~#97)، بینش‌های بیشتری را در مورد فرمت‌های فایل توصیف دستگاه و قلم و زبان توصیف صفحه مستقل از دستگاه ارائه می‌دهد. . . .TP .MR groff 1 گزینه .B \-Z را مستند می‌کند و حاوی ارجاعاتی به مستندات بیشتر .I groff است. . . .TP .MR groff 7 زبان .I groff از جمله توالی‌های گریز و سامانه واحدهای آن را شرح می‌دهد. . . .TP .MR groff_font 5 پارامترهای مقیاس‌بندی فایل‌های .I DESC (توصیف دستگاه) را با جزئیات بیان می‌کند. . . .TP .MR \%troff 1 زبانی را که در اینجا مستند شده است تولید می‌کند. . . .TP .MR roff 7 جنبه‌های تاریخی و ساختار کلی سامانه‌های .I roff را ارائه می‌دهد. . . .TP .MR groff_diff 7 تفاوت‌های بین خروجی .RI AT&T\~ troff و .RI GNU\~ troff را برمی‌شمارد. . . .TP .MR gxditview 1 یک نمایشگر برای خروجی مستقل از دستگاه .I troff است. . . .TP .UR https://\:github.com/\:Alhadis/\:Roff\:.js .I Roff.js .UE یک نمایشگر برای خروجی مستقل از دستگاه .I troff است که با جاوااسکریپت نوشته شده است. . . .P .MR grodvi 1 ، .MR grohtml 1 ، .MR grolbp 1 , .MR grolj4 1 , .MR gropdf 1 , .MR grops 1 و .MR grotty 1 پس‌پردازنده‌های .I groff هستند. . . .\" Restore compatibility mode (for, e.g., Solaris 10/11). .cp \n[*groff_groff_out_5_man_C] .do rr *groff_groff_out_5_man_C . . .\" Local Variables: .\" fill-column: 72 .\" mode: nroff .\" End: .\" vim: set filetype=groff textwidth=72: