texindy(1) xindy texindy(1)

texindy - ایجاد نمایه مرتب‌شده و برچسب‌گذاری‌شده از نمایه خام LaTeX

texindy [-V?h] [-qv] [-iglr] [-d magic] [-o outfile.ind] [-t log] \
        [-L lang] [-C codepage] [-M module] [idx0 idx1 ...]

-V / --version
-? / -h / --help
-q / --quiet
-v / --verbose
-i / --stdin
-g / --german
-l / --letter-ordering
-r / --no-ranges
-d / --debug          (چندین بار)
-o / --out-file
-t / --log-file
-L / --language
-C / --codepage
-M / --module         (چندین بار)
-I / --input-markup   (پشتیبانی‌شده: latex، xelatex، omega)

دستور texindy نسخهٔ ویژهٔ LaTeX از سامانه‌ی نمایه‌سازی انعطاف‌پذیر xindy است. این دستور یک نمایهٔ خام را به عنوان ورودی دریافت کرده و یک نمایهٔ ادغام‌شده، مرتب‌شده و برچسب‌گذاری‌شده تولید می‌کند. ادغام، مرتب‌سازی و برچسب‌گذاری توسط ماژول‌های xindy کنترل می‌شود که مجموعه‌ای مناسب از آن‌ها از پیش بارگذاری شده است.

فایل‌های حاوی نمایهٔ خام به عنوان آرگومان ارسال می‌شوند. اگر هیچ آرگومانی ارسال نشود، نمایهٔ خام از ورودی استاندارد خوانده خواهد شد.

توضیحات مقدماتی مناسبی از texindy در فصل نمایه‌سازی کتاب LaTeX Companion (ویرایش دوم) آمده است.

اگر می‌خواهید برای اسناد LaTeX با نشانه‌گذاری‌های خاص نمایه، نمایه‌ای تولید کنید، دستور xindy(1) احتمالاً برای شما کاربردی‌تر خواهد بود.

texindy رویکردی برای تلفیق پشتیبانی از چارچوب make-rules، ماژول‌های اختصاصی xindy (برای مثال، برای دستورات ویژهٔ LaTeX در نمایه)، و سطحی معقول از سازگاری با MakeIndex است.

"--version" / -V
شماره نسخهٔ تمام مؤلفه‌های مرتبط را نمایش داده و خارج می‌شود.
"--help" / -h / -?
پیام راهنمای استفاده را به همراه توضیح گزینه‌ها در خروجی نمایش می‌دهد.
"--quiet" / -q
پیام‌های پیشرفت را در خروجی چاپ نمی‌کند. فقط پیام‌های خطا نمایش داده می‌شوند.
"--verbose" / -v
پیام‌های پیشرفت را با جزئیات کامل در خروجی چاپ می‌کند.
"--debug" magic / -d magic
پیام‌های اشکال‌زدایی را در خروجی چاپ می‌کند؛ این گزینه می‌تواند چندین بار مشخص شود. magic تعیین می‌کند چه مواردی در خروجی نمایش داده شوند:
magic          توضیح
------------------------------------------------------------
script         پیام‌های پیشرفت درونی اسکریپت‌های راه‌انداز
keep_tmpfiles  فایل‌های موقت را حذف نکن
markup         ردگیری نشانه‌گذاری خروجی، مطابق توضیحات راهنمای xindy
level=n        سطح ثبت وقایع، n برابر 0 (پیش‌فرض)، 1، 2، یا 3 است
"--out-file" outfile.ind / -o outfile.ind
نمایه را در فایل outfile.ind ذخیره می‌کند. اگر این گزینه مشخص نشود، نام فایل خروجی برابر با نام پایهٔ آرگومان اول با پسوند ind خواهد بود. اگر نمایهٔ خام از ورودی استاندارد خوانده شود، تعیین این گزینه الزامی است.
"--log-file" log.ilg / -t log.ilg
پیام‌های گزارش را در فایل log.ilg ذخیره می‌کند. این پیام‌های گزارش مستقل از پیام‌های پیشرفتی هستند که می‌توانید با "--debug" یا "--verbose" آن‌ها را تغییر دهید.
"--language" lang / -L lang
نمایه بر اساس قواعد زبان lang مرتب می‌شود. این قواعد در یک ماژول xindy که توسط make-rules ایجاد شده کدگذاری شده‌اند.

اگر هیچ کدگذاری ورودی از طریق "--codepage" مشخص نشده باشد یا توسط نشانه‌گذاری ورودی تحمیل نشده باشد، ماژول xindy مربوط به آن زبان با کدگذاری‌های latin ،cp ،iso ،ascii یا utf8 (به همین ترتیب) جستجو می‌شود.

"--codepage" enc / -C enc
برای این گزینه دو موقعیت و مورد کاربرد متفاوت وجود دارد:
1.
نشانه‌گذاری ورودی "latex" باشد (پیش‌فرض).

در این حالت، ورودی خام texindy به عنوان کدگذاری‌شده در «نمایش درونی نویسه‌های LaTeX» (LICR) فرض می‌شود؛ یعنی نویسه‌های غیر ASCII به صورت توالی‌های دستور کدگذاری می‌شوند. این گزینه به xindy می‌گوید که از چه کدگذاری برای سربرگ‌های گروه‌های حرفی استفاده کند. (علاوه بر این، کدگذاری مورداستفاده در درون برنامه برای مرتب‌سازی را نیز مشخص می‌کند -- اما این تأثیری در نتیجهٔ نهایی ندارد.)

تنها کدگذاری‌های LICR برای الفباهای خط لاتین پشتیبانی می‌شوند؛ به‌طور دقیق‌تر نویسه‌هایی که در کدگذاری‌های LICR بسته‌های latin1، latin2 و latin3 در LaTeX قرار دارند.

حتی اگر "utf8" را به عنوان codepage مشخص کنید، تنها همین نویسه‌ها شناخته خواهند شد. اما اگر از الفباهای غیرلاتین استفاده می‌کنید، احتمالاً از XeLaTeX یا LuaLaTeX استفاده می‌کنید (یا باید استفاده کنید) و بنابراین نشانه‌گذاری ورودی متفاوتی خواهید داشت.

2.
نشانه‌گذاری ورودی "xelatex" یا "omega" باشد.

در این صورت، این گزینه نادیده گرفته شده و codepage پیش‌فرض "utf8" تحمیل می‌شود.

ورودی خام texindy به صورت کدگذاری‌شده با UTF-8 فرض می‌شود و از LICR استفاده نمی‌شود.

"--module" module / -M module
ماژول xindy به نام module.xdy را بارگذاری می‌کند. این گزینه می‌تواند چندین بار مشخص شود. ماژول‌ها در مسیر جستجوی xindy جستجو می‌شوند که می‌توان آن را با متغیر محیطی "XINDY_SEARCHPATH" تغییر داد.
"--input-markup" input / -I input
نشانه‌گذاری ورودی نمایهٔ خام را مشخص می‌کند. مقادیر پشتیبانی‌شده برای input عبارتند از "latex"، "xelatex" و "omega".

نشانه‌گذاری ورودی "latex" همان نشانه‌گذاری است که به طور پیش‌فرض توسط هستهٔ LaTeX یا توسط بستهٔ ماکروی "index" اثر David Jones هنگام استفاده با LaTeX استاندارد یا pdfLaTeX تولید می‌شود. نمادگذاری ^^ برای نویسه‌های تک‌بایتی پشتیبانی می‌شود. همچنین استفاده از بستهٔ inputenc در LaTeX مفروض است، یعنی ورودی خام با LICR کدگذاری شده است.

نشانه‌گذاری ورودی "xelatex" شبیه به "latex" است، اما بدون استفاده از inputenc. ورودی خام با UTF-8 کدگذاری می‌شود. LuaLaTeX نیز نشانه‌گذاری ورودی یکسانی دارد و مقدار گزینهٔ مجزایی برای آن وجود ندارد.

نشانه‌گذاری ورودی "omega" مشابه نشانه‌گذاری ورودی "latex" است، اما از نمادگذاری ^^ متعلق به Omega به عنوان کدگذاری برای نویسه‌های غیر ASCII استفاده می‌کند. در این صورت از کدگذاری LICR استفاده نمی‌شود و "utf8" به عنوان codepage اجباری برای مرتب‌سازی و خروجی سربرگ‌های گروه‌های حرفی اعمال خواهد شد..SH "زبان‌ها / کدپیج‌های پشتیبانی‌شده (SUPPORTED LANGUAGES / CODEPAGES)" زبان‌های زیر پشتیبانی می‌شوند:

albanian      gypsy             portuguese
croatian      hausa             romanian
czech         hungarian         russian-iso
danish        icelandic         slovak-small
english       italian           slovak-large
esperanto     kurdish-bedirxan  slovenian
estonian      kurdish-turkish   spanish-modern
finnish       latin             spanish-traditional
french        latvian           swedish
general       lithuanian        turkish
german-din    lower-sorbian     upper-sorbian
german-duden  norwegian         vietnamese
greek-iso     polish

زبان آلمانی دو طرح مرتب‌سازی متفاوت را برای مدیریت اوملاوت‌ها به رسمیت می‌شناسد: به‌طور معمول، "ae" مانند "ae" مرتب می‌شود، اما در دفترچه‌های تلفن یا لغت‌نامه‌ها، مانند "a" مرتب می‌شود. طرح نخست به عنوان ترتیب DIN و طرح دوم به عنوان ترتیب Duden شناخته می‌شود.

نام‌های زبان "*-iso" فرض می‌کنند که مدخل‌های خام نمایه با کدگذاری ISO 8859-9 هستند.

"gypsy" یکی از گویش‌های شمالی زبان روسی است.

belarusian    mongolian         serbian
bulgarian     russian           ukrainian
macedonian

greek         klingon

این بخش هنوز نوشته نشده است. می‌توانید آن‌ها را در توزیع xindy خود، در دایرکتوری modules/lang/language/ (که در آن language زبان شما است) بیابید. آن‌ها به‌صورت variant-codepage-lang.xdy نام‌گذاری شده‌اند، که در آن اغلب variant- خالی است (برای آلمانی، "din5007" و "duden"؛ برای اسپانیایی، "modern" و "traditional"، و غیره).

< شرح کدپیج‌های در دسترس برای هر زبان >
< شرح ارتباط کدپیج‌ها (به‌عنوان نمایش درونی) برای
  LaTeX inputenc >

مجموعه‌ای از ماژول‌های استاندارد texindy وجود دارند که به پردازش فایل‌های نمایه LaTeX کمک می‌کنند. برخی از آن‌ها به‌طور خودکار بارگذاری می‌شوند. برخی از آن‌ها به‌طور پیش‌فرض بارگذاری می‌شوند که می‌توان این رفتار را با یک گزینه texindy غیرفعال کرد. سایر ماژول‌ها را می‌توان به‌عنوان آرگومان "--module" برای رسیدن به نتیجه‌ای خاص مشخص کرد.

ماژول xindy       دسته‌بندی   توضیحات

word-order      پیش‌فرض   یک فاصله پیش از هر حرفی در الفبا قرار می‌گیرد:
                          ``index style'' پیش از ``indexing'' فهرست
                          می‌شود. با گزینه -l غیرفعالش کنید.
letter-order    افزودنی   فاصله‌ها نادیده گرفته می‌شوند: ``index style''
                          پس از ``indexing'' مرتب می‌شود.
keep-blanks     افزودنی   فاصله‌های خالی ابتدایی و انتهایی (فاصله‌ها
                          و تب‌ها) نادیده گرفته نمی‌شوند؛ فاصله خالی
                          میانی تغییری نمی‌کند.
ignore-hyphen   افزودنی   خط‌های پیوند نادیده گرفته می‌شوند:
                          ``ad-hoc'' به‌صورت ``adhoc'' مرتب می‌شود.
ignore-punctuation افزودنی انواع نویسه‌های نشانه‌گذاری نادیده گرفته می‌شوند:
                          خط پیوند، نقطه، ویرگول، اسلش،
                          پرانتز و غیره.
numeric-sort    خودکار    اعداد به‌صورت عددی مرتب می‌شوند، نه مانند
                          نویسه‌ها: ``V64'' پیش از ``V128'' می‌آید.
page-ranges     پیش‌فرض   موارد تکرار در بیش از دو صفحهٔ متوالی به‌صورت
                          یک بازه فهرست می‌شوند: ``1--4''.
                          آن را با گزینهٔ -r غیرفعال کنید.
ff-ranges       افزودنی   از نمادگذاری ضمنی ``ff'' برای بازه‌های
                          سه صفحه‌ای، و پس از آن از بازه‌های صریح
                          استفاده می‌کند: 2f, 2ff, 2--6.
ff-ranges-only  افزودنی   تنها از بازه‌های ضمنی استفاده می‌کند: 2f, 2ff.
book-order      افزودنی   شماره‌های صفحه را با طرح شماره‌گذاری معمول کتاب
                          به‌درستی مرتب می‌کند -- ابتدا اعداد رومی، سپس
                          اعداد عربی، سپس دیگر موارد: i, 1, A.

tex             خودکار    قواعد پایه‌ای TeX را مدیریت می‌کند.
latex-loc-fmts  خودکار    دستورهای قالب‌بندی LaTeX را برای کپسوله‌سازی
                          شمارهٔ صفحه ارائه می‌دهد.
latex           خودکار    قواعد LaTeX را هم در مدخل‌های خام نمایه و هم در
                          نشانه‌گذاری خروجی مدیریت می‌کند؛ شامل tex نیز هست.
makeindex       خودکار    نحو ورودی پیش‌فرض MakeIndex و رفتار نقل‌قول
                          آن را شبیه‌سازی می‌کند.
latin-lettergroups خودکار چیدمان شامل یک حرف لاتین منفرد در بالای هر
                          گروه از کلماتی است که با همان حرف آغاز می‌شوند.
german-sty      افزودنی   نشانه‌گذاری اوملاوت گزینه‌های german و ngerman
                          در babel را مدیریت می‌کند.

xindy ادعای سازگاری کامل با MakeIndex را ندارد؛ چرا که این امر مانع از برخی بهبودهای آن می‌شد. با این وجود، ما تلاش می‌کنیم تا بیشترین سازگاری ممکن را ارائه دهیم. مهم‌ترین ناسازگاری‌ها عبارتند از:

  • برای مدخل‌های خام نمایه در نحو LaTeX، عبارت "\index{aaa|bbb}" به گونهٔ متفاوتی تفسیر می‌شود. برای MakeIndex، مقدار "bbb" نشانه‌گذاری‌ای است که به عنوان یک برچسب LaTeX برای این شمارهٔ صفحه در خروجی درج می‌شود. برای xindy، این یک صفت مکان (location attribute) است؛ یک شناسهٔ انتزاعی که بعداً با نشانه‌گذاری‌ای که باید برای آن صفت در خروجی ظاهر شود، مرتبط خواهد شد.

    برای استفاده‌های ساده، هنگامی که "bbb" برابر با "textbf" یا مانند آن باشد، ما تعاریف صفت مکانی را ارائه می‌دهیم که رفتار MakeIndex را شبیه‌سازی می‌کند.

    برای استفاده‌های پیچیده‌تر، هنگامی که "bbb" یک شناسه نباشد، چنین تعاریف سازگاری‌ای وجود ندارد و ممکن است در نسخهٔ کنونی xindy نیز امکان ایجاد آن‌ها وجود نداشته باشد. گزارش شده است که چنین وضعیتی برای کلاس LaTeX با نام "memoir" رخ می‌دهد.

    برنامه‌نویسانی که Common Lisp و Lex را می‌دانند و می‌خواهند روی یک راهکار کار کنند، لطفاً با نویسنده تماس بگیرند.

  • اگر یک بازهٔ نمایه و یک صفت مکان دارید، برای نمونه اگر "\index{key\(attr}" بازه را آغاز کند، کاربر باید (۱) آن صفت را در مدخل بستن بازه نیز مشخص کند (یعنی به‌صورت "\index{key\)attr}") و (۲) صفت نمایه را در یک فایل سبک xindy تعریف کند.

    ابزار MakeIndex برای چنین ساختاری، نشانه‌گذاری "\attr{page1--page2}" را در خروجی تولید می‌کند. دستیابی به این ساختار در xindy امکان‌پذیر نیست؛ خروجی به‌صورت "\attrMarkup{page1}--\attrMarkup{page2}" خواهد بود. (این مورد در واقع یک باگ محسوب می‌شود، اما از اولویت بالایی برخوردار نیست.)

    تفاوت بین برچسب‌های شمارهٔ صفحه در MakeIndex و صفت‌های مکان در xindy پیش‌تر در مورد قبلی توضیح داده شد.

  • تعاریف سازگاری MakeIndex تنها از نحو پیش‌فرض نمایهٔ خام و تعریف نشانه‌گذاری پشتیبانی می‌کنند. امکان پیکربندی تجزیهٔ نمایهٔ خام یا استفاده از یک فایل سبک MakeIndex برای توصیف نشانه‌گذاری خروجی وجود ندارد.

"TEXINDY_AUTO_MODULE"
این نام ماژول xindy است که تمام ماژول‌های بارگیری‌شونده به‌صورت خودکار را بارگذاری می‌کند. مقدار پیش‌فرض "texindy" است..SH "نویسنده (AUTHOR)" Joachim Schrod

کپی‌رایت (c) 2004-2014 متعلق به Joachim Schrod.

texindy یک نرم‌افزار آزاد است؛ شما می‌توانید آن را تحت شرایط مجوز عمومی همگانی GNU که توسط Free Software Foundation منتشر شده است؛ چه نسخهٔ ۲ مجوز یا (به انتخاب خودتان) هر نسخهٔ بالاتر دیگری، بازتوزیع کرده و/یا تغییر دهید.

این برنامه با این امید که مفید باشد توزیع شده است، اما بدون هیچ‌گونه ضمانت؛ حتی بدون ضمانت ضمنی قابلیت فروش یا تناسب برای یک هدف خاص. برای جزئیات بیشتر به GNU General Public License مراجعه کنید.

2020-05-28 Release 2.5.1