به فایلهای پیوست دقت کنید. هنگامی که از یک ماکرو استفاده میشود، فاصله بعد از آن حذف میگردد؟
هم در فارسی چک کردم و هم در انگلیسی. مشکل کجاست؟ مگر نه این است که ماکرو صرفاً یک
جایگزاری است؟ پس چرا اینطوری جواب میده؟
این رفتار نرمال تک است که از فاصله بعد از دستورات صرف نظر میکند. بنابراین نوشتن دومتن زیر
\TeX ignores spaces after control words.
و
\TeX ignores spaces after control words.
هردو یک خروجی به شکل
TeXignores spaces after control words.تولید میکند. یعنی کلمه TeX را به لغت بعد میچسباند. اما ۳ راه حل در پیش دارید:
۱. در تعریف ماکرو، فاصبه را اضافه کنید:
\newcommand{\ترابی}{کلاس\ }
که این مشکل را دارد که وقتی مینویسید
\ترابی.
یک فاصله زاید قبل از نقطه قرار میدهد.
۲. در هر بار استفاده از ماکرو، یک فاصله اجباری بعد از آن اضاف کنید:
سومین جمله این است که \ترابی\ را بیرون ببرید
مشکل این است که نوشتن این فاصله در هر دفعه مشکل است.
۳. از بسته xspace و دستور \xspace در تعریف ماکرو استفاده کنید که اضافه کردن فاصله را اتوماتیک میکند.