VLNA(1) General Commands Manual VLNA(1)

vlna - افزودن تیلده پس از هر حرف اضافه تک‌حرفی (بی‌هجا)

vlna [گزینه‌ها] [نام‌فایل‌ها]

یک قاعده تایپوگرافی ویژه در زبان‌های چکی و اسلواکی وجود دارد: نباید حرف اضافه تک‌حرفی (بی‌هجا) در انتهای یک سطر باقی بماند و ادامه متن در سطر بعدی نوشته شود. به عنوان مثال، نمی‌توان عبارت «v lese» (به معنای در جنگل) را به‌صورت «v<new-line>lese» نوشت. برنامه vlna یک کاراکتر تیلده اسکی (asciitilde) میان چنین حرف اضافه‌ای و کلمه پس از آن درج کرده و فاصله(ها) را در این محل حذف می‌کند. بدین معنا که برنامه «v lese» را به «v~lese» تبدیل می‌کند. می‌توانید از این برنامه به عنوان پیش‌پردازنده پیش از پردازش با TeX استفاده کنید. علاوه بر این، می‌توانید توالی دیگری را برای ذخیره به جای تیلده اسکی تنظیم کنید (گزینه -x را ببینید).

برنامه vlna یک یا چند فایل را پردازش می‌کند، حروف اضافه تک‌حرفی (بی‌هجا) که پس از آن‌ها فاصله(ها) قرار دارد را در این فایل‌ها جستجو کرده و این فاصله(ها) را به ازای هر رخداد به تیلده اسکی تبدیل می‌نماید.

در فایل پردازش‌شده، فعالیت برنامه می‌تواند با توالی %~- مسدود شده و مجدداً با توالی %~+ فعال شود. این توالی‌ها می‌توانند شامل فاصله باشند، بدین معنا که % ~- نیز یک توالی معتبر است.

قاعده شناسایی حرف اضافه به شرح زیر است: تعداد دلخواهی از پرانتزهای بازکننده می‌تواند پیش از حرف اضافه قرار گیرد و پیش از این پرانتزهای (اختیاری) باید فاصله، تب (tabulator) یا سطر جدید باشد. خود حرف اضافه یک کلمه تک‌حرفی است و حروف باید از این مجموعه باشند: {KkSsVvZzOoUuAI}. اگر می‌خواهید این مجموعه حروف را تغییر دهید، گزینه -v را ببینید. از نسخه 1.2 به بعد، توالی TeX می‌تواند پیش از حرف اضافه و پیش از آکولاد نوشته شود. مثال: «<new-line>([V lese» به «<new-line>([V~lese» تبدیل می‌شود. مثال دیگر: «\uv{V lese}» به «\uv{V~lese}» تبدیل می‌شود.

یک یا چند نویسه فاصله خالی باید پس از حرف اضافه و پیش از کلمه بعدی قرار داشته باشد. منظور از فاصله خالی، نویسه فاصله یا تب است. همچنین یک سطر جدید (<new-line>) نیز می‌تواند در اینجا باشد. تمام این نویسه‌ها حذف شده و با تیلده اسکی (یا رشته‌ای دیگر، گزینه -x را ببینید) جایگزین می‌شوند. اگر سطر جدید حذف شود، سطر جدید دیگری پیش از حرف اضافه (و پیش از پرانتزهای اختیاری) ایجاد می‌شود تا تعداد سطرها دست‌نخورده باقی بماند. مثال: «... V<new-line><tabelator>lese» به «...<new-line>V~lese» تبدیل می‌شود.

برنامه سازگاری محیط‌های ریاضیاتی TeX را بررسی می‌کند (در صورتی که گزینه -m استفاده نشده باشد). برای مثال، توالی «$...$$...$» (به معنای تغییر به حالت نمایشی درون حالت ریاضی متنی) یک هشدار ایجاد می‌کند. سطر خالی درون حالت نمایشی نیز یک هشدار تولید کرده و برنامه بقیه متن را همانند حالت عادی (غیرریاضی) پردازش می‌کند. وجود علامت «$» درون حالت نمایشی پذیرفته می‌شود زیرا ساختارهایی مانند $$..\hbox{..$..$}..$$ مجاز و رایج هستند.

سازگاری حالت عین‌عبارت (verbatim) در پایان فایل بررسی می‌شود. اگر فایل به پایان برسد اما حالت عین‌عبارت بسته نشده باشد، هشداری چاپ می‌گردد. این رفتار را می‌توان با گزینه‌های -n یا -w غیرفعال کرد.

برنامه از قرار دادن تیلده پس از حروفی که شبیه حروف اضافه هستند اما به دلیل قرار گرفتن پس از توالی‌های \TeX یا \LaTeX حرف اضافه محسوب نمی‌شوند، خودداری می‌کند. مثال: عبارت «vlastnosti \TeX u jsou» به «vlastnosti \TeX u~jsou» تبدیل نمی‌شود، زیرا این متن (پس از پردازش TeX) به صورت «vlastnosti TeXu jsou» چاپ می‌شود. حرف «u» در اینجا پسوند است، نه حرف اضافه.

گزینه‌ها اختیاری هستند و می‌توان آن‌ها را با هر ترتیبی و با فاصله از یکدیگر نوشت.

حالت فیلتر. با [نام‌فایل‌ها] به شرح زیر رفتار می‌شود:
ورودی filename1 و خروجی filename2 است.
ورودی filename1 و خروجی stdout (خروجی استاندارد) است.
ورودی stdin (ورودی استاندارد) و خروجی stdout است.
اگر گزینه -f ذکر نشود، هر فایل به طور مستقل پردازش شده و بازنویسی می‌شود.
حالت بی‌صدا. هیچ پیام، هشدار یا آماری چاپ نمی‌شود. فقط خطاهایی که باعث پایان زودهنگام برنامه می‌شوند چاپ خواهند شد. اگر این پارامتر حذف شود، پیام معرفی، هشدارها و آمارها در stderr چاپ می‌شوند.
عدم ایجاد نسخه پشتیبان. در صورت استفاده از گزینه -f، گزینه -r بی‌اثر است. اگر گزینه‌های -f و -r استفاده نشوند، هر فایل بازنویسی‌شده با محتوای اصلی خود در یک فایل پشتیبان ذخیره می‌شود (نام فایل پشتیبان همان نام فایل است، با این تفاوت که به جای نویسه پایانی از تیلده استفاده می‌شود).
مجموعه نویسه‌هایی که به عنوان حروف اضافه تک‌حرفی (بی‌هجا) در نظر گرفته می‌شوند با این گزینه مشخص می‌گردد. مقدار پیش‌فرض: -v KkSsVvZzOoUuAI. وجود فاصله میان -v و characters الزامی است.
پارامتر code رشته‌ای است که در نماد هگزادسیمال نوشته می‌شود (تعداد ارقام هگز باید زوج باشد). این رشته به جای تیلده اسکی که پیش‌فرض است، پس از حروف اضافه ذخیره خواهد شد. مثال: با -x C2A0 دو بایت پس از هر حرف اضافه تک‌حرفی ذخیره می‌شود؛ بایت اول کد C2 و بایت دوم کد A0 دارد. این مثال بدین معناست که از نویسه فاصله نشکن (NO-BREAK SPACE) در کدگذاری UTF-8 پس از حروف اضافه استفاده خواهد شد. مثال دیگر: -x 00A0 فاصله نشکن در کدگذاری UTF-16 است. مثال دیگر: با -x 48454C4C4F رشته HELLO استفاده خواهد شد. وجود فاصله میان -x و code الزامی است.
حالت‌های ریاضی ($...$ و $$...$$) نادیده گرفته می‌شوند. بدین معنا که حروف اضافه تک‌حرفی در حالت ریاضی نیز جستجو می‌شوند. پیش‌فرض (بدون گزینه -m): هیچ تغییری در حالت‌های ریاضی اعمال نمی‌شود زیرا برای مثال «v» در حالت ریاضی یک متغیر است، نه حرف اضافه.
حالت عین‌عبارت (\verb<char>...<char>، \begtt...\endtt) نادیده گرفته می‌شود، بدین معنا که برنامه می‌تواند در محیط عین‌عبارت تغییراتی ایجاد کند. پیش‌فرض (بدون گزینه -n): هیچ تغییری در حالت عین‌عبارت اعمال نمی‌شود.
حالت LaTeX. با محیط‌های زیر به عنوان حالت نمایشی رفتار می‌شود: \begin{display}...\end{display} و \begin{equation}...\end{equation} و با محیط زیر به عنوان حالت عین‌عبارت (verbatim) رفتار می‌شود: \begin{verbatim}...\end{verbatim}.
حالت web (سیستم WEB دانلد کنوت، نه وب جهانی www:-). توالی‌های زیر به عنوان عین‌عبارت در نظر گرفته می‌شوند: @<، @d...@*، @space یا @>|. بدین معنا که کد برنامه در فایل‌های ‎*.w یا ‎*.web دست‌نخورده باقی می‌ماند و فقط کامنت‌های web پردازش می‌شوند.

رفتار برنامه مشابه برنامه قدیمی vlnka خواهد بود.
تمام فایل‌های دارای پسوند ‎.tex در دایرکتوری جاری پردازش می‌شوند (و احتمالاً تغییر می‌یابند). («*» از قابلیت‌های پوسته یونیکس است).
فقط بررسی سازگاری حالت‌های ریاضی و عین‌عبارت انجام می‌شود و هیچ تغییری اعمال نخواهد شد.

Petr Olsak <olsak@math.feld.cvut.cz>.

صفحه راهنما (نسخه اصلی چکی) و Makefile توسط Rudolf Cejka ایجاد شده است.

August 30 2022