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

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

تغییر کردن حاشیه‌ها هنگام استفاده از محیط thebibliography

نویسنده وحید دامن‌افشان, فبریه 25, 2010, 11:41:08 بعد از ظهر

« قبلی - بعدی »

وحید دامن‌افشان

سلام
امروز با کمی دقت متوجه شدم که محیط thebibliography اندازه حاشیه‌ها رو تغییر می‌ده. این تغییر در صفحه اول مراجع، زیاد به چشم نمی‌آد اما از صفحه دوم به بعد، چون سربرگ می‌خوره، خیلی به چشم می‌آد. مثلاً در عکس اولی که ضمیمه کردم، قسمت قرمز شده باید دقیقاً زیر سربرگ قرار بگیره. البته وقتی دستور Latin\ رو قبل از ‎\begin{thebibliography} قرار می‌دی، حاشیه‌ها درست می‌شه اما در عوض، کلمه «مراجع» حذف می‌شه.

در ضمن این مشکل، هم تو کلاس book و هم توکلاس article وجود داره ولی در لاتک وجود نداره. فایل ضمیمه رو ببینین که توش هم دستورات لاتکه و هم دستورات زی‌پرشین. خودتون مقایسه کنین.
ممنون

vafa

بله، حق با شماست. این باگی است که توسط کدهای وارد شده توسط آقای امیدعلی ایجاد شده است. متأسفانه من فعلاً وقت کار کردن را روی این مشکل ندارم. زودترین وقتی که می‌توانم این باگها را رفع کنم July می‌باشد.

مهدی امیدعلی

نقل قول از: وحید دامن افشان در فبریه 25, 2010, 11:41:08 بعد از ظهر
سلام
امروز با کمی دقت متوجه شدم که محیط thebibliography اندازه حاشیه‌ها رو تغییر می‌ده. این تغییر در صفحه اول مراجع، زیاد به چشم نمی‌آد اما از صفحه دوم به بعد، چون سربرگ می‌خوره، خیلی به چشم می‌آد. مثلاً در عکس اولی که ضمیمه کردم، قسمت قرمز شده باید دقیقاً زیر سربرگ قرار بگیره. البته وقتی دستور Latin\ رو قبل از ‎\begin{thebibliography} قرار می‌دی، حاشیه‌ها درست می‌شه اما در عوض، کلمه «مراجع» حذف می‌شه.

در ضمن این مشکل، هم تو کلاس book و هم توکلاس article وجود داره ولی در لاتک وجود نداره. فایل ضمیمه رو ببینین که توش هم دستورات لاتکه و هم دستورات زی‌پرشین. خودتون مقایسه کنین.
ممنون
فایلی که فرستادی مربوط به اون شکلی نیست که ضمیمه کردی. من با راهنمای لاتک هیچ مشکلی ندارم.

مهدی امیدعلی

توجه داشته باش که استفاده از بستهٔ geometry با زی‌پرشین خیلی سازگار نیست چون ابعادی رو تغییر می‌ده که اثرشون در زی‌پرشین و در حقیقت در bidi با حالت اصلی لاتک فرق داره. مثلا raggedright و دیگر چیزها. فایل خودت رو کمی تغییر دادم  و از بستهٔ bookest استفاده کردم و چند مرجع فارسی رو هم اضافه کردم تا اثر رو بهتر مشاهده کنی.

مهدی امیدعلی

الان بررسی کردم: بیدی با بستهٔ geometry هم خوشرفتار است (قبلاً بررسی کرده بودم و کمی ناپایداری دیده بودم البته الان هم وقت نکرده‌ام کامل بررسی کنم). فایل خودت را با کمی تغییرات ضمیمه کرده‌ام تا اثر کار رو ببینی.

vafa

نقل قول از: مهدی امیدعلی در فبریه 26, 2010, 02:07:25 بعد از ظهر
توجه داشته باش که استفاده از بستهٔ geometry با زی‌پرشین خیلی سازگار نیست چون ابعادی رو تغییر می‌ده که اثرشون در زی‌پرشین و در حقیقت در bidi با حالت اصلی لاتک فرق داره. مثلا raggedright و دیگر چیزها. فایل خودت رو کمی تغییر دادم  و از بستهٔ bookest استفاده کردم و چند مرجع فارسی رو هم اضافه کردم تا اثر رو بهتر مشاهده کنی.
من اصلاً
۱- حرف شما را نمی‌توانم ربط بدهم، می‌توانید کمی بیشتر توضیح بدهید؟

۲- bidi هیچ‌گونه ابعادی را تغییر نمی‌دهد و پیش‌فرض لاتک را تغییر نمی‌دهد.

۳- درست است که bidi دستورات \raggedright و \raggedleft را از دوباره تعریف می‌کند اما این تعریف منطقی می‌باشد و مشکلی ایجاد نمی‌کند.

۴- این مشکل اصلاً ربطی به geometry ندارد و مربوط به کدهای باگ‌دار شما می‌باشد. فایل ضمیمه بدون استفاده از بسته geometry می‌باشد و همین مشکل به وضوع دیده می‌شود. در حقیقت این مشکل اصلاً ربطی به بستهٔ geometry ندارد.

فایل test.tex رفتار درست را نشان می‌دهد در حالی که test-bidi.tex به وضوح باگ‌دار است همچنین مشکل دیگری نیز به چشم می‌خورد که جابه‌جایی نادرست heards می‌باشد که این هم به خاطر وجود کدهای شما در book-bidi.def می‌باشد.

در اولین فرصت تمام این کدهای باگ‌دار باید پاک‌سازی شوند تا موجب مشکل نشوند.

مهدی امیدعلی

نقل قول از: زهرا در فبریه 26, 2010, 02:53:43 بعد از ظهر
من اصلاً
۱- حرف شما را نمی‌توانم ربط بدهم، می‌توانید کمی بیشتر توضیح بدهید؟

۲- bidi هیچ‌گونه ابعادی را تغییر نمی‌دهد و پیش‌فرض لاتک را تغییر نمی‌دهد.

۳- درست است که bidi دستورات \raggedright و \raggedleft را از دوباره تعریف می‌کند اما این تعریف منطقی می‌باشد و مشکلی ایجاد نمی‌کند.

۴- این مشکل اصلاً ربطی به geometry ندارد و مربوط به کدهای باگ‌دار شما می‌باشد. فایل ضمیمه بدون استفاده از بسته geometry می‌باشد و همین مشکل به وضوع دیده می‌شود. در حقیقت این مشکل اصلاً ربطی به بستهٔ geometry ندارد.

فایل test.tex رفتار درست را نشان می‌دهد در حالی که test-bidi.tex به وضوح باگ‌دار است همچنین مشکل دیگری نیز به چشم می‌خورد که جابه‌جایی نادرست heards می‌باشد که این هم به خاطر وجود کدهای شما در book-bidi.def می‌باشد.

در اولین فرصت تمام این کدهای باگ‌دار باید پاک‌سازی شوند تا موجب مشکل نشوند.
من متوجه نشدم منظور شما از باگ فایل مربوط به bidi چیه؟ من باگی نمی‌بینم. این هزینه‌ای هست که باید برای داشتن کتابنامهٔ دوجهته داشته باشیم. اگر قرار باشد تنها یک کتابنامهٔ یک‌جهته داشته باشیم اصلا نیازی به کد نویسی برای محیط کتاب‌نامه نبود. اگر تمام مراجع LTR بودند یا RTL اونوقت اصلا مشکلی نبود  و می‌شد به راحتی (تقریباً بدون کد نوشتن) محیط کتابنامه رو استفاده کرد. مشکل موقعی است که مرجع از هر دو نوع داریم. اونوقت تنها راه قشنگ (به نظر من، از جنبهٔ حروف‌چینی) همان است که bidi در مثالی که من فرستادم انجام می‌ده.

وحید دامن‌افشان

نقل قول از: مهدی امیدعلی در فبریه 26, 2010, 01:56:56 بعد از ظهر
فایلی که فرستادی مربوط به اون شکلی نیست که ضمیمه کردی. من با راهنمای لاتک هیچ مشکلی ندارم.
آقای دکتر، اتفاقاً همین فایل خودتون هم مشکل داره. قسمت قرمز رنگ نباید خالی باشه. تازه در سمت راست هم یه مقدار فضای خالی وجود داره.

وحید دامن‌افشان

نقل قول از: مهدی امیدعلی در فبریه 26, 2010, 02:07:25 بعد از ظهر
توجه داشته باش که استفاده از بستهٔ geometry با زی‌پرشین خیلی سازگار نیست چون ابعادی رو تغییر می‌ده که اثرشون در زی‌پرشین و در حقیقت در bidi با حالت اصلی لاتک فرق داره. مثلا raggedright و دیگر چیزها. فایل خودت رو کمی تغییر دادم  و از بستهٔ bookest استفاده کردم و چند مرجع فارسی رو هم اضافه کردم تا اثر رو بهتر مشاهده کنی.
دو تا فایل ضمیمه رو ببینین. فایل انگلیسی، هیچ فضای خالی نداره، اما فایل شما که با زی‌پرشین نوشته شده، فضای خالی داره که با رنگ قرمز مشخص شده.

vafa

از نظر من این یک باگ است که در نسخهٔ آیندهٔ bidi درست خواهد شد. فایل اول وحید را با bidi و بدون bidi امتحان کنید تا متوجه مشکل موجود شوید. حق با وحید است، درست این است که همان پیش‌فرض لاتک برای متون چپ به راست باشد و برعکس آن برای متون راست به چپ باشد.

وحید دامن‌افشان

ممنون از توجه همگی.
فقط دو مطلب:
۱- همون طور که تو پست اول گفتم، وقتی دستور Latin\ رو قبل از ‎\begin{thebibliography} قرار می‌دی، حاشیه‌ها درست می‌شه اما در عوض، کلمه «مراجع» حذف می‌شه. حالا می‌خواستم ببینم آیا راهی موقتی وجود داره که کلمه «مراجع» رو برگردوند؟ چون توی این کتابی که دارم روش کار می‌کنم، فقط مراجع انگلیسی دارم.
۲- این تغییر حاشیه‌ها، واسه متن‌های سمینار، پروپوزال و یا حتی پایان‌نامه زیاد مهم نیست چون این فایل‌ها اندازه مشخصی ندارن. اما در یک کتاب، که ناشر، اندازه حاشیه مشخصی می‌خواد، مشکل ایجاد می‌کنه. مثلاً ناشر خود من بهم گفته که اندازه متن توی همه صفحات، باید دقیقاً ۱۹*۱۲ باشه. با این توضیحات، تا قبل از شروع مراجع مشکلی ندارم اما وقتی مراجع شروع می‌شه، حاشیه‌ها بهم می‌خوره.



ممنون

مهدی امیدعلی

نقل قول از: وحید دامن افشان در فبریه 26, 2010, 03:40:13 بعد از ظهر
دو تا فایل ضمیمه رو ببینین. فایل انگلیسی، هیچ فضای خالی نداره، اما فایل شما که با زی‌پرشین نوشته شده، فضای خالی داره که با رنگ قرمز مشخص شده.
بله متوجه هستم. پست قبلی من رو مطالعه کنید. اگر در متن دو نوع مرجع از راست به چپ و از چپ به راست وجود داشته باشند تکلیف چیه اونوقت. شما فقط دارید به کار خودتون نگاه می‌کنید که تنها مراجع انگلیسی دارید.

vafa

نقل قول از: مهدی امیدعلی در فبریه 26, 2010, 05:06:43 بعد از ظهر
بله متوجه هستم. پست قبلی من رو مطالعه کنید. اگر در متن دو نوع مرجع از راست به چپ و از چپ به راست وجود داشته باشند تکلیف چیه اونوقت. شما فقط دارید به کار خودتون نگاه می‌کنید که تنها مراجع انگلیسی دارید.
درسته. مشکلی که وجود داره اینه که محیط bibliography هر فقره \bibitem را با استفاده از محیط list انجام می‌دهد و این محیط یکبار rightmargin و leftmargin را تعیین می‌کند و عوض کردن مدام این دو بی‌معناست.

کلیه کدهای bidi را پاک‌سازی کردم، بنابراین الان با \usepackage{bidi} و یا بدون آن مشکلی وجود ندارد. باید فکری برای مراجع دو جهته نمود.

vafa

تعریف زیر منطقی می‌باشد:

\renewenvironment{thebibliography}[1]
     {\chapter*{\bibname}%
      \@mkboth{\MakeUppercase\bibname}{\MakeUppercase\bibname}%
      \list{\@biblabel{\@arabic\c@enumiv}}%
           {\settowidth\labelwidth{\@biblabel{#1}}%
          \if@RTL\rightmargin\labelwidth\else
            \leftmargin\labelwidth\fi
           \if@RTL%
           \advance\rightmargin\labelsep\else
            \advance\leftmargin\labelsep\fi
            \@openbib@code
            \usecounter{enumiv}%
            \let\p@enumiv\@empty
            \renewcommand\theenumiv{\@arabic\c@enumiv}}%
      \sloppy
      \clubpenalty4000
      \@clubpenalty \clubpenalty
      \widowpenalty4000%
      \sfcode`\.\@m}
     {\def\@noitemerr
       {\@latex@warning{Empty `thebibliography' environment}}%
      \endlist}

با این وجود وقتی bidi فراخوانمی شود حالتی با پیش‌فرض لاتک نخواهد داشت.

وحید دامن‌افشان

نقل قول از: مهدی امیدعلی در فبریه 26, 2010, 05:06:43 بعد از ظهر
بله متوجه هستم. پست قبلی من رو مطالعه کنید. اگر در متن دو نوع مرجع از راست به چپ و از چپ به راست وجود داشته باشند تکلیف چیه اونوقت. شما فقط دارید به کار خودتون نگاه می‌کنید که تنها مراجع انگلیسی دارید.
آقای دکتر، از توضیحاتتون ممنونم. حرف شما کاملاً درسته. اما باید فکری هم به حال تغییر حاشیه‌ها در یه کتاب که نباید حتی 1mm حاشیه‌هاش کم و زیاد بشه، کرد.