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

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

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

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

+2 رای
2,113 بازدید

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

\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 (735 امتیاز)

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,427 امتیاز)
انتخاب شده مرداد 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,647 امتیاز)
ویرایش شده مرداد 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 (735 امتیاز)
سلام
اگر به تصویر دوم قسمت a از پاسخ من توجه کنید با این تنظیمات در واقع شما پیش‌فرض بسته‌ی geometry را تغییر داده‌اید که همان پاسخ جناب رضویان عزیز است.
درست می فرمایید. البته این هم به عنوان یک روش معادل خوب است در معرض دید قرار گیرد.
درود بر شما با این سوالات خوب و چالشی. +1
...