اولین بار است که به اینجا می‌آیید؟ راهنمای سایت را بخوانید!
Close Sidebar
وب‌سایت پرسش و پاسخ پارسی‌لاتک جایی برای پرسش و پاسخ درباره سیستم حروف‌چینی لاتک و بسته زی‌پرشین است. در اینجا می‌توانید سوال‌های خود را بپرسید و به سوال‌های دیگران پاسخ دهید.

محبوب‌ترین برچسب‌ها

رفع خطا جدول مراجع xepersian ریاضی‌نویسی شکل فونت فهرست مطالب شماره‌گذاری bidi منابع پانویس بیب‌تک parsilatex تک‌لایو tikz اسلاید بیمر زی‌پرشین پاورقی سربرگ bibtex نماد فرمول‌نویسی رسم شکل قالب ارجاع‌دهی biditexmaker هدر ویرایشگر beamer واژه‌نامه اندازه فونت texstudio ماتریس عنوان فصل اعمال نشدن تغییرات در پی‌دی‌اف bidipresentation رسم جدول حاشیه شماره صفحه رنگ عنوان شکل اسلاید فارسی محیط قضیه گراف مکان شکل tikzpicture حروف‌چینی کد شماره فصل tabriz_thesis enumerate زیرنویس شکل کادر نمایه align itemize listings الگوریتم بسته نیم‌فاصله متن لاتین و فارسی عدم اجرا فهرست اشکال فاصله بین خطوط نصب تک‌لایو فارسی‌تک قالب پایان‌نامه hyperref شماره فرمول فرمول glossaries حروف‌چینی چندستونی فونت فارسی و انگلیسی نمودار خروجی biditools ماکرونویسی کپشن شماره پاورقی پیوست‌ فاصله‌گذاری فرمول چندضابطه‌ای سوال امتحانی subfigure header tex لاتک biditufte-book texmaker pdf تصویر extrafootnotefeatures شمارنده texlive2015 میک‌تک زیرنویس خطا شماره‌گذاری صفحات دیاگرام longtable texlive2016 فهرست جداول رسم نمودار تنظیم جدول texworks caption اندیس پایان نامه lollipop iust-thesis multicol فصل‌نویسی kashida سوال چهارگزینه‌ای قاب بولد تورفتگی آکولاد فاصله عمودی xindy چپ‌چینی اوبونتو شعر میکروسافت ورد geometry fancyhdr تک لایو 2015 به‌روزرسانی بسته اعداد فارسی aimc46 فرمول طولانی بیرون‌زدگی کاما وسط‌چینی عنوان بخش پوستر فاصله سطرها نوشتافت شکست خط صفر توخالی tex-programming قرآن tabriz-thesis ایتالیک winedt جستجوی معکوس texlive فلش جایابی تصویر tcolorbox شماره گذاری قالب کتاب پاراگراف‌بندی فونت اعداد pgfplots بازیابی اطلاعات فهرست نمادها شمارنده فصل محیط ریاضی رسم کادر xelatex جداکننده جدول طولانی شماره‌گذاری فرمول هایپرلینک algorithm2e فونت بولد proof eps جدول افقی پانویس چندستونی فهرست تصاویر کمک مالی فاصله خطوط حروف‌چینی شعر زیرشکل equation bidipoem عکس پانویس پاراگرافی ltrfootnote پیوست computeautoilg به‌روزرسانی فرمول چندخطی neveshtuft غلط‌گیری املایی تک‌پارسی پیکان minipage قلم baselineskip شماره قسمت قسمت عنوان جدول متن فارسی و انگلیسی قالب مجله xebaposter bidihl
5 نفر آنلاین
1 عضو و 4 مهمان در سایت حاضرند
بازدید امروز: 1799
بازدید دیروز: 5574
بازدید کل: 16415420

مشکل در تنظیم حاشیه با حضور سرصفحه

+2 رای
1,041 بازدید

سلام خدمت دوستان گرامی.
در کد زیر یک تصویر در سرصفحه تمامی صفحات قرار داده شده است.

\documentclass{article}
\usepackage[includeheadfoot,margin=2cm]{geometry}
\usepackage{calc}
\usepackage{tikz}
\usepackage{fancyhdr}
\usepackage{ptext}
\usepackage[fontsize=14]{xepersian}
\settextfont{Yas}
\setdigitfont{Yas}

\newcommand{\headbox}{%
\begin{center}
\begin{tikzpicture}
\coordinate (O) at (0,0);
 \draw[rounded corners](O|-current page.west) rectangle +(\textwidth,-3cm) ;
\end{tikzpicture}
\end{center}
}

\pagestyle{fancy}
%\chead{\headbox}
\fancyhead{\headbox}
\setlength{\headheight}{5cm}
\setlength{\headsep}{0cm}
\renewcommand{\headrulewidth}{0pt}
\begin{document}
\ptext[1-20]
\end{document}

در خروجی، متن در انتهای صفحات وارد حاشیه می‌شود و خروجی مطلوب نیست. شکل زیر خروجی را نشان می‌دهد.
enter image description here
چگونه می‌توان این مشکل را برطرف کرد؟

سوال شده مرداد 5, 1397 توسط rezaeian (733 امتیاز)

5 پاسخ

+4 رای
 
بهترین پاسخ

با تشکر از هر دو بزرگوار (جناب اسعد و مددپور عزیز) که پاسخ‌هایی بس زیبا به پرسش دادند.

با توجه به اینکه شما اندازه هدر را بعد از لود بسته geometry تغییر داده‌اید لذا در محاسبات بسته این اندازه در نظر گرفته نمی‌شود لذا یک راه همان است که دیدید: بروزرسانی اندازه ارتفاع متن به صورت دستی.
لکن راه دیگر این است که این اندازه را پیش از لود بسته geomery تنظیم کنید تا خود بسته بقیه کارها را انجام دهد.

\documentclass{article}
\setlength{\headsep}{0cm}
\setlength{\headheight}{5cm}
\usepackage[includeheadfoot,margin=2cm]{geometry}
\usepackage{calc}
\usepackage{tikz}
\usepackage{fancyhdr}
\usepackage{ptext}
\usepackage[fontsize=14]{xepersian}
\settextfont{Yas}
\setdigitfont{Yas}

\newcommand{\headbox}{%
\begin{center}
\begin{tikzpicture}
\coordinate (O) at (0,0);
 \draw[rounded corners](O|-current page.west) rectangle +(\textwidth,-3cm) ;
\end{tikzpicture}
\end{center}
}

\pagestyle{fancy}
%\chead{\headbox}
\fancyhead{\headbox}
\renewcommand{\headrulewidth}{0pt}
\begin{document}
\ptext[1-20]
\end{document}

enter image description here

پاسخ داده شده مرداد 7, 1397 توسط سید جواد (4,345 امتیاز)
انتخاب شده مرداد 7, 1397 توسط rezaeian
متشکر از شما. قرار دادن دستور قبل از فراخوانی بسته نکته جالبی است و نیاز به آزمون و خطا ندارد. تنها یک نکته: اگر برای دیدن مقدار حاشیه ها گزینه showframe بسته geometry را فعال کنیم (\usepackage[includeheadfoot,margin=2cm,showframe]{geometry})
اندازه حاشیه پایین با سه طرف دیگر متفاوت است (با چشم حدود یک سانتی متر اختلاف). دلیل این مساله چیست؟ آیا من اشتباه می کنم؟
الان متوجه شدم اگر دستود دیگر یعنی \setlength{\headsep}{0cm} را نیز به قبل از بسته geometry منتقل کنیم ظاهرا خروجی مطلوب به دست می آید. باز هم تشکر.
الان متوجه شدم اگر دستور دیگر یعنی \setlength{\headsep}{0cm} را نیز به قبل از بسته geometry منتقل کنیم ظاهرا خروجی مطلوب به دست می آید. باز هم تشکر.
در صورت موافقت با این نظر به منظور استفاده کاربران دیگر پیشنهاد من این است که پاسخ خود را ویرایش نمایید تا پرسش بسته شود.
درود.+1
+3 رای

سلام
ابتدا به دو تصویر زیر توجه کنید:


enter image description here


enter image description here


در تصویر دوم و قسمت (b) از آن توجه کنید. زمانی که شما از گزینه‌ی includeheadfoot از بسته‌ی geometry استفاده می‌کنید مطابق شکل ارتفاع مطابق زیر محاسبه می‌شود:

           height = textheight + headheight + headsep +  footskip

حالا به کد‌های شما بر‌می‌گردیم. دو ساختار زیر از دستورات شما را در زیر داریم:

\setlength{\headheight}{5cm}
\setlength{\headsep}{0cm}

همچنین به این نکته توجه کنید که در هر برگه به کمک ساختار زیر شما مستطیلی به عرض 3 سانتیمتر دارید که طول آن به اندازه‌ی پهنای متن شماست.

\begin{tikzpicture}
\coordinate (O) at (0,0);
\draw[rounded corners](O|-current page.east) rectangle +(\textwidth,-3cm) ;
\end{tikzpicture}

پس شما چند سانتیمتر از متن خود را در پایین محو کرده‌اید. حال ساختار شما را به ساختار زیر تغییر می‌دهیم:

\setlength{\headheight}{3cm}
\setlength{\headsep}{0cm}

وضعیت بهتر می‌شود:



enter image description here

با ساختار زیر اندازه‌ی footskip را از لاتک درخواست کنیم:

\the\footskip

پاسخ لاتک 30pt است. حال با ساختار زیر آن را تغییر می‌دهیم:

\setlength{\footskip}{0cm}

وضعیت زیر را نتیجه می‌گیریم:
enter image description here
پیشنهاد من استفاده از گزینه‌ی bottom از بسته‌ی geometry و تنظیم آن به دلخواه خود و مطابق نمونه ی تقریبی زیر است:



enter image description here

با تنظیم گزینه‌های تصاویر اول و دوم می‌توانید به مطلوب خود برسید و اندازه‌های کد‌های زیر صرفاً پیشنهاد هستند:


\documentclass{article}
\usepackage[includeheadfoot,margin=2cm,bottom=3cm]{geometry}
\usepackage{calc}
\usepackage{tikz}
\usepackage{fancyhdr}
\usepackage{ptext}
\usepackage[fontsize=14]{xepersian}
\settextfont{Yas}
\setdigitfont{Yas}
%\usepackage{showframe}
\newcommand{\headbox}{%
%\begin{center}
\begin{tikzpicture}
\coordinate (O) at (0,0);
 \draw[rounded corners](O|-current page.east) rectangle +(\textwidth,-3cm) ;
\end{tikzpicture}
%\end{center}
}

\pagestyle{fancy}
%\chead{\headbox}
\fancyhead{\headbox}
\setlength{\headheight}{3.2cm}
\setlength{\headsep}{0cm}
\renewcommand{\headrulewidth}{0pt}
\begin{document}
\ptext[1-20]
\end{document}

موفق باشید.

پاسخ داده شده مرداد 7, 1397 توسط شاپور مددپور (8,617 امتیاز)
ویرایش شده مرداد 7, 1397 توسط شاپور مددپور
با تشکر از شما، با آزمون و خطا و محدود کردن سایر پارامترها چیزی شبیه آنچه مورد نظر ماست به دست می آید. اما چرا گزینه های بسته geometry در تنظیم حاشیه (در اینجا هر چهار طرف 2 سانتی مترmargin=2cm) نمی توانند این هدف را [بدون آزمون و خطا] برآورده کنند. آیا نحوه استفاده از گزینه ها مشکل دارد یا خود بسته؟
سلام خدمت شما
هیچکدام از اعداد داده شده در پاسخ من آزمایش و خطا نیستند.
لطفاً تصویر دوم و قسمت b رو مجددا نگاه کنید. اونجا مشخصه که head از کجا شروع میشه. در واقع margin را که شما داده‌اید از سه طرف لحاظ شده و اگر از پایین برای شما لحاظ نشده به این علته که متن به پایین شیفت داده شده است. در قسمت نظرات در پاسخ دوم جناب اسعد ابوزید عزیز این موارد رو کاملتر بیان کرده ام.
+2 رای

با سلام،

یكی از روشها میشه‌ كه‌ طول نوشته‌ را هم دوباره‌ تعریف كنید چونكه‌ شما طول سربرگ رو پنج سانت زدین پس

\setlength{\textheight}{\textheight-\headheight}

كه‌ با تغییر حاشیه‌ هم مطابقت دارد و مشكلی پیش نمیاد. راههای دیگر هم اگر دوستان لطف كنند.
پس كد كلی بصورت زیر میباشد كه‌ من حاشیه‌ را هم به‌ چهار تغییر دادم تا تغییرات به‌ وضوح دیده‌ بشن.

\documentclass{article}
\usepackage[includeheadfoot,margin=4cm]{geometry}
\usepackage{calc}
\usepackage{tikz}
\usepackage{fancyhdr}
\usepackage{ptext}
\usepackage[fontsize=14]{xepersian}
\settextfont{Yas}
\setdigitfont{Yas}

\newcommand{\headbox}{%
\begin{center}
\begin{tikzpicture}
\coordinate (O) at (0,0);
 \draw[rounded corners](O|-current page.west) rectangle +(\textwidth,-3cm) ;
\end{tikzpicture}
\end{center}
}

\pagestyle{fancy}
%\chead{\headbox}
\fancyhead{\headbox}
\setlength{\headheight}{5cm}
\setlength{\textheight}{\textheight-\headheight}
\setlength{\headsep}{0cm}
\renewcommand{\headrulewidth}{0pt}
\begin{document}
\ptext[1-20]
\end{document}

و خروجی یكی از صفحات:
enter image description here

با درود

پاسخ داده شده مرداد 5, 1397 توسط اسعد ابوزید (679 امتیاز)
ویرایش شده مرداد 5, 1397 توسط اسعد ابوزید
ضمن تشکر، دو نکته اینجا وجود دارد:
1. چرا با وجود اینکه از گزینه includeheadfoot بسته geometry استفاده کرده ایم نیاز به کم کردن ارتفاع سر صفحه از ارتفاع بدنه متن داریم؟ قاعدتا با گزینه های این بسته چنین مشکلاتی نباید وجود داشته باشد؟
2. با قرار دادن کد پیشنهاد شده حاشیه پایین با آنچه مشخص شده است (2cm یا 4cm) متفاوت است. این مساله را با استفاد از گزینه showframe بسته geometry می توان دید.
+2 رای

با سلام دوباره‌ خدمت شما عزیزان و بزرگواران،

من این مورد را باگ در بسته‌ geometry میبینم كه‌ نمیتواند اندازه‌ها را به‌ درستی با تغییرات داده‌ شده‌ حساب كند.

برای اثبات این موضوع هم بجای استفاده‌ از tikz از بسته‌ .tikzpagenodes استفاده‌ میكنم تا به‌ وضوح دیده‌ شود

برای راهنمایی بیشتر راهنما بسته‌ tikzpagenodes صحفه‌ ٢ را ببینید.

بدون دستكاری كردن اندازه‌ سربرگ صفحه‌ بصورت زیر میباشد
enter image description here
كه‌ محل و اندازه‌ها با كادرهای رنگی مشخص شده‌ است.
حال اگر از

\setlength{\headheight}{5cm}

بعد از بسته‌ geometry استفاده‌ كنیم خواهیم داشت

enter image description here

و قبل از بسته‌ geometry داریم
enter image description here
من به‌ این نتیجه‌ رسیدم كه‌ مشكل در بسته‌ geometry باشد.
نمونه‌ كد :

\documentclass{article}
\setlength{\headheight}{5cm}
\usepackage[includeheadfoot,margin=4cm]{geometry}
\usepackage{calc}
\usepackage{tikzpagenodes}
\usepackage{fancyhdr}
\usepackage{ptext}
\usepackage[fontsize=14]{xepersian}
\settextfont{Yas}
\setdigitfont{Yas}
\begin{document}
 \tikz[remember picture,overlay] {%
 \draw [blue,line width=2mm]
 (current page.south west) rectangle (current page.north east);
 \draw [green]
 (current page text area.south west)rectangle (current page text area.north east);
 \draw [yellow]
 (current page marginpar area.south west) rectangle (current page marginpar area.north east);
 \draw [red]
 (current page header area.south west) rectangle (current page header area.north east);
 \draw [orange]
 (current page footer area.south west) rectangle (current page footer area.north east);
}%
\end{document}

اگر دوستان لطف كنند و كمك كنند كه‌ آیا این نتیجه‌ من درسته‌ یا نه‌!!!!
با درود

پاسخ داده شده مرداد 7, 1397 توسط اسعد ابوزید (679 امتیاز)
با تشکر از شما دوست عزیز. پیشنهاد من این است که این مساله را در یک پرسش جدید با عنوانی مانند "آیا بسته geometry دارای باگ است؟" مطرح نمایید تا بیشتر مورد بررسی قرار گیرد.
سلام
لطفاً به تصویر دوم قسمت a از پاسخ من در حالت پیش‌فرض توجه کنید.
زمانی که شما دستور \setlength{\headheight}{5cm} را بعد از بسته‌ی geometry قرار می‌دهید ابتکار عمل را از این بسته سلب می‌کنید و مستطیل‌های افزوده شده که یک سطر از نظر لاتک دیده می‌شوند در آن پهنای افزوده شده قرار میگرند و مابقی فاصله بعد از مستطیل و برای فاصله‌ی متن تا مستطیل لحاظ می‌شوند. در واقع این اندازه‌ها به اندازه‌ی head پیش‌فرض افزوده می‌شوند. پس مقصر بسته‌ی geometry نیست. جواب جناب رضویان عزیز گواه بر صحت حرف من است (و همچنین شکل دوم از پاسخ خودتون). زمانی که شما دستور \setlength{\headheight}{5cm} را قبل از بسته‌ی geometry  قرار دهید می‌بینید که ابتکار عمل را ابن بسته به دست می‌گیرد و شماره‌ی پایین برگه دوباره رؤیت می‌شود. تصویر دوم از پاسخ شما گواه این مورد است. پس به نظر من ایراد از بسته‌ی geometry نیست. +1
+2 رای

ضمن تشکر فراوان از همه دوستان با فراخوانی بسته geometry به صورت زیر و غیر فعال کردن دستورات مربوطه در جاهای دیگر مشکل حل می شود:

\usepackage[headheight=5cm,headsep=0cm,includeheadfoot,margin=2cm]{geometry}
پاسخ داده شده مرداد 7, 1397 توسط rezaeian (733 امتیاز)
سلام
اگر به تصویر دوم قسمت a از پاسخ من توجه کنید با این تنظیمات در واقع شما پیش‌فرض بسته‌ی geometry را تغییر داده‌اید که همان پاسخ جناب رضویان عزیز است.
درست می فرمایید. البته این هم به عنوان یک روش معادل خوب است در معرض دید قرار گیرد.
درود بر شما با این سوالات خوب و چالشی. +1
...