این دستور textexpand است که می تواند در ارائه دهنده هاست رایگان OnWorks با استفاده از یکی از چندین ایستگاه کاری آنلاین رایگان ما مانند Ubuntu Online، Fedora Online، شبیه ساز آنلاین ویندوز یا شبیه ساز آنلاین MAC OS اجرا شود.
برنامه:
نام
textexpand - گسترش \input و \include عبارات در یک فایل TeX
شرح
مکانیزم ترجمه عمومی:
برنامه اصلی latex2html textexpand را با نام سند فراخوانی می کند تا مقداری را گسترش دهد
از \input و \شامل عبارات آن، که در اینجا "ادغام" نیز نامیده می شود، و برای نوشتن لیستی از
سبک حساس، کلاس، ورودی، یا شامل نام فایل. وقتی textexpand تمام شد، همه
در یک فایل، TMP_foo موجود است. (فرض می کنیم foo.tex نام سند به است
ترجمه کردن).
در این نسخه، textexpand از محیط های زیر مراقبت می کند که ممکن است شامل فایل ها / شود.
مرزهای بخش: الف) \شروع{نظر} ب) %شروع{نظر} ج) \شروع{هر} معرفی شده با
\excludecomment د) %begin{any} e) \begin{کلمه} f) \begin{latexonly} g)
%Begin{latexonly}
ه) - g) از گسترش فایلهای ورودی به textexpand جلوگیری میکند، اما محتوای محیط از بین میرود
به طور کامل در فایل خروجی
همراه با هر ادغام \input و غیره، به اصطلاح نشانگرهای %%%texexpand وجود دارد.
همراه با مرز
وقتی latex2html در فایل خروجی می خواند، از این نشانگرها برای نوشتن هر قسمت در a استفاده می کند
فایل جدا کنید و آنها را بیشتر پردازش کنید.
دقیق فنی یادداشت ها:
1. %begin{latexonly} و %end{latexonly} باید در یک خط جداگانه قرار گیرند. هر چیزی بین
این تگ ها (از جمله تگ ها) کنار گذاشته می شود.
2. \begin{latexonly} و \end{latexonly} باید در یک خط جداگانه باشند. هر چیزی بین
این برچسب ها (از جمله برچسب ها) گسترش نمی یابد.
3. [%\]begin{"to exclude"} و [%\]end{"to exclude"} باید در یک خط جداگانه باشند.
هر چیزی بین این تگ ها (از جمله تگ ها) کنار گذاشته می شود.
4. \begin{کلمه/کلمه*} و \end{کلمه/کلمه*} باید در یک خط جداگانه باشند.
هر چیزی بین این برچسب ها (از جمله برچسب ها) گسترش نمی یابد.
5. دامنه هر یک از این برچسب ها ممکن است در چندین فایل گسترش یابد. برچسب افتتاحیه برای
لاتکسون ممکن است در سطحی متفاوت از تگ بسته شدن رخ دهد. تگ افتتاحیه
برای کلمه به کلمه / "حذف کردن" باید در یک فایل مشابه با برچسب بسته شدن رخ دهد.
6. هشدارها زمانی چاپ می شوند که سند تجزیه شده و برچسب های باز باقی می مانند.
7. وقتی در یک محیط "حذف کردن"/کلمه ای، textexpand هیچ دستوری را تشخیص نمی دهد
به جز تگ بسته شدن مربوطه. هیچ ساختار تودرتویی وجود ندارد. این
رفتار مشابه لاتک است.
8. \begin{latexonly}،\end{latexonly} ممکن است تودرتو باشد، در حالی که
%begin{latexonly}،%end{latexonly} ممکن است تو در تو نباشند.
9. تگ "%" نمی تواند تگ "\" را ببندد و بالعکس.
10. هر \سند(کلاس|سبک)، دستور \usepackage، \input و \include باید روی a باشد
خط جداگانه
11. هر چیزی که پشت "%" باشد و قبل از "\" نباشد به عنوان یک نظر در نظر گرفته می شود.
چاپ می شود اما تفسیر نمی شود.
12. اگر قبل از هر دستوری که در 10. فهرست شده، «\verb» یا «\latex» وجود داشته باشد،
تفسیر نمی شود. این در خطوطی مانند این خراب می شود: blah blah \verb+foo foo+
\input{bar} نوار % بارگیری نمیشود!
13. بستههای ارائهشده از طریق \usepackage به همان روشی که «گزینهها» در آن ارائه میشوند، مدیریت میشوند
\سند(کلاس|سبک)، یعنی زمانی که -auto_exclude خاموش است، بسته می شوند
در @dont_include نیست *یا* بسته در @do_include (جدید) است. به آنها اضافه می شوند
اگر خود فایل ادغام نشده باشد، فایل سبک همراه با گزینه های آنها.
\documentclass[options]{class} هر option.clo را جستجو میکند،
\documentstyle[options]{style} هر option.sty را جستجو میکند.
\usepackage[options]{packages} هر package.sty را جستجو می کند.
14. هر دایرکتوری texinputs برای فایل ها/سبک های ورودی جستجو می شود. اگر به "//" ختم شود،
کل درخت زیر شاخه جستجو می شود.
15. \input / \include ادغام فایل داده شده (اگر تحت نام داده شده یا با .tex یافت شود
پسوند) اگر نام پایه آن در @do_include باشد یا اگر در @dont_include نباشد یا اگر
هنگامی که -auto_exclude تنظیم شده باشد، نام فایل داده شده به .sty/.clo/.cls ختم نمی شود.
یادداشت
\documentclass، \documentstyle، \usepackage، \RequirePackage را میشناسد.
\begin{کلمه}...\پایان{کلمه}، %begin{latexonly}...%end{latexonly}،
\شروع{latexonly}...\end{latexonly}, \input, \include, \verb, \latex \endinput,
\end{document} \includecomment, \excludecomment \begin{"to exclude"}, \end{"to exclude"}
%begin{"to exclude"}, %end{"to exclude"}
La کوه ها جزئیات
شامل و تجزیه یک فایل. این روال بازگشتی است، همچنین ببینید
&process_input_include_file، &process_document_header، و &process_package_cmd.
دو پرچم جهانی، ایالتهای textexpand را کنترل میکنند.
o اگر ما باید خطوط را برای گسترش فایل ها تفسیر کنیم، اگر بسته ها را بررسی کنیم، $active درست است.
و غیره.
o اگر از ورود خطوط به فایل out جلوگیری کنیم، $mute درست است.
ما سه حالت کلی از textexpand داریم:
1) خطوط را تفسیر کنید و آنها را به فایل out ارسال کنید این حالت عادی است.
متناظر: $active true، $mute false
2) حداقل را تفسیر کنید و آنها را سرکوب کنید
این هنگام تجزیه در داخل یک محیط نظر است که
همچنین بدنه خود را از LaTeX حفظ خواهد کرد. => $active false، $mute true
3) حداقل را تفسیر کنید و خطوط را به فایل out ارسال کنید
این در داخل یک محیط کلمه به کلمه یا لاتکسونی است.
البته خط باید حداقل برای تعیین تگ بسته تفسیر شود.
=> $active false، $mute false
هر محیطی ممکن است شامل چندین فایل باشد. هر محیطی جز کلمه به کلمه
و latexonly ممکن است برچسب باز یا بسته شدن خود را در سطوح ورودی مختلف داشته باشد. نظر
و محیط های کلمه به کلمه را نمی توان مانند LaTeX تودرتو کرد. حداقل باید تجزیه کنیم
محیط های کلمه به کلمه/نظر در محیط های لاتکسونی، برای گرفتن برچسب های جعلی لاتکسونی.
طرح کار: پنج تابع بر رفتار textexpand تأثیر می گذارد. o &process_file را باز می کند
فایل داده شده و قسمت بدون نظر را برای تنظیم $active و $mute تجزیه می کند (به بالا مراجعه کنید).
برای تفسیر محتوای بدون نظر، &interprete را فراخوانی می کند و هر کدام با عبارت ادامه می یابد
خط بعدی فایل آن یا پایان می یابد اگر &interprete \end{document} یا an را شناسایی کند
\پایان ورودی.
o &interprete برخی از تگ های LaTeX را با توجه به سه حالت کنترل شده توسط
$active و $mute. با توجه به \input|شامل، \سند(کلاس|سبک)، و
\(استفاده از|نیاز) بسته بندی توابع &process_input_include_file، &process_document_header،
و &process_package_cmd به ترتیب فراخوانی می شوند.
o این سه عملکرد بررسی می کنند که آیا نام فایل یا فایل های گزینه برای آن فعال یا غیرفعال شده است
ادغام (از طریق TEXE_DO_INCLUDE یا TEXE_DONT_INCLUDE). هر فایلی که قرار است شامل شود خواهد بود
'ادغام شده' در فایل فعلی، یعنی تابع &process_file در این مکان فراخوانی می شود
در زمان (به صورت بازگشتی). این کار تفسیر را در خط فعلی در فایل متوقف می کند، شروع کنید
با فایل جدید پردازش می شود و به محض اینکه فایل جدید می شود با خط بعدی ادامه می یابد
تا پایان آن تفسیر شده است.
درخت فراخوانی (noweb+xy.sty در اینجا مفید است):
اصلی
|
v
+->process_file
| |
| v
| تفسیر کنید (با توجه به خط فعلی، یکی از آن سه)
| | | |
| vvv
| process_input_include_file process_document_header process_package_cmd
| | | |
| vvv
+------------------------------------------------ --------+
اشکالات: o از آنجایی که محیط latexonly تجزیه نشده است، ممکن است محتویات آن معرفی شود
محیط هایی که شناسایی نمی شوند
o اگر در یک فایل ورودی پنهان باشد، برچسب بسته شدن latexonly پیدا نمی شود.
o یک برچسب محیطی در هر خط، هنوز!
o اگر بخواهم موارد آزمایشی را برای این جانور طراحی کنم، فوراً از بین میروم
به یک ابر منطقی
یادداشت:
o باشه، من موارد آزمایشی را برای آن طراحی کردم. لطفاً به تست "گسترش" آزمون رگرسیون مراجعه کنید
مجموعه در ماژول توسعه دهندگان مخزن l2h.
o -unsegment ویژگی: در این حالت (نادر)، کاربر می خواهد یک قطعه بندی شده را ترجمه کند
سند را نه در بخش ها، بلکه در یک کل (برای آزمایش، مثلا). ما این را با تشخیص فعال می کنیم
فرمان \segment در &interprete، باعث می شود که فایل بخش مانند \input رفتار شود
اما از دست دادن خطوط اول قبل از \startdocument (شامل)، همانطور که از طریق کنترل می شود
$segmentfile. در مورد نحوه تقسیم بندی یک سند، بهتر است بخش «سند» را راهنمایی کنید
بخش بندی راهنمای LaTeX2HTML.
هشدارها
این ابزار به طور خودکار پیکربندی و ساخته شده است تا روی تنظیمات محلی کار کند. اگر این
تغییرات تنظیمات (به عنوان مثال برخی از دستورات خارجی منتقل می شوند)، اسکریپت شده است
پیکربندی مجدد
نویسندگان
بر اساس texexpand توسط Robert Thau، آزمایشگاه هوش مصنوعی MIT، از جمله تغییرات توسط
فرانتس ووژیک[ایمیل محافظت شده]>
نیکوس دراکوس[ایمیل محافظت شده]>
سباستین رهتس[ایمیل محافظت شده]>
ماکسیمیلیان اوت[ایمیل محافظت شده]>
مارتین بویر
هربرت سوان
ینس لیپمن
با استفاده از خدمات onworks.net از textexpand به صورت آنلاین استفاده کنید
