• Welcome to پارسی‌لاتک.
 
از تاریخ ۱۳۹۳/۸/۱۴ به دلیل ارائه خدمات بهتر به سایت جدید پرسش و پاسخ مهاجرت کرده‌ایم؛ از این رو امکان عضویت و ارسال پست در تالار غیرفعال شده است. لطفاً برای پرسیدن سوال‌های خود به سایت جدید مراجعه کنید.

ورود به سایت جدید

حذف فاصله هنگام استفاده از ماکروها

نویسنده فرشاد ترابی, سپتامبر 24, 2012, 09:55:10 بعد از ظهر

« قبلی - بعدی »

فرشاد ترابی

به فایلهای پیوست دقت کنید. هنگامی که از یک ماکرو استفاده میشود، فاصله بعد از آن حذف میگردد؟
هم در فارسی چک کردم و هم در انگلیسی. مشکل کجاست؟ مگر نه این است که ماکرو صرفاً یک
جایگزاری است؟ پس چرا اینطوری جواب میده؟

حسن ذاکری

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

در صورتی که به تازگی عضو تالار شده‌اید، در صفحه معرفی اعضای جدید برای شما ایجاد شده است.