تالار گفتگوی پارسیلاتک
لاتک LATEX => ریاضیات و علوم => نويسنده: مرتضی در ژانویه 18, 2013, 01:51:55 pm
-
چطور میتوان محیطی مانند ضمیمه درست کرد؟ در واقع چطور میتوان به کلمات نکته و شمارهی جلویش حالت تجملی داد؟
-
خودت چی کار کردی؟
-
کاری که تا به حال انجام دادم ضمیمه شده.
در حال حاضر دو تا مساله وجود داره:
- میخوام پهنای خط افقی، به اندازهی کلمه نکته و شمارهی جلوش باشه (در حال حاضر این عدد رو دستی وارد کردهام).
- میخوام جداکنندهی عنوان این محیط (کلمهی نکته و شماره جلویش) و متن خود محیط، newline باشد؛ یعنی متن اصلی محیط نکته از خط بعد شروع بشه
-
من با استفاده از یک محیط جدید این کار رو کردم. فقط:
1. نمیدونم چرا کلمه نکته را کمی فاصله داده.
2. یک خط برای اضافه کردن به شمارنده نوشتم که باید حذف کنید. خواستم ببینم که اگر طول شمارنده زیاد بشه چی میشه.
-
من با استفاده از یک محیط جدید این کار رو کردم
با تشکر از پاسخ شما. ولی این راه حل، یکی از مشکلات را حل میکند، در عوض چند مشکل به آن اضافه میکند.
چند نکته رو باید مدنظر داشت:
- علت استفاده از ntheorem این بود که علامت qed را در انتهای خط فعلی قرار میده؛ خواه این خط شامل متن باشه، خواه شامل فرمول.
- همونطور که قبلا گفتم، میخوام پهنای خط افقی، به اندازهی کلمهی نکته + عدد جلوش باشه و نه بیشتر یا کمتر.
- اساسا ترجیح میدم newenvironment ای برای این موضوع تعریف نکنم؛ چون کلی مشکل در پی خواهد داشت
-
چطور میتوان محیطی مانند ضمیمه درست کرد؟ در واقع چطور میتوان به کلمات نکته و شمارهی جلویش حالت تجملی داد؟
فایل پیوست رو ببینین. شاید راهحل تر و تمیزتری هم باشه.
دلیل ویرایش: اصلاح یک ایراد کوچولو
-
فایل پیوست رو ببینین.
خیلی ممنون از پاسختون.
یه فاصلهای در حد یک میلیمتر، قبل از شروع محتوای نکتهی اول دیده میشه. به نظرتون علتش چیه و چطور میشه اونو حذف کرد؟ (ignorespaces باعث شده این فاصله در مورد محتوای نکتهی دوم از بین بره؛ ولی نمیدونم چرا در مورد اولی، فاصلهی اضافی رو از بین نبرده)
-
خیلی ممنون از پاسختون.
یه فاصلهای در حد یک میلیمتر، قبل از شروع محتوای نکتهی اول دیده میشه. به نظرتون علتش چیه و چطور میشه اونو حذف کرد؟ (ignorespaces باعث شده این فاصله در مورد محتوای نکتهی دوم از بین بره؛ ولی نمیدونم چرا در مورد اولی، فاصلهی اضافی رو از بین نبرده)
دلیلش، وجود دستور \label{p1} هستش و فعلاً هم چیزی به ذهنم نمیرسه. اما فعلاً میتونین با گذاشتن علامت ٪ بعد از دستور \label{p1} مشکل رو رفع کنین.
-
- به یه چیز عجیب برخوردم. وقتی تعداد نکتهها به ۱۰ میرسه (یعنی «نکته ۱-۱۰»)، خط افقی، فقط تا بالای رقم صفر میاد و کل عدد ۱۰ رو نمیپوشونه. و این در حالیه که برای همه نکتهها بغیر از عدد ۱۰ درست کار میکنه و کل عددها را میپوشونه. به نظرتون اینو چیکار کنیم؟
- به نظرم فاصله عمودی بین خط و نکته زیاده. چطور میتونم این فاصله رو کم کنم؟
اگر از \vspace استفاده کنم، به خط و به کلمهی نکته، مثل دو عنصر جدا از هم نگریسته میشه؛ در این حالت اگر نکته در انتهای صفحه قرار بگیره، ممکنه خط افقی رسم بشه و خود نکته و محتواش به صفحه بعد منتقل بشه. در واقع میخوام حالتی داشته باشم که انگار بین این خط و کلمه نکته چسب ریختیم و اینها رو به هم چسبوندیم؛ و در عین حال یک فاصله منطقی (مثلا در حد ۲ میلیمتر) هم از هم داشته باشند.
دلیلش، وجود دستور \label{p1} هستش. فعلاً میتونین با گذاشتن علامت ٪ بعد از دستور \label{p1} مشکل رو رفع کنین.
اینطور که من تست کردم، این فاصله دقیقا یک میلیمتر هستش. با این فرض، میشه اونو با \hspace{-1mm} قبل از ignorespaces حذف کرد (البته میدونم که این، یک راه حل ابتداییه :) ).
-
مشکل شماره ۱ برای خودم هم خیلی عجیبه. جوابش رو فعلا نمیدونم. جالبه که فقط برای شمارههایی مثل ۱۰، ۱۰۰، ۱۰۰۰ و ... که از یه «۱» و چند تا صفر تشکیل شدن، پیش میاد.
برای مشکل شماره ۲ هم یه راهحلی با استفاده از بسته needspace پیدا کردم. اما قطعاً باید راهحل سادهتری هم داشته باشه.
به محض پیدا کردن راهحل، اینجا قرارش میدم.
-
برای مشکل شماره ۲ هم یه راهحلی با استفاده از بسته needspace پیدا کردم.
من تو متن اصلیم هم از needspace استفاده کردم، ولی برای فاصلههای مثبت. در اینجا فاصله منفی میخواهیم. بنابراین خوشحال میشم اگه همون راهحلی که با needspace بهش رسیدید رو اینجا قرار بدید (میزان پیچیدگیش هم مهم نیس :) )
-
من تو متن اصلیم هم از needspace استفاده کردم، ولی برای فاصلههای مثبت. در اینجا فاصله منفی میخواهیم. بنابراین خوشحال میشم اگه همون راهحلی که با needspace بهش رسیدید رو اینجا قرار بدید (میزان پیچیدگیش هم مهم نیس :) )
متاسفانه با یه مقدار تست بیشتر، متوجه شدم که مشکل داره. بنابراین برای جلوگیری از انتشار روش غلط توی تالار، اینجا قرارش نمیدم.
امیدوارم دوستان دیگه بتونن کمکتون کنن.
-
مشکل شماره ۱ برای خودم هم خیلی عجیبه. جوابش رو فعلا نمیدونم. جالبه که فقط برای شمارههایی مثل ۱۰، ۱۰۰، ۱۰۰۰ و ... که از یه «۱» و چند تا صفر تشکیل شدن، پیش میاد.
علتِ این مشکل عجیب و جالب رو پیدا کردم:
دستور autowidth مثل این میمونه که یه phantom تعریف کنیم. محتویات این phantom، همون مثلا «نکته ۱-۱» هستش. منتها شمارندهای که در این phantom تعریف میشه، یکی کمتر از شمارنده اصلی محیط نکته میشماره. یعنی وقتی میخوایم روی «نکته ۱-۱۰» خط بکشیم. در واقع محتویات این phantom، «نکته ۱-۹» هستش. از اونجایی که عدد ۱۰، دو رقمی و عدد ۹، یک رقمی هست، این خط افقی کاملا عدد ۱۰ رو نمیپوشونه. در مورد اعداد ۱۰۰، ۱۰۰۰ و ... هم همینطوره.
برای مشکل شماره ۲ هم یه راهحلی با استفاده از بسته needspace پیدا کردم. اما قطعاً باید راهحل سادهتری هم داشته باشه.
برای این مشکل هم یه پیشنهاد دارم: میتونیم از یه tabular (با @{}) استفاده کنیم که یه خونه داره و خط افقی بالاش رو بکشیم.
-
با روش ضمیمه تونستم هر دو مشکل رو حل کنم.
خوشحال میشم اگه ایرادی داره، بفرمائید.
-
با روش ضمیمه تونستم هر دو مشکل رو حل کنم.
خوشحال میشم اگه ایرادی داره، بفرمائید.
یار در خانه و ما گرد جهان میگردیم. اصلاً به دستور \newtheoremstyle توی راهنمای بسته ntheorem توجه نکرده بودم.
ممنون که راهحل درست رو با ما به اشتراک گذاشتین.
جوابهای قبلی رو برای جلوگیری از اتلاف وقت آیندگان، پاک میکنم.