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

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

چگونه می‌توان هنگام input کردن، فایل به صورت trim شده خوانده شود.

نویسنده فرشاد ترابی, اکتبر 08, 2014, 09:26:57 بعد از ظهر

« قبلی - بعدی »

فرشاد ترابی

با سلام
به فایل پیوست دقت کنید. در این فایل دوتا ماکرو ساده نوشته شده که یکی باعث تعریف \Name  و دیگری باعث نوشته شدن یک خط بر مبنای آن است.
چنانچه این دستورها در فایل اصلی بارها و بارها نوشته شوند، متن تولید شده توسط دستور \String کاملا درست (یعنی بدون داشتن فاصله اضافی در ابتدای آن)
خواهد بود. اما اگر همین دستور \name  در یک فایل ریخته شده و input  شود، به ازای هر خط یک فاصله به متن اضافه می‌شود.
حال سوال این است که آیا می‌توان هنگام input  کردن فایل مربوطه به صورت trim شده باشد؟ یعنی فاصله‌های انتهای خط با خود خط خوانده نشود؟



فرشاد ترابی

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

vafa

تصور می‌کنم اگر در انتهای تعریف دستور \name یک \unskip قرار دهید، مشکلی وجود نداشته باشد.

فرشاد ترابی

در مثالی که فرستادم با استفاده از \unskip  مشکل حل شد. اما در کار عملی که در شکل پیوست کردم، همانطور که مشاهده می‌کنید، قراردادن \unskip در جایی
که با فلش مشخص کردم، تآثیری نداشت و همونطور که در خروجی مشاهده میشه باعث میشه قبل از کادر کشیده شده یک فاصله بیفته که کلا تنظیمات صفحه
را به هم میزنه. آیا جای \unskip را اشتباهی گذاشتم؟

vafa


فرشاد ترابی

حجم کد بسیار زیاده. سعی میکنم تا آنجا که امکان داره کوچکش کنم که مسأله مشخص بشه توش.