| LaCheck(1) | General Commands Manual | LaCheck(1) |
نام (NAME)
lacheck - بررسیکننده سازگاری برای اسناد LaTeX
خلاصه دستور (SYNOPSIS)
lacheck filename[.tex]
توضیحات (DESCRIPTION)
برنامه LaCheck یک بررسیکننده سازگاری عمومی برای اسناد LaTeX است. این ابزار یک سند LaTeX را خوانده و در صورت یافتن توالیهای نادرست، پیامهای هشدار را نمایش میدهد. باید توجه داشت که نادرست بودن بسیار ذهنی و وابسته به سلیقه است. LaCheck برای کمک به یافتن اشتباهات رایج در اسناد LaTeX، بهویژه مواردی که توسط مبتدیان رخ میدهد، طراحی شده است.
موارد مورد بررسی عبارتند از:
عدم تطابق گروهها (آکولادها)، محیطها و تحدیدکنندههای حالت ریاضی. هنگامی که یک عدم تطابق پیدا میشود، شماره خطوط برای هر دو نقطه شروع و پایان عدم تطابق ارائه میشود. پیامهای خطا به صورت جفت میآیند، یکی برای تطابق پایان و دیگری برای آغاز، که به ترتیب با `<-´ و `->´ مشخص شدهاند.
فاصلهگذاری نامناسب شامل جا افتادن `\ ´ پس از یک علامت اختصاری، جا افتادن `\@´ پیش از علامت نگارشی در پاراگرافی که با یک حرف بزرگ به پایان میرسد، فاصلههای دوتایی مانند ` ´، استفاده نادرست از سهنقطه (مانند استفاده از ... بهجای \ldots، یا استفاده از \ldots در جایی که باید از \cdots استفاده شود)، جا افتادن پیش از دستورهای \cite یا \ref، فاصله قبل از پانویسها، تصحیحهای ایرانیک (italic corrections) پیش از کاما، نقطه یا متن ایرانیک، تصحیح ایرانیک پس از متن عادی، جا افتادن تصحیح ایرانیک هنگام رفتن از متن ایرانیک به متن عادی، و تصحیح ایرانیک دوتایی.
علائم نگارشی با جایگذاری نامناسب در اطراف تحدیدکنندههای پایان حالت ریاضی؛ یعنی نشانهگذاریهایی که بلافاصله پس از پایان ریاضی نمایشی (display math) یا بلافاصله پیش از پایان ریاضی متنی (text math) قرار گرفتهاند. توالیهایی از نویسههای فاصله که پس از آنها علائم نگارشی آمده باشد نیز تشخیص داده میشوند.
استفاده نادرست از نویسههای نقلقول، یعنی ساختارهایی مانند "´word" یا "word`" هشدار داده میشوند؛ نویسههای Tab در محیطهای verbatim شناسایی میشوند؛ استفاده از برخی دستورهای اولیه TeX نامناسب شمرده میشود؛ تلاش برای دادن آرگومان به مشخصکنندههای قلم مانند \em{text} متذکر شده، و استفاده از @ در ماکروهای LaTeX گزارش میشود.
ابزار LaCheck فایلهایی را که با استفاده از \input یا \include فراخوانی شدهاند میخواند. فایلهای با پسوند `.sty´ نادیده گرفته میشوند، چرا که احتمالاً موجب از کار افتادن LaCheck خواهند شد.
ابزار LaCheck را میتوان از داخل emacs(1) با استفاده از M-x compile فراخوانی کرد. برای اجرا: M-x compile RET lacheck RET ، و سپس C-x ` برای پردازش پیامها.
خروجی (OUTPUT)
خروجی شبیه به خطاهای استاندارد یونیکس است و میتواند با استفاده از حالت کامپایل در Emacs(1) تجزیه شود. در اینجا یک نمونه آورده شده است:
lacheck compiler
- "/usr/mef/compiler.tex", line 34: missing `\\\\ ´ after "etc."
- "/usr/mef/compiler.tex", line 179: double space at " ~"
- "/usr/mef/compiler.tex", line 186: <- unmatched "}"
- "/usr/mef/compiler.tex", line 181: -> unmatched "$$"
یک فاصله کنترلی `\ ´ باید در خط ۳۴ درج شود تا از اعمال فاصله انتهای جمله جلوگیری به عمل آید. همچنین در خط ۱۷۹، نخستین فاصله از توالی " ~" احتمالاً باید حذف شود. دو خط آخر نمونهای است که در آن کاربر دچار اشتباه تایپی شده و احتمالاً یک "}" اضافی را در جایی درج کرده است.
خطاها (DIAGNOSTICS)
برخی موارد خاص باید توضیح داده شوند. در مواردی که یک جمله با چیزی پایان مییابد که LaCheck آن را یک مخفف تصور میکند، چنانچه جمله بعدی با یک حرف کوچک آغاز شود، ممکن است خطای جا افتادن `\ ´ نیز رخ دهد.
یک خطای عدم تطابق ممکن است به دلیل نبود سازوکار بازیابی خطای مناسب، باعث ایجاد خطاهای بیشتری در ادامه شود. در چنین مواردی، فقط نخستین خطا را تصحیح کرده و دوباره LaCheck را اجرا کنید.
آکولادها، محیطها و حالتهای ریاضی باید درون یک فایل متوازن باشند.
ابزار LaCheck ممکن است با موارد نامتوازنی که درون محیطهای شبه-verbatim با نامی غیر از دقیقاً `verbatim´ قرار دارند، دچار سردرگمی شود.
همچنین ببینید (SEE ALSO)
tex(1), emacs(1), latex(1)
گزارش باگها (BUGS)
ابزار LaCheck توسط ماکروهای پیشرفته سردرگم میشود، با ماکروهای ساده فریب میخورد، نمیتواند متوجه شود که آیا از روشی غیر استاندارد برای فعال یا غیرفعال کردن حالت ایرانیک استفاده میکنید یا خیر، از TeX اصلاً خوشش نمیآید، هیچ گزینهای برای خاموش کردن هشدارهای خاص ارائه نمیدهد، و در بهترین حالت یک تقریب نادقیق است.
از ایدهها برای بهبود و گزارشهای باگ بسیار استقبال میشود. چنین مواردی باید به نگهدارندگان ارسال شوند؛ لطفاً به tex-live@tug.org ایمیل بفرستید.
نویسندگان (AUTHORS)
Kresten Krab Thorup همراه با اعمال اصلاحات توسط Per Abrahamsen. در حال حاضر به عنوان بخشی از TeX Live نگهداری میشود (https://tug.org/texlive).
| 2019-07-09 | Release 1.30 (TeX Live) |