سلام، لطفا وارد شوید یا عضو شوید.

نویسنده موضوع: جابجا شدن جای کراپ‌مارک‌ها در صفحات بعد از استفاده از دستور newgeometry  (دفعات بازدید: 4866 بار)

آفلاین vafa

  • مشاور
  • Hero Member
  • *
  • تشکر
  • -اهدا شده: 78
  • -دریافت شده: 2012
  • ارسال: 4,429
    • ديدن مشخصات
درسته. خیلی ممنون. فقط یه سوال داشتم:
با توجه به اینکه اندازه کاغذ رو روی a4 گذاشتم و همچنین با توجه به گزینه‌های
centering,paperwidth=20.8cm, paperheight=28cmکه تعیین کردم،
اینکه کاغذ شما a4 هست یا مقادیر شما برای paperwidth و paperheight چی هستند کوچکترین اهمیتی نداره. بسته bidi-atbegishi به اندازه‌های کاغذ به چشم یک متغیر نگاه می‌کنه و می‌تونیید هر اندازه‌ای داشته باشند.
نقل قول
می‌خوام که خطوط برش به اندازه ۱ میلی‌متر از هر دو سمت راست و چپ و به اندازه ۵ میلی‌متر از هر دو سمت بالا و پایین لبه کاغذ a4 فاصله داشته باشند. آیا روش سرراستی برای تعیین این فاصله با استفاده از دستور put وجود داره یا این فاصله‌ها رو باید با آزمون و خطای مقادیر دستور put تنظیم کنم؟
شما تنها یک محاسبه سرانگشتی باید بدانید و اینکه محیط picture چگونه کار می‌کند. کد را اول می‌نویسم و توضیحش را برای یکی از گوشه‌های کاغذ راست و یکی از گوشه‌های کاغذ سمت چپ می‌دهم. بقیه گوشه‌های کاغذ مشابه هم هستند. در این مثال همه خط‌های افقی و عمودی ۴۰ میلی‌متر طول دارند.
\documentclass[a4paper]{book}
\usepackage{ptext}
\usepackage[total={16.3cm,23.5cm},centering,includehead=true,paperwidth=20.8cm, paperheight=28cm]{geometry}
\usepackage{bidi-atbegshi}
\usepackage[preloadedlatintextfont]{xepersian}
\settextfont{XB Niloofar}
\AtBeginShipout{%
\AtBeginShipoutUpperLeft{%
\setlength{\unitlength}{1mm}
\put(-41,-25){\line(1,0){40}}
\put(-21,-45){\line(0,1){40}}
}
\AtBeginShipoutUpperRight{%
\setlength{\unitlength}{1mm}
\put(1,-25){\line(1,0){40}} 
\put(21,-45){\line(0,1){40}}
}
\AtBeginShipoutLowerLeft{%
\setlength{\unitlength}{1mm}
\put(-41,25){\line(1,0){40}}
\put(-21,5){\line(0,1){40}}
}
\AtBeginShipoutLowerRight{%
\setlength{\unitlength}{1mm}
\put(1,25){\line(1,0){40}}
\put(21,5){\line(0,1){40}}
}
}
\begin{document}
\chapter{مقداری متن}
\section{مقداری متن دیگر}
\ptext[1-10]
\newpage
\newgeometry{total={14.3cm,21.9cm},centering,includehead=true}
\ptext[1-10]
\newpage
\restoregeometry
\ptext[1-10]
\end{document}
از اونجایی که اندازه‌هایی که به من دادی به میلی‌متر هستند من مقدار unitlength را از 1pt
به 1mm تغییر دادم:
\setlength{\unitlength}{1mm}

توضیح cropmark گوشه سمت چپ بالا

cropmark از یک خط افقی و یک خط عمودی تشکیل شده. برای اینکه cropmark در سمت چپ بالا کاغذ قرار بگیره دستورات رسم خط را داخل دستور
\AtBeginShipoutUpperLeft{...}
قرار می‌دهم. با این کار صفر مختصات گوشه بالای کاغذ سمت چپ است. در محیط راست به چپ مختصات مثبت افقی سمت چپ و مختصات منفی افقی سمت راست مبدا میشه. خط افقی از راست به چپ کشیده میشه و خط عمودی از پائین به بالا کشیده میشه.

خوب من می‌خواهم در گوشه بالای کاغذ سمت چپ یک خط افقی به طول ۴۰ میلی‌متر بکشم که از سمت چپ کاغذ ۱ میلی‌متر فاصله داشته باشه. از اونجایی که خط افقی از سمت راست به چپ کشیده میشه و مختصات منفی افقی در متن راست به چپ سمت راست کاغذ میشه. من باید خط افقی رو در نقطه ۴۰میلی‌متر به اضافه ۱میلی‌متر سمت راست شروع به کشیدن کنم. پس مختصات افقی میشه -41. تکلیف مختصات عمودی چی میشه؟ خوب وقتی من خط عمودی رو رسم کنم نصف خط عمودی باید پائین خط افقی و نصف دیگش بالای خط افقی باشه. پس روشنه که مختصات عمودی خط افقی باید ۵میلی‌متر به اضافه نصف طول خط که ۲۰میلی‌متر هست باشه. از اونجایی که خط عمودی از پائین به بالا رسم میشه پس باید برم پائین. بنابراین مختصات عمودی خط افقی میشه -25mm. پس کدی که خط افقی رو در گوشه چپ بالا رسم می‌کنه اینه:
\put(-41,-25){\line(1,0){40}}
خوب حالا می‌رسیم به رسم خط عمودی. خط عمودی باید از وسط خط افقی رسم بشه. پس مختصات افقیش باید نصف طول خط +۱میلی‌متر باشه. بنابراین مختصات افقی میشه -21. خوب مختصات عمودی هم روشنه، شما می‌خواهی خطی به اندازه ۴۰میلی‌متر داشته باشی که خطت تا گوشه بالای کاغذ ۵میلی‌متر فاصله داشته باشه. بنابراین مختصات عمودی میشه ۵میلیمتر+۴۰ میلی‌متر. پس مختصات عمودی میشه -45. پس کدی که خط عمودی رو رسم می‌کنه میشه
\put(-21,-45){\line(0,1){40}}

توضیح cropmark گوشه سمت راست پائین
برای اینکه cropmark در سمت راست پائین کاغذ قرار بگیره دستورات رسم خط را داخل دستور
\AtBeginShipoutLowerRight{...}
قرار می‌دهم. با این کار صفر مختصات گوشه سمت راست پائین هست. می‌خواهم خط افقی رسم کنم که از پائین ۲۵ میلی‌متر فاصله داشته باشه و از گوشه سمت راست ۱ میلی‌متر بنابراین این کد باید خط افقی رو رسم کنه:
\put(1,25){\line(1,0){40}}
برای خط عمودی هم می‌خواهم از وسط خط افقی رد بشه. بنابراین مختصات افقی ۱میلی‌متر+۲۰میلی‌متر هست و مختصات عمودی هم ۵میلی‌متر. بنابراین کد زیر خط عمودی رسم می‌کنه:
\put(21,5){\line(0,1){40}}

امیدوارم تونسته باشم موضوع رو شفاف کنم.

کاربرانی که از پست شما تشکر کرده‌اند را دنبال کنید:



جابجا کردن محل کراپ‌مارک‌ها در بسته crop

نویسنده وحید دامن‌افشانانجمن عمومی

پاسخ ها: 1
مشاهده: 2117
آخرين ارسال دسامبر 10, 2012, 06:04:37 pm
توسط vafa
جابجا شدن کراپ‌مارک‌های چاپ‌شده توسط بسته bidi-atbegshi در محیط multicols

نویسنده وحید دامن‌افشانانجمن زی‌تک

پاسخ ها: 3
مشاهده: 4217
آخرين ارسال سپتامبر 30, 2014, 04:55:23 am
توسط vafa
استفاده از دستور darray در بسته breqn

نویسنده سید مهدی موسویانجمن عمومی

پاسخ ها: 4
مشاهده: 4971
آخرين ارسال آوریل 23, 2011, 12:28:32 pm
توسط vafa
نداشتن pdf موقع استفاده از دستور ‪\lr{}‬

نویسنده هادی صفی‌اقدمانجمن حروف‌چینی مستندات

پاسخ ها: 4
مشاهده: 3641
آخرين ارسال ژوئیه 30, 2011, 09:54:24 am
توسط هادی صفی‌اقدم
مشکل در استفاده از دستور \lr در عنوان

نویسنده پیام شیواانجمن زی‌تک

پاسخ ها: 1
مشاهده: 2642
آخرين ارسال اكتبر 14, 2011, 07:46:27 pm
توسط vafa
بروز خطا هنگامی که از دستور \lr در ماکرو استفاده می شود.

نویسنده فرشاد ترابیانجمن حروف‌چینی مستندات

پاسخ ها: 1
مشاهده: 2588
آخرين ارسال ژوئن 27, 2012, 04:14:47 pm
توسط vafa
ایجاد نشدن فاصله با وجود استفاده از دستور newline\

نویسنده مرجانانجمن حروف‌چینی مستندات

پاسخ ها: 1
مشاهده: 3041
آخرين ارسال اوت 13, 2012, 10:28:22 pm
توسط هادی صفی‌اقدم
حذف شدن علامت خط تیره بین شماره صفحات موقع استفاده از گزینه ‎quickindex‎

نویسنده وحید دامن‌افشانانجمن زی‌تک

پاسخ ها: 4
مشاهده: 2634
آخرين ارسال اكتبر 08, 2012, 05:58:59 am
توسط vafa