.\" -*- mode: troff; coding: utf-8 -*- .\" Automatically generated by Pod::Man 5.01 (Pod::Simple 3.43) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>. .ie n \{\ . ds C` "" . ds C' "" 'br\} .el\{\ . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "BUNDLEDOC 1" .TH BUNDLEDOC 1 2025-02-26 v3.5 "دستورهای کاربر" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "نام (NAME)" bundledoc \- بسته‌بندی تمام فایل‌های مورد نیاز یک سند LaTeX .SH "خلاصه دستور (SYNOPSIS)" .IX Header "SYNOPSIS" bundledoc [\fB\-\-version\fR] [\fB\-\-help\fR] [\fB\-\-\fR[\fBno\fR]\fBverbose\fR] [\fB\-\-texfile\fR=\fIfile.tex\fR] [\fB\-\-directory\fR=\fIdirectory\fR] [\fB\-\-\fR[\fBno\fR]\fBlocalonly\fR] [\fB\-\-exclude\fR=\fIstring\fR] [\fB\-\-include\fR=\fIfilespec\fR] [\fB\-\-manifest\fR=\fIfile\fR] [\fB\-\-\fR\fBlistdeps\fR=[yes|no|only|rel]...] [\fB\-\-\fR[\fBno\fR]\fBkeepdirs\fR] [\fB\-\-config\fR=\fIfile.cfg\fR] \&\fIfile.dep\fR.SH "توضیحات (DESCRIPTION)" .IX Header "DESCRIPTION" \&\fBbundledoc\fR یک پس‌پردازشگر برای بستهٔ \fBsnapshot\fR است که تمام کلاس‌ها، بسته‌ها و فایل‌های مورد نیاز برای ساخت یک سند LaTeX مشخص را گرد هم می‌آورد و بسته‌بندی می‌کند. این ابزار فایل \fI.dep\fR را که \fBsnapshot\fR تولید می‌کند می‌خواند، هر یک از فایل‌های ذکرشده در آن را می‌یابد و آن‌ها را در یک فایل آرشیو واحد (مثلاً یک فایل \fI.tar.gz\fR) بسته‌بندی می‌کند که برای انتقال میان سیستم‌ها، ارسال به یک همکار و غیره مناسب است. .PP به‌عنوان ساده‌ترین مثال ممکن، یک فایل LaTeX را، مثلاً به نام \&\fIhello.tex\fR، در نظر بگیرید: .PP .Vb 2 \& \eRequirePackage{snapshot} % Needed by bundledoc \& \edocumentclass[11pt]{article} \& \& \ebegin{document} \& Hello, world! \& \eend{document} .Ve .PP دستور \f(CW\*(C`\eRequirePackage{snapshot}\*(C'\fR باعث تولید یک فایل \fIhello.dep\fR می‌شود. هنگامی که سپس \f(CW\*(C`hello.dep\*(C'\fR به‌عنوان آرگومان به \fBbundledoc\fR داده شود، این ابزار فایل‌های وابسته \-\- \fIsnapshot.sty\fR، \fIarticle.cls\fR، و \fIsize11.clo\fR \-\- را پیدا کرده و آن‌ها را همراه با \fIhello.tex\fR و یک فایل \fIMANIFEST\fR (که در بخش «گزینه‌ها (OPTIONS)» در ادامه شرح داده شده) در یک فایل آرشیو واحد بسته‌بندی می‌کند. .SH "گزینه‌ها (OPTIONS)" .IX Header "OPTIONS" در توضیحات زیر، \fIsomefile\fR به نام سند اصلی LaTeX شما (بدون پسوند) اشاره دارد. .PP \&\fBbundledoc\fR به نام فایل وابستگی تولید شده توسط \fBsnapshot\fR نیاز دارد (که معمولاً \fIsomefile\fR\fI.dep\fR است). (برای راحتی، می‌توان این فایل را بدون پسوند \fI.dep\fR آن نیز مشخص کرد.) گزینه‌های زیر را نیز می‌توان تعیین کرد: .IP \fB\-\-version\fR 4 .IX Item "--version" شماره نسخهٔ اسکریپت \fBbundledoc\fR را در خروجی نمایش می‌دهد. این گزینه بر تمام گزینه‌های دیگر اولویت دارد (آن‌ها را نادیده می‌گیرد). .IP \fB\-\-help\fR 4 .IX Item "--help" پیام کوتاهی دربارهٔ نحوهٔ استفاده ارائه می‌دهد. این گزینه بر تمام گزینه‌های دیگر اولویت دارد. .ie n .IP "\fB\-\-\fR[\fBno\fR]\fBverbose\fR (پیش‌فرض: ""noverbose"")" 4 .el .IP "\fB\-\-\fR[\fBno\fR]\fBverbose\fR (پیش‌فرض: \f(CWnoverbose\fR)" 4 .IX Item "--[no]verbose (default: noverbose)" \&\fBbundledoc\fR در حالت عادی به‌جز پیام‌های خطا هیچ خروجی دیگری تولید نمی‌کند. با گزینهٔ \f(CW\*(C`\-\-verbose\*(C'\fR، پیام‌های وضعیت متعددی را در خروجی نمایش می‌دهد. .IP "\fB\-\-texfile\fR=\fImain .tex file\fR (پیش‌فرض: \fIsomefile\fR\fI.tex\fR)" 4 .IX Item "--texfile=main .tex file (default: somefile.tex)" فایل وابستگیِ \fBsnapshot\fR، فایل اصلی LaTeX (فایلی که به \fBlatex\fR ارسال می‌شود) را فهرست نمی‌کند. برای اینکه \fBbundledoc\fR بتواند آن فایل را بیابد و بسته‌بندی کند، فرض می‌کند که آن فایل همنام با فایل وابستگی \fBsnapshot\fR ولی با پسوند \fI.tex\fR است. اگر چنین نیست، از \f(CW\*(C`\-\-texfile\*(C'\fR برای مشخص کردن نام فایل صحیح استفاده کنید. .IP "\fB\-\-directory\fR=\fIarchive directory\fR (پیش‌فرض: \fIsomefile\fR)" 4 .IX Item "--directory=archive directory (default: somefile)" هنگامی که \fBbundledoc\fR آرشیوی (مانند یک فایل \fI.tar\fR یا \fI.zip\fR) حاوی فایل‌های سند ایجاد می‌کند، همهٔ آن‌ها را در یک دایرکتوری قرار می‌دهد تا از شلوغ شدن دایرکتوری جاری با فایل‌ها جلوگیری کند. اگر فایل وابستگی داده‌شده \fIsomefile\fR\fI.dep\fR باشد، آرشیو حاصل به‌طور پیش‌فرض همهٔ فایل‌های وابسته را در دایرکتوری \fIsomefile\fR ذخیره می‌کند. برای تغییر نام دایرکتوری، از گزینهٔ \f(CW\*(C`\-\-directory\*(C'\fR استفاده کنید. .ie n .IP "\fB\-\-\fR[\fBno\fR]\fBlocalonly\fR (پیش‌فرض: ""nolocalonly"")" 4 .el .IP "\fB\-\-\fR[\fBno\fR]\fBlocalonly\fR (پیش‌فرض: \f(CWnolocalonly\fR)" 4 .IX Item "--[no]localonly (default: nolocalonly)" اگرچه \fBbundledoc\fR در حالت عادی تمام فایل‌های نام‌برده در فایل \fI.dep\fR را آرشیو می‌کند، گزینهٔ \f(CW\*(C`\-\-localonly\*(C'\fR به \fBbundledoc\fR دستور می‌دهد تا تمام فایل‌هایی را که در دایرکتوری‌هایی به‌جز دایرکتوری فایل \fI.tex\fR یا یکی از زیردایرکتوری‌های آن قرار دارند، حذف (مستثنی) کند. .IP "\fB\-\-exclude\fR=\fIstring\fR (پیش‌فرض: \fInone\fR)" 4 .IX Item "--exclude=string (default: none)" در حالی که \f(CW\*(C`\-\-localonly\*(C'\fR باعث می‌شود فایل‌های خارج از درخت دایرکتوریِ فایل \fI.tex\fR از آرشیو حذف شوند، \f(CW\*(C`\-\-exclude\*(C'\fR کنترل دقیق‌تری روی فایل‌های حذفی فراهم می‌کند. گزینهٔ \f(CW\*(C`\-\-exclude\*(C'\fR که می‌تواند به‌طور مکرر در خط فرمان مشخص شود، باعث حذف تمام فایل‌هایی از آرشیو می‌شود که نامشان شامل \fIstring\fR است. .IP "\fB\-\-include\fR=\fIfilespec\fR (پیش‌فرض: \fInone\fR)" 4 .IX Item "--include=filespec (default: none)" گزینهٔ \f(CW\*(C`\-\-include\*(C'\fR که می‌تواند به‌طور مکرر در خط فرمان مشخص شود، به \fBbundledoc\fR دستور می‌دهد که تمام فایل‌های منطبق با \fIfilespec\fR را در آرشیو بگنجاند، حتی اگر در فایل \fI.dep\fR به آن‌ها ارجاعی داده نشده باشد. .IP "\fB\-\-manifest\fR=\fImanifest file\fR (پیش‌فرض: \fIMANIFEST\fR)" 4 .IX Item "--manifest=manifest file (default: MANIFEST)" علاوه بر فایل‌های وابسته، \fBbundledoc\fR یک فایل اضافی را که به‌طور پیش‌فرض «\fIMANIFEST\fR» نام دارد در فایل آرشیو قرار می‌دهد. \&\fIMANIFEST\fR یک فایل متنی است که نام فایل‌های اصلی همهٔ وابستگی‌ها را فهرست می‌کند. برای تغییر نام فایل از «\fIMANIFEST\fR» به چیزی دیگر، از گزینهٔ \f(CW\*(C`\-\-manifest\*(C'\fR استفاده کنید. به‌عنوان یک حالت خاص، \f(CW\*(C`\-\-manifest=""\*(C'\fR به \fBbundledoc\fR می‌گوید که اصلاً هیچ فایل مانیفستی را در آرشیو نگنجاند. .ie n .IP "\fB\-\-listdeps\fR=[yes|no|only|rel]...] (پیش‌فرض: ""no"")" 4 .el .IP "\fB\-\-listdeps\fR=[yes|no|only|rel]...] (پیش‌فرض: \f(CWno\fR)" 4 .IX Item "--listdeps=[yes|no|only|rel]...] (default: no)" \&\f(CW\*(C`\-\-listdeps\*(C'\fR یک یا چند مورد از مقادیر \f(CW\*(C`yes\*(C'\fR، \f(CW\*(C`no\*(C'\fR، \f(CW\*(C`only\*(C'\fR یا \f(CW\*(C`rel\*(C'\fR را به‌صورت فهرستی جداشده با کاما می‌پذیرد. تا زمانی که \f(CW\*(C`no\*(C'\fR در این فهرست نباشد، \fBbundledoc\fR تمام وابستگی‌های فایل اصلی LaTeX را در خروجی می‌آورد. اگر فهرست حاوی \f(CW\*(C`rel\*(C'\fR باشد، آن‌گاه \fBbundledoc\fR فهرست وابستگی‌ها را با نام مسیرهای نسبی خروجی می‌دهد. اگر فهرست حاوی \f(CW\*(C`only\*(C'\fR باشد، آن‌گاه \fBbundledoc\fR پس از نمایش فهرست، بدون تولید هیچ آرشیوی خارج می‌شود. .ie n .IP "\fB\-\-\fR[\fBno\fR]\fBkeepdirs\fR (پیش‌فرض: ""nokeepdirs"")" 4 .el .IP "\fB\-\-\fR[\fBno\fR]\fBkeepdirs\fR (پیش‌فرض: \f(CWnokeepdirs\fR)" 4 .IX Item "--[no]keepdirs (default: nokeepdirs)" به‌طور معمول، فایل آرشیوی که \fBbundledoc\fR ایجاد می‌کند حاوی یک دایرکتوری واحد است \-\- و زیردایرکتوری‌هایی، در صورتی که سند صریحاً به آن‌ها ارجاع داده باشد \-\- که تمام فایل‌های وابسته در آن قرار می‌گیرند. اگر \f(CW\*(C`\-\-keepdirs\*(C'\fR مشخص شود، همهٔ فایل‌های وابسته با نام مسیرهای اصلی خود ذخیره می‌شوند. برای مثال، اگر \fIsomefile.tex\fR به \fIfigures/somefigure.eps\fR، \fIarticle.cls\fR و \fIsnapshot.sty\fR وابسته باشد، آرشیو \fIsomefile\fR به‌طور معمول شامل فایل‌های زیر خواهد بود: .RS 4 .IP \(bu 4 \&\fIsomefile/somefile.tex\fR .IP \(bu 4 \&\fIsomefile/figures/somefigure.eps\fR .IP \(bu 4 \&\fIsomefile/article.cls\fR .IP \(bu 4 \&\fIsomefile/snapshot.sty\fR .IP \(bu 4 \&\fIsomefile/MANIFEST\fR .RE .RS 4 .Sp با این حال، \f(CW\*(C`\-\-keepdirs\*(C'\fR باعث می‌شود آرشیو \fIsomefile\fR در عوض شامل نام‌فایل‌هایی از این دست باشد: .IP \(bu 4 \&\fIhome/me/mydocs/somefile.tex\fR .IP \(bu 4 \&\fIhome/me/mydocs/figures/somefigure.eps\fR .IP \(bu 4 \&\fIusr/share/texmf/tex/latex/base/article.cls\fR .IP \(bu 4 \&\fIusr/share/texmf/tex/latex/snapshot/snapshot.sty\fR .RE .RS 4 .Sp هنگامی که \f(CW\*(C`\-\-keepdirs\*(C'\fR اعمال شده باشد، \f(CW\*(C`\-\-directory\*(C'\fR استفاده نمی‌شود. علاوه‌بر این، هیچ فایل مانیفستی در فایل آرشیو نوشته نمی‌شود زیرا حاوی اطلاعات زاید است. .RE .IP "\fB\-\-config\fR=\fIconfiguration file\fR (پیش‌فرض: )" 4 .IX Item "--config=configuration file (default: )" گزینهٔ \f(CW\*(C`\-\-config\*(C'\fR برای هدایت \fBbundledoc\fR به فایل پیکربندی مناسب (\fI.cfg\fR) برای توزیع TeX و سیستم‌عامل شما به کار می‌رود. \fBbundledoc\fR همراه با چند فایل پیکربندی ارائه می‌شود و نوشتن فایل‌های بیشتر نیز آسان است. برای شرح ساختار فایل پیکربندی، بخش «فایل‌های پیکربندی (CONFIGURATION FILES)» (در ادامه) را ببینید. برای راحتی، این فایل را می‌توان بدون پسوند \fI.cfg\fR آن مشخص کرد..SH "فایل‌های پیکربندی (CONFIGURATION FILES)" .IX Header "CONFIGURATION FILES" .SS "قالب (Format)" .IX Subsection "Format" فایل‌های پیکربندی از قالب نسبتاً ساده‌ای پیروی می‌کنند. خطوطی که با \&\f(CW\*(C`#\*(C'\fR آغاز می‌شوند، توضیح هستند. خطوط خالی نادیده گرفته می‌شوند. بقیه خطوط به شکل زیر هستند: .PP .Vb 1 \& variable: value .Ve .PP نسخه کنونی \fBbundledoc\fR متغیرهای زیر را شناسایی می‌کند: .IP \fBbundle\fR 4 .IX Item "bundle" دستوری که برای بسته‌بندی مجموعه‌ای از فایل‌ها در یک فایل آرشیو واحد به کار می‌رود .IP \fBsink\fR 4 .IX Item "sink" پسوندی برای یک دستور جهت دور ریختن خروجی آن .IP \fBfind\fR 4 .IX Item "find" دستوری برای یافتن یک فایل در درخت(های) TeX. .PP مقدارهایی که برای یک خط بیش از حد طولانی هستند، می‌توانند با استفاده از \f(CW\*(C`\e\*(C'\fR به عنوان نماد ادامه‌دهنده خط، در چند خط شکسته شوند. .PP دو متغیر محیطی وجود دارد که \fBbundledoc\fR آن‌ها را برای استفاده توسط دستورهای فایل پیکربندی در دسترس قرار می‌دهد: \f(CW\*(C`BDBASE\*(C'\fR، که روی \&\fIsomefile\fR تنظیم شده است (همان‌طور که در بخش «گزینه‌ها (OPTIONS)» آمده)، و \f(CW\*(C`BDINPUTS\*(C'\fR، که روی فهرستی از فایل‌ها با فاصله‌گذاری تنظیم شده است که یک دستور باید روی آن‌ها عمل کند. بدین معنا که هنگامی که دستور مرتبط با \f(CW\*(C`bundle\*(C'\fR در حال اجرا است، \f(CW\*(C`BDINPUTS\*(C'\fR شامل فهرستی از تمام فایل‌هایی است که باید آرشیو شوند. در مقابل، هنگامی که دستور مرتبط با \f(CW\*(C`find\*(C'\fR در حال اجرا است، \&\f(CW\*(C`BDINPUTS\*(C'\fR شامل نام فایلی است که باید جستجو شود. .SS "مثال‌ها (Examples)" .IX Subsection "Examples" فایل پیکربندی زیر مشابه مقادیر پیش‌فرض \fBbundledoc\fR برای متغیرهای گوناگون فایل پیکربندی است، که نشان‌دهنده یک توزیع TeX مبتنی بر kpathsea در حال اجرا روی یک سیستم عمومی Unix است؛ سیستمی که لزوماً هیچ‌یک از ابزارهای GNU، مانند \fBgzip\fR یا \fBtar\fR نسخه GNU را ندارد: .PP .Vb 2 \& # "Default" configuration file \& # By Scott Pakin \& \& bundle: (tar \-cvf \- $BDINPUTS | compress > $BDBASE.tar.Z) \& sink: > /dev/null 2>&1 \& find: kpsewhich \-progname=latex $BDINPUTS .Ve .PP پرانتزها در خط \f(CW\*(C`bundle:\*(C'\fR به پوسته Unix می‌گویند که دستور را در یک زیرپوسته اجرا کند. این کار برای اطمینان از عملکرد درست پسوند \f(CW\*(C`sink:\*(C'\fR است (یعنی تا دو عملگر \f(CW\*(C`>\*(C'\fR در یک دستور یکسان وجود نداشته باشد). .PP دقت کنید که چگونه این دستورها با \f(CW\*(C`BDBASE\*(C'\fR و \f(CW\*(C`BDINPUTS\*(C'\fR مانند هر متغیر محیطی دیگری در پوسته Unix رفتار می‌کنند و از \f(CW\*(C`$\*(C'\fR برای دریافت مقدار آن‌ها استفاده می‌نمایند. سایر سیستم‌های عامل از قراردادهای متفاوتی برای ارجاع به متغیرهای محیطی استفاده می‌کنند. برای نمونه، یک فایل پیکربندی برای یک توزیع TeX مبتنی بر Windows به جای آن از \f(CW\*(C`%BDBASE%\*(C'\fR و \f(CW\*(C`%BDINPUTS%\*(C'\fR استفاده می‌کند. .PP مقدار تعیین‌شده برای \f(CW\*(C`sink:\*(C'\fR وابسته به سیستم عامل است. مقدار \f(CW\*(C`find:\*(C'\fR وابسته به توزیع TeX است. \f(CW\*(C`bundle:\*(C'\fR جایی است که بیشترین امکان برای سفارشی‌سازی وجود دارد. می‌توانید از \f(CW\*(C`bundle:\*(C'\fR برای تعیین قالب آرشیو دلخواه خود استفاده کنید. برای نمونه، می‌توانید یک فایل shar در Unix با دستوری شبیه به این تولید کنید: .PP .Vb 1 \& bundle: (shar \-\-archive\-name="$BDBASE" $BDINPUTS > $BDBASE.sh) .Ve .PP یا یک فایل CAB در Microsoft Windows با دستوری مانند: .PP .Vb 1 \& bundle: cabarc \-r \-p N %BDBASE%.cab %BDINPUTS% .Ve .SH "مثال‌ها (EXAMPLES)" .IX Header "EXAMPLES" فرض کنید \fImyfile.dep\fR بر اساس دستورالعمل‌های بخش توضیحات از روی \fImyfile.tex\fR تولید شده باشد. دستور زیر یک فایل \fI.zip\fR را با توزیع TeX میک‌تک (MikTeX) در حال اجرا روی Microsoft Windows تولید می‌کند: .PP .Vb 1 \& bundledoc \-\-config=miktex.cfg myfile.dep .Ve .PP این فرمان را می‌توان به این صورت خلاصه کرد: .PP .Vb 1 \& bundledoc \-\-config=miktex myfile .Ve .PP دستور زیر یک آرشیو \fI.tar.gz\fR را با توزیع TeX Live در حال اجرا روی یک سیستم عامل شبه‌یونیکس می‌سازد. \fBbundledoc\fR خروجی پرجزئیاتی (verbose) در شرح عملیات خود ارائه می‌دهد. تمام فایل‌هایی که در درخت دایرکتوری یکسانی با \fImyfile.tex\fR قرار ندارند و تمام فایل‌هایی که نامشان حاوی «.fd» یا «.cfg» است نادیده گرفته می‌شوند. با این حال، تمام فایل‌های \fI.bib\fR موجود در دایرکتوری جاری در آرشیو گنجانده می‌شوند، حتی اگر در \fImyfile.dep\fR به هیچ‌کدام از آن‌ها ارجاع داده نشده باشد. در نهایت، هیچ فایل \fIMANIFEST\fR تولید نخواهد شد. .PP .Vb 3 \& bundledoc \-\-config=texlive\-unix.cfg \-\-verbose \-\-localonly \e \& \-\-exclude=.fd \-\-exclude=.cfg \-\-include="*.bib" \-\-manifest="" \e \& myfile.dep .Ve.SH "فایل‌ها (FILES)" .IX Header "FILES" کاربر باید از قبل \fIsnapshot.sty\fR را نصب کرده و از آن برای تولید یک فایل وابستگی برای سند خود استفاده کرده باشد. گذشته از این، مجموعهٔ فایل‌های خارجی مورد نیاز \fBbundledoc\fR وابسته به سیستم است و به فایل پیکربندیِ استفاده‌شده بستگی دارد. (بخش «فایل‌های پیکربندی (CONFIGURATION FILES)» در بالا را ببینید.) .PP در حال حاضر \&\fBbundledoc\fR همراه با دو فایل پیکربندی ارائه می‌شود: .IP \fItexlive\-unix.cfg\fR 4 .IX Item "texlive-unix.cfg" فایل پیکربندی برای نصب‌های TeX Live در Unix یا Linux. توزیع TeX Live یک توزیع TeX مبتنی بر kpathsea است که روی انواع مختلف Unix و Microsoft Windows اجرا می‌شود. \fItexlive\-unix.cfg\fR فرض می‌کند که شما \&\fBgzip\fR را دارید و از آن برای تولید فایل آرشیو \fI.tar.gz\fR استفاده می‌کند. این فایل پیکربندی به \fBbundledoc\fR می‌گوید که از \fBkpsewhich\fR برای یافتن فایل‌های LaTeX استفاده کند. .IP \fImiktex.cfg\fR 4 .IX Item "miktex.cfg" فایل پیکربندی برای نصب‌های MikTeX. برنامهٔ MikTeX یک توزیع پرطرفدار TeX برای Microsoft Windows است. \fImiktex.cfg\fR فرض می‌کند که شما \&\fBzip\fR را دارید و از آن برای تولید یک فایل آرشیو \fI.zip\fR استفاده می‌کند. این فایل پیکربندی اکنون به \fBbundledoc\fR می‌گوید که از \fBkpsewhich\fR برای یافتن فایل‌های LaTeX استفاده کند؛ نسخه‌های قدیمی‌تر MikTeX برای این منظور نیازمند ابزار نسبتاً غیر استاندارد \&\fBinitexmf\fR بودند. .IP \fItexlive\-unix\-arlatex.cfg\fR 4 .IX Item "texlive-unix-arlatex.cfg" این یک نگارش دیگر از \fItexlive\-unix.cfg\fR است که به‌جای \fBgzip\fR از \fBarlatex\fR برای آرشیو کردن فایل‌ها استفاده می‌کند. \fBarlatex\fR اسکریپتی گنجانده‌شده در توزیع \&\fBbundledoc\fR است که یک فایل \fI.tex\fR خود‌استخراج‌گر بر پایهٔ محیط \f(CW\*(C`filecontents\*(C'\fR در LaTeX ایجاد می‌کند. .SH "نکات (NOTES)" .IX Header "NOTES" .SS "شامل‌سازی و مستثنی‌کردن فایل‌ها (Including and excluding files)" .IX Subsection "Including and excluding files" گزینه‌های \f(CW\*(C`\-\-localonly\*(C'\fR، \f(CW\*(C`\-\-exclude\*(C'\fR و \f(CW\*(C`\-\-include\*(C'\fR امکان کنترل بر محتوای آرشیو را فراهم می‌کنند. گزینه‌های \f(CW\*(C`\-\-exclude\*(C'\fR و \f(CW\*(C`\-\-include\*(C'\fR را می‌توان مکرراً در خط فرمان مشخص کرد. ترتیبی که این گزینه‌ها مشخص می‌شوند اهمیتی ندارد؛ \fBbundledoc\fR گنجاندن و حذف فایل‌ها را به ترتیب زیر پردازش می‌کند: .IP 1. 4 تمام فایل‌های ارجاع‌داده‌شده توسط فایل \fI.dep\fR به فهرست فایل‌های آرشیو افزوده می‌شوند. .IP 2. 4 اگر \f(CW\*(C`\-\-localonly\*(C'\fR مشخص شده باشد، تمام فایل‌هایی که در دایرکتوری فایل \fI.tex\fR یافت نشوند از فهرست حذف می‌شوند. .IP 3. 4 به ازای هر رشتهٔ \f(CW\*(C`\-\-exclude\*(C'\fR مشخص‌شده، تمام فایل‌های حاوی آن رشته از فهرست حذف می‌شوند. .IP 4. 4 به ازای هر مشخصهٔ فایل در \f(CW\*(C`\-\-include\*(C'\fR، مجموعه فایل‌های حاصل از بسط آن به فهرست افزوده می‌شوند. .SS "مشکلات هنگام اجرا در Microsoft Windows (Issues When Running Under Microsoft Windows)" .IX Subsection "Issues When Running Under Microsoft Windows" نخست، از آنجا که \fBbundledoc\fR یک اسکریپت Perl است، برای اجرای آن در Windows باید یکی از کارهای زیر را انجام دهید: .IP \(bu 4 \&\f(CW\*(C`perl bundledoc\*(C'\fR .IP \(bu 4 تغییر نام \fIbundledoc\fR به \fIbundledoc.pl\fR و اجرای \f(CW\*(C`bundledoc.pl\*(C'\fR. (با این فرض که ارتباط پسوند فایل برای \fI.pl\fR تنظیم شده باشد.) .IP \(bu 4 اجرای اسکریپت \fBpl2bat\fR (در صورت موجود بودن) برای تبدیل \fIbundledoc\fR به \&\fIbundledoc.bat\fR، و سپس اجرای \f(CW\*(C`bundledoc\*(C'\fR. .PP دوم، ویندوز از یک سیستم فایل چندریشه‌ای (یعنی چندین حرف درایو) استفاده می‌کند. اگر فایل‌های مورد نظر برای بسته‌بندی در درایوهای مختلف پراکنده باشند، رخ دادن رفتارهای غیرمنتظره دور از انتظار نیست. علاوه بر این، Windows از نام‌فایل‌های \(lqUNC\(rq پشتیبانی می‌کند که اصلاً شناسهٔ درایو ندارند و فقط شامل نام ماشین و اشتراک هستند. نام‌فایل‌های UNC نیز برای \&\fBbundledoc\fR حوزه‌ای آزمایش‌نشده به شمار می‌روند. احتیاط کنید! .SS "وضعیت آزمایش (Testing Status)" .IX Subsection "Testing Status" من \fBbundledoc\fR را فقط با Perl نسخهٔ v5.6.0 و جدیدتر و تنها روی بسترهای زیر آزمایش کرده‌ام: .IP \(bu 4 Linux + TeX Live .IP \(bu 4 Linux + teTeX .IP \(bu 4 Windows NT + MiKTeX .IP \(bu 4 Solaris + ؟؟؟ (محیطی مبتنی بر kpathsea) .PP امیدوارم که \fBbundledoc\fR روی بسترهایی بسیار فراتر از این موارد نیز کار کند. من تلاش کردم تا خود برنامه تا حد امکان مستقل از سیستم‌عامل باشد؛ برای اجرای \fBbundledoc\fR روی یک سیستم متفاوت، تنها فایل‌های پیکربندی باید تغییر کنند..SS "کارهای آینده (Future Work)" .IX Subsection "Future Work" مایلم \fBbundledoc\fR روی طیف هرچه گسترده‌تری از توزیع‌های TeX کار کند. اگر پلتفرم شما تفاوت چشمگیری با موارد فهرست‌شده در «Testing Status» دارد (برای نمونه، اگر OS\ X را اجرا می‌کنید) و نیاز دارید یک فایل پیکربندی بسازید که تفاوت اساسی با \fItexlive\-unix.cfg\fR و \fImiktex.cfg\fR دارد، لطفاً آن را به نشانی ذکرشده در بخش «AUTHOR» برای من بفرستید تا بتوانم آن را در نسخه‌های آیندهٔ \fBbundledoc\fR بگنجانم (البته، هیچ قولی نمی‌دهم). .PP زمانی که \fBbundledoc\fR روی تمام سیستم‌عامل‌های اصلی و توزیع‌های TeX کار کند، بسیار عالی خواهد بود اگر بتوانم کاری کنم که \&\fBbundledoc\fR پلتفرمی را که روی آن اجرا می‌شود شناسایی کرده و به‌طور خودکار فایل پیکربندی مناسب را انتخاب کند. .PP در نهایت، بسیار کاربردی خواهد بود اگر \fBbundledoc\fR فونت‌ها را نیز در فایل آرشیو بگنجاند. در کمترین حالت، باید شامل فایل‌های \fI.tfm\fR باشد، اما اگر فایل‌های \fI.mf\fR، \fI.pfb\fR، \fI.ttf\fR و دیگر قالب‌های متداول فونت را نیز شامل شود، حتی بهتر خواهد بود. .SS "سپاسگزاری‌ها (Acknowledgments)" .IX Subsection "Acknowledgments" با سپاس از Fabien Vignes-Tourneret برای پیشنهاد گزینه‌ای که به \&\f(CW\*(C`\-\-localonly\*(C'\fR تبدیل شد و برای گفتگویی که به گزینه‌های \&\f(CW\*(C`\-\-exclude\*(C'\fR و \&\f(CW\*(C`\-\-include\*(C'\fR انجامید؛ از Marius Kleiner برای به‌روزرسانی \&\fBbundledoc\fR جهت مدیریت صحیح زیردایرکتوری‌های سند؛ و از Frank Mittelbach برای پیشنهاد به‌کارگیری Kpathsea جهت کمک به یافتن فایل‌های \fI.cfg\fR و الحاق خودکار پسوندهای \fI.cfg\fR و \fI.dep\fR در صورت لزوم. .SH "همچنین ببینید (SEE ALSO)" .IX Header "SEE ALSO" \&\fBarlatex\fR\|(1)، \fBgzip\fR\|(1)، \fBkpsewhich\fR\|(1)، \fBlatex\fR\|(1)، \fBperl\fR\|(1)، \fBzip\fR\|(1)، مستندات \fBsnapshot\fR .SH "نویسنده (AUTHOR)" .IX Header "AUTHOR" Scott Pakin, \fIscott+bdoc@pakin.org\fR